ForgePatch/patches/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java...

85 lines
3.6 KiB
Diff

--- ../src-base/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java
+++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java
@@ -153,6 +153,7 @@
private boolean func_145934_k()
{
+ if (1 == 1) return net.minecraftforge.common.brewing.BrewingRecipeRegistry.canBrew(field_145945_j, field_145945_j.get(3), field_145947_i); // divert to VanillaBrewingRegistry
ItemStack itemstack = (ItemStack)this.field_145945_j.get(3);
if (itemstack.func_190926_b())
@@ -181,19 +182,17 @@
private void func_145940_l()
{
+ if (net.minecraftforge.event.ForgeEventFactory.onPotionAttemptBrew(field_145945_j)) return;
ItemStack itemstack = (ItemStack)this.field_145945_j.get(3);
- for (int i = 0; i < 3; ++i)
- {
- this.field_145945_j.set(i, PotionHelper.func_185212_d(itemstack, (ItemStack)this.field_145945_j.get(i)));
- }
+ net.minecraftforge.common.brewing.BrewingRecipeRegistry.brewPotions(field_145945_j, field_145945_j.get(3), field_145947_i);
itemstack.func_190918_g(1);
BlockPos blockpos = this.func_174877_v();
- if (itemstack.func_77973_b().func_77634_r())
+ if (itemstack.func_77973_b().hasContainerItem(itemstack))
{
- ItemStack itemstack1 = new ItemStack(itemstack.func_77973_b().func_77668_q());
+ ItemStack itemstack1 = itemstack.func_77973_b().getContainerItem(itemstack);
if (itemstack.func_190926_b())
{
@@ -207,6 +206,7 @@
this.field_145945_j.set(3, itemstack);
this.field_145850_b.func_175718_b(1035, blockpos, 0);
+ net.minecraftforge.event.ForgeEventFactory.onPotionBrewed(field_145945_j);
}
public static void func_189675_a(DataFixer p_189675_0_)
@@ -289,12 +289,12 @@
{
if (p_94041_1_ == 3)
{
- return PotionHelper.func_185205_a(p_94041_2_);
+ return net.minecraftforge.common.brewing.BrewingRecipeRegistry.isValidIngredient(p_94041_2_);
}
else
{
Item item = p_94041_2_.func_77973_b();
- return p_94041_1_ == 4 ? item == Items.field_151065_br : item == Items.field_151068_bn || item == Items.field_185155_bH || item == Items.field_185156_bI || item == Items.field_151069_bo;
+ return p_94041_1_ == 4 ? item == Items.field_151065_br : net.minecraftforge.common.brewing.BrewingRecipeRegistry.isValidInput(p_94041_2_);
}
}
@@ -348,6 +348,26 @@
}
}
+ net.minecraftforge.items.IItemHandler handlerInput = new net.minecraftforge.items.wrapper.SidedInvWrapper(this, net.minecraft.util.EnumFacing.UP);
+ net.minecraftforge.items.IItemHandler handlerOutput = new net.minecraftforge.items.wrapper.SidedInvWrapper(this, net.minecraft.util.EnumFacing.DOWN);
+ net.minecraftforge.items.IItemHandler handlerSides = new net.minecraftforge.items.wrapper.SidedInvWrapper(this, net.minecraft.util.EnumFacing.NORTH);
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <T> T getCapability(net.minecraftforge.common.capabilities.Capability<T> capability, net.minecraft.util.EnumFacing facing)
+ {
+ if (facing != null && capability == net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
+ {
+ if (facing == EnumFacing.UP)
+ return (T) handlerInput;
+ else if (facing == EnumFacing.DOWN)
+ return (T) handlerOutput;
+ else
+ return (T) handlerSides;
+ }
+ return super.getCapability(capability, facing);
+ }
+
public int func_174890_g()
{
return 2;