Closed astro-angelfish closed 2 years ago
I need to add a new custom property:
durability:
max_custom_durability: 1324
on_block_break: false ## <---- true by default
Right now I cannot know if a sword is used as a consumable item or if it's actually a sword.
I need to add a new custom property:
durability: max_custom_durability: 1324 on_block_break: false ## <---- true by default
Right now I cannot know if a sword is used as a consumable item or if it's actually a sword.
I think there's a listener in the plugin marked the PlayerItemDamageEvent
as not cancelled wrongly so that the fixer listener of PlayerItemDamageEvent
that should fix this issue not applied. So make the listener's priority lower could fix it. But this maybe not a good solution. A good solution is repair the code where would cause the issue.
And I suggest you to process items with org.bukkit.persistence.PersistentDataContainer
instead of checking the id of it. And getting the id of item should use the same way to avoid checking wrongly when the name or lore of the item changes.
var CAN_DAMAGE = new NamespacedKey(pluginInstance, "can_damage");
ItemStack stack = new ItemStack(Material.TOTEM_OF_UNDYING);
var meta = stack.getItemMeta();
var container = meta.getPersistentDataContainer();
// put value
container.set(CAN_DAMAGE, PersistentDataType.INTEGER, 0);
// get value
container.get(CAN_DAMAGE, PersistentDataType.INTEGER);
Anyway, I did NOT decompile any of your code or any reverse emgerring not only because the ToS but also because it is unnecessary. All the suggestions above are based on the behavior of the plugin.
~If you meet any problem that unable to resolve, The OrangeMC Team could offer the technical help for free XD.~
This is exactly what I said before.
Right now I cannot know if a sword is used as a consumable item or if it's actually a sword.
We need a new property to make IA know if an item can get its durability decreased on block break or on attack. In this case two properties would be better I think, for example
durability:
max_custom_durability: 1324
reduce_on_block_break: false ## <---- true by default
reduce_on_attack: false ## <---- true by default
Do you think it's a good idea to fix this problem?
Terms
Discord tag (optional)
No response
What happened?
It seems that the plugin didn't listen to
org.bukkit.event.player.PlayerItemDamageEvent
and canceled it. It causes the water bag and other item has durability can be broken when using it to mine blocks.Steps to reproduce the issue
Server version
Checking version, please wait... This server is running Paper version git-Paper-77 (MC: 1.18.1) (Implementing API version 1.18.1-R0.1-SNAPSHOT) (Git: 5ad1d9a)\nYou are 20 version(s) behind\nDownload the new version at: https://papermc.io/downloads\nPrevious version: git-Paper-"8c189d0" (MC: 1.18.1)
ItemsAdder Version
ItemsAdder version 2.5.0-beta Customized Minecraft without client mods! Website: devs.beer Author: LoneDev
ProtocolLib Version
ProtocolLib version 4.8.0-SNAPSHOT-b539 Provides read/write access to the Minecraft protocol. Authors: dmulloy2 and comphenix
LoneLibs Version
LoneLibs version 1.0.16b Collection of libs used by my plugins Authors: LoneDev and others
LightAPI Version (optional)
This server is not running any plugin by that name. Use /plugins to get a list of plugins.
LibsDisguises Version (optional)
This server is not running any plugin by that name. Use /plugins to get a list of plugins.
FULL server log
Well the server has sensitive information and seems not to be related to the bug so we cannot provide the server log.
Error (optional)
No response
ItemsAdder config.yml
Problematic items yml configuration file (optional)
No response
Other files, you can drag and drop them here to upload. (optional)
No response
Screenshots/Videos (you can drag and drop files or paste links)
No response