aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/GT_Mod.java3
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java11
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java2
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java4
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java4
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java16
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java13
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java39
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java186
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java583
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java6
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java180
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java5
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java39
-rw-r--r--src/main/java/gregtech/common/GT_Client.java102
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Machines.java4
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java12
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java13
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_DL.pngbin0 -> 410 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_DOWN.pngbin0 -> 309 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_DR.pngbin0 -> 406 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_LEFT.pngbin0 -> 316 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_LR.pngbin0 -> 428 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_ND.pngbin0 -> 499 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_NL.pngbin0 -> 493 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_NR.pngbin0 -> 498 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_NU.pngbin0 -> 499 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_RIGHT.pngbin0 -> 320 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_UD.pngbin0 -> 408 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_UL.pngbin0 -> 398 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_UP.pngbin0 -> 302 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/PIPE_RESTRICTOR_UR.pngbin0 -> 408 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/DIAMOND/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/DIAMOND/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/DULL/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/DULL/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/EMERALD/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/EMERALD/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FIERY/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FIERY/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FINE/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FINE/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FLINT/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FLINT/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FLUID/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/FLUID/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_HORIZONTAL/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_HORIZONTAL/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_VERTICAL/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/GEM_VERTICAL/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/GLASS/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/GLASS/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/LAPIS/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/LAPIS/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/LEAF/pipeNonuple.pngbin0 -> 433 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/LEAF/pipeQuadruple.pngbin0 -> 448 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/LIGNITE/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/LIGNITE/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/MAGNETIC/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/MAGNETIC/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/METALLIC/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/METALLIC/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/NETHERSTAR/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/NETHERSTAR/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/NONE/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/NONE/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/OPAL/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/OPAL/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/PAPER/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/PAPER/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/POWDER/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/POWDER/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/QUARTZ/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/QUARTZ/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/ROUGH/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/ROUGH/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/RUBY/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/RUBY/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/SAND/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/SAND/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/SHARDS/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/SHARDS/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/SHINY/pipeNonuple.pngbin0 -> 497 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/SHINY/pipeQuadruple.pngbin0 -> 521 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/WOOD/pipeNonuple.pngbin0 -> 433 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/materialicons/WOOD/pipeQuadruple.pngbin0 -> 448 bytes
88 files changed, 886 insertions, 341 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index 7cfbeb6103..dad39c914d 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -281,6 +281,9 @@ public class GT_Mod implements IGT_Mod {
gregtechproxy.enableBasaltOres = GregTech_API.sWorldgenFile.get("general", "enableBasaltOres", gregtechproxy.enableBasaltOres);
gregtechproxy.enableGCOres = GregTech_API.sWorldgenFile.get("general", "enableGCOres", gregtechproxy.enableGCOres);
gregtechproxy.enableUBOres = GregTech_API.sWorldgenFile.get("general", "enableUBOres", gregtechproxy.enableUBOres);
+ gregtechproxy.gt6Pipe = tMainConfig.get("general", "GT6StyledPipesConnection", true).getBoolean(true);
+ gregtechproxy.gt6Cable = tMainConfig.get("general", "GT6StyledWiresConnection", false).getBoolean(false);
+ gregtechproxy.costlyCableConnection = tMainConfig.get("general", "CableConnectionRequiresSolderingMaterial", false).getBoolean(false);
Materials[] tDisableOres = new Materials[]{Materials.Chrome, Materials.Naquadria, Materials.Silicon, Materials.Cobalt, Materials.Cadmium, Materials.Indium, Materials.Tungsten,
Materials.Adamantium, Materials.Mithril, Materials.DarkIron, Materials.Rutile, Materials.Alduorite, Materials.Magnesium, Materials.Nikolite};
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index b5b38c6c23..4dcc76a924 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -127,7 +127,7 @@ public class GregTech_API {
/**
* The List of Tools, which can be used. Accepts regular damageable Items and Electric Items
*/
- public static final GT_HashSet<GT_ItemStack> sToolList = new GT_HashSet<GT_ItemStack>(), sCrowbarList = new GT_HashSet<GT_ItemStack>(), sScrewdriverList = new GT_HashSet<GT_ItemStack>(), sWrenchList = new GT_HashSet<GT_ItemStack>(), sSoftHammerList = new GT_HashSet<GT_ItemStack>(), sHardHammerList = new GT_HashSet<GT_ItemStack>(), sSolderingToolList = new GT_HashSet<GT_ItemStack>(), sSolderingMetalList = new GT_HashSet<GT_ItemStack>();
+ public static final GT_HashSet<GT_ItemStack> sToolList = new GT_HashSet<GT_ItemStack>(), sCrowbarList = new GT_HashSet<GT_ItemStack>(), sScrewdriverList = new GT_HashSet<GT_ItemStack>(), sWrenchList = new GT_HashSet<GT_ItemStack>(), sSoftHammerList = new GT_HashSet<GT_ItemStack>(), sHardHammerList = new GT_HashSet<GT_ItemStack>(), sWireCutterList = new GT_HashSet<GT_ItemStack>(), sSolderingToolList = new GT_HashSet<GT_ItemStack>(), sSolderingMetalList = new GT_HashSet<GT_ItemStack>();
/**
* The List of Hazmat Armors
*/
@@ -576,6 +576,15 @@ public class GregTech_API {
}
/**
+ * Register a Wire Cutter to interact with Machines
+ * <p/>
+ * You need to register Tools in the Load Phase, because otherwise the Autodetection will assign a Tool Type in certain Cases during postload (When IToolWrench or similar Interfaces are implemented).
+ */
+ public static boolean registerWireCutter(ItemStack aTool) {
+ return registerTool(aTool, sWireCutterList);
+ }
+
+ /**
* Register a Soldering Tool to interact with Machines
* <p/>
* You need to register Tools in the Load Phase, because otherwise the Autodetection will assign a Tool Type in certain Cases during postload (When IToolWrench or similar Interfaces are implemented).
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java
index 7381e10aa7..f9e44da60d 100644
--- a/src/main/java/gregtech/api/enums/OrePrefixes.java
+++ b/src/main/java/gregtech/api/enums/OrePrefixes.java
@@ -188,6 +188,8 @@ public enum OrePrefixes {
pipeMedium("Medium Pipes", "Medium ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M * 3, 64, 80),
pipeLarge("Large pipes", "Large ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M * 6, 64, 81),
pipeHuge("Huge Pipes", "Huge ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M * 12, 64, 82),
+ pipeQuadruple("Quadruple Pipes", "Quadruple ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M *12, 64, 84),
+ pipeNonuple("Nonuple Pipes", "Nonuple ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M * 9, 64, 85),
pipeRestrictiveTiny("Tiny Restrictive Pipes", "Tiny Restrictive ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M / 2, 64, 78),
pipeRestrictiveSmall("Small Restrictive Pipes", "Small Restrictive ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M * 1, 64, 79),
pipeRestrictiveMedium("Medium Restrictive Pipes", "Medium Restrictive ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M * 3, 64, 80),
diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java
index 891a808553..aa893780e8 100644
--- a/src/main/java/gregtech/api/enums/TextureSet.java
+++ b/src/main/java/gregtech/api/enums/TextureSet.java
@@ -103,8 +103,8 @@ public class TextureSet {
mTextures[81] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + "/pipeLarge");
mTextures[82] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + "/pipeHuge");
mTextures[83] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + "/frameGt");
- mTextures[84] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + aTextVoidDir);
- mTextures[85] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + aTextVoidDir);
+ mTextures[84] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + "/pipeQuadruple");
+ mTextures[85] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + "/pipeNonuple");
mTextures[86] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + aTextVoidDir);
mTextures[87] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + aTextVoidDir);
mTextures[88] = new Textures.BlockIcons.CustomIcon(aTextMatIconDir + mSetName + aTextVoidDir);
diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java
index f60fa257be..ffde46509a 100644
--- a/src/main/java/gregtech/api/enums/Textures.java
+++ b/src/main/java/gregtech/api/enums/Textures.java
@@ -103,7 +103,9 @@ public class Textures {
OVERLAY_FRONT_PROCESSING_ARRAY, OVERLAY_FRONT_OIL_DRILL_ACTIVE, OVERLAY_FRONT_OIL_DRILL, OVERLAY_FRONT_DIESEL_ENGINE_ACTIVE, OVERLAY_FRONT_DIESEL_ENGINE, OVERLAY_FRONT_PYROLYSE_OVEN_ACTIVE,
OVERLAY_FRONT_PYROLYSE_OVEN, OVERLAY_FRONT_OIL_CRACKER_ACTIVE, OVERLAY_FRONT_OIL_CRACKER, OVERLAY_FRONT_DISTILLATION_TOWER_ACTIVE, OVERLAY_FRONT_DISTILLATION_TOWER,
OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE, OVERLAY_FRONT_ASSEMBLY_LINE, OVERLAY_FRONT_ORE_DRILL_ACTIVE, OVERLAY_FRONT_ORE_DRILL, OVERLAY_TOP_CLEANROOM_ACTIVE, OVERLAY_TOP_CLEANROOM,
- OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR, OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR_ACTIVE;
+ OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR, OVERLAY_FRONT_LARGE_CHEMICAL_REACTOR_ACTIVE,
+ PIPE_RESTRICTOR_UP, PIPE_RESTRICTOR_DOWN, PIPE_RESTRICTOR_LEFT, PIPE_RESTRICTOR_RIGHT, PIPE_RESTRICTOR_NU, PIPE_RESTRICTOR_ND, PIPE_RESTRICTOR_NL, PIPE_RESTRICTOR_NR,
+ PIPE_RESTRICTOR_UD, PIPE_RESTRICTOR_UL, PIPE_RESTRICTOR_UR, PIPE_RESTRICTOR_DL, PIPE_RESTRICTOR_DR, PIPE_RESTRICTOR_LR;
/**
* Icon for Fresh CFoam
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java b/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java
new file mode 100644
index 0000000000..c1391371b9
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java
@@ -0,0 +1,16 @@
+package gregtech.api.interfaces.metatileentity;
+
+/**
+ * For pipes, wires, and other MetaTiles which need to be decided whether they should connect to the block at each side.
+ */
+public interface IConnectable {
+ /**
+ * Try to connect to the Block at the specified side
+ * returns the connection state. Non-positive values for failed, others for succeeded.
+ */
+ public int connect(byte aSide);
+ /**
+ * Try to disconnect to the Block at the specified side
+ */
+ public void disconnect(byte aSide);
+}
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java
index e5fba09a82..393009df7d 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java
@@ -816,8 +816,19 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE
return true;
}
+ if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWireCutterList)) {
+ if (mMetaTileEntity.onWireCutterRightClick(aSide, tSide, aPlayer, aX, aY, aZ)) {
+ GT_ModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer);
+ GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(100), 1.0F, -1, xCoord, yCoord, zCoord);
+ }
+ return true;
+ }
+
if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sSolderingToolList)) {
- if (GT_ModHandler.useSolderingIron(tCurrentItem, aPlayer)) {
+ if (mMetaTileEntity.onSolderingToolRightClick(aSide, tSide, aPlayer, aX, aY, aZ)) {
+ GT_ModHandler.damageOrDechargeItem(tCurrentItem, 1, 500, aPlayer);
+ GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(100), 1.0F, -1, xCoord, yCoord, zCoord);
+ } else if (GT_ModHandler.useSolderingIron(tCurrentItem, aPlayer)) {
mStrongRedstone ^= (1 << tSide);
GT_Utility.sendChatToPlayer(aPlayer, trans("091","Redstone Output at Side ") + tSide + trans("092"," set to: ") + ((mStrongRedstone & (1 << tSide)) != 0 ? trans("093","Strong") : trans("094","Weak")));
GT_Utility.sendSoundToPlayers(worldObj, GregTech_API.sSoundList.get(103), 3.0F, -1, xCoord, yCoord, zCoord);
diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
index 96532f52e5..9e4a79bee5 100644
--- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
@@ -2,7 +2,9 @@ package gregtech.api.metatileentity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.metatileentity.IConnectable;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_ItemStack;
@@ -45,7 +47,7 @@ import static gregtech.api.enums.GT_Values.V;
* Call the Constructor like the following example inside the Load Phase, to register it.
* "new GT_MetaTileEntity_E_Furnace(54, "GT_E_Furnace", "Automatic E-Furnace");"
*/
-public abstract class MetaPipeEntity implements IMetaTileEntity {
+public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable {
/**
* The Inventory of the MetaTileEntity. Amount of Slots can be larger than 256. HAYO!
*/
@@ -203,6 +205,14 @@ public abstract class MetaPipeEntity implements IMetaTileEntity {
return false;
}
+ public boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ return false;
+ }
+
+ public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ return false;
+ }
+
@Override
public void onExplosion() {/*Do nothing*/}
@@ -689,4 +699,31 @@ public abstract class MetaPipeEntity implements IMetaTileEntity {
public String getAlternativeModeText() {
return "";
}
+
+ public String trans(String aKey, String aEnglish){
+ return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false);
+ }
+
+ @Override
+ public int connect(byte aSide) {
+ if (aSide >= 6) return 0;
+ mConnections |= (1 << aSide);
+ byte tSide = GT_Utility.getOppositeSide(aSide);
+ IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide);
+ IMetaTileEntity tPipe = tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() : null;
+ if (this.getClass().isInstance(tPipe) && (((MetaPipeEntity) tPipe).mConnections & (1 << tSide)) == 0)
+ ((MetaPipeEntity) tPipe).connect(tSide);
+ return 1;
+ }
+
+ @Override
+ public void disconnect(byte aSide) {
+ if (aSide >= 6) return;
+ mConnections &= ~(1 << aSide);
+ byte tSide = GT_Utility.getOppositeSide(aSide);
+ IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide);
+ IMetaTileEntity tPipe = tTileEntity == null ? null : tTileEntity.getMetaTileEntity();
+ if (this.getClass().isInstance(tPipe) && (((MetaPipeEntity) tPipe).mConnections & (1 << tSide)) != 0)
+ ((MetaPipeEntity) tPipe).disconnect(tSide);
+ }
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
index af157b0af6..1f1b7c19e0 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
+++ b/