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/common | |
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/common')
-rw-r--r-- | src/main/java/gregtech/common/GT_Proxy.java | 4 | ||||
-rw-r--r-- | src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java | 14 | ||||
-rw-r--r-- | src/main/java/gregtech/common/misc/GT_Command.java | 130 |
3 files changed, 106 insertions, 42 deletions
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index bc5b5f3fb1..af70a836d9 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -909,8 +909,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG public void onServerStopping() { File tSaveDirectory = getSaveDirectory(); GregTech_API.sWirelessRedstone.clear(); - IGlobalWirelessEnergy.super.SaveGlobalEnergyInfo(mUniverse.getWorldInfo().getWorldName()); - IGlobalWirelessEnergy.super.ClearMaps(); + saveGlobalEnergyInfo(mUniverse.getWorldInfo().getWorldName()); + clearMaps(); if (tSaveDirectory != null) { try { for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) { diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java index d60bef3ff0..1e3402618a 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java @@ -279,27 +279,27 @@ public class GT_MetaGenerated_Item_03 OreDictionary.registerOre("UHV", ItemList.Circuit_ExoticProcessor.get(1)); ItemList.Circuit_ExoticAssembly.set(addItem(tLastID = 167, "Exotic Assembly", "An Exotic Circuit", OrePrefixes.circuit.get(Materials.Bio), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UEV", ItemList.Circuit_ExoticAssembly.get(1)); - ItemList.Circuit_ExoticComputer.set(addItem(tLastID = 168, "Exotic Computer", "An Exotic Circuit", OrePrefixes.circuit.get(Materials.Exotic), SubTag.NO_UNIFICATION)); + ItemList.Circuit_ExoticComputer.set(addItem(tLastID = 168, "Exotic Computer", "An Exotic Circuit", OrePrefixes.circuit.get(Materials.Optical), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UIV", ItemList.Circuit_ExoticComputer.get(1)); ItemList.Circuit_ExoticMainframe.set(addItem(tLastID = 169, "Exotic Mainframe", "An Exotic Circuit", OrePrefixes.circuit.get(Materials.Exotic), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UMV", ItemList.Circuit_ExoticMainframe.get(1)); // Cosmic circuits - ItemList.Circuit_CosmicProcessor.set(addItem(tLastID = 170, "Cosmic Processor", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Cosmic), SubTag.NO_UNIFICATION)); + ItemList.Circuit_CosmicProcessor.set(addItem(tLastID = 170, "Cosmic Processor", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Bio), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UEV", ItemList.Circuit_CosmicProcessor.get(1)); - ItemList.Circuit_CosmicAssembly.set(addItem(tLastID = 171, "Cosmic Assembly", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Cosmic), SubTag.NO_UNIFICATION)); + ItemList.Circuit_CosmicAssembly.set(addItem(tLastID = 171, "Cosmic Assembly", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Optical), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UIV", ItemList.Circuit_CosmicAssembly.get(1)); - ItemList.Circuit_CosmicComputer.set(addItem(tLastID = 172, "Cosmic Computer", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Cosmic), SubTag.NO_UNIFICATION)); + ItemList.Circuit_CosmicComputer.set(addItem(tLastID = 172, "Cosmic Computer", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Exotic), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UMV", ItemList.Circuit_CosmicComputer.get(1)); ItemList.Circuit_CosmicMainframe.set(addItem(tLastID = 173, "Cosmic Mainframe", "A Cosmic Circuit", OrePrefixes.circuit.get(Materials.Cosmic), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UXV", ItemList.Circuit_CosmicMainframe.get(1)); // Transcendent circuits - ItemList.Circuit_TranscendentProcessor.set(addItem(tLastID = 174, "Temporally Transcendent Processor", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Transcendent), SubTag.NO_UNIFICATION)); + ItemList.Circuit_TranscendentProcessor.set(addItem(tLastID = 174, "Temporally Transcendent Processor", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Optical), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UIV", ItemList.Circuit_TranscendentProcessor.get(1)); - ItemList.Circuit_TranscendentAssembly.set(addItem(tLastID = 175, "Temporally Transcendent Assembly", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Transcendent), SubTag.NO_UNIFICATION)); + ItemList.Circuit_TranscendentAssembly.set(addItem(tLastID = 175, "Temporally Transcendent Assembly", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Exotic), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UMV", ItemList.Circuit_TranscendentAssembly.get(1)); - ItemList.Circuit_TranscendentComputer.set(addItem(tLastID = 176, "Temporally Transcendent Computer", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Transcendent), SubTag.NO_UNIFICATION)); + ItemList.Circuit_TranscendentComputer.set(addItem(tLastID = 176, "Temporally Transcendent Computer", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Cosmic), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("UXV", ItemList.Circuit_TranscendentComputer.get(1)); ItemList.Circuit_TranscendentMainframe.set(addItem(tLastID = 177, "Temporally Transcendent Mainframe", "A circuit operating outside of known spacetime", OrePrefixes.circuit.get(Materials.Transcendent), SubTag.NO_UNIFICATION)); OreDictionary.registerOre("MAX", ItemList.Circuit_TranscendentMainframe.get(1)); diff --git a/src/main/java/gregtech/common/misc/GT_Command.java b/src/main/java/gregtech/common/misc/GT_Command.java index c478d219c7..29fd7a0226 100644 --- a/src/main/java/gregtech/common/misc/GT_Command.java +++ b/src/main/java/gregtech/common/misc/GT_Command.java @@ -52,11 +52,14 @@ public final class GT_Command extends CommandBase implements IGlobalWirelessEner )); sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + " --- Global wireless EU controls ---")); sender.addChatMessage(new ChatComponentText("Allows you to set the amount of EU in a users wireless network.")); - sender.addChatMessage(new ChatComponentText("Usage: global_energy_set [Name] [EU]")); + sender.addChatMessage(new ChatComponentText("Usage:" + EnumChatFormatting.RED + " global_energy_set " + EnumChatFormatting.BLUE + "[Name] " + EnumChatFormatting.LIGHT_PURPLE + "[EU]")); sender.addChatMessage(new ChatComponentText("Allows you to add EU to a users wireless network. Also accepts negative numbers.")); - sender.addChatMessage(new ChatComponentText("Usage: global_energy_add [Name] [EU]")); + sender.addChatMessage(new ChatComponentText("Usage:" + EnumChatFormatting.RED + " global_energy_add " + EnumChatFormatting.BLUE + "[Name] " + EnumChatFormatting.LIGHT_PURPLE + "[EU]")); sender.addChatMessage(new ChatComponentText("Allows you to join two users together into one network. Can be undone by writing the users name twice.")); - sender.addChatMessage(new ChatComponentText("Usage: global_energy_join [User joining] [User to join]")); + sender.addChatMessage(new ChatComponentText("Usage:" + EnumChatFormatting.RED + " global_energy_join " + EnumChatFormatting.BLUE + "[User joining] [User to join]")); + sender.addChatMessage(new ChatComponentText("Shows the amount of EU in a users energy network.")); + sender.addChatMessage(new ChatComponentText("Usage:" + EnumChatFormatting.RED + " global_energy_display " + EnumChatFormatting.BLUE + "[Name]")); + } @Override @@ -83,10 +86,6 @@ public final class GT_Command extends CommandBase implements IGlobalWirelessEner printHelp(sender); return; } - - String username; - String uuid; - switch (strings[0]) { case "toggle": if (strings.length < 2) { @@ -127,73 +126,138 @@ public final class GT_Command extends CommandBase implements IGlobalWirelessEner amount ); break; - case "global_energy_add": - - username = strings[1]; - uuid = IGlobalWirelessEnergy.super.GetUUIDFromUsername(username); + case "global_energy_add": { + String username = strings[1]; + String formatted_username = EnumChatFormatting.BLUE + username + EnumChatFormatting.RESET; + String uuid = getUUIDFromUsername(username); String EU_String = strings[2]; // Usage is /gt global_energy_add username EU if (uuid.equals("")) { - sender.addChatMessage(new ChatComponentText("User " + username + " has no global energy network.")); + sender.addChatMessage(new ChatComponentText("User " + formatted_username + " has no global energy network.")); break; } + String EU_string_formatted = EnumChatFormatting.RED + GT_Utility.formatNumbers(new BigInteger(EU_String)) + EnumChatFormatting.RESET; + if (addEUToGlobalEnergyMap(uuid, new BigInteger(EU_String))) - sender.addChatMessage(new ChatComponentText("Successfully added " + EU_String + "EU to the global energy network of " + username + ".")); + sender.addChatMessage(new ChatComponentText("Successfully added " + + EU_string_formatted + "EU to the global energy network of " + formatted_username + ".")); else - sender.addChatMessage(new ChatComponentText("Failed to add " + EU_String + "EU to the global energy map of " + username + - ". Insufficient energy in network. " + username + "currently has " + IGlobalWirelessEnergy.super.GetUserEU(uuid).toString() + " in their network.")); + sender.addChatMessage(new ChatComponentText( + "Failed to add " + EU_string_formatted + "EU to the global energy map of " + + formatted_username + ". Insufficient energy in network. ")); + + sender.addChatMessage(new ChatComponentText(formatted_username + " currently has " + EnumChatFormatting.RED + + GT_Utility.formatNumbers(new BigInteger(getUserEU(uuid).toString())) + EnumChatFormatting.RESET + + "EU in their network.")); break; - case "global_energy_set": + } + case "global_energy_set": { // Usage is /gt global_energy_set username EU - username = strings[1]; - uuid = IGlobalWirelessEnergy.super.GetUUIDFromUsername(username); + String username = strings[1]; + String formatted_username = EnumChatFormatting.BLUE + username + EnumChatFormatting.RESET; + String uuid = getUUIDFromUsername(username); + + if (uuid.equals("")) { + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username + " has no global energy network.")); + break; + } String EU_String_0 = strings[2]; - IGlobalWirelessEnergy.super.SetUserEU(uuid, new BigInteger(EU_String_0)); - break; + if ((new BigInteger(EU_String_0).compareTo(BigInteger.ZERO)) < 0) { + sender.addChatMessage(new ChatComponentText("Cannot set a users energy network to a negative value.")); + break; + } + + setUserEU(uuid, new BigInteger(EU_String_0)); - case "global_energy_join": + sender.addChatMessage(new ChatComponentText( + "Successfully set " + formatted_username + "'s global energy network to " + EnumChatFormatting.RED + + GT_Utility.formatNumbers(new BigInteger(EU_String_0)) + EnumChatFormatting.RESET + "EU.") + ); + + break; + } + case "global_energy_join": { // Usage is /gt global_energy_join username_of_you username_to_join String username_0 = strings[1]; String username_1 = strings[2]; - String uuid_0 = IGlobalWirelessEnergy.super.GetUUIDFromUsername(username_0); - String uuid_1 = IGlobalWirelessEnergy.super.GetUUIDFromUsername(username_1); + String formatted_username_0 = EnumChatFormatting.BLUE + username_0 + EnumChatFormatting.RESET; + String formatted_username_1 = EnumChatFormatting.BLUE + username_1 + EnumChatFormatting.RESET; - if (uuid_0.equals("")) { - sender.addChatMessage(new ChatComponentText("User " + username_0 + " has no global energy network.")); + String uuid_0 = getUUIDFromUsername(username_0); + String uuid_1 = getUUIDFromUsername(username_1); + + if (uuid_1.equals("") && uuid_0.equals("")) { + if (username_0.equals(username_1)) { + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username_0 + " has no global energy network.")); + } else { + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username_0 + " and " + formatted_username_1 + + " have no global energy networks.")); + } break; } if (uuid_0.equals("")) { - sender.addChatMessage(new ChatComponentText("User " + username_1 + " has no global energy network.")); + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username_0 + " has no global energy network.")); break; } - IGlobalWirelessEnergy.super.JoinUserNetwork(uuid_0, uuid_1); + if (uuid_1.equals("")) { + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username_1 + " has no global energy network.")); + break; + } - sender.addChatMessage(new ChatComponentText("Success! " + username_0 + " has joined " + username_1 + ".")); - sender.addChatMessage(new ChatComponentText("To undo this simply join your own network again with /gt global_energy_join " + username_0 + " " + username_0 + ".")); + if (uuid_0.equals(uuid_1)) { + joinUserNetwork(uuid_0, uuid_1); + sender.addChatMessage(new ChatComponentText("User " + formatted_username_0 + + " has rejoined their own global energy network.")); + break; + } + + joinUserNetwork(uuid_0, uuid_1); + + sender.addChatMessage(new ChatComponentText("Success! " + formatted_username_0 + " has joined " + formatted_username_1 + ".")); + sender.addChatMessage(new ChatComponentText("To undo this simply join your own network again with /gt global_energy_join " + formatted_username_0 + " " + formatted_username_0 + ".")); break; - case "global_energy_display": + } + case "global_energy_display": { + + // Usage is /gt global_energy_display username. + + String username = strings[1]; + String formatted_username = EnumChatFormatting.BLUE + username + EnumChatFormatting.RESET; + String uuid = getUUIDFromUsername(username); - // Usage is /gt global_energy_display username + if (uuid.equals("")) { + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username + " has no global energy network.")); + break; + } - String username_3 = strings[1]; - sender.addChatMessage(new ChatComponentText("User " + username_3 + " has " + EnumChatFormatting.RED + GT_Utility.formatNumbers(IGlobalWirelessEnergy.super.GetUserEU(IGlobalWirelessEnergy.super.GetUUIDFromUsername(username_3))) + EnumChatFormatting.RESET + "EU in their network.")); + sender.addChatMessage(new ChatComponentText( + "User " + formatted_username + " has " + + EnumChatFormatting.RED + GT_Utility.formatNumbers(getUserEU(uuid)) + EnumChatFormatting.RESET + + "EU in their network.")); break; + } default: sender.addChatMessage(new ChatComponentText( EnumChatFormatting.RED + "Invalid command/syntax detected.")); printHelp(sender); |