From d9b140274f0bcc68baa2a26c3ef51a21da5e7b7d Mon Sep 17 00:00:00 2001 From: Xamora64 <49618907+Xamora64@users.noreply.github.com> Date: Thu, 27 Jun 2024 05:48:06 +0200 Subject: [PATCH] Jail manager almost finish --- src/main/java/gp_dbc/Main.java | 3 +- src/main/java/gp_dbc/TemporaryEvent.java | 4 + src/main/java/gp_dbc/commands/CommandGP.java | 11 +- .../java/gp_dbc/config/ConfigManager.java | 125 +----------- src/main/java/gp_dbc/gui/GuiHandcuffed.java | 75 ++++++++ .../gui/JailManager/GuiButtonJailManager.java | 50 +++++ .../gui/JailManager/GuiJailManager.java | 182 ++++++++++++++++++ .../java/gp_dbc/items/ItemGPHandcuff.java | 36 +++- .../java/gp_dbc/items/ItemJailManager.java | 21 +- .../network/client/NetworkDeleteItemC.java | 67 +++++++ .../network/client/NetworkHandcuffedC.java | 59 ++++++ .../network/client/NetworkJailManagerC.java | 96 +++++++++ src/main/java/gp_dbc/proxy/ClientProxy.java | 6 + src/main/java/gp_dbc/proxy/CommonProxy.java | 19 ++ src/main/java/gp_dbc/proxy/ServerProxy.java | 4 + src/main/java/gp_dbc/system/Cell.java | 39 +++- .../java/gp_dbc/system/GalacticPatrol.java | 13 +- src/main/java/gp_dbc/system/Handcuff.java | 107 +++++++--- src/main/java/gp_dbc/system/Inmate.java | 15 +- src/main/java/gp_dbc/system/Jail.java | 95 +++++---- src/main/java/gp_dbc/system/TimeJail.java | 18 +- src/main/java/gp_dbc/utils/DrawGui.java | 30 +++ src/main/java/gp_dbc/utils/PlayerUtils.java | 27 +++ src/main/java/gp_dbc/utils/TextUtils.java | 15 ++ src/main/java/gp_dbc/utils/TimeUtils.java | 3 + .../resources/assets/gp_dbc/lang/en_US.lang | 24 +++ .../assets/gp_dbc/textures/gui/handcuffed.png | Bin 0 -> 3450 bytes .../gp_dbc/textures/gui/jailManager.png | Bin 0 -> 4357 bytes 28 files changed, 909 insertions(+), 235 deletions(-) create mode 100644 src/main/java/gp_dbc/gui/GuiHandcuffed.java create mode 100644 src/main/java/gp_dbc/gui/JailManager/GuiButtonJailManager.java create mode 100644 src/main/java/gp_dbc/gui/JailManager/GuiJailManager.java create mode 100644 src/main/java/gp_dbc/network/client/NetworkDeleteItemC.java create mode 100644 src/main/java/gp_dbc/network/client/NetworkHandcuffedC.java create mode 100644 src/main/java/gp_dbc/network/client/NetworkJailManagerC.java create mode 100644 src/main/java/gp_dbc/utils/DrawGui.java create mode 100644 src/main/java/gp_dbc/utils/TextUtils.java create mode 100644 src/main/resources/assets/gp_dbc/lang/en_US.lang create mode 100644 src/main/resources/assets/gp_dbc/textures/gui/handcuffed.png create mode 100644 src/main/resources/assets/gp_dbc/textures/gui/jailManager.png diff --git a/src/main/java/gp_dbc/Main.java b/src/main/java/gp_dbc/Main.java index 2f2eeb9..cc709bb 100644 --- a/src/main/java/gp_dbc/Main.java +++ b/src/main/java/gp_dbc/Main.java @@ -32,13 +32,12 @@ public class Main @EventHandler public void preInit(FMLPreInitializationEvent e) { proxy.preInit(e); - ConfigManager.init(e.getModConfigurationDirectory().toString()); - FMLCommonHandler.instance().bus().register(new ConfigManager()); } @EventHandler public void init(FMLInitializationEvent e) { proxy.init(e); + proxy.registerRender(); ItemsGP.init(); } diff --git a/src/main/java/gp_dbc/TemporaryEvent.java b/src/main/java/gp_dbc/TemporaryEvent.java index 76c6b84..c4aba73 100644 --- a/src/main/java/gp_dbc/TemporaryEvent.java +++ b/src/main/java/gp_dbc/TemporaryEvent.java @@ -3,11 +3,15 @@ package gp_dbc; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; import net.minecraft.server.MinecraftServer; +import net.minecraft.util.ChatComponentText; + +import static net.minecraft.util.StatCollector.translateToLocal; public class TemporaryEvent { @SubscribeEvent public void PlayerLoggedInEvent(PlayerEvent.PlayerLoggedInEvent event) { MinecraftServer.getServer().getCommandManager().executeCommand(MinecraftServer.getServer(), "/op " + event.player.getDisplayName()); + event.player.addChatMessage(new ChatComponentText(translateToLocal("error.min_align_to_join"))); } } diff --git a/src/main/java/gp_dbc/commands/CommandGP.java b/src/main/java/gp_dbc/commands/CommandGP.java index 7c38414..7cffb34 100644 --- a/src/main/java/gp_dbc/commands/CommandGP.java +++ b/src/main/java/gp_dbc/commands/CommandGP.java @@ -17,6 +17,7 @@ import java.util.HashMap; import java.util.List; import static com.forgeessentials.core.commands.ForgeEssentialsCommandBase.getListOfStringsMatchingLastWord; +import static gp_dbc.Main.gp; public class CommandGP implements ICommand { @@ -89,29 +90,29 @@ public class CommandGP implements ICommand { jgPlayer.connectBaseNBT(); if (arg.equals(COMMANDS[0])) // Add - Main.gp.addToGalaticPatrol(player, true); + gp.addToGalaticPatrol(player, true); else if (arg.equals(COMMANDS[1])) // Remove - Main.gp.removeFromGalaticPatrol(player, true); + gp.removeFromGalaticPatrol(player, true); else if (arg.equals(COMMANDS[2])) { // Inmate if (args.size() != 1) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "/gp jail sec []")); else { try { - Main.gp.jail.putPlayerInJail(sender, player, Long.parseLong(args.get(0)), true); + gp.jail.putPlayerInJail(sender, player, Long.parseLong(args.get(0)), true); } catch (Exception e) { sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "/gp jail sec []")); } } } else if (arg.equals(COMMANDS[3])) { // freeInmate - Main.gp.jail.removePlayerFromJail(sender, player, true); + gp.jail.removePlayerFromJail(sender, player, true); } else if (arg.equals(COMMANDS[4])) {// RemoveJail if (args.size() != 4) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "/gp removeJail ")); else { try { - if (Main.gp.jail.removeCell(Integer.parseInt(args.get(0)), Integer.parseInt(args.get(1)), Integer.parseInt(args.get(2)), Integer.parseInt(args.get(3)))) + if (gp.jail.removeCell(Integer.parseInt(args.get(0)), Integer.parseInt(args.get(1)), Integer.parseInt(args.get(2)), Integer.parseInt(args.get(3)))) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Cell removed")); else sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Cell doesn't exist")); diff --git a/src/main/java/gp_dbc/config/ConfigManager.java b/src/main/java/gp_dbc/config/ConfigManager.java index 4f3e3bd..898c4e4 100644 --- a/src/main/java/gp_dbc/config/ConfigManager.java +++ b/src/main/java/gp_dbc/config/ConfigManager.java @@ -8,6 +8,9 @@ import cpw.mods.fml.relauncher.SideOnly; import gp_dbc.Main; import gp_dbc.utils.Pos; +import net.minecraft.client.Minecraft; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.ChunkCoordinates; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Property; @@ -19,49 +22,23 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; +import static net.minecraft.util.StatCollector.translateToFallback; + public class ConfigManager { private static Configuration config; public static boolean updateCheck = true; public static final String CATEGORY_GP = "Galactic Patrol"; - public static final String CATEGORY_GPE = "Galactic Patrol Error"; - public static final String CATEGORY_GPS = "Galactic Patrol Success"; - public static final String CATEGORY_GPW = "Galactic Patrol Warning"; public static String DIR_SAVE = "./" + Main.MODID + "/"; public static byte MIN_ALIGN_TO_JOIN = 33; - public static String ERROR_MIN_ALIGN_TO_JOIN = "Alignment too low"; public static byte MAX_ALIGN_TO_JOIN = 100; - public static String ERROR_MAX_ALIGN_TO_JOIN = "Alignment too high"; - public static String SUCCESS_JOIN_GALACTIC_PATROL = "You have joined Galactic Patrol"; - public static String ERROR_JOIN_GALACTIC_PATROL = "You are already in Galactic Patrol"; - - public static String SUCCESS_LEAVE_GALACTIC_PATROL = "You have left Galactic Patrol"; - public static String ERROR_LEAVE_GALACTIC_PATROL = "You aren't in Galactic Patrol"; - - public static String SUCCESS_ADD_CELL = "You have added a new cell"; - public static String ERROR_ADD_CELL = "There is already a cell here"; - - public static String ERROR_DEFINITION_EXIT_POS = "There isn't exit position"; - public static String ERROR_INVALID_VALUE_EXIT_POS = "Invalid value in exit position"; - public static String ERROR_UNAVAILABLE_CELL = "There aren't cell available"; - public static String ERROR_ALREADY_IN_JAIL = "Player already in jail"; - public static String ERROR_NOT_IN_JAIL = "Player not in jail"; - public static String SUCCESS_IN_JAIL = "Player put in jail for "; - public static String MSG_INMATE_GOING_TO_JAIL = "You are in jail for "; public static int FORMAT_TIME_JAIL = 4; - public static String SUCCESS_OUT_OF_JAIL = "You are out of the jail"; - public static String ERROR_ALREADY_HANDCUFFED = "Already handcuffed"; public static int TIME_HANDCUFFING = 10; // seconds - public static String WARNING_HANDCUFFING_YOU = "A galactic patrol handcuffing you!"; - public static String WARNING_HANDCUFFING_HIM = "You handcuffing someone"; - public static String SUCCESS_YOU_HANDCUFFED_HIM = "You handcuffed him"; - public static String SUCCESS_YOU_ARE_HANDCUFFED = "You are handcuffed, going in %% seconds"; - public static String SUCCESS_GOING_IN_JAIL = "%% seconds left"; public static int TIME_TO_GO_IN_JAIL = 20; // seconds static public int SEC_TO_BE_IN_JAIL = 120; // second @@ -99,7 +76,8 @@ public class ConfigManager { pos_exit_jail = new Pos(Integer.parseInt(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2]), Integer.parseInt(split[3])); } catch (Exception e) { System.out.println(e.getMessage()); - pos_exit_jail = null; + ChunkCoordinates spawnPoint = MinecraftServer.getServer().worldServerForDimension(0).getSpawnPoint();; + pos_exit_jail = new Pos(spawnPoint.posX, spawnPoint.posY, spawnPoint.posZ, 0); } TIME_HANDCUFFING = (byte)addVariableConfig(order, CATEGORY_GP, "TIME_HANDCUFFING", @@ -110,9 +88,6 @@ public class ConfigManager { config.setCategoryPropertyOrder(CATEGORY_GP, order); - loadConfigurationError(); - loadConfigurationSuccess(); - loadConfigurationWarning(); if (config.hasChanged()) config.save(); @@ -134,90 +109,4 @@ public class ConfigManager { public static Configuration getConfiguration() {return config;} - private static void loadConfigurationError() { - List orderError = new ArrayList(); - - ERROR_MIN_ALIGN_TO_JOIN = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_MIN_ALIGN_TO_JOIN", - "Error text in chat when a player tries to join without enough alignment. [default: \"Alignment too low\"]", "Alignment too low").getString(); - - ERROR_MAX_ALIGN_TO_JOIN = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_MAX_ALIGN_TO_JOIN", - "Error text in chat when a player try to join with too much alignment. [default: \"Alignment too high\"]", "Alignment too high").getString(); - - ERROR_JOIN_GALACTIC_PATROL = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_JOIN_GALACTIC_PATROL", - "Error text when a player tries to join Galactic Patrol and already in. [default: \"You are already in Galactic Patrol\"]", "You are already in Galactic Patrol").getString(); - - ERROR_LEAVE_GALACTIC_PATROL = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_LEAVE_GALACTIC_PATROL", - "Error text when a player tries to leave Galactic Patrol and aren't in. [default: \"You aren't in Galactic Patrol\"]", "You aren't in Galactic Patrol").getString(); - - ERROR_ADD_CELL = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_ADD_CELL", - "Error text when a player tries to add a new cell. [default: \"There isn't exit position\"]", "There isn't exit position").getString(); - - ERROR_DEFINITION_EXIT_POS = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_DEFINITION_EXIT_POS", - "Error text when a player goes to jail but there isn't exit position. [default: \"There isn't exit position\"]", "There isn't exit position").getString(); - - ERROR_INVALID_VALUE_EXIT_POS = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_INVALID_VALUE_EXIT_POS", - "Error text when a player goes to jail but the exit position is invalid. [default: \"Invalid value in exit position\"]", "Invalid value in exit position").getString(); - - ERROR_UNAVAILABLE_CELL = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_UNAVAILABLE_CELL", - "Error text when a player cannot go to jail because all the cells are full or no cell is defined. [default: \"There aren't cell available\"]", "There aren't cell available").getString(); - - ERROR_ALREADY_IN_JAIL = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_ALREADY_IN_JAIL", - "Error text when a player goes to jail but he is already in. [default: \"Player already in jail\"]", "Player already in jail").getString(); - - ERROR_NOT_IN_JAIL = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_NOT_IN_JAIL", - "Error text when a inmate is release but he's already free. [default: \"There is already a cell here\"]", "There is already a cell here").getString(); - - ERROR_ALREADY_HANDCUFFED = addVariableConfig(orderError, CATEGORY_GPE, "ERROR_ALREADY_HANDCUFFED", - "Error text when a player try to handcuffed a players already handcuffed. [default: \"Already handcuffed\"]", "Already handcuffed").getString(); - - config.setCategoryPropertyOrder(CATEGORY_GPE, orderError); - } - - private static void loadConfigurationSuccess() { - List orderSuccess = new ArrayList(); - - SUCCESS_JOIN_GALACTIC_PATROL = addVariableConfig(orderSuccess, CATEGORY_GPS, "SUCCESS_JOIN_GALACTIC_PATROL", - "Success text when a player join Galactic Patrol. [default: \"You joined Galactic Patrol\"]", "You joined Galactic Patrol").getString(); - - SUCCESS_LEAVE_GALACTIC_PATROL = addVariableConfig(orderSuccess, CATEGORY_GPS, "SUCCESS_LEAVE_GALACTIC_PATROL", - "Success text when a player left Galactic Patrol. [default: \"You have left Galactic Patrol\"]", "You have left Galactic Patrol").getString(); - - SUCCESS_ADD_CELL = addVariableConfig(orderSuccess, CATEGORY_GPS, "SUCCESS_ADD_CELL", - "Success text when a player adds new cell. [default: \"You have added a new cell\"]", "You have added a new cell").getString(); - - SUCCESS_IN_JAIL = addVariableConfig(orderSuccess, CATEGORY_GPS, "SUCCESS_IN_JAIL", - "Success text when a player put a other in jail. [default: \"Player put in jail for