丶米饭
如何根据刷怪蛋获取到对应怪物的类型? 有这方法吗...

南柯郡守
https://papermc.io/javadocs/pape ... a/SpawnEggMeta.html

多看看文档

丶米饭
南柯郡守 发表于 2020-7-24 17:38
https://papermc.io/javadocs/paper/1.12/org/bukkit/inventory/meta/SpawnEggMeta.html

多看看文档 ...

谢谢

丶米饭
南柯郡守 发表于 2020-7-24 17:38
https://papermc.io/javadocs/paper/1.12/org/bukkit/inventory/meta/SpawnEggMeta.html

多看看文档 ...

看完了,我还是不知道怎么根据主手上的刷怪蛋获取到对应的怪物类型

天辉胡萝卜
丶米饭 发表于 2020-7-25 13:58
看完了,我还是不知道怎么根据主手上的刷怪蛋获取到对应的怪物类型

文档里写了getSpawnedType()

请补充相关封装知识

丶米饭
疾风暗影 发表于 2020-7-25 14:06
文档里写了getSpawnedType()

请补充相关封装知识

获取手上的刷怪蛋,然后给我这玩意...我想根据这玩意获取到对应的EntityType

天辉胡萝卜
丶米饭 发表于 2020-7-25 14:14
获取手上的刷怪蛋,然后给我这玩意...我想根据这玩意获取到对应的EntityType
...
  1. ItemStack#getItemMeta==cast=>SpawnEggMeta#getSpawnedType
复制代码
请学习怎么看文档

丶米饭

谢谢大佬回复,非常感谢..在三麻烦您,非常不好意思

..但是你这个代码,我也没看懂...

天辉胡萝卜
丶米饭 发表于 2020-7-25 14:46
谢谢大佬回复,非常感谢..在三麻烦您,非常不好意思

..但是你这个代码,我也没看懂... ...

java类型描述记法
#代表对上一级的对象调用成员函数
cast代表强制类型转换

  1. ItemMeta im = itemStack.getItemMeta();
  2. SpawnEggMeta sem = (SpawnEggMeta) im;
  3. sem.getSpawnedType();
复制代码

丶米饭
疾风暗影 发表于 2020-7-25 14:50
java类型描述记法
#代表对上一级的对象调用成员函数
cast代表强制类型转换


get的时候会直接报错
java.lang.UnsupportedOperationException: Must check item type to get spawned type


天辉胡萝卜
丶米饭 发表于 2020-7-25 14:57
get的时候会直接报错
java.lang.UnsupportedOperationException: Must check item type to get spawned  ...

你的版本SpawnEggMeta中不包含entity信息了,也就是1.13及以上版本,id扁平化了

直接ItemStack#getType()获得material,然后直接得到刷怪蛋和entitytype一一对应的关系

丶米饭
疾风暗影 发表于 2020-7-25 15:04
你的版本SpawnEggMeta中不包含entity信息了,也就是1.13及以上版本,id扁平化了

直接ItemStack#getType( ...

问题又回到第一张图了..你看图啊,获取手上的刷怪蛋..类型特么是air 空气啊..就离谱,要不早处理完了..

天辉胡萝卜
丶米饭 发表于 2020-7-25 15:13
问题又回到第一张图了..你看图啊,获取手上的刷怪蛋..类型特么是air 空气啊..就离谱,要不早处理完 ...

既然扁平化就只能用查询法构建一个HashMap
Key: Material
Value: EntityType

map.put(Material.PIG_SPAWN_EGG, EntityType.PIG);
加上所有的spawnegg=>type的映射

2505073177
  1. Player p = (Player)sender;
  2. ItemStack itemStack = p.getInventory().getItemInMainHand();
  3. SpawnEggMeta egg = (SpawnEggMeta) itemStack.getItemMeta();
  4. p.sendMessage(egg.getSpawnedType().name());
复制代码

实验证明,这是没有问题的
嘶,没看清楚问题。。这是1.12.2测试的。。走错片场了


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