Java Bukkit:设置一个块

Java Bukkit:设置一个块,java,minecraft,bukkit,Java,Minecraft,Bukkit,我正在尝试为minecraft进行bukkit编程,但由于某些原因,我一直在尝试设置块驱动。 我不想在街区下面放一把红石火把 我试图将数据更改为活动控制杆。 如果有人能帮助我,请 我试过的代码: Block n = my block; Block block = your lever; Lever l = (Lever) block; l.setPowered(true); //toggles on n.setData(l.getData()); 不幸的是,不可能直接为非可供电块供电 但是,您

我正在尝试为minecraft进行bukkit编程,但由于某些原因,我一直在尝试设置块驱动。 我不想在街区下面放一把红石火把

我试图将数据更改为活动控制杆。 如果有人能帮助我,请

我试过的代码:

Block n = my block;
Block block = your lever;
Lever l = (Lever) block;
l.setPowered(true); //toggles on
n.setData(l.getData());

不幸的是,不可能直接为非可供电块供电

但是,您可以使用一些技巧来假装它已通电:

每当您希望您的块为附近的块供电时(例如onInteractEvent),都会进行检测,然后向这些块供电

@EventHandler
public void onInteractEvent(PlayerInteractEvent e) {
Block interacted = e.getClickedBlock();
//Check if this is the block you want

Block block= interacted.getRelative(BlockFace.UP, 1);    //Can be changed to any block face, and any distance


switch(block.getType()) {
case LEVER:
case REDSTONE:
case DISPENSER:
case POWERED_RAILS:
case whatever other blocks can be powered:
{
      block.setData(block.getData() | 0x8); // sets the 0x8 bit to the data, making it powered
} }

你想给什么样的积木供电?我想给一个HAY_积木供电其他积木也可以(如果这只是对一些积木起作用的话)为什么你需要给HAY_积木供电?它不是一个需要Redstone Powerstone的块,因为我想测试和电路:)不幸的是,不可能为一个不是PowerableBlock的块供电。你可以做的是检查BlockRedstone事件,检查block是否收到电源,然后给它后面的redstone通电。但这只有在红石能提供电流的情况下才能起作用。那有什么帮助吗?