make immutability test before pre anvil bypass event

This commit is contained in:
alexcrea 2025-05-01 19:44:07 +02:00
parent f4ce267e44
commit 8f408438dc
No known key found for this signature in database
GPG key ID: 027DD67D2D3280C5

View file

@ -47,16 +47,10 @@ class PrepareAnvilListener : Listener {
// Should find player
val player: HumanEntity = InventoryViewUtil.getInstance().getPlayer(event.view)
// Test if the event should bypass custom anvil.
if (DependencyManager.tryEventPreAnvilBypass(event, player)) return
val inventory = event.inventory
val first = inventory.getItem(ANVIL_INPUT_LEFT) ?: return
val second = inventory.getItem(ANVIL_INPUT_RIGHT)
if (!player.hasPermission(CustomAnvil.affectedByPluginPermission)) return
if (isImmutable(first) || isImmutable(second)) {
CustomAnvil.verboseLog("Skipping anvil process as one of the two item is immutable")
@ -64,6 +58,11 @@ class PrepareAnvilListener : Listener {
return
}
// Test if the event should bypass custom anvil.
if (DependencyManager.tryEventPreAnvilBypass(event, player)) return
if (!player.hasPermission(CustomAnvil.affectedByPluginPermission)) return
// Test custom recipe
if (testCustomRecipe(event, inventory, player, first, second)) return