-1

我在 Minecraft Forge 1.6.4 中开发了一个歼灭射线,它必须从世界上完全移除方块。删除过程是这样写的:

worldObj.destroyBlock(position.intX(), position.intY(), position.intZ(), false);

看起来不错,但有时会出现“鬼块”,这个块看起来像空气块,但如果我在它的位置设置任何块,旧的删除块会立即重新创建!

4

1 回答 1

2

尝试用这个包裹那一行:

如果(!this.worldObj.isRemote){

}

这个 if 语句检查当前世界是客户端还是服务器端。

我会尝试提供更多帮助,但您没有提供很多代码。

当服务器端和客户端都尝试同时更改块时,会发生幽灵块。使用这个 if 语句,它应该只从服务器端删除块,然后客户端将赶上而不是感到困惑。

我在创建自定义 tnt 时遇到了重影块问题,这解决了我的问题。

于 2015-08-06T00:58:26.967 回答