diff --git a/Changelog.txt b/Changelog.txt index eb89543ae..910c21bc3 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -21,6 +21,7 @@ Version 1.5.01-dev = Fixed bug where dodge would check the wrong player skill level = Fixed bug which causes /party teleport to stop working = Fixed bug where SaveTimerTask would produce an IndexOutOfBoundsException + = Fixed bug where Alchemy would not fire BrewEvents ! Changed player data saving. Save tasks are now asynchronous ! Vanished players no longer get hit by AoE effects ! Changed Alchemy config option 'Prevent_Hopper_Transfer' renamed to 'Prevent_Hopper_Transfer_Ingredients' diff --git a/src/main/java/com/gmail/nossr50/events/fake/FakeBrewEvent.java b/src/main/java/com/gmail/nossr50/events/fake/FakeBrewEvent.java new file mode 100644 index 000000000..4d5537a5d --- /dev/null +++ b/src/main/java/com/gmail/nossr50/events/fake/FakeBrewEvent.java @@ -0,0 +1,11 @@ +package com.gmail.nossr50.events.fake; + +import org.bukkit.block.Block; +import org.bukkit.event.inventory.BrewEvent; +import org.bukkit.inventory.BrewerInventory; + +public class FakeBrewEvent extends BrewEvent { + public FakeBrewEvent(Block brewer, BrewerInventory contents) { + super(brewer, contents); + } +} diff --git a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java index 4f1fa8926..494f3c8bc 100644 --- a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java +++ b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java @@ -17,6 +17,7 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.config.skills.alchemy.PotionConfig; import com.gmail.nossr50.datatypes.skills.SecondaryAbility; import com.gmail.nossr50.datatypes.skills.alchemy.AlchemyPotion; +import com.gmail.nossr50.events.fake.FakeBrewEvent; import com.gmail.nossr50.runnables.player.PlayerUpdateInventoryTask; import com.gmail.nossr50.runnables.skills.AlchemyBrewCheckTask; import com.gmail.nossr50.util.Permissions; @@ -100,6 +101,13 @@ public final class AlchemyPotionBrewer { return; } + FakeBrewEvent event = new FakeBrewEvent(brewingStand.getBlock(), inventory); + mcMMO.p.getServer().getPluginManager().callEvent(event); + + if (event.isCancelled()) { + return; + } + for (int i = 0; i < 3; i++) { ItemStack item = inventory.getItem(i);