494308843


Player 继承了 HumanEntity

HumanEntity 继承了 LivingEntity
LivingEntity 翻译是活的实体

不能根据这个判断实体是否存活?

玩家死后实体ID会变吗?

能直接保存  Entity吗
比如保存到list 和map里
这个是原引用还是什么
实体死亡后会发生什么
会变成null?
还是说依旧可以使用
如果直接存储 Entity
在事件里是否能直接==来对比



是在是太麻烦了  懒得测试了QAQ
谁知道能回答一下吗






q513902026
本帖最后由 q513902026 于 2016-4-14 04:18 编辑

Bukkit的源码 CraftEntity的remove方法
    public void remove() {
        entity.dead = true;
    }
同时CraftLivingEntity的构造函数是
public CraftLivingEntity(final CraftServer server, final EntityLiving entity)
可以推断 CraftLivingEntity会在Entity死亡后重新生成

然后通过JAVA自带的DEBUG功能进行验证
玩家只有在服务器reload和死后重生的情况下会重新生成实例
其他情况下会反序列化获得之前的实例

4one_R
你可以使用player.getName()来对比。

494308843
q513902026 发表于 2016-4-14 03:50
Bukkit的源码 CraftEntity的remove方法
    public void remove() {
        entity.dead = true;

为什么
玩家死后重生   实体ID并没有变

q513902026
本帖最后由 q513902026 于 2016-4-14 19:08 编辑
494308843 发表于 2016-4-14 13:49
为什么
玩家死后重生   实体ID并没有变

你可以根据JAVA DEBUG的功能 进行DEBUG会发现实例变化了

494308843
q513902026 发表于 2016-4-14 19:02
你可以根据JAVA DEBUG的功能 进行DEBUG会发现实例变化了

Σ( ° △ °|||)︴   好吧。。。
没遇见过。。。
我好多都不懂

云闪
唔……从你的问题里我觉得你java基础不扎实

494308843
splt 发表于 2016-4-16 19:00
唔……从你的问题里我觉得你java基础不扎实

5555555555555

107874017
splt 发表于 2016-4-16 19:00
唔……从你的问题里我觉得你java基础不扎实

唔...
我觉得玩家死亡的话只是一个生命值的问题
还不如说理解能力不强

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