diff options
author | Батьків Нестор-Євген Васильович <mama040508@gmail.com> | 2023-12-26 23:08:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-26 22:08:33 +0100 |
commit | 064c46683f58fd8a981dd03c13cf92556a28656e (patch) | |
tree | fc0847e4c913b9557712acee0fe91f588aba5aa0 /src/main/java/gregtech/api/metatileentity/MetaTileEntity.java | |
parent | 44e88e146c87774088c68686bdea130fe7dde78d (diff) | |
download | GT5-Unofficial-064c46683f58fd8a981dd03c13cf92556a28656e.tar.gz GT5-Unofficial-064c46683f58fd8a981dd03c13cf92556a28656e.tar.bz2 GT5-Unofficial-064c46683f58fd8a981dd03c13cf92556a28656e.zip |
Add modes to tools (#2423)
* Add tool modes change
* Deprecate! Deprecate! Deprecate!
* Add mode to item name
* Opsie
* Byte 8 bit
* Add enum
* Spotless
* Types types types!!!! God I love types
* Make it trigger when player clicks midair
* update deps + fix wci
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/MetaTileEntity.java')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/MetaTileEntity.java | 55 |
1 files changed, 48 insertions, 7 deletions
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( |