我知道由于Client与Server的关系,所以TileEntity的数值需要更新至Client
可是就算我在每次tick的时候更新一次,还是没有效果。
示例:
(那条进度条不用理 未实作)
从上图可见,Stored: 是直接从TileEntity取出的数值,
红色进度条上显示的则是gui取得的数值
当我把TileEntity中的能量抽走,gui不会更新。
甚么都不做就会出现上图的结果
那么,我尝试在TileEntity(implements ITickable)中的update()加上这行:复制代码还是同样的结果
还是我省略了一些重要的步骤?
我参考这个Furnace源代码的时候发现他也是用这行用作更新。
可是就算我在每次tick的时候更新一次,还是没有效果。
示例:

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

甚么都不做就会出现上图的结果
那么,我尝试在TileEntity(implements ITickable)中的update()加上这行:
- if(world.isRemote) world.notifyBlockUpdate(pos, getState(), getState(), 3);
还是我省略了一些重要的步骤?
我参考这个Furnace源代码的时候发现他也是用这行用作更新。