Kill1001
Активный участник
- Баллы
- 63
Есть некий блок (Любой)
У него есть свойство
Которое показывает излучает ли блок сигнал.
Если на нем рычаг и включен то true иначе false.
Но мне понадобилось сделать так что бы блок излучал и без рычага. Возможно ли это?
И если да то как?
Пробовал
И пробовал
Но это не помогает.
В первом случае я ищу редстоун блоки во круг и пытаюсь их сделать активными. Во втором сделать событие редстоуна на сам блок.
В третьем решить проблему в лоб.
И всё безуспешно.
У него есть свойство
Код:
block.isBlockPowered();
Если на нем рычаг и включен то true иначе false.
Но мне понадобилось сделать так что бы блок излучал и без рычага. Возможно ли это?
И если да то как?
Пробовал
Код:
for (int i = -1; i <= 1; i++)
{
for (int j = -1; j <= 1; j++)
{
for (int k = -1; k <= 1; k++)
{
LOG.info(block.getRelative(i, j, k).getType().name());
switch (block.getRelative(i, j, k).getType())
{
case LEVER:
case REDSTONE:
case DISPENSER:
case POWERED_RAIL:
case REDSTONE_LAMP_OFF:
case REDSTONE_WIRE:
{
block.getRelative(i, j, k).setData((byte) 8, true);
}
break;
}
}
}
}
Код:
int i1 = ((CraftWorld) block.getWorld()).getHandle().getData(block.getX(), block.getY(), block.getZ());
int j1 = i1 & 7;
int k1 = 8 - (i1 & 8);
// CraftBukkit start - Interact Lever
Block block1 = block.getWorld().getBlockAt(block.getX(), block.getY(), block.getZ());
int old = (k1 != 8) ? 15 : 0;
int current = (k1 == 8) ? 15 : 0;
BlockRedstoneEvent eventRedstone = new BlockRedstoneEvent(block1, old, current);
((CraftWorld) block1.getWorld()).getHandle().getServer().getPluginManager().callEvent(eventRedstone);
((CraftWorld) block.getWorld()).getHandle().setData(block.getX(), block.getY(), block.getZ(), j1 + k1, 3);
В первом случае я ищу редстоун блоки во круг и пытаюсь их сделать активными. Во втором сделать событие редстоуна на сам блок.
В третьем решить проблему в лоб.
Код:
net.minecraft.server.v1_5_R2.Block.byId[block.getTypeId()].interact(((CraftWorld)block.getWorld()).getHandle(), block.getX(), block.getY(), block.getZ(), ((CraftPlayer)player).getHandle(), 12, block.getX(), block.getY(), block.getZ());
???