From 3d1815595b88cb4af475f051e6e5f05a6f5a0dc8 Mon Sep 17 00:00:00 2001 From: taelnia Date: Fri, 15 Nov 2013 21:07:15 -0500 Subject: [PATCH 1/4] Add Ore Dictionary support for Assembly Recipes --- common/buildcraft/api/recipes/AssemblyRecipe.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/buildcraft/api/recipes/AssemblyRecipe.java b/common/buildcraft/api/recipes/AssemblyRecipe.java index 573db282..29b1dcee 100644 --- a/common/buildcraft/api/recipes/AssemblyRecipe.java +++ b/common/buildcraft/api/recipes/AssemblyRecipe.java @@ -2,6 +2,7 @@ package buildcraft.api.recipes; import java.util.LinkedList; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class AssemblyRecipe { @@ -35,6 +36,16 @@ public class AssemblyRecipe { if (item.isItemEqual(in)) { found += item.stackSize; // Adds quantity of stack to amount // found + } else { + int oreID = OreDictionary.getOreID(in); + if (oreID >= 0) { + for (ItemStack oreItem : OreDictionary.getOres(oreID)) { + if(OreDictionary.itemMatches(oreItem, item, false)) { + found += item.stackSize; + break; + } + } + } } } From e825066fd037193dfa54fde02614f0b2c359f904 Mon Sep 17 00:00:00 2001 From: Taelnia Date: Fri, 15 Nov 2013 22:27:30 -0500 Subject: [PATCH 2/4] Revert "Add Ore Dictionary support for Assembly Recipes" This reverts commit 3d1815595b88cb4af475f051e6e5f05a6f5a0dc8. --- common/buildcraft/api/recipes/AssemblyRecipe.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/common/buildcraft/api/recipes/AssemblyRecipe.java b/common/buildcraft/api/recipes/AssemblyRecipe.java index 29b1dcee..573db282 100644 --- a/common/buildcraft/api/recipes/AssemblyRecipe.java +++ b/common/buildcraft/api/recipes/AssemblyRecipe.java @@ -2,7 +2,6 @@ package buildcraft.api.recipes; import java.util.LinkedList; import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; public class AssemblyRecipe { @@ -36,16 +35,6 @@ public class AssemblyRecipe { if (item.isItemEqual(in)) { found += item.stackSize; // Adds quantity of stack to amount // found - } else { - int oreID = OreDictionary.getOreID(in); - if (oreID >= 0) { - for (ItemStack oreItem : OreDictionary.getOres(oreID)) { - if(OreDictionary.itemMatches(oreItem, item, false)) { - found += item.stackSize; - break; - } - } - } } } From 91e56489030c3f93d150e10364b244ddbbef7770 Mon Sep 17 00:00:00 2001 From: taelnia Date: Fri, 15 Nov 2013 22:32:30 -0500 Subject: [PATCH 3/4] Prevent Iron Pipes from switching to a plugged side --- common/buildcraft/transport/pipes/PipeLogicIron.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/buildcraft/transport/pipes/PipeLogicIron.java b/common/buildcraft/transport/pipes/PipeLogicIron.java index 486cdb0b..f7b67750 100644 --- a/common/buildcraft/transport/pipes/PipeLogicIron.java +++ b/common/buildcraft/transport/pipes/PipeLogicIron.java @@ -55,6 +55,8 @@ public abstract class PipeLogicIron { return true; TileEntity tile = tileBuffer[side.ordinal()].getTile(); + if ((pipe.container.hasPlug(side)) || (tile != null && tile instanceof TileGenericPipe && ((TileGenericPipe)tile).pipe.container.hasPlug(side.getOpposite()))) + return false; return isValidConnectingTile(tile); } From 372941c32f04e472366c2c39aa1f028bd9766091 Mon Sep 17 00:00:00 2001 From: taelnia Date: Sat, 16 Nov 2013 11:23:37 -0500 Subject: [PATCH 4/4] simplify code for iron pipe facing check --- common/buildcraft/transport/pipes/PipeLogicIron.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/buildcraft/transport/pipes/PipeLogicIron.java b/common/buildcraft/transport/pipes/PipeLogicIron.java index f7b67750..c076c62a 100644 --- a/common/buildcraft/transport/pipes/PipeLogicIron.java +++ b/common/buildcraft/transport/pipes/PipeLogicIron.java @@ -47,6 +47,9 @@ public abstract class PipeLogicIron { private boolean isValidFacing(ForgeDirection side) { + if (!pipe.container.isPipeConnected(side)) + return false; + TileBuffer[] tileBuffer = pipe.container.getTileCache(); if (tileBuffer == null) return true; @@ -55,8 +58,6 @@ public abstract class PipeLogicIron { return true; TileEntity tile = tileBuffer[side.ordinal()].getTile(); - if ((pipe.container.hasPlug(side)) || (tile != null && tile instanceof TileGenericPipe && ((TileGenericPipe)tile).pipe.container.hasPlug(side.getOpposite()))) - return false; return isValidConnectingTile(tile); }