diff --git a/.gitignore b/.gitignore index a8278e12..9cdda3bc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,32 @@ .project .settings/ target/ +TestServer/bundler/ +TestServer/.console_history +TestServer/banned-ips.json +TestServer/banned-players.json +TestServer/bukkit.yml +TestServer/commands.yml +TestServer/eula.txt +TestServer/help.yml +TestServer/ops.json +TestServer/paper-1.20.4-462.jar +TestServer/permissions.yml +TestServer/spigot.yml +TestServer/usercache.json +TestServer/version_history.json +TestServer/wepif.yml +TestServer/whitelist.json +TestServer/cache/ +TestServer/config/ +TestServer/debug/ +TestServer/libraries/ +TestServer/logs/ +TestServer/world_the_end/ +TestServer/world_nether/ +TestServer/world/ +TestServer/PrisonEscapeWorld/ +TestServer/versions/ +TestServer/plugins/* +!TestServer/plugins/TF_PrisonEscape/ .vscode/* diff --git a/TestServer/README.md b/TestServer/README.md new file mode 100644 index 00000000..cfdff23c --- /dev/null +++ b/TestServer/README.md @@ -0,0 +1,7 @@ +# Test Server + +To run a minecraft server there are a lot more files that are needed. However only the ones that have relevant changes are gonna be pushed to the repository. + +## Map + +When the first version of the map is ready a zip file will be added. \ No newline at end of file diff --git a/TestServer/plugins/TF_PrisonEscape/config.yml b/TestServer/plugins/TF_PrisonEscape/config.yml new file mode 100644 index 00000000..3671ac41 --- /dev/null +++ b/TestServer/plugins/TF_PrisonEscape/config.yml @@ -0,0 +1,894 @@ +PrisionersRatio: 0.73 +PoliceRatio: 0.27 +MinPlayers: 1 +MaxPlayers: 11 +SecondsInSolitary: 30 +DaysAmount: 4 +DayDuration: 120 +NightDuration: 60 +WaitingPhaseDuration: 300 +FullLobbyWaitDuration: 10 +FinishedPhaseDuration: 30 +DelayBetweenAnnouncements: 30 +CommonItemsProbability: 0.8 +RareItemsProbability: 0.25 +ChestSize: 5 +AvailableLanguages: +- "english" +DefaultLanguage: "english" +TeamChatPrefix: "t " +WorldName: "PrisonEscapeWorld" +ReferenceBlock: + X: 0 + Y: 0 + Z: 0 +LeavingLocation: + X: 4 + Y: 133 + Z: -20 +WaitingLocation: + X: 12 + Y: 100 + Z: 11 +PrisonTopLeftCornerLocation: + X: 43 + Y: 150 + Z: 60 +PrisonBottomRightCornerLocation: + X: -63 + Y: 70 + Z: -49 +PrisionersSpawnLocations: + "1": + X: 2 + Y: 100 + Z: 9 + "2": + X: 2 + Y: 100 + Z: 7 + "3": + X: 2 + Y: 100 + Z: 3 + "4": + X: 2 + Y: 100 + Z: 1 + "5": + X: 2 + Y: 100 + Z: -3 + "6": + X: 2 + Y: 100 + Z: -5 + "7": + X: 2 + Y: 100 + Z: -9 + "8": + X: 2 + Y: 100 + Z: -11 +PoliceSpawnLocations: + "1": + X: -6 + Y: 101 + Z: -7 + "2": + X: -6 + Y: 101 + Z: -1 + "3": + X: -6 + Y: 101 + Z: 6 +SolitaryLocation: + X: -46 + Y: 100 + Z: 48 +SolitaryExitLocation: + X: -39 + Y: 100 + Z: 45 +PrisionersSecretPassagesLocation: + "1": + Key: + X: 5 + Y: 105 + Z: 8 + Value: + X: 3 + Y: 106 + Z: 8 +PoliceSecretPassagesLocation: + "1": + Key: + X: -1 + Y: 101 + Z: 11 + Value: + X: 3 + Y: 100 + Z: 8 +VaultsLocations: + "1": + X: 5 + Y: 100 + Z: 9 + "2": + X: 5 + Y: 100 + Z: 7 + "3": + X: 5 + Y: 100 + Z: 3 + "4": + X: 5 + Y: 100 + Z: 1 + "5": + X: 5 + Y: 100 + Z: -3 + "6": + X: 5 + Y: 100 + Z: -5 + "7": + X: 5 + Y: 100 + Z: -9 + "8": + X: 5 + Y: 100 + Z: -11 +ChestsLocations: + "1": # Cell Block + X: -16 + Y: 100 + Z: -13 + "2": + X: -21 + Y: 100 + Z: -8 + "3": + X: -14 + Y: 100 + Z: -5 + "4": + X: -21 + Y: 100 + Z: 4 + "5": + X: -11 + Y: 100 + Z: -8 + "6": # Right office + X: 13 + Y: 99 + Z: -30 + "7": + X: 13 + Y: 101 + Z: -33 + "8": + X: 13 + Y: 99 + Z: -36 + "9": + X: 13 + Y: 99 + Z: -36 + "10": + X: 24 + Y: 102 + Z: -40 + "11": + X: 24 + Y: 102 + Z: -31 + "12": + X: 22 + Y: 100 + Z: -30 + "13": + X: 16 + Y: 101 + Z: -30 + "14": # Right yard + X: -25 + Y: 100 + Z: -28 + "15": + X: -32 + Y: 100 + Z: -35 + "16": + X: -25 + Y: 100 + Z: -37 + "17": + X: -15 + Y: 100 + Z: -37 + "18": + X: -19 + Y: 100 + Z: -33 + "19": # Left yard + X: -18 + Y: 100 + Z: 31 + "20": + X: -18 + Y: 100 + Z: 39 + "21": + X: -27 + Y: 100 + Z: 41 + "22": + X: -34 + Y: 100 + Z: 38 + "23": + X: -34 + Y: 100 + Z: 27 + "24": + X: -26 + Y: 100 + Z: 31 + "25": + X: -26 + Y: 100 + Z: 33 + "26": # Toilets + X: -54 + Y: 100 + Z: 9 + "27": + X: -52 + Y: 100 + Z: 20 + "28": + X: -45 + Y: 99 + Z: 20 + "29": + X: -53 + Y: 100 + Z: 15 + "30": + X: -43 + Y: 100 + Z: 5 + "31": # Gym + X: -41 + Y: 100 + Z: -39 + "32": + X: -45 + Y: 100 + Z: -40 + "33": + X: -50 + Y: 100 + Z: -42 + "34": + X: -52 + Y: 100 + Z: -40 + "35": + X: -53 + Y: 100 + Z: -31 + "36": + X: -47 + Y: 100 + Z: -32 + "37": + X: -44 + Y: 100 + Z: -31 + "38": # Kitchen + X: -42 + Y: 100 + Z: -18 + "39": + X: -48 + Y: 100 + Z: -26 + "40": + X: -49 + Y: 100 + Z: -14 + "41": + X: -53 + Y: 100 + Z: -6 + "42": + X: -42 + Y: 100 + Z: -9 + "43": + X: -58 + Y: 100 + Z: -24 + "44": + X: -58 + Y: 100 + Z: -13 + "45": + X: -55 + Y: 100 + Z: -5 + "46": # left office 1 + X: -1 + Y: 100 + Z: 25 + "47": + X: -1 + Y: 100 + Z: 31 + "48": + X: -9 + Y: 100 + Z: 33 + "49": + X: -9 + Y: 104 + Z: 34 + "50": + X: -10 + Y: 100 + Z: 27 + "51": + X: -9 + Y: 100 + Z: 26 + "52": + X: -9 + Y: 104 + Z: 25 + "53": #left office 2 + X: -1 + Y: 100 + Z: 44 + "54": + X: -3 + Y: 100 + Z: 37 + "55": + X: -5 + Y: 99 + Z: 37 + "56": + X: -7 + Y: 99 + Z: 37 + "57": + X: -9 + Y: 99 + Z: 36 + "58": + X: -10 + Y: 103 + Z: 40 + "59": + X: -9 + Y: 100 + Z: 44 + "60": + X: -5 + Y: 100 + Z: 48 + "61": + X: -4 + Y: 104 + Z: 42 + "62": + X: -9 + Y: 100 + Z: 26 + "63": # Corridor + X: -12 + Y: 100 + Z: -23 + "64": + X: -29 + Y: 100 + Z: -26 + "65": + X: -39 + Y: 100 + Z: -35 + "66": + X: -40 + Y: 100 + Z: -13 + "67": + X: -40 + Y: 100 + Z: 5 + "68": + X: -40 + Y: 100 + Z: 20 + "69": + X: -40 + Y: 100 + Z: 41 + "70": + X: -24 + Y: 100 + Z: 19 + "71": + X: -6 + Y: 100 + Z: 19 + "72": + X: 1 + Y: 100 + Z: 39 + "73": + X: 19 + Y: 100 + Z: 17 + "74": + X: 27 + Y: 100 + Z: 3 + "75": + X: 15 + Y: 100 + Z: -2 + "76": + X: 19 + Y: 100 + Z: -11 + "77": + X: 7 + Y: 100 + Z: -26 +Regions: + CellBlock: + IsRestricted: false + "1": + UpperCorner: + X: 5 + Y: 110 + Z: 11 + LowerCorner: + X: -21 + Y: 100 + Z: -13 + Office: + IsRestricted: true + "1": + UpperCorner: + X: 0 + Y: 104 + Z: 35 + LowerCorner: + X: -10 + Y: 100 + Z: 23 + "2": + UpperCorner: + X: 0 + Y: 110 + Z: 49 + LowerCorner: + X: -10 + Y: 99 + Z: 35 + "3": + UpperCorner: + X: 26 + Y: 110 + Z: -28 + LowerCorner: + X: 12 + Y: 99 + Z: -41 + Yard: + IsRestricted: false + "1": + UpperCorner: + X: -16 + Y: 103 + Z: 43 + LowerCorner: + X: -35 + Y: 100 + Z: 24 + "2": + UpperCorner: + X: -11 + Y: 103 + Z: -27 + LowerCorner: + X: -34 + Y: 100 + Z: -39 + Gym: + IsRestricted: false + "1": + UpperCorner: + X: -41 + Y: 103 + Z: -31 + LowerCorner: + X: -53 + Y: 100 + Z: -42 + FoodHall: + IsRestricted: false + "1": + UpperCorner: + X: -42 + Y: 103 + Z: -5 + LowerCorner: + X: -58 + Y: 100 + Z: -26 + Toilets: + IsRestricted: false + "1": + UpperCorner: + X: -42 + Y: 103 + Z: 20 + LowerCorner: + X: -54 + Y: 99 + Z: 5 + Solitary: + IsRestricted: false + "1": + UpperCorner: + X: -42 + Y: 103 + Z: 53 + LowerCorner: + X: -51 + Y: 100 + Z: 40 +ChestsContents: + Default: # These are the chest contents by default - DON'T CHANGE THE NAME! + Bolts: 0.25 + Oil: 0.05 + Stick: 0.10 + CellBlock: + Bolts: 0.25 + Oil: 0.05 + Stick: 0.10 + Office: + Bolts: 0.01 + Yard: + Bolts: 0.01 + Gym: + Bolts: 0.01 + FoodHall: + Bolts: 0.01 + Toilets: + Bolts: 0.01 + Solitary: + Bolts: 0.01 +WallCorners: + "1": + X: 43 + Y: 100 + Z: 5 + "2": + X: 43 + Y: 100 + Z: 60 + "3": + X: -11 + Y: 100 + Z: 60 + "4": + X: -65 + Y: 100 + Z: 60 + "5": + X: -65 + Y: 100 + Z: 5 + "6": + X: -65 + Y: 100 + Z: -49 + "7": + X: -12 + Y: 100 + Z: -49 + "8": + X: 43 + Y: 100 + Z: -49 + "9": + X: 43 + Y: 100 + Z: -9 +WallCrackFormats: + "1": + - "0###0" + - "#####" + - "#####" + - "#####" + - "0###0" + "2": + - "##0##" + - "##0##" + - "00000" + - "0###0" + - "0#0#0" + "3": + - "##0##" + - "##0##" + - "00#00" + - "##0##" + - "##0##" +Maze: + Format: + - "E#######E" + - "#########" + - "#########" + - "####S####" + - "####S####" + - "####S####" + - "####S####" + - "#########" + - "#########" + - "E#######E" + UpperCornerLocation: + X: 22 + Y: 84 + Z: 22 +Fences: + "1": # Left yard + UpperCornerLocation: + X: -33 + Y: 102 + Z: 43 + LowerCornerLocation: + X: -35 + Y: 100 + Z: 43 + "2": + UpperCornerLocation: + X: -29 + Y: 102 + Z: 43 + LowerCornerLocation: + X: -31 + Y: 100 + Z: 43 + "3": + UpperCornerLocation: + X: -25 + Y: 102 + Z: 43 + LowerCornerLocation: + X: -27 + Y: 100 + Z: 43 + "4": + UpperCornerLocation: + X: -21 + Y: 102 + Z: 43 + LowerCornerLocation: + X: -23 + Y: 100 + Z: 43 + "5": + UpperCornerLocation: + X: -17 + Y: 102 + Z: 43 + LowerCornerLocation: + X: -19 + Y: 100 + Z: 43 + "6": + UpperCornerLocation: + X: -16 + Y: 102 + Z: 42 + LowerCornerLocation: + X: -16 + Y: 100 + Z: 40 + "7": + UpperCornerLocation: + X: -16 + Y: 102 + Z: 38 + LowerCornerLocation: + X: -16 + Y: 100 + Z: 36 + "8": + UpperCornerLocation: + X: -16 + Y: 102 + Z: 34 + LowerCornerLocation: + X: -16 + Y: 100 + Z: 32 + "9": + UpperCornerLocation: + X: -16 + Y: 102 + Z: 30 + LowerCornerLocation: + X: -16 + Y: 100 + Z: 28 + "10": + UpperCornerLocation: + X: -16 + Y: 102 + Z: 26 + LowerCornerLocation: + X: -16 + Y: 100 + Z: 24 + "11": # right yard + UpperCornerLocation: + X: -11 + Y: 102 + Z: -28 + LowerCornerLocation: + X: -11 + Y: 100 + Z: -30 + "12": + UpperCornerLocation: + X: -11 + Y: 102 + Z: -32 + LowerCornerLocation: + X: -11 + Y: 100 + Z: -34 + "13": + UpperCornerLocation: + X: -11 + Y: 102 + Z: -36 + LowerCornerLocation: + X: -11 + Y: 100 + Z: -38 + "14": + UpperCornerLocation: + X: -12 + Y: 102 + Z: -39 + LowerCornerLocation: + X: -14 + Y: 100 + Z: -39 + "15": + UpperCornerLocation: + X: -16 + Y: 102 + Z: -39 + LowerCornerLocation: + X: -18 + Y: 100 + Z: -39 + "16": + UpperCornerLocation: + X: -20 + Y: 102 + Z: -39 + LowerCornerLocation: + X: -22 + Y: 100 + Z: -39 + "17": + UpperCornerLocation: + X: -24 + Y: 102 + Z: -39 + LowerCornerLocation: + X: -26 + Y: 100 + Z: -39 + "18": + UpperCornerLocation: + X: -28 + Y: 102 + Z: -39 + LowerCornerLocation: + X: -30 + Y: 100 + Z: -39 + "19": + UpperCornerLocation: + X: -32 + Y: 102 + Z: -39 + LowerCornerLocation: + X: -34 + Y: 100 + Z: -39 + "20": # Entrance vent + UpperCornerLocation: + X: 29 + Y: 109 + Z: -1 + LowerCornerLocation: + X: 29 + Y: 107 + Z: -3 + "21": # Roof vent + UpperCornerLocation: + X: -40 + Y: 109 + Z: 0 + LowerCornerLocation: + X: -40 + Y: 107 + Z: -2 + "22": # Solitary + UpperCornerLocation: + X: -41 + Y: 102 + Z: 49 + LowerCornerLocation: + X: -41 + Y: 100 + Z: 47 +Vents: + "1": # Entrance + X: 34 + Y: 106 + Z: 1 + "2": # Hallway + X: 20 + Y: 106 + Z: -15 + "3": # Right yard + X: -33 + Y: 106 + Z: -37 + "4": # Gym + X: -43 + Y: 106 + Z: -41 + "5": # Kitchen + X: -56 + Y: 106 + Z: -24 + "6": # Roof + X: -42 + Y: 110 + Z: 3 + "7": + X: -42 + Y: 110 + Z: -5 + "8": # Left yard + X: -21 + Y: 106 + Z: 25 + "9": # Office + X: -6 + Y: 106 + Z: 26 + "10": # Visitations + X: 34 + Y: 106 + Z: 1 \ No newline at end of file diff --git a/TestServer/plugins/TF_PrisonEscape/languages/english.yml b/TestServer/plugins/TF_PrisonEscape/languages/english.yml new file mode 100644 index 00000000..a7502754 --- /dev/null +++ b/TestServer/plugins/TF_PrisonEscape/languages/english.yml @@ -0,0 +1,177 @@ +Items: + SelectPrisionerTeam: + Name: "&6Select prisioner team" + SelectPoliceTeam: + Name: "&9Select police team" + SelectNoneTeam: + Name: "&8Remove preference" + Bolts: + Name: "Bolts" + DuctTape: + Name: "Duct Tape" + Matches: + Name: "Matches" + Oil: + Name: "Oil" + Stick: + Name: "Stick" + PlasticPlate: + Name: "Plastic Plate" + MetalPlate: + Name: "Metal Plate" + Copper: + Name: "Copper" + CircuitBoard: + Name: "Circuit Board" + Antena: + Name: "Antena" + Battery: + Name: "Battery" + NotePart: + Name: "Note Part {NUMBER}" + GoldBar: + Name: "Gold Bar" + EnergyDrink: + Name: "Energy Drink" + Handcuffs: + Name: "Handcuffs" + PlasticSpoon: + Name: "Wooden Shovel" + MetalSpoon: + Name: "Golden Shovel" + PlasticShovel: + Name: "Stone Shovel" + MetalShovel: + Name: "Diamond Shovel" + WireCutter: + Name: "Wire Cutter" + Wrench: + Name: "Pickaxe" + Bomb: + Name: "Bomb" + Glass: + Name: " " + Missions: + Name: "Missions Book" + OpenCameras: + Name: "Cameras" + Shop: + Name: "Shop" + Search: + Name: "Search" + Radar: + Name: "Radar" + Sensor: + Name: "Sensor" + Camera: + Name: "Camera" + Trap: + Name: "Trap" +ItemsProperties: + Metalic: "&8Metalic" + Illegal: "&cIllegal" + LoreLine: "- {PROPERTY}" +Inventory: + Vault: + Title: "Personal Storage" + HiddenGlass: + Name: "&cHidden" + Chest: + Title: "Container" +Messages: + GeneralMessage: "&8[GENERAL] <{PLAYER}> &f{MESSAGE}" + PoliceTeamMessage: "&9[TEAM] <{PLAYER}> &f{MESSAGE}" + PrisionerTeamMessage: "&6[TEAM] <{PLAYER}> &f{MESSAGE}" + Warnings: + StartedGame: "&aSucessfully started game." + ForceStartedGame: "&aSucessfully skipped waiting phase." + StoppedGame: "&aSucessfully skipped finished phase." + ForceStoppedGame: "&aSucessfully cancelled the game." + SelectedPrisionersTeam: "&aYou set &6Prisioners &ateam as your prefered." + SelectedPoliceTeam: "&aYou set &9Police &ateam as your prefered." + SelectedRandomTeam: "&aYou removed your prefered team. You will be placed randomly." + PrisionerGameStart: "&6You are on prisioners team. Escape with everyone. Nobody stays behind." + PoliceGameStart: "&9You are on police team. Stop prisioners from escaping." + PoliceOpenVault: "&cYou can not open personal vaults. However, you can search them." + PrisionerOtherVault: "&cYou can only access your own vault." + PoliceFoundIllegalItems: "&eYou found illegal items and the player &4{PLAYER} &ehas become wanted." + PrisionerFoundIllegalItems: "&eIllegal items were found in your vault and now you are wanted." + PoliceNoIllegalItemsFound: "&eThere are no illegal items here." + PrisionerNoIllegalItemsFound: "&eSomeone search your vault, but no illegal items were found." + PoliceCanNotOpenChest: "&cOnly prisioners can open containers." + ChestAlreadyOpened: "&eSomeone is accessing that container already." + FullInventory: "&cYour inventory is full." + NotWantedPlayer: "&cYou can only send to solitary wanted players." + PrisionerInspected: "&aA police inspected your inventory, but no illegal items were found." + PoliceInspected: "&a{PLAYER} don't have any illegal items." + CanOnlyFixHoles: "&cYou can only fix holes, not cracked blocks." + ReachedItemLimit: "&cSorry, you've already reached the maximum limit for this item." + NotEnoughMoney: "&cYou do not have enough money to buy this item." + SuccessfullyBoughtItem: "&aSuccessfully bought item. Your current balance is: {BALANCE}." + CannotDropThatItem: "&cYou cannot drop that item." + Announcements: + GameStarting: + - "&6===================================" + - "&6The Game will start in &f{SECONDS} &6seconds" + - "&6To join use &f/PrisonEscape join" + - "&6There are already &f{PLAYERS} &6waiting" + - "&6===================================" + PrisionerArrested: "&4Prisioner &f{PLAYER} &4has been sent to solitary" + PrisionerFreedOfSolitary: "&aYou will leave solitary soon" + PrisionersWonTitle: "&l&6PRISIONERS WON" + PrisionersWonSubtitle: "&fEveryone was able to escape" + PoliceWonTitle: "&l&9POLICE WON" + PoliceWonSubtitle: "&f{PLAYERS} was still in prison" + VictoryWord: "Victory" + DefeatWord: "Defeat" + GameResult: + - "&6===================================" + - "" + - " &f&l{RESULT}" + - "" + - " Statistics:" + - " - &4COMMING SOON" + - "" + - "&6===================================" + PlayerEscaped: "&ePlayer &f{PLAYER} &eescaped the prison." + GameCancelledFewPlayers: "&cThe game was cancelled because there were not enough players." + NewDayTitle: "&aDay &a{DAYNUMBER}" + NewDaySubtitle: "&fThe sun has risen" + NightTitle: "&4Nightfall approaches" + NightSubtitle: "&fPlan your escape" + JoinedGame: "&a{PLAYER} joined the game. {PLAYERNUMBER}/{MAXPLAYERS}" + LeftGame: "&a{PLAYER} left the game. {PLAYERNUMBER}/{MAXPLAYERS}" + RejoinedGame: "&a{PLAYER} rejoined game. {PLAYERNUMBER}/{MAXPLAYERS}" + Errors: + NotAllowed: "&cYou don't have permission to do that." + CommandForPlayers: "&cOnly players have permission to use this command." + GameAlreadyStarted: "&cThere is a game happening already." + GameNotStartedYet: "&cThere isn't any game happening right now." + GameAlreadyOngoing: "&cThe game is already in the ongoing phase." + GameIsStillWaiting: "&cThe game is in the waiting phase. You can join using &f/PrisonEscape Join" + GameIsNotFinished: "&cThe game is not in finishing phase. You can force stop it using &f/PrisonEscape ForceStop" + LobbyIsFull: "&cThe game lobby is already full." + AlreadyJoined: "&cYou are already in the game." + NotOnLobby: "&cYou aren't on the game lobby." + NeverInGame: "&cYou can only rejoin games you were in from the start" + Usages: + General: + - "Usage:" + - "/PrisonEscape Start - to start the game" + - "/PrisonEscape ForceStart - to skip waiting phase" + - "/PrisonEscape Stop - to skip finished phase" + - "/PrisonEscape ForceStop - to cancel game" + - "/PrisonEscape Join - to join the game" + - "/PrisonEscape Leave - to leave the game" + - "/PrisonEscape Rejoin - to rejoin the game" + - "" + - "Note: commands are case insensitive and /PrisonEscape can be replaced by /PE" + - "" + Start: "/PrisonEscape Start - to start the game" + ForceStart: "/PrisonEscape ForceStart - to skip waiting phase" + Stop: "/PrisonEscape Stop - to skip finished phase" + ForceStop: "/PrisonEscape ForceStop - to cancel game" + Join: "/PrisonEscape Join - to join the game" + Leave: "/PrisonEscape Leave - to leave the game" + Rejoin: "/PrisonEscape Rejoin - to rejoin the game" + Stop: "/PrisonEscape Stop - to stop the game" diff --git a/TestServer/run.bat b/TestServer/run.bat new file mode 100644 index 00000000..022bc7e6 --- /dev/null +++ b/TestServer/run.bat @@ -0,0 +1,3 @@ +@ECHO OFF +java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar paper-1.20.4-462.jar nogui +PAUSE \ No newline at end of file diff --git a/TestServer/server.properties b/TestServer/server.properties new file mode 100644 index 00000000..dc37aa7c --- /dev/null +++ b/TestServer/server.properties @@ -0,0 +1,61 @@ +#Minecraft server properties +#Sun Apr 28 22:18:03 WEST 2024 +enable-jmx-monitoring=false +rcon.port=25575 +level-seed= +gamemode=survival +enable-command-block=false +enable-query=false +generator-settings={} +enforce-secure-profile=true +level-name=world +motd=A Minecraft Server +query.port=25565 +pvp=true +generate-structures=true +max-chained-neighbor-updates=1000000 +difficulty=easy +network-compression-threshold=256 +max-tick-time=60000 +require-resource-pack=false +use-native-transport=true +max-players=20 +online-mode=true +enable-status=true +allow-flight=false +initial-disabled-packs= +broadcast-rcon-to-ops=true +view-distance=10 +server-ip= +resource-pack-prompt= +allow-nether=true +server-port=25565 +enable-rcon=false +sync-chunk-writes=true +resource-pack-id= +op-permission-level=4 +prevent-proxy-connections=false +hide-online-players=false +resource-pack= +entity-broadcast-range-percentage=100 +simulation-distance=10 +rcon.password= +player-idle-timeout=0 +debug=false +force-gamemode=false +rate-limit=0 +hardcore=false +white-list=false +broadcast-console-to-ops=true +spawn-npcs=true +spawn-animals=false +log-ips=true +function-permission-level=2 +initial-enabled-packs=vanilla +level-type=minecraft\:normal +text-filtering-config= +spawn-monsters=false +enforce-whitelist=false +spawn-protection=0 +resource-pack-sha1= +max-world-size=29999984 diff --git a/src/main/java/net/tiagofar78/prisonescape/game/prisonbuilding/PrisonBuilding.java b/src/main/java/net/tiagofar78/prisonescape/game/prisonbuilding/PrisonBuilding.java index fdfe5aaf..0d4eea0b 100644 --- a/src/main/java/net/tiagofar78/prisonescape/game/prisonbuilding/PrisonBuilding.java +++ b/src/main/java/net/tiagofar78/prisonescape/game/prisonbuilding/PrisonBuilding.java @@ -72,6 +72,9 @@ public PrisonBuilding(PrisonEscapeLocation reference) { _chests = new Hashtable<>(); for (PrisonEscapeLocation loc : config.getChestsLocations()) { String regionName = getRegionName(loc); + if (regionName == null) { + regionName = "Default"; + } _chests.put(loc.add(reference).createKey(), new Chest(regionName)); }