diff options
| author | Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> | 2022-08-12 19:33:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-12 20:33:19 +0200 |
| commit | d815f1f0e7b267c1c7ef97fdf2c790b6c9f6a378 (patch) | |
| tree | d042d89edf9a381b506d9ec4799fb940eabc203a /src/main/java/gregtech/api/metatileentity | |
| parent | 12e9cf136d16435a6168402831c1a42dca75c3e1 (diff) | |
| download | GT5-Unofficial-d815f1f0e7b267c1c7ef97fdf2c790b6c9f6a378.tar.gz GT5-Unofficial-d815f1f0e7b267c1c7ef97fdf2c790b6c9f6a378.tar.bz2 GT5-Unofficial-d815f1f0e7b267c1c7ef97fdf2c790b6c9f6a378.zip | |
More wireless fixes/updates (#1206)
* Fix possible out-of-bounds error.
* Bye bye OpV
* Bye bye OpV
* Some textures while I'm here
* Test
* Maybe
* New command
* Fix forge minecraft shenanigans interfering with saving data.
* Localisation of achievements
* Add save intervals for energy map.
* Refactor as to not use dumb bloat
* New interface for wireless hatches
* Remove prefix
* Big refactor and code cleanup. Also fixes bug with energy not getting added sometimes
* Fix typo causing ore dict issues
* New interface
* Clean up commands a little
* Add some colouring and clean up a little.
* Update desc
* Add more catches for command misuse and colours
* Jenkins
Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
2 files changed, 23 insertions, 32 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Dynamo.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Dynamo.java index 7f59b13669..bfc9b2118e 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Dynamo.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Dynamo.java @@ -4,21 +4,18 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.IGlobalWirelessEnergy; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.interfaces.tileentity.IWirelessEnergyHatchInformation; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.math.BigInteger; import static gregtech.GT_Mod.gregtechproxy; import static gregtech.api.enums.GT_Values.*; -public class GT_MetaTileEntity_Wireless_Dynamo extends GT_MetaTileEntity_Hatch_Dynamo implements IGlobalWirelessEnergy { +public class GT_MetaTileEntity_Wireless_Dynamo extends GT_MetaTileEntity_Hatch_Dynamo implements IGlobalWirelessEnergy, IWirelessEnergyHatchInformation { - private static final long ticks_between_energy_addition = 100L*20L; - private static final long number_of_energy_additions = 2L; - private final BigInteger eu_transferred_per_operation = BigInteger.valueOf(2L * V[mTier] * ticks_between_energy_addition); private String owner_uuid; private String owner_name; @@ -82,16 +79,14 @@ public class GT_MetaTileEntity_Wireless_Dynamo extends GT_MetaTileEntity_Hatch_D @Override public long maxEUStore() { - return V[mTier] * number_of_energy_additions * ticks_between_energy_addition; + return totalStorage(V[mTier]); } @Override public String[] getDescription() { - String uuid = gregtechproxy.getThePlayer().getUniqueID().toString(); return new String[] { -// "Transmits " + EnumChatFormatting.RED + GT_Utility.formatNumbers(eu_transferred_per_operation/V[mTier]) + EnumChatFormatting.GRAY + " A of " + TIER_COLORS[mTier] + VN[mTier] + EnumChatFormatting.GRAY + " through trans-dimensional space every " + EnumChatFormatting.RED + GT_Utility.formatNumbers(ticks_between_energy_addition) + EnumChatFormatting.GRAY + " ticks.", - EnumChatFormatting.GRAY + "Does not connect to wires.", - EnumChatFormatting.GRAY + "There is currently " + EnumChatFormatting.RED + GT_Utility.formatNumbers(GlobalEnergy.getOrDefault(uuid, BigInteger.ZERO)) + EnumChatFormatting.GRAY + " EU in your network.", + EnumChatFormatting.GRAY + "Stores energy globally in a network, up to 2^(2^31) EU.", + EnumChatFormatting.GRAY + "Does not connect to wires. This block accepts EU into the network.", AuthorColen }; } @@ -131,15 +126,15 @@ public class GT_MetaTileEntity_Wireless_Dynamo extends GT_MetaTileEntity_Hatch_D // Attempt to load in map from file. if (GlobalEnergy.size() == 0) - IGlobalWirelessEnergy.super.LoadGlobalEnergyInfo(aBaseMetaTileEntity.getWorld()); + loadGlobalEnergyInfo(aBaseMetaTileEntity.getWorld()); - IGlobalWirelessEnergy.super.StrongCheckOrAddUser(owner_uuid, owner_name); + strongCheckOrAddUser(owner_uuid, owner_name); } // Every ticks_between_energy_addition ticks change the energy content of the machine. if (aTick % ticks_between_energy_addition == 0L) { - IGlobalWirelessEnergy.super.addEUToGlobalEnergyMap(owner_uuid, getEUVar()); + addEUToGlobalEnergyMap(owner_uuid, getEUVar()); setEUVar(0L); } } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Hatch.java index cd999fce4e..84e6ed7e51 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Wireless_Hatch.java @@ -4,6 +4,7 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.IGlobalWirelessEnergy; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.interfaces.tileentity.IWirelessEnergyHatchInformation; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; @@ -15,16 +16,14 @@ import java.math.BigInteger; import static gregtech.GT_Mod.gregtechproxy; import static gregtech.api.enums.GT_Values.*; -public class GT_MetaTileEntity_Wireless_Hatch extends GT_MetaTileEntity_Hatch_Energy implements IGlobalWirelessEnergy { +public class GT_MetaTileEntity_Wireless_Hatch extends GT_MetaTileEntity_Hatch_Energy implements IGlobalWirelessEnergy, IWirelessEnergyHatchInformation { + + private final BigInteger eu_transferred_per_operation = BigInteger.valueOf(V[mTier] * ticks_between_energy_addition); + private final long eu_transferred_per_operation_long = eu_transferred_per_operation.longValue(); - private static final long ticks_between_energy_addition = 100L*20L; - private static final long number_of_energy_additions = 2L; - private final BigInteger eu_transferred_per_operation = BigInteger.valueOf(2L * V[mTier] * ticks_between_energy_addition); - private final long eu_transferred_per_operation_long = eu_transferred_per_operation.longValueExact(); private String owner_uuid; private String owner_name; - public GT_MetaTileEntity_Wireless_Hatch(String aName, byte aTier, String[] aDescription, ITexture[][][] aTextures) { super(aName, aTier, 0, aDescription, aTextures); } @@ -35,11 +34,9 @@ public class GT_MetaTileEntity_Wireless_Hatch extends GT_MetaTileEntity_Hatch_En @Override public String[] getDescription() { - String uuid = gregtechproxy.getThePlayer().getUniqueID().toString(); return new String[] { -// "Receives " + EnumChatFormatting.RED + GT_Utility.formatNumbers(eu_transferred_per_operation.divide(BigInteger.valueOf(V[mTier]))) + EnumChatFormatting.GRAY + " A of " + TIER_COLORS[mTier] + VN[mTier] + EnumChatFormatting.GRAY + " through trans-dimensional space every " + EnumChatFormatting.RED + GT_Utility.formatNumbers(ticks_between_energy_addition) + EnumChatFormatting.GRAY + " ticks.", - EnumChatFormatting.GRAY + "Does not connect to wires.", - EnumChatFormatting.GRAY + "There is currently " + EnumChatFormatting.RED + GT_Utility.formatNumbers(IGlobalWirelessEnergy.super.GetUserEU(uuid)) + EnumChatFormatting.GRAY + " EU in your network.", + EnumChatFormatting.GRAY + "Stores energy globally in a network, up to 2^(2^31) EU.", + EnumChatFormatting.GRAY + "Does not connect to wires. This block withdraws EU from the network.", AuthorColen }; } @@ -96,11 +93,9 @@ public class GT_MetaTileEntity_Wireless_Hatch extends GT_MetaTileEntity_Hatch_En @Override public long maxEUStore() { - return V[mTier] * number_of_energy_additions * ticks_between_energy_addition; + return totalStorage(V[mTier]); } - public long getEUCapacity() { return 40000L; } - @Override public long maxAmperesIn() { return 2; @@ -137,11 +132,11 @@ public class GT_MetaTileEntity_Wireless_Hatch extends GT_MetaTileEntity_Hatch_En // Attempt to load in map from file. if (GlobalEnergy.size() == 0) - IGlobalWirelessEnergy.super.LoadGlobalEnergyInfo(aBaseMetaTileEntity.getWorld()); + loadGlobalEnergyInfo(aBaseMetaTileEntity.getWorld()); - IGlobalWirelessEnergy.super.StrongCheckOrAddUser(owner_uuid, owner_name); + strongCheckOrAddUser(owner_uuid, owner_name); - if (IGlobalWirelessEnergy.super.addEUToGlobalEnergyMap(owner_uuid, eu_transferred_per_operation.negate())) + if (addEUToGlobalEnergyMap(owner_uuid, eu_transferred_per_operation.negate())) setEUVar(eu_transferred_per_operation_long); } @@ -153,11 +148,12 @@ public class GT_MetaTileEntity_Wireless_Hatch extends GT_MetaTileEntity_Hatch_En long total_eu = this.getBaseMetaTileEntity().getStoredEU(); // Can the machine store the EU being added? - if (total_eu + eu_transferred_per_operation_long <= maxEUStore()) { + long new_eu_storage = total_eu + eu_transferred_per_operation_long; + if (new_eu_storage <= maxEUStore()) { // Attempt to remove energy from the network and add it to the internal buffer of the machine. - if (IGlobalWirelessEnergy.super.addEUToGlobalEnergyMap(owner_uuid, eu_transferred_per_operation.negate())) { - setEUVar(total_eu + eu_transferred_per_operation_long); + if (addEUToGlobalEnergyMap(owner_uuid, eu_transferred_per_operation.negate())) { + setEUVar(new_eu_storage); } } } |
