From d17c025557b82a44a3743161da76bdc0f8dc8af4 Mon Sep 17 00:00:00 2001 From: MrIbby Date: Sat, 13 Aug 2016 13:38:45 -0700 Subject: [PATCH] Added PlayerBrewedPotionEvent (#3187) --- .../ContainerBrewingStand.java.patch | 10 +++- .../event/ForgeEventFactory.java | 6 +++ .../brewing/PlayerBrewedPotionEvent.java | 46 +++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/minecraftforge/event/brewing/PlayerBrewedPotionEvent.java diff --git a/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch index 29d7458ad..cee1b84f2 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch @@ -9,7 +9,15 @@ } public int func_75219_a() -@@ -245,8 +245,7 @@ +@@ -231,6 +231,7 @@ + { + if (PotionUtils.func_185191_c(p_82870_2_) != PotionTypes.field_185230_b) + { ++ net.minecraftforge.event.ForgeEventFactory.onPlayerBrewedPotion(p_82870_1_, p_82870_2_); + this.field_75244_a.func_71029_a(AchievementList.field_187970_B); + } + +@@ -245,8 +246,7 @@ } else { diff --git a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java index 0459550db..aa88cccb0 100644 --- a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java +++ b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java @@ -67,6 +67,7 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.capabilities.CapabilityDispatcher; import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.minecraftforge.common.util.BlockSnapshot; +import net.minecraftforge.event.brewing.PlayerBrewedPotionEvent; import net.minecraftforge.event.brewing.PotionBrewEvent; import net.minecraftforge.event.entity.EntityEvent; import net.minecraftforge.event.entity.EntityMountEvent; @@ -488,6 +489,11 @@ public class ForgeEventFactory { MinecraftForge.EVENT_BUS.post(new PotionBrewEvent.Post(brewingItemStacks)); } + + public static void onPlayerBrewedPotion(EntityPlayer player, ItemStack stack) + { + MinecraftForge.EVENT_BUS.post(new PlayerBrewedPotionEvent(player, stack)); + } public static boolean renderFireOverlay(EntityPlayer player, float renderPartialTicks) { diff --git a/src/main/java/net/minecraftforge/event/brewing/PlayerBrewedPotionEvent.java b/src/main/java/net/minecraftforge/event/brewing/PlayerBrewedPotionEvent.java new file mode 100644 index 000000000..5c3e80edc --- /dev/null +++ b/src/main/java/net/minecraftforge/event/brewing/PlayerBrewedPotionEvent.java @@ -0,0 +1,46 @@ +/* + * Minecraft Forge + * Copyright (c) 2016. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation version 2.1 + * of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package net.minecraftforge.event.brewing; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.event.entity.player.PlayerEvent; + +/** + * This event is called when a player picks up a potion from a brewing stand. + */ +public class PlayerBrewedPotionEvent extends PlayerEvent +{ + private final ItemStack stack; + + public PlayerBrewedPotionEvent(EntityPlayer player, ItemStack stack) + { + super(player); + this.stack = stack; + } + + /** + * The ItemStack of the potion. + */ + public ItemStack getStack() + { + return stack; + } +}