飞翔之歌
代码地址:https://github.com/AmemiyaSigure ... tityBlockStove.java
问题描述:通过测试发现,tileentity的物品在第一次update是还存在,第二次就直接消失了
希望实现:让tileentity的物品持久保存

3TUSK
133 行 burningFuel(); 你确定不是因为你每一个 tick 都在调用这个?建议善用 IDE 的单步执行。

飞翔之歌
本帖最后由 飞翔之歌 于 2020-6-21 11:06 编辑
3TUSK 发表于 2020-6-21 03:51
133 行 burningFuel(); 你确定不是因为你每一个 tick 都在调用这个?建议善用 IDE 的单步执行。 ...

然而我要做的就是每一个tick都调用buringFuel来燃烧燃料。buringFuel并没有一次就把燃料烧完了。自己在测试时也没发现这种问题。
就很奇怪的,在第一个tick时物品还在,第二个tick时物品就突然变成了空气。

南柯郡守
飞翔之歌 发表于 2020-6-21 11:02
然而我要做的就是每一个tick都调用buringFuel来燃烧燃料。buringFuel并没有一次就把燃料烧完了。自己在测 ...

确定是消失了?
或者变成了另一个ItemStack所以equals是false

飞翔之歌
南柯郡守 发表于 2020-6-21 13:42
确定是消失了?
或者变成了另一个ItemStack所以equals是false

确定
直接变成空气了

3TUSK
飞翔之歌 发表于 2020-6-21 11:02
然而我要做的就是每一个tick都调用buringFuel来燃烧燃料。buringFuel并没有一次就把燃料烧完了。自己在测 ...

定义「变成空气」?是你看到的 GUI 里变成空气,还是你下断点单步执行确定 ItemStack.isEmpty() 的确返回了 true?

飞翔之歌
3TUSK 发表于 2020-6-24 11:16
定义「变成空气」?是你看到的 GUI 里变成空气,还是你下断点单步执行确定 ItemStack.isEmpty() 的确返回 ...

变成空气:ItemStack.isEmpty()返回true且ItemStack.getDisplayName()返回为"空气"
(我没有GUI)