diff options
author | Jason Mitchell <mitchej@gmail.com> | 2023-05-06 08:13:45 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-06 17:13:45 +0200 |
commit | d945860185b888709300e28ae1c9db88799856c0 (patch) | |
tree | 0d7e2766c98164d6ae915c0e8a9d8f46c7ceb4e5 /src/main/java/gregtech/common/tileentities/boilers | |
parent | f6e17a41972ba0afb6004a3d383be8d51eaee60e (diff) | |
download | GT5-Unofficial-d945860185b888709300e28ae1c9db88799856c0.tar.gz GT5-Unofficial-d945860185b888709300e28ae1c9db88799856c0.tar.bz2 GT5-Unofficial-d945860185b888709300e28ae1c9db88799856c0.zip |
Exploring some various ForgeDirection fixes (#1950)
* Fix mFacing NPEs
* Default facing fixes (#1945)
* QuickFixes incomplete facing fixes
* fix Neither UP nor DOWN conditions as offsetY == 0 is not valid test
* fix neither up nor down again
* Still not fixed: use ForgeDirection.flag for clarty
killed more ordinal siding.
* get ride of offset testing
---------
Co-authored-by: Jakub <53441451+kuba6000@users.noreply.github.com>
Co-authored-by: Jason Mitchell <mitchej@gmail.com>
* bit logic fix
* Fix single block machine facings
* Predict the machine facing direction clientside before the server packet arrives
* Fix isFacingValid logic
---------
Co-authored-by: Léa Gris <lea.gris@noiraude.net>
Co-authored-by: Jakub <53441451+kuba6000@users.noreply.github.com>
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: Raven Szewczyk <git@eigenraven.me>
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/boilers')
4 files changed, 8 insertions, 6 deletions
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java index 325728ba98..6c4a91cd09 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java @@ -73,7 +73,7 @@ public abstract class GT_MetaTileEntity_Boiler extends GT_MetaTileEntity_BasicTa public ITexture[] getTexture(IGregTechTileEntity baseMetaTileEntity, ForgeDirection sideDirection, ForgeDirection facingDirection, int colorIndex, boolean active, boolean redstoneLevel) { ITexture[] tmp; - if (sideDirection.offsetY == 0) { + if ((sideDirection.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) == 0) { // Horizontal if (sideDirection != facingDirection) tmp = mTextures[2][colorIndex + 1]; else tmp = mTextures[(byte) (active ? 4 : 3)][colorIndex + 1]; } else { @@ -92,7 +92,7 @@ public abstract class GT_MetaTileEntity_Boiler extends GT_MetaTileEntity_BasicTa @Override public boolean isFacingValid(ForgeDirection facingDirection) { - return facingDirection.offsetY == 0; + return (facingDirection.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) == 0; } @Override diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java index c9a67f5d42..92d89502f9 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java @@ -102,7 +102,8 @@ public class GT_MetaTileEntity_Boiler_Bronze extends GT_MetaTileEntity_Boiler { final ForgeDirection frontFacing = aBaseMetaTileEntity.getFrontFacing(); - if (frontFacing.offsetY == 0 && aBaseMetaTileEntity.getCoverIDAtSide(frontFacing) == 0 + if ((frontFacing.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) == 0 + && aBaseMetaTileEntity.getCoverIDAtSide(frontFacing) == 0 && !aBaseMetaTileEntity.getOpacityAtSide(frontFacing)) { final double oX = aBaseMetaTileEntity.getOffsetX(frontFacing, 1) + 8D / 16D; diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java index 3a8b94463b..6a797f5e2a 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java @@ -90,7 +90,7 @@ public class GT_MetaTileEntity_Boiler_Lava extends GT_MetaTileEntity_Boiler { ForgeDirection facingDirection, int colorIndex, boolean active, boolean redstoneLevel) { final ForgeDirection rearDirection = facingDirection.getOpposite(); final ITexture[] tmp; - if (sideDirection.offsetY == 0) { + if ((sideDirection.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) == 0) { if (sideDirection == facingDirection) { if (active) tmp = mTextures[4][colorIndex + 1]; else tmp = mTextures[3][colorIndex + 1]; @@ -320,7 +320,8 @@ public class GT_MetaTileEntity_Boiler_Lava extends GT_MetaTileEntity_Boiler { final ForgeDirection frontFacing = aBaseMetaTileEntity.getFrontFacing(); - if (frontFacing.offsetY == 0 && aBaseMetaTileEntity.getCoverIDAtSide(frontFacing) == 0 + if ((frontFacing.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) == 0 + && aBaseMetaTileEntity.getCoverIDAtSide(frontFacing) == 0 && !aBaseMetaTileEntity.getOpacityAtSide(frontFacing)) { final double oX = aBaseMetaTileEntity.getOffsetX(frontFacing, 1) + 8D / 16D; diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java index aa7ed2a1c8..89b48cd6a1 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java @@ -130,7 +130,7 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler { public ITexture[] getTexture(IGregTechTileEntity baseMetaTileEntity, ForgeDirection sideDirection, ForgeDirection facingDirection, int colorIndex, boolean active, boolean redstoneLevel) { final int i = colorIndex + 1; - if (sideDirection.offsetY == 0) { + if ((sideDirection.flag & (ForgeDirection.UP.flag | ForgeDirection.DOWN.flag)) == 0) { // Horizontal if (sideDirection != facingDirection) return mTextures[2][i]; return mTextures[3][i]; } |