如何将ItemStack形式的 player_head头颅转成 Block方块
好问题 请问这个方块是存在于虚空之中吗
雨 发表于 2020-8-18 17:49
好问题 请问这个方块是存在于虚空之中吗
就是放置在某个地方啊。 我其实想要实现的就是 一个放置在地上的头颅 且有皮肤
xusheng93217 发表于 2020-8-18 17:50
就是放置在某个地方啊。 我其实想要实现的就是 一个放置在地上的头颅 且有皮肤 ...
66666666666
你的游戏版本是啥?
尝试阅读api或者别人的代码寻找解决方案
或者提出自己对该问题的思考/代码实现
而不是简单的提出问题
或者提出自己对该问题的思考/代码实现
而不是简单的提出问题
https://bukkit.windit.net/javadoc/org/bukkit/block/Skull.html
这是一个BlockState
该怎么获得BlockState,再设置回去不用多讲了吧
这是一个BlockState
该怎么获得BlockState,再设置回去不用多讲了吧
William_Shi 发表于 2020-8-18 22:12
https://bukkit.windit.net/javadoc/org/bukkit/block/Skull.html
这是一个BlockState
该怎么获得BlockStat ...
xusheng93217 发表于 2020-8-19 07:22
您可能需要在稍微讲一下。 我反编译过一个插件,那个插件是直接修改的 ItemStack的头 ...
- Skull skull = (Skull) b.getState();
- GameProfile gf = new GameProfile(UUID.randomUUID(), null);
- gf.getProperties().put("textures", new Property("textures", value));
- try {
- Field f = skull.getClass().getDeclaredField("profile");
- f.setAccessible(true);
- f.set(skull, gf);
- } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
- e.printStackTrace();
- }
- skull.update();
xusheng93217 发表于 2020-8-19 07:22
您可能需要在稍微讲一下。 我反编译过一个插件,那个插件是直接修改的 ItemStack的头 ...
这没什么区别啊
首先你确定某一个方块是头颅
用这个
https://bukkit.windit.net/javado ... ock.html#getState--
获取BlockState
因为它是一个头颅,所以就可以强转为Skull(Skull是BlockState子类)
和楼上代码第一行一样
然后
https://bukkit.windit.net/javado ... kkit.OfflinePlayer-
最后设置进去
https://bukkit.windit.net/javado ... te-boolean-boolean-
雨 发表于 2020-8-19 08:10
以上方法在1.15可以使用
非常感谢,解决了。