From e7b8f7681c5eb15cdac5dafc1c2a7639732a76e2 Mon Sep 17 00:00:00 2001 From: WinDanesz <31292708+windanesz@users.noreply.github.com> Date: Sat, 18 Apr 2026 23:45:32 +0200 Subject: [PATCH] Fix ImbuementActivateEvent, fixes #901 --- .../wizardry/tileentity/TileEntityImbuementAltar.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/electroblob/wizardry/tileentity/TileEntityImbuementAltar.java b/src/main/java/electroblob/wizardry/tileentity/TileEntityImbuementAltar.java index 5c40c659..0f953f5f 100644 --- a/src/main/java/electroblob/wizardry/tileentity/TileEntityImbuementAltar.java +++ b/src/main/java/electroblob/wizardry/tileentity/TileEntityImbuementAltar.java @@ -235,12 +235,11 @@ public class TileEntityImbuementAltar extends TileEntity implements ITickable { */ public static ItemStack getImbuementResult(ItemStack input, Element[] receptacleElements, boolean fullLootGen, World world, EntityPlayer lastUser){ - ItemStack eventResult = ItemStack.EMPTY; + ImbuementActivateEvent event = new ImbuementActivateEvent(input, receptacleElements, world, lastUser, ItemStack.EMPTY); - if (world != null && MinecraftForge.EVENT_BUS.post(new ImbuementActivateEvent(input, receptacleElements, world, lastUser, eventResult))) { - // return the stack if something changes the result from an empty stack. - //noinspection ConstantConditions - if (eventResult != ItemStack.EMPTY) return eventResult; + if (world != null && MinecraftForge.EVENT_BUS.post(event)) { + // Event was cancelled; return whatever result the handler set (may be empty to suppress all recipes). + return event.result; } if(input.getItem() instanceof ItemWizardArmour && ((ItemWizardArmour)input.getItem()).element == null){