diff options
Diffstat (limited to 'src/main/java/gregtech/common/misc/GT_Command.java')
-rw-r--r-- | src/main/java/gregtech/common/misc/GT_Command.java | 355 |
1 files changed, 0 insertions, 355 deletions
diff --git a/src/main/java/gregtech/common/misc/GT_Command.java b/src/main/java/gregtech/common/misc/GT_Command.java deleted file mode 100644 index 8e342aa928..0000000000 --- a/src/main/java/gregtech/common/misc/GT_Command.java +++ /dev/null @@ -1,355 +0,0 @@ -package gregtech.common.misc; - -import static gregtech.common.misc.WirelessNetworkManager.addEUToGlobalEnergyMap; -import static gregtech.common.misc.WirelessNetworkManager.getUserEU; -import static gregtech.common.misc.WirelessNetworkManager.setUserEU; - -import java.lang.reflect.Field; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import java.util.stream.Stream; - -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.EnumChatFormatting; - -import com.gtnewhorizon.structurelib.StructureLib; - -import cpw.mods.fml.relauncher.FMLLaunchHandler; -import gregtech.GT_Mod; -import gregtech.api.enums.GT_Values; -import gregtech.api.objects.GT_ChunkManager; -import gregtech.api.util.GT_MusicSystem; -import gregtech.api.util.GT_Utility; -import gregtech.common.GT_Pollution; -import gregtech.common.misc.spaceprojects.SpaceProjectManager; - -public final class GT_Command extends CommandBase { - - @Override - public String getCommandName() { - return "gt"; - } - - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: gt <subcommand>. Valid subcommands are: toggle, chunks, pollution, global_energy_add, global_energy_set, global_energy_join, dump_music_durations."; - } - - private void printHelp(ICommandSender sender) { - sender.addChatMessage( - new ChatComponentText( - "Usage: gt <toggle|chunks|pollution|global_energy_add|global_energy_set|global_energy_join|dump_music_durations>")); - sender.addChatMessage(new ChatComponentText("\"toggle D1\" - toggles general.Debug (D1)")); - sender.addChatMessage(new ChatComponentText("\"toggle D2\" - toggles general.Debug2 (D2)")); - sender.addChatMessage(new ChatComponentText("\"toggle debugCleanroom\" - toggles cleanroom debug log")); - sender.addChatMessage(new ChatComponentText("\"toggle debugDriller\" - toggles oil drill debug log")); - sender.addChatMessage(new ChatComponentText("\"toggle debugBlockPump\" - Possible issues with pumps")); - sender.addChatMessage(new ChatComponentText("\"toggle debugBlockMiner\" - Possible issues with miners")); - sender.addChatMessage( - new ChatComponentText("\"toggle debugEntityCramming\" - How long it takes and how many entities it finds")); - sender.addChatMessage(new ChatComponentText("\"toggle debugWorldGen\" - toggles generic worldgen debug")); - sender.addChatMessage(new ChatComponentText("\"toggle debugOrevein\" - toggles worldgen ore vein debug")); - sender.addChatMessage(new ChatComponentText("\"toggle debugSmallOres\" - toggles worldgen small vein debug")); - sender.addChatMessage(new ChatComponentText("\"toggle debugStones\" - toggles worldgen stones debug")); - sender.addChatMessage(new ChatComponentText("\"toggle debugChunkloaders\" - toggles chunkloaders debug")); - sender.addChatMessage(new ChatComponentText("\"toggle debugMulti\" - toggles structurelib debug")); - sender.addChatMessage(new ChatComponentText("\"chunks\" - print a list of the force loaded chunks")); - sender.addChatMessage( - new ChatComponentText( - "\"pollution <amount>\" - adds the <amount> of the pollution to the current chunk, " - + "\n if <amount> isnt specified, will add" - + GT_Mod.gregtechproxy.mPollutionSmogLimit - + "gibbl.")); - 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:" + 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:" + 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:" + 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]")); - sender.addChatMessage( - new ChatComponentText( - "\"dump_music_durations\" - dumps soundmeta/durations.json for all registered records in the game to the log. Client-only")); - } - - @Override - public List<String> addTabCompletionOptions(ICommandSender sender, String[] ss) { - List<String> l = new ArrayList<>(); - String test = ss.length == 0 ? "" : ss[0].trim(); - if (ss.length == 0 || ss.length == 1 && (test.isEmpty() || Stream - .of( - "toggle", - "chunks", - "pollution", - "global_energy_add", - "global_energy_set", - "global_energy_join", - "global_energy_display", - "dump_music_durations") - .anyMatch(s -> s.startsWith(test)))) { - Stream - .of( - "toggle", - "chunks", - "pollution", - "global_energy_add", - "global_energy_set", - "global_energy_join", - "global_energy_display", - "dump_music_durations") - .filter(s -> test.isEmpty() || s.startsWith(test)) - .forEach(l::add); - } else if (test.equals("toggle")) { - String test1 = ss[1].trim(); - Stream - .of( - "D1", - "D2", - "debugCleanroom", - "debugDriller", - "debugBlockPump", - "debugBlockMiner", - "debugWorldGen", - "debugEntityCramming", - "debugOrevein", - "debugSmallOres", - "debugStones", - "debugChunkloaders", - "debugMulti", - "debugWorldData") - .filter(s -> test1.isEmpty() || s.startsWith(test1)) - .forEach(l::add); - } - return l; - } - - @Override - public void processCommand(ICommandSender sender, String[] strings) { - if (strings.length < 1) { - printHelp(sender); - return; - } - switch (strings[0]) { - case "toggle" -> { - if (strings.length < 2) { - printHelp(sender); - return; - } - if ("debugMulti".equals(strings[1])) { - StructureLib.DEBUG_MODE = !StructureLib.DEBUG_MODE; - sender.addChatMessage( - new ChatComponentText(strings[1] + " = " + (StructureLib.DEBUG_MODE ? "true" : "false"))); - return; - } - try { - Field field = GT_Values.class.getDeclaredField(strings[1]); - if (field.getType() != boolean.class) { - sender.addChatMessage(new ChatComponentText("Wrong variable: " + strings[1])); - return; - } - boolean b = !field.getBoolean(null); - field.setBoolean(null, b); - sender.addChatMessage(new ChatComponentText(strings[1] + " = " + (b ? "true" : "false"))); - } catch (Exception e) { - sender.addChatMessage(new ChatComponentText("No such variable: " + strings[0])); - } - } - case "chunks" -> { - GT_ChunkManager.printTickets(); - sender.addChatMessage(new ChatComponentText("Forced chunks logged to GregTech.log")); - } - case "pollution" -> { - ChunkCoordinates coordinates = sender.getPlayerCoordinates(); - int amount = (strings.length < 2) ? GT_Mod.gregtechproxy.mPollutionSmogLimit - : Integer.parseInt(strings[1]); - GT_Pollution.addPollution( - sender.getEntityWorld() - .getChunkFromBlockCoords(coordinates.posX, coordinates.posZ), - amount); - } - case "global_energy_add" -> { - String username = strings[1]; - String formatted_username = EnumChatFormatting.BLUE + username + EnumChatFormatting.RESET; - UUID uuid = SpaceProjectManager.getPlayerUUIDFromName(username); - - String EU_String = strings[2]; - - // Usage is /gt global_energy_add username EU - - 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_formatted - + "EU to the global energy network of " - + formatted_username - + ".")); - else 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.")); - - } - case "global_energy_set" -> { - - // Usage is /gt global_energy_set username EU - - String username = strings[1]; - String formatted_username = EnumChatFormatting.BLUE + username + EnumChatFormatting.RESET; - UUID uuid = SpaceProjectManager.getPlayerUUIDFromName(username); - - String EU_String_0 = strings[2]; - - 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)); - - 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.")); - - } - case "global_energy_join" -> { - - // Usage is /gt global_energy_join username_of_you username_to_join - - String usernameSubject = strings[1]; - String usernameTeam = strings[2]; - - String formattedUsernameSubject = EnumChatFormatting.BLUE + usernameSubject + EnumChatFormatting.RESET; - String formattedUsernameTeam = EnumChatFormatting.BLUE + usernameTeam + EnumChatFormatting.RESET; - - UUID uuidSubject = SpaceProjectManager.getPlayerUUIDFromName(usernameSubject); - UUID uuidTeam = SpaceProjectManager.getLeader(SpaceProjectManager.getPlayerUUIDFromName(usernameTeam)); - - if (uuidSubject.equals(uuidTeam)) { - // leave team - SpaceProjectManager.putInTeam(uuidSubject, uuidSubject); - sender.addChatMessage( - new ChatComponentText( - "User " + formattedUsernameSubject + " has rejoined their own global energy network.")); - break; - } - - // join other's team - - if (uuidSubject.equals(uuidTeam)) { - sender.addChatMessage(new ChatComponentText("They are already in the same network!")); - break; - } - - SpaceProjectManager.putInTeam(uuidSubject, uuidTeam); - - sender.addChatMessage( - new ChatComponentText( - "Success! " + formattedUsernameSubject + " has joined " + formattedUsernameTeam + ".")); - sender.addChatMessage( - new ChatComponentText( - "To undo this simply join your own network again with /gt global_energy_join " - + formattedUsernameSubject - + " " - + formattedUsernameSubject - + ".")); - - } - case "global_energy_display" -> { - - // Usage is /gt global_energy_display username. - - String username = strings[1]; - String formatted_username = EnumChatFormatting.BLUE + username + EnumChatFormatting.RESET; - UUID userUUID = SpaceProjectManager.getPlayerUUIDFromName(username); - - if (!SpaceProjectManager.isInTeam(userUUID)) { - sender.addChatMessage( - new ChatComponentText("User " + formatted_username + " has no global energy network.")); - break; - } - UUID teamUUID = SpaceProjectManager.getLeader(userUUID); - - sender.addChatMessage( - new ChatComponentText( - "User " + formatted_username - + " has " - + EnumChatFormatting.RED - + GT_Utility.formatNumbers(getUserEU(userUUID)) - + EnumChatFormatting.RESET - + "EU in their network.")); - if (!userUUID.equals(teamUUID)) sender.addChatMessage( - new ChatComponentText( - "User " + formatted_username - + " is currently in network of " - + EnumChatFormatting.BLUE - + SpaceProjectManager.getPlayerNameFromUUID(teamUUID) - + EnumChatFormatting.RESET - + ".")); - - } - case "dump_music_durations" -> { - if (!FMLLaunchHandler.side() - .isClient()) { - sender - .addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "This command is client-only.")); - } - GT_MusicSystem.ClientSystem.dumpAllRecordDurations(); - } - default -> { - sender - .addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Invalid command/syntax detected.")); - printHelp(sender); - } - } - } -} |