【发布时间】:2021-04-27 01:22:46
【问题描述】:
所以我试图在 Minecraft 中制造核弹,因此我尝试在放置时制作自定义 TNT 方块,但我似乎无法触发在方块位置创建爆炸的动作。我可以帮忙吗?
这是代码...
package com.TheRealBee.Bows.Event9;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
public class EventManager9 implements Listener {
@EventHandler
public static void onBlockPlace(BlockPlaceEvent e) {
Block b = e.getBlock();
Location blocklocation = b.getLocation();
if (e.getBlockPlaced().equals(ChatColor.AQUA+"Nuclear bomb")){
blocklocation.getWorld().createExplosion(blocklocation, 5, true);
}
}
}
【问题讨论】:
-
如果你认为不可能,那么就说出来
-
如果您正在使用 spigot,并且正在使用支持 PersistentDataHolder 的版本,那么您应该检查一下:spigotmc.org/threads/…spigotmc.org/threads/… E.g.使用它在物品上存储某种数据,将其标记为您的核弹,并在方块放置事件中检查材料是否匹配,然后检查它是否具有正确的持久数据。
-
您还应该进一步扩展您的问题,您的代码到底有什么问题?事件是否未触发,是否实际检查它是否是核弹不起作用,或者爆炸是否存在问题。如果您不知道,请尝试放置一些断点并单步执行您的代码,或者放置一些 System.out.println 消息,这样您就知道问题出在哪里了。
-
好的,感谢您的反馈!
标签: events event-handling minecraft bukkit