清华儒墨
我知道由于Client与Server的关系,所以TileEntity的数值需要更新至Client
可是就算我在每次tick的时候更新一次,还是没有效果。
示例:

(那条进度条不用理 未实作)
从上图可见,Stored: 是直接从TileEntity取出的数值,
红色进度条上显示的则是gui取得的数值
当我把TileEntity中的能量抽走,gui不会更新。


甚么都不做就会出现上图的结果
那么,我尝试在TileEntity(implements ITickable)中的update()加上这行:
  1. if(world.isRemote) world.notifyBlockUpdate(pos, getState(), getState(), 3);
复制代码
还是同样的结果

还是我省略了一些重要的步骤?
我参考这个Furnace源代码的时候发现他也是用这行用作更新。




bxz2311196368
注意 这一段,这才是与客户端同步TE数据调用的方法。
如果不重写这些方法,那么  world.notifyBlockUpdate 只会更新 BlockState,不会同步TE数据。

第一页 上一页 下一页 最后一页