我在Minecraft Forge 1.6.4中开发了一个湮灭光线,它必须完全从世界上移除块。删除程序如下:
worldObj.destroyBlock(position.intX(), position.intY(), position.intZ(), false);
它看起来不错,但有时会出现鬼块"看来,这个块看起来像空气块,但如果我在它的位置设置任何块,那么旧的移除块会立即重新创建!
答案 0 :(得分:2)
尝试用这个包装该行:
if(!this.worldObj.isRemote){
}
此if语句检查当前世界是客户端还是服务器端。
我会尝试提供更多帮助,但您没有提供大量代码。
当服务器端和客户端都试图同时更改块时,就会发生Ghost阻塞。使用这个if语句,它应该只从服务器端删除块,然后客户端将赶上而不是让所有人感到困惑。
创建自定义tnt时出现重影块问题,这解决了我的问题。