diff options
author | Matej Dipčár <492666@mail.muni.cz> | 2022-09-23 02:25:01 +0200 |
---|---|---|
committer | Matej Dipčár <492666@mail.muni.cz> | 2022-09-23 02:25:01 +0200 |
commit | b0969c88904bc7465bef4d580d7387e1644f8c7e (patch) | |
tree | 104031bf99b6792bc9f7b06aee2f40487a696881 /src/main/java/gregtech/common | |
parent | c566030a6c23eb771d26d7d0321c6c195d260fe4 (diff) | |
download | GT5-Unofficial-b0969c88904bc7465bef4d580d7387e1644f8c7e.tar.gz GT5-Unofficial-b0969c88904bc7465bef4d580d7387e1644f8c7e.tar.bz2 GT5-Unofficial-b0969c88904bc7465bef4d580d7387e1644f8c7e.zip |
Move `hashCoverCoords` to WirelessBase
Diffstat (limited to 'src/main/java/gregtech/common')
7 files changed, 22 insertions, 12 deletions
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java index dfc4558603..c71194682f 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java @@ -1,7 +1,6 @@ package gregtech.common.covers.redstone; import com.google.common.io.ByteArrayDataInput; -import gregtech.api.GregTech_API; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; import gregtech.api.interfaces.ITexture; @@ -27,7 +26,7 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase<T extends GT_Cove } private static void unregisterSignal(byte aSide, TransmitterData aCoverVariable, ICoverable aTileEntity) { - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + long hash = hashCoverCoords(aTileEntity, aSide); removeSignalAt(aCoverVariable.uuid, aCoverVariable.frequency, hash); } diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterExternal.java index fcfa133032..877cbab2d9 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterExternal.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterExternal.java @@ -1,6 +1,5 @@ package gregtech.common.covers.redstone; -import gregtech.api.GregTech_API; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; @@ -29,7 +28,7 @@ public class GT_Cover_AdvancedRedstoneTransmitterExternal extends GT_Cover_Advan else outputRedstone = 15; } - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + long hash = hashCoverCoords(aTileEntity, aSide); setSignalAt(aCoverVariable.getUuid(), aCoverVariable.getFrequency(), hash, outputRedstone); return aCoverVariable; diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterInternal.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterInternal.java index 85ee8afafb..9e6d1afd36 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterInternal.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterInternal.java @@ -1,6 +1,5 @@ package gregtech.common.covers.redstone; -import gregtech.api.GregTech_API; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; @@ -29,7 +28,7 @@ public class GT_Cover_AdvancedRedstoneTransmitterInternal extends GT_Cover_Advan else outputRedstone = 15; } - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + long hash = hashCoverCoords(aTileEntity, aSide); setSignalAt(aCoverVariable.getUuid(), aCoverVariable.getFrequency(), hash, outputRedstone); return aCoverVariable; } diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java index 542496619f..10885c8908 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java @@ -86,6 +86,22 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_A signals.put(hash, value); } + /** + * x hashed into first 20 bytes + * y hashed into second 20 bytes + * z hashed into fifth 10 bytes + * dim hashed into sixth 10 bytes + * side hashed into last 4 bytes + */ + public static long hashCoverCoords(ICoverable tile, byte side) { + return (((((long) + tile.getXCoord() << 20) + + tile.getZCoord() << 10) + + tile.getYCoord() << 10) + + tile.getWorld().provider.dimensionId << 4) + + side; + } + @Override public boolean letsEnergyInImpl(byte aSide, int aCoverID, T aCoverVariable, ICoverable aTileEntity) { return true; diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java index 8985f24259..eed9923c58 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java @@ -1,7 +1,6 @@ package gregtech.common.covers.redstone; import com.google.common.io.ByteArrayDataInput; -import gregtech.api.GregTech_API; import gregtech.api.gui.widgets.GT_GuiIntegerTextBox; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; @@ -38,7 +37,7 @@ public class GT_Cover_WirelessFluidDetector extends GT_Cover_AdvancedRedstoneTra public FluidTransmitterData doCoverThingsImpl(byte aSide, byte aInputRedstone, int aCoverID, FluidTransmitterData aCoverVariable, ICoverable aTileEntity, long aTimer) { byte signal = GT_Cover_LiquidMeter.computeSignalBasedOnFluid(aTileEntity, aCoverVariable.invert, aCoverVariable.threshold); - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + long hash = hashCoverCoords(aTileEntity, aSide); setSignalAt(aCoverVariable.getUuid(), aCoverVariable.getFrequency(), hash, signal); return aCoverVariable; diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java index b1e7f4d0e3..b6970d89e0 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java @@ -1,7 +1,6 @@ package gregtech.common.covers.redstone; import com.google.common.io.ByteArrayDataInput; -import gregtech.api.GregTech_API; import gregtech.api.gui.widgets.GT_GuiFakeItemButton; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIntegerTextBox; @@ -46,7 +45,7 @@ public class GT_Cover_WirelessItemDetector extends GT_Cover_AdvancedRedstoneTran ItemTransmitterData aCoverVariable, ICoverable aTileEntity, long aTimer) { byte signal = GT_Cover_ItemMeter.computeSignalBasedOnItems( aTileEntity, aCoverVariable.invert, aCoverVariable.threshold, aCoverVariable.slot, aSide); - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + long hash = hashCoverCoords(aTileEntity, aSide); setSignalAt(aCoverVariable.getUuid(), aCoverVariable.getFrequency(), hash, signal); return aCoverVariable; diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessMaintenanceDetector.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessMaintenanceDetector.java index 8660856a93..64ee1bb3bd 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessMaintenanceDetector.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessMaintenanceDetector.java @@ -1,7 +1,6 @@ package gregtech.common.covers.redstone; import com.google.common.io.ByteArrayDataInput; -import gregtech.api.GregTech_API; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; import gregtech.api.interfaces.ITexture; @@ -96,7 +95,7 @@ public class GT_Cover_WirelessMaintenanceDetector extends GT_Cover_AdvancedRedst public MaintenanceTransmitterData doCoverThingsImpl(byte aSide, byte aInputRedstone, int aCoverID, MaintenanceTransmitterData aCoverVariable, ICoverable aTileEntity, long aTimer) { byte signal = computeSignalBasedOnMaintenance(aCoverVariable, aTileEntity); - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + long hash = hashCoverCoords(aTileEntity, aSide); setSignalAt(aCoverVariable.getUuid(), aCoverVariable.getFrequency(), hash, signal); return aCoverVariable; |