Wil*_*lot 1 java minecraft bukkit
我想知道如何选择我的TNT所在的区块.这是我的代码.
ItemStack tnt = new ItemStack(Material.TNT, 1);
Run Code Online (Sandbox Code Playgroud)
如在give @p tnt 1 0 {PlaceOn:emerald_block}.
我正在使用Spigot for Minecraft 1.12和Eclipse.
没有办法通过本机的Spigot API做到这一点,你需要使用NMS和NBT:
net.minecraft.server.v1_12_R1.ItemStack stack = CraftItemStack.asNMSCopy(tnt);
NBTTagList tags = (NBTTagList) stack.getTag().get("CanPlaceOn");
if (tags == null)
tags = new NBTTagList();
tags.add(new NBTTagString("minecraft:emerald_block"));
stack.getTag().set("CanPlaceOn", tags);
ItemStack toUse = CraftItemStack.asCraftMirror(stack);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |