如题
通过op手动编辑物品,这个操作方式可以接受吗,可以的话我给你发一个mod来做这个
如果你愿意的话你可以用铁砧,如果名字变化可以用改名字的插件修改名字
有个unsaveEnchant....的方法
不安全附魔 可以给任意物品附魔
不安全附魔 可以给任意物品附魔
深拥v 发表于 2020-6-20 20:07
通过op手动编辑物品,这个操作方式可以接受吗,可以的话我给你发一个mod来做这个 ...
bukkit啊,插件
南柯郡守 发表于 2020-6-20 20:14
有个unsaveEnchant....的方法
不安全附魔 可以给任意物品附魔
但是用了没有效果不知道为啥
3104026189 发表于 2020-6-20 20:15
bukkit啊,插件
我知道,只需要op在自己的客户端里放一个就能用,一个物品编辑器
解压后把那个.jar放mod里,然后进游戏开创造模式,按U,你试试能不能用
深拥v 发表于 2020-6-20 20:17
我知道,只需要op在自己的客户端里放一个就能用,一个物品编辑器
啊这。。我不要这个,我是要做gui,不是说编辑物品
https://bukkit.windit.net/javadoc/org/bukkit/inventory/ItemStack.html#addUnsafeEnchantment-org.bukkit.enchantments.Enchantment-int-
还要写mod??GUI???
你们到底在说啥??
Unsafe怎么就不行了?
还要NBTTag?Bukkit封装好的不香吗???
还要写mod??GUI???
你们到底在说啥??
Unsafe怎么就不行了?
还要NBTTag?Bukkit封装好的不香吗???
深拥v 发表于 2020-6-20 20:19
gui跟附魔有什么关系???
你到底要干嘛,,,
给gui添加一个附魔特效呗
如果非要NBT
https://www.mcbbs.net/thread-697478-1-1.html
看看这个好了
编程开发提问请到编程求助区提问
绝对比在这里好得多
https://www.mcbbs.net/thread-697478-1-1.html
看看这个好了
编程开发提问请到编程求助区提问
绝对比在这里好得多
3104026189 发表于 2020-6-20 20:24
给gui添加一个附魔特效呗
你是要自己写插件还是怎么,一般的菜单插件都有附魔效果的设定
自己写的话我也支持楼上的看法:去编程求助区那边问
另外你这需求能不能一次描述清楚。。。
深拥v 发表于 2020-6-20 20:28
你是要自己写插件还是怎么,一般的菜单插件都有附魔效果的设定
自己写的话我也支持楼上的看法:去编程求 ...
自己写插件啊啊
3104026189 发表于 2020-6-20 20:31
自己写插件啊啊
 
你这题目里哪里表现出
“我是要自己写插件、我是要写个GUI、我是要在我写的GUI里添加一个带有附魔效果的物品”
有嘛????
https://www.mcbbs.net/forum-development-1.html
南柯郡守 发表于 2020-6-20 20:14
有个unsaveEnchant....的方法
不安全附魔 可以给任意物品附魔
ItemStack.addUnsafeEnchantment(Enchantment.DIG_SPEED,1); 没用啊 添加不了
3104026189 发表于 2020-6-20 20:37
ItemStack.addUnsafeEnchantment(Enchantment.DIG_SPEED,1); 没用啊 添加不了
到编程开发区详细讨论
猜测可能是ItemFlag里面隐藏了附魔
你先试试看 转nmsItem再输出getTag试试看
如果hasTag是false就说明出问题了
要不然的话附魔一定会在NBT反映的
3104026189 发表于 2020-6-20 20:37
ItemStack.addUnsafeEnchantment(Enchantment.DIG_SPEED,1); 没用啊 添加不了
- ItemStack item = player.getInventory().getItemInMainHand();
 
- item.addUnsafeEnchantment(Enchantment.DIG_SPEED,1);
47行是纯粹的冗余代码
直接getItemMeta就可以了,
如果物品堆没有元数据,调用getItemMeta就会自己调用ItemFactory的相关方法给你新建一个ItemMeta出来,没必要自己写断言更是没有必要
宁可进行参数检查也不建议在插件内使用断言
William_Shi 发表于 2020-6-20 20:55
47行是纯粹的冗余代码
直接getItemMeta就可以了,
如果物品堆没有元数据,调用getItemMeta就会自己调用It ...
噢 谢谢大佬指点
南柯郡守 发表于 2020-6-20 20:57
如果没有报错的话先尝试附魔一个正常属性看能不能附魔成功
比如你给这个斧子附魔一个 耐久
测试出来了,如果我test.setItemMeta(meta);
 
那么 就不能添加附魔
不设置就能添加
南柯郡守 发表于 2020-6-20 20:57
如果没有报错的话先尝试附魔一个正常属性看能不能附魔成功
比如你给这个斧子附魔一个 耐久
解决了,用meta设置就行了
3104026189 发表于 2020-6-20 21:04
测试出来了,如果我test.setItemMeta(meta);
那么 就不能添加附魔
不设置就能添加
很简单,ItemMeta本质上是操作NBT
对着物品堆进行附魔本质上也是操作NBT
你的meta里面,NBT,没有记录附魔
而物品堆现有的NBT被你加上了附魔
接下来,你setItemMeta
相当于把有附魔的物品堆的NBT直接换成了meta的没有附魔的NBT
那么附魔就被覆盖没了
