From f8d769b67d61ecd16da9e0b8a0ca5b6a472348bc Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sun, 7 Jan 2018 10:10:12 +0100 Subject: patch a render issue (#77) --- src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java b/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java index 5f506bca7b..0a2176010c 100644 --- a/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java +++ b/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java @@ -32,10 +32,15 @@ public class GT_GUIContainer_BasicMachine extends GT_GUIContainerMetaTile_Machin mNEI = aNEI; } + @Override + public void drawScreen(int par1, int par2, float par3) { + super.drawScreen(par1, par2, par3); + drawTooltip(par1, par2); + } + @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { fontRendererObj.drawString(mName, 8, 4, 4210752); - drawTooltip(par1, par2); } private void drawTooltip(int x2, int y2) { @@ -53,7 +58,7 @@ public class GT_GUIContainer_BasicMachine extends GT_GUIContainerMetaTile_Machin } } if (!list.isEmpty()) - drawHoveringText(list, x, y, fontRendererObj); + drawHoveringText(list, x2, y2, fontRendererObj); } @Override -- cgit From b0ea7ae740877ff6aa9f4d57ca83f38d288a0fc6 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sun, 7 Jan 2018 10:10:58 +0100 Subject: NEI page access of Primitive Blast Furnace (#78) * NEI page access of Primitive Blast Furnace cherry pick Commit: e0be4bdc4504717968494503ea03b8184af96891 [e0be4bd] * Fix #1039 * Fix #1039 --- .../gregtech/api/util/GT_OreDictUnificator.java | 37 ++++++++++++++++++++++ .../gui/GT_GUIContainer_PrimitiveBlastFurnace.java | 18 ++++++----- .../GT_MetaTileEntity_PrimitiveBlastFurnace.java | 6 ++-- .../java/gregtech/nei/GT_NEI_DefaultHandler.java | 12 +++++-- 4 files changed, 60 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java index 7552f5ea85..33149eb801 100644 --- a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java +++ b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java @@ -15,6 +15,7 @@ import net.minecraftforge.oredict.OreDictionary; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -32,6 +33,7 @@ import static gregtech.api.enums.GT_Values.*; public class GT_OreDictUnificator { private static final /*ConcurrentHash*/Map sName2StackMap = new /*ConcurrentHash*/HashMap(); private static final /*ConcurrentHash*/Map sItemStack2DataMap = new /*ConcurrentHash*/HashMap(); + private static final /*ConcurrentHash*/Map> sUnificationTable = new /*ConcurrentHash*/HashMap>(); private static final GT_HashSet sNoUnificationList = new GT_HashSet(); public static volatile int VERSION = 509; private static int isRegisteringOre = 0, isAddingOre = 0; @@ -39,6 +41,7 @@ public class GT_OreDictUnificator { static { GregTech_API.sItemStackMappings.add(sItemStack2DataMap); + GregTech_API.sItemStackMappings.add(sUnificationTable); } /** @@ -153,6 +156,40 @@ public class GT_OreDictUnificator { return GT_Utility.copyAmount(aStack.stackSize, rStack); } + public static List getNonUnifiedStacks(Object obj) { + synchronized (sUnificationTable) { + if (sUnificationTable.isEmpty() && !sItemStack2DataMap.isEmpty()) { + for (GT_ItemStack tGTStack0 : sItemStack2DataMap.keySet()) { + ItemStack tStack0 = tGTStack0.toStack(); + ItemStack tStack1 = get(false, tStack0); + if (!GT_Utility.areStacksEqual(tStack0, tStack1)) { + GT_ItemStack tGTStack1 = new GT_ItemStack(tStack1); + List list = sUnificationTable.get(tGTStack1); + if (list == null) sUnificationTable.put(tGTStack1, list = new ArrayList()); + if (!list.contains(tStack0)) list.add(tStack0); + } + } + } + } + ItemStack[] aStacks = {}; + if (obj instanceof ItemStack) aStacks = new ItemStack[]{(ItemStack) obj}; + else if (obj instanceof ItemStack[]) aStacks = (ItemStack[]) obj; + else if (obj instanceof List) aStacks = (ItemStack[]) ((List)obj).toArray(new ItemStack[0]); + List rList = new ArrayList(); + for (ItemStack aStack : aStacks) { + rList.add(aStack); + List tList = sUnificationTable.get(new GT_ItemStack(aStack)); + if (tList != null) { + for (ItemStack tStack : tList) { + ItemStack tStack1 = GT_Utility.copyAmount(aStack.stackSize, tStack); + tStack1.setTagCompound(aStack.getTagCompound()); + rList.add(tStack1); + } + } + } + return rList; + } + public static void addItemData(ItemStack aStack, ItemData aData) { if (GT_Utility.isStackValid(aStack) && getItemData(aStack) == null && aData != null) setItemData(aStack, aData); } diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_PrimitiveBlastFurnace.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_PrimitiveBlastFurnace.java index 9586b9eaf9..2817c32192 100644 --- a/src/main/java/gregtech/common/gui/GT_GUIContainer_PrimitiveBlastFurnace.java +++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_PrimitiveBlastFurnace.java @@ -5,13 +5,15 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; public class GT_GUIContainer_PrimitiveBlastFurnace extends GT_GUIContainerMetaTile_Machine { - private String name; - - public GT_GUIContainer_PrimitiveBlastFurnace(InventoryPlayer inventoryPlayer, IGregTechTileEntity tileEntity, String name) { - super(new GT_Container_PrimitiveBlastFurnace(inventoryPlayer, tileEntity), - String.format("gregtech:textures/gui/%s.png", name.replace(" ", ""))); - this.name = name; - } + private String name; + public String mNEI; + + public GT_GUIContainer_PrimitiveBlastFurnace(InventoryPlayer inventoryPlayer, IGregTechTileEntity tileEntity, String name, String aNEI) { + super(new GT_Container_PrimitiveBlastFurnace(inventoryPlayer, tileEntity), + String.format("gregtech:textures/gui/%s.png", name.replace(" ", ""))); + this.name = name; + this.mNEI = aNEI; + } protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRendererObj.drawString(name, 8, 4, 4210752); @@ -28,4 +30,4 @@ public class GT_GUIContainer_PrimitiveBlastFurnace extends GT_GUIContainerMetaTi 11); } } -} \ No newline at end of file +} diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java index ae699be87a..c0eb143f25 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java @@ -139,9 +139,9 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn return new GT_Container_PrimitiveBlastFurnace(aPlayerInventory, aBaseMetaTileEntity); } - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_PrimitiveBlastFurnace(aPlayerInventory, aBaseMetaTileEntity, getName()); - } + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_PrimitiveBlastFurnace(aPlayerInventory, aBaseMetaTileEntity, getName(), GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.mNEIName); + } private boolean checkMachine() { int xDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX; diff --git a/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java b/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java index 0d2bbb7f84..ab819461ea 100644 --- a/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java +++ b/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java @@ -20,6 +20,7 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.common.gui.GT_GUIContainer_FusionReactor; +import gregtech.common.gui.GT_GUIContainer_PrimitiveBlastFurnace; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -259,7 +260,9 @@ public class GT_NEI_DefaultHandler } public boolean canHandle(GuiContainer gui) { - return (((gui instanceof GT_GUIContainer_BasicMachine)) && (GT_Utility.isStringValid(((GT_GUIContainer_BasicMachine) gui).mNEI)) || ((gui instanceof GT_GUIContainer_FusionReactor)) && (GT_Utility.isStringValid(((GT_GUIContainer_FusionReactor) gui).mNEI))); + return (gui instanceof GT_GUIContainer_BasicMachine && GT_Utility.isStringValid(((GT_GUIContainer_BasicMachine) gui).mNEI)) + || (gui instanceof GT_GUIContainer_FusionReactor && GT_Utility.isStringValid(((GT_GUIContainer_FusionReactor) gui).mNEI)) + || (gui instanceof GT_GUIContainer_PrimitiveBlastFurnace && GT_Utility.isStringValid(((GT_GUIContainer_PrimitiveBlastFurnace) gui).mNEI)); } public List handleTooltip(GuiContainer gui, int mousex, int mousey, List currenttip) { @@ -268,6 +271,8 @@ public class GT_NEI_DefaultHandler currenttip.add("Recipes"); } else if (gui instanceof GT_GUIContainer_FusionReactor && new Rectangle(145, 0, 24, 24).contains(new Point(GuiDraw.getMousePosition().x - ((GT_GUIContainer_FusionReactor) gui).getLeft() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[0], GuiDraw.getMousePosition().y - ((GT_GUIContainer_FusionReactor) gui).getTop() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[1]))) { currenttip.add("Recipes"); + } else if (gui instanceof GT_GUIContainer_PrimitiveBlastFurnace && new Rectangle(51, 10, 24, 24).contains(new Point(GuiDraw.getMousePosition().x - ((GT_GUIContainer_PrimitiveBlastFurnace) gui).getLeft() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[0], GuiDraw.getMousePosition().y - ((GT_GUIContainer_PrimitiveBlastFurnace) gui).getTop() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[1]))) { + currenttip.add("Recipes"); } } @@ -279,6 +284,9 @@ public class GT_NEI_DefaultHandler return (canHandle(gui)) && (new Rectangle(65, 13, 36, 18).contains(new Point(GuiDraw.getMousePosition().x - ((GT_GUIContainer_BasicMachine) gui).getLeft() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[0], GuiDraw.getMousePosition().y - ((GT_GUIContainer_BasicMachine) gui).getTop() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[1]))) && (usage ? GuiUsageRecipe.openRecipeGui(((GT_GUIContainer_BasicMachine) gui).mNEI, new Object[0]) : GuiCraftingRecipe.openRecipeGui(((GT_GUIContainer_BasicMachine) gui).mNEI, new Object[0])); } else if (gui instanceof GT_GUIContainer_FusionReactor) { return (canHandle(gui)) && (new Rectangle(145, 0, 24, 24).contains(new Point(GuiDraw.getMousePosition().x - ((GT_GUIContainer_FusionReactor) gui).getLeft() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[0], GuiDraw.getMousePosition().y - ((GT_GUIContainer_FusionReactor) gui).getTop() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[1]))) && (usage ? GuiUsageRecipe.openRecipeGui(((GT_GUIContainer_FusionReactor) gui).mNEI, new Object[0]) : GuiCraftingRecipe.openRecipeGui(((GT_GUIContainer_FusionReactor) gui).mNEI, new Object[0])); + } else if (gui instanceof GT_GUIContainer_PrimitiveBlastFurnace) { + int[] a = codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui); + return (canHandle(gui)) && (new Rectangle(51, 10, 24, 24).contains(new Point(GuiDraw.getMousePosition().x - ((GT_GUIContainer_PrimitiveBlastFurnace) gui).getLeft() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[0], GuiDraw.getMousePosition().y - ((GT_GUIContainer_PrimitiveBlastFurnace) gui).getTop() - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[1]))) && (usage ? GuiUsageRecipe.openRecipeGui(((GT_GUIContainer_PrimitiveBlastFurnace) gui).mNEI, new Object[0]) : GuiCraftingRecipe.openRecipeGui(((GT_GUIContainer_PrimitiveBlastFurnace) gui).mNEI, new Object[0])); } return false; } @@ -324,7 +332,7 @@ public class GT_NEI_DefaultHandler } public FixedPositionedStack(Object object, int x, int y, int aChance) { - super(object, x, y, true); + super(GT_OreDictUnificator.getNonUnifiedStacks(object), x, y, true); this.mChance = aChance; } -- cgit From c679603ab78c35d893deb41762bf9f031ae23c62 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sun, 7 Jan 2018 10:11:59 +0100 Subject: Fix that the main facing of basic machines can be set to top/bottom (#80) --- .../implementations/GT_MetaTileEntity_BasicMachine.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index ade5d98528..1c5b90f7db 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -109,11 +109,16 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B mGUIName = aGUIName; mNEIName = aNEIName; } + + protected boolean isValidMainFacing(byte aSide) { + return aSide > 1; + } - public boolean setMainFacing(byte aDirection){ - mMainFacing = aDirection; + public boolean setMainFacing(byte aSide){ + if (!isValidMainFacing(aSide)) return false; + mMainFacing = aSide; if(getBaseMetaTileEntity().getFrontFacing() == mMainFacing){ - getBaseMetaTileEntity().setFrontFacing(GT_Utility.getOppositeSide(aDirection)); + getBaseMetaTileEntity().setFrontFacing(GT_Utility.getOppositeSide(aSide)); } onFacingChange(); onMachineBlockUpdate(); -- cgit From 6c26ff264579cdb850e4d90a4170dadca42ed387 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sun, 7 Jan 2018 10:12:40 +0100 Subject: Fix iridium neutron reflector behavior (#79) --- .../java/gregtech/common/items/GT_NeutronReflector_Item.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java b/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java index 3b57809c07..eee76c233e 100644 --- a/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java +++ b/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java @@ -18,17 +18,7 @@ public class GT_NeutronReflector_Item public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean heatrun) { if (!heatrun) { - if (!GregTech_API.mIC2Classic&&(pulsingStack.getItem() instanceof ic2.core.item.reactor.ItemReactorMOX)) { - float breedereffectiveness = reactor.getHeat() / reactor.getMaxHeat(); - float ReaktorOutput = 4.0F * breedereffectiveness + 1.0F; - reactor.addOutput(ReaktorOutput); - } else { - float tEnergy = 1.0f; - if (pulsingStack.getItem() instanceof GT_RadioactiveCellIC_Item) { - tEnergy = (float) ((GT_RadioactiveCellIC_Item) pulsingStack.getItem()).sEnergy; - } - reactor.addOutput(tEnergy); - } + ((IReactorComponent) pulsingStack.getItem()).acceptUraniumPulse(reactor, pulsingStack, yourStack, pulseX, pulseY, youX, youY, heatrun); } return true; } -- cgit From fcb663754350649e9ce01769f54f850a2c6d262e Mon Sep 17 00:00:00 2001 From: Technus Date: Sun, 7 Jan 2018 11:11:43 +0100 Subject: Fix behaviour of disconnected fluid pipes --- .../api/metatileentity/MetaPipeEntity.java | 2 +- .../implementations/GT_MetaPipeEntity_Fluid.java | 25 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 5f1d7cbd44..1df2929071 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -739,7 +739,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { mConnections |= (1 << aSide); byte tSide = GT_Utility.getOppositeSide(aSide); IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide); - IMetaTileEntity tPipe = tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() : null; + IMetaTileEntity tPipe = tTileEntity != null ? tTileEntity.getMetaTileEntity() : null; if (this.getClass().isInstance(tPipe) && !((MetaPipeEntity) tPipe).isConnectedAtSide(tSide)) ((MetaPipeEntity) tPipe).connect(tSide); return 1; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java index eb403aa5f0..9100daa8d2 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java @@ -649,4 +649,29 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity { if (inputAABB.intersectsWith(aabb)) outputAABB.add(aabb); } } + + @Override + public FluidStack drain(ForgeDirection aSide, int maxDrain, boolean doDrain) { + if(isConnectedAtSide(aSide.ordinal()) || aSide==ForgeDirection.UNKNOWN) + return super.drain(aSide, maxDrain, doDrain); + return null; + } + + @Override + public FluidStack drain(ForgeDirection aSide, FluidStack aFluid, boolean doDrain) { + if(isConnectedAtSide(aSide.ordinal()) || aSide==ForgeDirection.UNKNOWN) + return super.drain(aSide, aFluid, doDrain); + return null; + } + + //Stub method? + //@Override + //public int fill(FluidStack resource, boolean doFill) {} + + @Override + public int fill(ForgeDirection aSide, FluidStack aFluid, boolean doFill) { + if(isConnectedAtSide(aSide.ordinal()) || aSide==ForgeDirection.UNKNOWN) + return super.fill(aSide, aFluid, doFill); + return 0; + } } -- cgit From bbaa3dd99996a9fa121dd06386051adb4d10b54a Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Sun, 7 Jan 2018 18:16:31 +0800 Subject: Fix #81 (#83) --- .../api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java index 9100daa8d2..ad71f1c099 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java @@ -594,12 +594,12 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity { @Override public boolean isLiquidInput(byte aSide) { - return !isInputDisabledAtSide(aSide); + return isConnectedAtSide(aSide) && !isInputDisabledAtSide(aSide); } @Override public boolean isLiquidOutput(byte aSide) { - return true; + return isConnectedAtSide(aSide); } public boolean isInputDisabledAtSide(int aSide) { -- cgit From f50e0bd7cfdc552dc8636677cdb2860e11c523e2 Mon Sep 17 00:00:00 2001 From: Technus Date: Sun, 7 Jan 2018 11:18:42 +0100 Subject: Revert "Fix behaviour of disconnected fluid pipes" This reverts commit fcb663754350649e9ce01769f54f850a2c6d262e. --- .../api/metatileentity/MetaPipeEntity.java | 2 +- .../implementations/GT_MetaPipeEntity_Fluid.java | 25 ---------------------- 2 files changed, 1 insertion(+), 26 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 1df2929071..5f1d7cbd44 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -739,7 +739,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { mConnections |= (1 << aSide); byte tSide = GT_Utility.getOppositeSide(aSide); IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide); - IMetaTileEntity tPipe = tTileEntity != null ? tTileEntity.getMetaTileEntity() : null; + IMetaTileEntity tPipe = tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() : null; if (this.getClass().isInstance(tPipe) && !((MetaPipeEntity) tPipe).isConnectedAtSide(tSide)) ((MetaPipeEntity) tPipe).connect(tSide); return 1; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java index ad71f1c099..d601ceb8b6 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java @@ -649,29 +649,4 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity { if (inputAABB.intersectsWith(aabb)) outputAABB.add(aabb); } } - - @Override - public FluidStack drain(ForgeDirection aSide, int maxDrain, boolean doDrain) { - if(isConnectedAtSide(aSide.ordinal()) || aSide==ForgeDirection.UNKNOWN) - return super.drain(aSide, maxDrain, doDrain); - return null; - } - - @Override - public FluidStack drain(ForgeDirection aSide, FluidStack aFluid, boolean doDrain) { - if(isConnectedAtSide(aSide.ordinal()) || aSide==ForgeDirection.UNKNOWN) - return super.drain(aSide, aFluid, doDrain); - return null; - } - - //Stub method? - //@Override - //public int fill(FluidStack resource, boolean doFill) {} - - @Override - public int fill(ForgeDirection aSide, FluidStack aFluid, boolean doFill) { - if(isConnectedAtSide(aSide.ordinal()) || aSide==ForgeDirection.UNKNOWN) - return super.fill(aSide, aFluid, doFill); - return 0; - } } -- cgit