From 01494721f17b3a390765851f83fb168ac0a7aaf7 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sun, 10 Dec 2023 21:33:01 +0800 Subject: [PATCH] Fix mixin conflict with morejs (#1130) --- .../core/world/inventory/EnchantmentContainerMixin.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/inventory/EnchantmentContainerMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/inventory/EnchantmentContainerMixin.java index da5a0421..a28ec178 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/inventory/EnchantmentContainerMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/inventory/EnchantmentContainerMixin.java @@ -50,7 +50,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.List; import java.util.Map; -@Mixin(EnchantmentMenu.class) +// morejs https://github.com/AlmostReliable/morejs/blob/fd738a28a054d780031c7666fc8a01533c86f63b/Common/src/main/java/com/almostreliable/morejs/mixin/enchanting/EnchantmentMenuMixin.java +@Mixin(value = EnchantmentMenu.class, priority = 39) public abstract class EnchantmentContainerMixin extends AbstractContainerMenuMixin implements PosContainerBridge { // @formatter:off @@ -86,6 +87,8 @@ public abstract class EnchantmentContainerMixin extends AbstractContainerMenuMix if (inventoryIn == this.enchantSlots) { ItemStack itemstack = inventoryIn.getItem(0); if (!itemstack.isEmpty()) { + // morejs https://github.com/AlmostReliable/morejs/blob/fd738a28a054d780031c7666fc8a01533c86f63b/Common/src/main/java/com/almostreliable/morejs/mixin/enchanting/EnchantmentMenuMixin.java + boolean enchantable = itemstack.isEnchantable(); this.access.execute((p_217002_2_, p_217002_3_) -> { float power = 0; @@ -127,7 +130,7 @@ public abstract class EnchantmentContainerMixin extends AbstractContainerMenuMix } PrepareItemEnchantEvent event = new PrepareItemEnchantEvent(((ServerPlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), this.getBukkitView(), ((IWorldPosCallableBridge) this.access).bridge$getLocation().getBlock(), item, offers, (int) power); - event.setCancelled(!itemstack.isEnchantable()); + event.setCancelled(!enchantable); Bukkit.getPluginManager().callEvent(event); if (event.isCancelled()) {