83 lines
3.6 KiB
Diff
83 lines
3.6 KiB
Diff
--- a/net/minecraft/tileentity/TileEntityBrewingStand.java
|
|
+++ b/net/minecraft/tileentity/TileEntityBrewingStand.java
|
|
@@ -133,6 +133,7 @@
|
|
|
|
private boolean func_145934_k() {
|
|
ItemStack itemstack = this.field_145945_j.get(3);
|
|
+ if (!itemstack.func_190926_b()) return net.minecraftforge.common.brewing.BrewingRecipeRegistry.canBrew(field_145945_j, itemstack, field_145947_i); // divert to VanillaBrewingRegistry
|
|
if (itemstack.func_190926_b()) {
|
|
return false;
|
|
} else if (!PotionBrewing.func_185205_a(itemstack)) {
|
|
@@ -150,16 +151,15 @@
|
|
}
|
|
|
|
private void func_145940_l() {
|
|
+ if (net.minecraftforge.event.ForgeEventFactory.onPotionAttemptBrew(field_145945_j)) return;
|
|
ItemStack itemstack = this.field_145945_j.get(3);
|
|
|
|
- for(int i = 0; i < 3; ++i) {
|
|
- this.field_145945_j.set(i, PotionBrewing.func_185212_d(itemstack, this.field_145945_j.get(i)));
|
|
- }
|
|
+ net.minecraftforge.common.brewing.BrewingRecipeRegistry.brewPotions(field_145945_j, itemstack, field_145947_i);
|
|
|
|
itemstack.func_190918_g(1);
|
|
BlockPos blockpos = this.func_174877_v();
|
|
- if (itemstack.func_77973_b().func_77634_r()) {
|
|
- ItemStack itemstack1 = new ItemStack(itemstack.func_77973_b().func_77668_q());
|
|
+ if (itemstack.hasContainerItem()) {
|
|
+ ItemStack itemstack1 = itemstack.getContainerItem();
|
|
if (itemstack.func_190926_b()) {
|
|
itemstack = itemstack1;
|
|
} else {
|
|
@@ -169,6 +169,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 void func_145839_a(NBTTagCompound p_145839_1_) {
|
|
@@ -234,13 +235,13 @@
|
|
|
|
public boolean func_94041_b(int p_94041_1_, ItemStack p_94041_2_) {
|
|
if (p_94041_1_ == 3) {
|
|
- return PotionBrewing.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();
|
|
if (p_94041_1_ == 4) {
|
|
return item == Items.field_151065_br;
|
|
} else {
|
|
- return (item == Items.field_151068_bn || item == Items.field_185155_bH || item == Items.field_185156_bI || item == Items.field_151069_bo) && this.func_70301_a(p_94041_1_).func_190926_b();
|
|
+ return net.minecraftforge.common.brewing.BrewingRecipeRegistry.isValidInput(p_94041_2_) && this.func_70301_a(p_94041_1_).func_190926_b();
|
|
}
|
|
}
|
|
}
|
|
@@ -302,4 +303,27 @@
|
|
public void func_174888_l() {
|
|
this.field_145945_j.clear();
|
|
}
|
|
+
|
|
+ net.minecraftforge.common.util.LazyOptional<? extends net.minecraftforge.items.IItemHandler>[] handlers =
|
|
+ net.minecraftforge.items.wrapper.SidedInvWrapper.create(this, EnumFacing.UP, EnumFacing.DOWN, EnumFacing.NORTH);
|
|
+
|
|
+ @Override
|
|
+ public <T> net.minecraftforge.common.util.LazyOptional<T> getCapability(net.minecraftforge.common.capabilities.Capability<T> capability, @Nullable EnumFacing facing) {
|
|
+ if (!this.field_145846_f && facing != null && capability == net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
|
|
+ if (facing == EnumFacing.UP)
|
|
+ return handlers[0].cast();
|
|
+ else if (facing == EnumFacing.DOWN)
|
|
+ return handlers[1].cast();
|
|
+ else
|
|
+ return handlers[2].cast();
|
|
+ }
|
|
+ return super.getCapability(capability, facing);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void func_145843_s() {
|
|
+ super.func_145843_s();
|
|
+ for (int x = 0; x < handlers.length; x++)
|
|
+ handlers[x].invalidate();
|
|
+ }
|
|
}
|