diff options
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
4 files changed, 90 insertions, 23 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index 19e5afebc0..b2458fbdcc 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -816,7 +816,8 @@ public class BaseMetaPipeEntity extends CommonMetaTileEntity } final ForgeDirection tSide = GT_Utility.determineWrenchingSide(side, aX, aY, aZ); if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWrenchList)) { - if (mMetaTileEntity.onWrenchRightClick(side, tSide, aPlayer, aX, aY, aZ)) { + + if (mMetaTileEntity.onWrenchRightClick(side, tSide, aPlayer, aX, aY, aZ, tCurrentItem)) { mMetaTileEntity.markDirty(); GT_ModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer); GT_Utility.sendSoundToPlayers( @@ -836,7 +837,7 @@ public class BaseMetaPipeEntity extends CommonMetaTileEntity setCoverDataAtSide( tSide, getCoverInfoAtSide(tSide).onCoverScrewdriverClick(aPlayer, 0.5F, 0.5F, 0.5F)); - mMetaTileEntity.onScrewdriverRightClick(tSide, aPlayer, aX, aY, aZ); + mMetaTileEntity.onScrewdriverRightClick(tSide, aPlayer, aX, aY, aZ, tCurrentItem); mMetaTileEntity.markDirty(); GT_Utility.sendSoundToPlayers( worldObj, @@ -852,7 +853,7 @@ public class BaseMetaPipeEntity extends CommonMetaTileEntity setCoverDataAtSide( side, getCoverInfoAtSide(side).onCoverScrewdriverClick(aPlayer, aX, aY, aZ)); - mMetaTileEntity.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); + mMetaTileEntity.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ, tCurrentItem); mMetaTileEntity.markDirty(); GT_Utility.sendSoundToPlayers( worldObj, @@ -894,7 +895,7 @@ public class BaseMetaPipeEntity extends CommonMetaTileEntity } if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWireCutterList)) { - if (mMetaTileEntity.onWireCutterRightClick(side, tSide, aPlayer, aX, aY, aZ)) { + if (mMetaTileEntity.onWireCutterRightClick(side, tSide, aPlayer, aX, aY, aZ, tCurrentItem)) { mMetaTileEntity.markDirty(); // logic handled internally GT_Utility.sendSoundToPlayers( @@ -911,7 +912,7 @@ public class BaseMetaPipeEntity extends CommonMetaTileEntity } if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sSolderingToolList)) { - if (mMetaTileEntity.onSolderingToolRightClick(side, tSide, aPlayer, aX, aY, aZ)) { + if (mMetaTileEntity.onSolderingToolRightClick(side, tSide, aPlayer, aX, aY, aZ, tCurrentItem)) { mMetaTileEntity.markDirty(); // logic handled internally GT_Utility.sendSoundToPlayers( diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 2ef6d51776..e8f607aae1 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -1524,7 +1524,8 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity aPlayer, aX, aY, - aZ)) { + aZ, + tCurrentItem)) { GT_ModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer); GT_Utility.sendSoundToPlayers( worldObj, @@ -1552,7 +1553,7 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity aX, aY, aZ)); - mMetaTileEntity.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); + mMetaTileEntity.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ, tCurrentItem); GT_Utility.sendSoundToPlayers( worldObj, SoundResource.IC2_TOOLS_WRENCH, @@ -1614,7 +1615,7 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sSolderingToolList)) { final ForgeDirection tSide = GT_Utility.determineWrenchingSide(side, aX, aY, aZ); - if (mMetaTileEntity.onSolderingToolRightClick(side, tSide, aPlayer, aX, aY, aZ)) { + if (mMetaTileEntity.onSolderingToolRightClick(side, tSide, aPlayer, aX, aY, aZ, tCurrentItem)) { // logic handled internally GT_Utility.sendSoundToPlayers( worldObj, @@ -1649,7 +1650,7 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity if (GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWireCutterList)) { final ForgeDirection tSide = GT_Utility.determineWrenchingSide(side, aX, aY, aZ); - if (mMetaTileEntity.onWireCutterRightClick(side, tSide, aPlayer, aX, aY, aZ)) { + if (mMetaTileEntity.onWireCutterRightClick(side, tSide, aPlayer, aX, aY, aZ, tCurrentItem)) { // logic handled internally GT_Utility.sendSoundToPlayers( worldObj, diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index f548949807..381381f3a8 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -92,14 +92,14 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { * <p> * The constructor can be overloaded as follows: * <blockquote> - * + * * <pre> - * + * * public GT_MetaTileEntity_EBench(int id, String name, String nameRegional) { * super(id, name, nameRegional); * } * </pre> - * + * * </blockquote> * * @param aID the machine ID @@ -260,30 +260,54 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { return true; } - @Override + @Deprecated public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { /* Do nothing */ } - @Override + @Deprecated public boolean onWrenchRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer entityPlayer, float aX, float aY, float aZ) { return false; } - @Override + @Deprecated public boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { return false; } - @Override + @Deprecated public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { return false; } @Override + public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ, + ItemStack aTool) { + onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); + } + + @Override + public boolean onWrenchRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, float aX, + float aY, float aZ, ItemStack aTool) { + return onWrenchRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ); + } + + @Override + public boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, + float aX, float aY, float aZ, ItemStack aTool) { + return onWireCutterRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ); + } + + @Override + public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, + float aX, float aY, float aZ, ItemStack aTool) { + return onSolderingToolRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ); + } + + @Override public void onExplosion() { /* Do nothing */ } diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java index 6267e7b3da..0b7c14ae84 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java @@ -236,13 +236,19 @@ public abstract class MetaTileEntity implements IMetaTileEntity, ICleanroomRecei } @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - /* Do nothing */ + public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ, + ItemStack aTool) { + onScrewdriverRightClick(side, aPlayer, aX, aY, aZ); } @Override public boolean onWrenchRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer entityPlayer, - float aX, float aY, float aZ) { + float aX, float aY, float aZ, ItemStack aTool) { + + // glue + if (onWrenchRightClick(side, wrenchingSide, entityPlayer, aX, aY, aZ)) { + return true; + } if (getBaseMetaTileEntity().isValidFacing(wrenchingSide)) { getBaseMetaTileEntity().setFrontFacing(wrenchingSide); return true; @@ -252,34 +258,69 @@ public abstract class MetaTileEntity implements IMetaTileEntity, ICleanroomRecei @Override public boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, - float aX, float aY, float aZ) { + float aX, float aY, float aZ, ItemStack aTool) { + // glue + if (onWrenchRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ)) { + return true; + } if (!aPlayer.isSneaking()) return false; final ForgeDirection oppositeSide = wrenchingSide.getOpposite(); final TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntityAtSide(wrenchingSide); if ((tTileEntity instanceof IGregTechTileEntity gtTE) && (gtTE.getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable)) { + // The tile entity we're facing is a cable, let's try to connect to it return gtTE.getMetaTileEntity() - .onWireCutterRightClick(wrenchingSide, oppositeSide, aPlayer, aX, aY, aZ); + .onWireCutterRightClick(wrenchingSide, oppositeSide, aPlayer, aX, aY, aZ, aTool); } return false; } @Override public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, - float aX, float aY, float aZ) { + float aX, float aY, float aZ, ItemStack aTool) { + + // glue + if (onWrenchRightClick(side, wrenchingSide, aPlayer, aX, aY, aZ)) { + return true; + } + if (!aPlayer.isSneaking()) return false; final ForgeDirection oppositeSide = wrenchingSide.getOpposite(); TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntityAtSide(wrenchingSide); if ((tTileEntity instanceof IGregTechTileEntity gtTE) && (gtTE.getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable)) { + // The tile entity we're facing is a cable, let's try to connect to it return gtTE.getMetaTileEntity() - .onSolderingToolRightClick(wrenchingSide, oppositeSide, aPlayer, aX, aY, aZ); + .onSolderingToolRightClick(wrenchingSide, oppositeSide, aPlayer, aX, aY, aZ, aTool); } return false; } + @Deprecated + public boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, + float aX, float aY, float aZ) { + return false; + } + + @Deprecated + public boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, + float aX, float aY, float aZ) { + return false; + } + + @Deprecated + public boolean onWrenchRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer aPlayer, float aX, + float aY, float aZ) { + return false; + } + + @Deprecated + public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { + + } + @Override public void onExplosion() { GT_Log.exp.println( |