From 5c48983375715ec73fabcca7a41e02a1304b4e60 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 30 Jan 2024 16:08:22 +0100 Subject: [PATCH] TYPEREPLACE_HELPAdd initial modular bau impl --- BauSystem_Main/src/BauSystem.properties | 1119 +++++++++-------- BauSystem_Main/src/BauSystem_de.properties | 1060 +++++++++------- .../src/de/steamwar/bausystem/BauSystem.java | 6 + .../de/steamwar/bausystem/region/Region.java | 1 + .../bausystem/region/TileActionBar.java | 37 + .../steamwar/bausystem/region/flags/Flag.java | 2 + .../region/flags/flagvalues/ChangedMode.java | 58 + .../flags/flagvalues/TestblockMode.java | 62 + .../bausystem/regionnew/GlobalRegion.java | 191 +++ .../steamwar/bausystem/regionnew/Region.java | 123 ++ .../bausystem/regionnew/RegionSystem.java | 38 + .../de/steamwar/bausystem/regionnew/Tile.java | 69 + .../regionnew/fixed/FixedRegionImpl.java | 198 +++ .../regionnew/fixed/FixedRegionSystem.java | 58 + .../modular/ModularRegionSystem.java | 67 + 15 files changed, 2108 insertions(+), 981 deletions(-) create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/region/TileActionBar.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/ChangedMode.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/TestblockMode.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/GlobalRegion.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/Region.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/RegionSystem.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/Tile.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionImpl.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionSystem.java create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/regionnew/modular/ModularRegionSystem.java diff --git a/BauSystem_Main/src/BauSystem.properties b/BauSystem_Main/src/BauSystem.properties index 6f50f73f..2ab091d8 100644 --- a/BauSystem_Main/src/BauSystem.properties +++ b/BauSystem_Main/src/BauSystem.properties @@ -16,90 +16,118 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -PREFIX=§eBau§8System§8» -TIME=HH:mm:ss + +PREFIX = §eBau§8System§8» +TIME = HH:mm:ss DATE=........ COMMAND_HELP_HEAD=§7---=== (§e{0}§7) ===--- ONLY_SCHEMS=§cFolders are unselectable + PAGE_LIST=§e Page ({0}/{1}) »» LIST_PREVIOUS_PAGE=§ePrevious page LIST_NEXT_PAGE=§eNext page + # Permissions -NO_PERMISSION=You are not allowed to use that here -SPECTATOR=§fSpectator +NO_PERMISSION = You are not allowed to use that here +SPECTATOR = §fSpectator + # Scoreboard -SCOREBOARD_TIME=Time -SCOREBOARD_REGION=Region -SCOREBOARD_TRACE=Trace -SCOREBOARD_LOADER=Loader -SCOREBOARD_TPS=TPS -SCOREBOARD_TPS_FROZEN=§eFrozen -SCOREBOARD_TRACE_TICKS=Ticks -SCOREBOARD_TECHHIDER=TechHider§8: §aOn -SCOREBOARD_XRAY=XRay§8: §aOn -SCOREBOARD_LOCK_TEAM=Bau Lock§8: §eTeam -SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM=Bau Lock§8: §e(Server) Team -SCOREBOARD_LOCK_SERVERTEAM=Bau Lock§8: §eServer Team -SCOREBOARD_LOCK_NOBODY=Bau Lock§8: §cNobody +SCOREBOARD_TIME = Time +SCOREBOARD_REGION = Region +SCOREBOARD_TRACE = Trace +SCOREBOARD_LOADER = Loader +SCOREBOARD_TPS = TPS +SCOREBOARD_TPS_FROZEN = §eFrozen + +SCOREBOARD_TRACE_TICKS = Ticks + +SCOREBOARD_TECHHIDER = TechHider§8: §aOn +SCOREBOARD_XRAY = XRay§8: §aOn + +SCOREBOARD_LOCK_TEAM = Bau Lock§8: §eTeam +SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM = Bau Lock§8: §e(Server) Team +SCOREBOARD_LOCK_SERVERTEAM = Bau Lock§8: §eServer Team +SCOREBOARD_LOCK_NOBODY = Bau Lock§8: §cNobody + # Flags -FLAG_COLOR=Color -FLAG_TNT=TNT -FLAG_FIRE=Fire -FLAG_FREEZE=Freeze -FLAG_PROTECT=Protect -FLAG_ITEMS=Items -FLAG_FIRE_ALLOW=§con -FLAG_FIRE_DENY=§aoff -FLAG_FREEZE_ACTIVE=§aon -FLAG_FREEZE_INACTIVE=§coff -FLAG_PROTECT_ACTIVE=§aon -FLAG_PROTECT_INACTIVE=§coff -FLAG_TNT_ALLOW=§aon -FLAG_TNT_DENY=§coff -FLAG_TNT_ONLY_TB=§7no §ebuild area -FLAG_TNT_ONLY_BUILD=§7no §etestblock area -FLAG_ITEMS_ACTIVE=§aon -FLAG_ITEMS_INACTIVE=§coff -FLAG_COLOR_WHITE=§fWhite -FLAG_COLOR_ORANGE=§6Orange -FLAG_COLOR_MAGENTA=§dMagenta -FLAG_COLOR_LIGHT_BLUE=§bLight blue -FLAG_COLOR_YELLOW=§eYellow -FLAG_COLOR_LIME=§aLime +FLAG_COLOR = Color +FLAG_TNT = TNT +FLAG_FIRE = Fire +FLAG_FREEZE = Freeze +FLAG_PROTECT = Protect +FLAG_ITEMS = Items +FLAG_TESTBLOCK = Testblock +FLAG_CHANGED = Changed + +FLAG_FIRE_ALLOW = §con +FLAG_FIRE_DENY = §aoff + +FLAG_FREEZE_ACTIVE = §aon +FLAG_FREEZE_INACTIVE = §coff + +FLAG_PROTECT_ACTIVE = §aon +FLAG_PROTECT_INACTIVE = §coff + +FLAG_TNT_ALLOW = §aon +FLAG_TNT_DENY = §coff +FLAG_TNT_ONLY_TB = §7no §ebuild area +FLAG_TNT_ONLY_BUILD = §7no §etestblock area + +FLAG_ITEMS_ACTIVE = §aon +FLAG_ITEMS_INACTIVE = §coff + +FLAG_COLOR_WHITE = §fWhite +FLAG_COLOR_ORANGE = §6Orange +FLAG_COLOR_MAGENTA = §dMagenta +FLAG_COLOR_LIGHT_BLUE = §bLight blue +FLAG_COLOR_YELLOW = §eYellow +FLAG_COLOR_LIME = §aLime ## This cannot be converted -FLAG_COLOR_PINK=§ePink -FLAG_COLOR_GRAY=§8Gray -FLAG_COLOR_LIGHT_GRAY=§7Light gray -FLAG_COLOR_CYAN=§3Cyan -FLAG_COLOR_PURPLE=§5Purple -FLAG_COLOR_BLUE=§1Blue +FLAG_COLOR_PINK = §ePink +FLAG_COLOR_GRAY = §8Gray +FLAG_COLOR_LIGHT_GRAY = §7Light gray +FLAG_COLOR_CYAN = §3Cyan +FLAG_COLOR_PURPLE = §5Purple +FLAG_COLOR_BLUE = §1Blue ## This cannot be converted -FLAG_COLOR_BROWN=§eBrown -FLAG_COLOR_GREEN=§2Green -FLAG_COLOR_RED=§cRed -FLAG_COLOR_BLACK=§0Black +FLAG_COLOR_BROWN = §eBrown +FLAG_COLOR_GREEN = §2Green +FLAG_COLOR_RED = §cRed +FLAG_COLOR_BLACK = §0Black + +FLAG_TESTBLOCK_NO_VALUE = §eNo Value +FLAG_TESTBLOCK_NORTH = §eNorth +FLAG_TESTBLOCK_SOUTH = §eSouth + +FLAG_CHANGED_NO_CHANGE = §cNo +FLAG_CHANGED_HAS_CHANGE = §aYes + # Region -REGION_TYPE_NORMAL=Normal -REGION_TYPE_BUILD=Build area -REGION_TYPE_ONLY_TB=Dummy +REGION_TYPE_NORMAL = Normal +REGION_TYPE_BUILD = Build area +REGION_TYPE_ONLY_TB = Dummy + # AttributesCopy -ATTRIBUTES_CANT_COPY=§cYou need to hold the same item type and hover over the same block to copy. -ATTRIBUTES_NO_COPY=§cNo attributes to copy. -ATTRIBUTES_COPIED=§eAttributes copied. -ATTRIBUTE_REMOVE_COMMAND_HELP=§8/§eattributeremove §8[§eattribute§8|§7all§8|§7*§8] -ATTRIBUTE_REMOVE_ALL=§eAll attributes removed. -ATTRIBUTE_REMOVE_SINGLE=§eAttribute §7{0}§e removed. -ATTRIBUTE_REMOVE_NOT_FOUND=§cAttribute not found +ATTRIBUTES_CANT_COPY = §cYou need to hold the same item type and hover over the same block to copy. +ATTRIBUTES_NO_COPY = §cNo attributes to copy. +ATTRIBUTES_COPIED = §eAttributes copied. + +ATTRIBUTE_REMOVE_COMMAND_HELP = §8/§eattributeremove §8[§eattribute§8|§7all§8|§7*§8] +ATTRIBUTE_REMOVE_ALL = §eAll attributes removed. +ATTRIBUTE_REMOVE_SINGLE = §eAttribute §7{0}§e removed. +ATTRIBUTE_REMOVE_NOT_FOUND = §cAttribute not found + # AutoStart -AUTOSTART_COMMAND_HELP=§8/§etimer §8- §7Retrieve AutostartTimer Tool -AUTOSTART_ITEM_NAME=§eAutostartTimer -AUTOSTART_ITEM_LORE=§eRight Click Block §8- §7Start Timer -AUTOSTART_MESSAGE_NO_REGION=§cYou are not inside any region -AUTOSTART_MESSAGE_RESET=§eAutostartTimer restarted -AUTOSTART_MESSAGE_START=§eAutostartTimer started -AUTOSTART_MESSAGE_RESULT1=§eTime §7until §eexplosion §7at enemy§8:§e {0}§7 game ticks -AUTOSTART_MESSAGE_RESULT2=§7Time difference in §egame-ticks §7until {0} seconds§8:§e {1} -AUTOSTART_MESSAGE_RESULT3=§7positive, if too few, negative if too many +AUTOSTART_COMMAND_HELP = §8/§etimer §8- §7Retrieve AutostartTimer Tool +AUTOSTART_ITEM_NAME = §eAutostartTimer +AUTOSTART_ITEM_LORE = §eRight Click Block §8- §7Start Timer +AUTOSTART_MESSAGE_NO_REGION = §cYou are not inside any region +AUTOSTART_MESSAGE_RESET = §eAutostartTimer restarted +AUTOSTART_MESSAGE_START = §eAutostartTimer started +AUTOSTART_MESSAGE_RESULT1 = §eTime §7until §eexplosion §7at enemy§8:§e {0}§7 game ticks +AUTOSTART_MESSAGE_RESULT2 = §7Time difference in §egame-ticks §7until {0} seconds§8:§e {1} +AUTOSTART_MESSAGE_RESULT3 = §7positive, if too few, negative if too many + # Backup BACKUP_HELP_CREATE=§8/§ebackup create §8- §7Create a region backup BACKUP_HELP_LOAD=§8/§ebackup load §8[§7BackupName§8] §8- §7Load a region backup @@ -116,38 +144,44 @@ BACKUP_LOAD=§7Backup loaded BACKUP_INV_NAME=§eBackup BACKUP_ITEM_NAME=§eBackup §7from §e{0} BACKUP_LORE=§eClick to load + # Bau -BAU_COMMAND_HELP_INFO=§8/§ebau info §8- §7Alias for §8/§ebauinfo -BAU_INFO_ITEM_NAME=§eBau-Management +BAU_COMMAND_HELP_INFO = §8/§ebau info §8- §7Alias for §8/§ebauinfo + +BAU_INFO_ITEM_NAME = §eBau-Management ## This is used in BauInfoBauGuiItem.java -BAU_INFO_ITEM_LORE_TNT=§7TNT§8: §e{0} -BAU_INFO_ITEM_LORE_FREEZE=§7Freeze§8: §e{0} -BAU_INFO_ITEM_LORE_FIRE=§7Fire§8: §e{0} -BAU_INFO_ITEM_LORE_COLOR=§7Color§8: §e{0} -BAU_INFO_ITEM_LORE_PROTECT=§7Protect§8: §e{0} -BAU_INFO_ITEM_LORE_ITEMS=§7Items§8: §e{0} -BAU_INFO_COMMAND_HELP=§8/§ebauinfo §8- §7Information regarding this build server -BAU_INFO_COMMAND_OWNER=§7Owner§8: §e{0} -BAU_INFO_COMMAND_MEMBER=§7{0} §8[§7{1}§8]§8: §e{2} -BAU_INFO_COMMAND_FLAG=§7{0}§8: §7{1} -BAU_INFO_COMMAND_TPS=§7TPS§8:§e +BAU_INFO_ITEM_LORE_TNT = §7TNT§8: §e{0} +BAU_INFO_ITEM_LORE_FREEZE = §7Freeze§8: §e{0} +BAU_INFO_ITEM_LORE_FIRE = §7Fire§8: §e{0} +BAU_INFO_ITEM_LORE_COLOR = §7Color§8: §e{0} +BAU_INFO_ITEM_LORE_PROTECT = §7Protect§8: §e{0} +BAU_INFO_ITEM_LORE_ITEMS = §7Items§8: §e{0} + +BAU_INFO_COMMAND_HELP = §8/§ebauinfo §8- §7Information regarding this build server +BAU_INFO_COMMAND_OWNER = §7Owner§8: §e{0} +BAU_INFO_COMMAND_MEMBER = §7Member §8[§7{0}§8]§8: §e +BAU_INFO_COMMAND_FLAG = §7{0}§8: §7{1} +BAU_INFO_COMMAND_TPS = §7TPS§8:§e + # Countingwand -COUNTINGWAND_COMMAND_HELP=§8/§ecountingwand §8- §7Receive a CountingWand -COUNTINGWAND_ITEM_NAME=§eMeterstick -COUNTINGWAND_ITEM_LORE1=§eLeft-Click §8- §7Set the first position -COUNTINGWAND_ITEM_LORE2=§eRicht-Click §8- §7Set the second position -COUNTINGWAND_MESSAGE_RCLICK=§7First position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_LCLICK=§7Second position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_VOLUME=§e{0} -COUNTINGWAND_MESSAGE_DIMENSION=§e{0}§8, §e{1}§8, §e{2} +COUNTINGWAND_COMMAND_HELP = §8/§ecountingwand §8- §7Receive a CountingWand +COUNTINGWAND_ITEM_NAME = §eMeterstick +COUNTINGWAND_ITEM_LORE1 = §eLeft-Click §8- §7Set the first position +COUNTINGWAND_ITEM_LORE2 = §eRicht-Click §8- §7Set the second position +COUNTINGWAND_MESSAGE_RCLICK = §7First position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_LCLICK = §7Second position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_VOLUME = §e{0} +COUNTINGWAND_MESSAGE_DIMENSION = §e{0}§8, §e{1}§8, §e{2} + # Design Endstone -DESIGN_ENDSTONE_COMMAND_HELP=§8/§edesignendstone §8- §7Highlight endstone in design -DESIGN_ENDSTONE_REGION_ERROR=§cThis region has no build area -DESIGN_ENDSTONE_ENABLE=§aEndstone is highlighted -DESIGN_ENDSTONE_DISABLE=§cEndstone is no longer hightlighted +DESIGN_ENDSTONE_COMMAND_HELP = §8/§edesignendstone §8- §7Highlight endstone in design +DESIGN_ENDSTONE_REGION_ERROR = §cThis region has no build area +DESIGN_ENDSTONE_ENABLE = §aEndstone is highlighted +DESIGN_ENDSTONE_DISABLE = §cEndstone is no longer hightlighted + # Detonator -DETONATOR_LOC_REMOVE=§e{0} removed -DETONATOR_LOC_ADD=§e{0} added +DETONATOR_LOC_REMOVE = §e{0} removed +DETONATOR_LOC_ADD = §e{0} added DETONATOR_BUTTON_SWITCH=Lever DETONATOR_BUTTON_WOOD_BUTTON=Button DETONATOR_BUTTON_STONE_BUTTON=Button @@ -194,231 +228,263 @@ GUI_EDITOR_ITEM_TRASH_LORE=§7Drop item here GUI_EDITOR_ITEM_MORE=§eMore items GUI_EDITOR_ITEM_CLOSE=§eClose GUI_EDITOR_TITLE_MORE=Select item + # Script ## Errors SCRIPT_ERROR_GUI=§cError in parsing script: Line {0} SCRIPT_ERROR_GLOBAL=§cError in global script: Line {0} SCRIPT_ERROR_CLICK=§cError in script: Line {0} SCRIPT_ERROR_ONLY_IN_GLOBAL=§cThis function is only available in global scripts + ## CustomScript -SCRIPT_HOTKEY_ITEM_NAME=§7Hotkey§8: §e{0} -SCRIPT_EVENT_ITEM_NAME=§7Event§8: §e{0} -SCRIPT_COMMAND_ITEM_NAME=§7Command§8: §e/{0} +SCRIPT_HOTKEY_ITEM_NAME = §7Hotkey§8: §e{0} +SCRIPT_EVENT_ITEM_NAME = §7Event§8: §e{0} +SCRIPT_COMMAND_ITEM_NAME = §7Command§8: §e/{0} + ## Script Menu GUI -SCRIPT_MENU_GUI_ITEM_LORE_1=§7Click to retrieve -SCRIPT_MENU_GUI_ITEM_LORE_2=§7Shift-Click to copy -SCRIPT_MENU_GUI_ITEM_LORE_3=§7Right-Click to edit -SCRIPT_MENU_GUI_ITEM_LORE_4=§7Middle-Click to preview -SCRIPT_MENU_GUI_NAME=§eScript-Menu -SCRIPT_MENU_GUI_ITEM_ADD_NAME=§eInsert -SCRIPT_MENU_GUI_ITEM_ADD_LORE=§7Click with a book to insert -SCRIPT_MENU_GUI_ENTER_NAME=§eEnter a name +SCRIPT_MENU_GUI_ITEM_LORE_1 = §7Click to retrieve +SCRIPT_MENU_GUI_ITEM_LORE_2 = §7Shift-Click to copy +SCRIPT_MENU_GUI_ITEM_LORE_3 = §7Right-Click to edit +SCRIPT_MENU_GUI_ITEM_LORE_4 = §7Middle-Click to preview +SCRIPT_MENU_GUI_NAME = §eScript-Menu +SCRIPT_MENU_GUI_ITEM_ADD_NAME = §eInsert +SCRIPT_MENU_GUI_ITEM_ADD_LORE = §7Click with a book to insert + +SCRIPT_MENU_GUI_ENTER_NAME = §eEnter a name SCRIPT_DEPRECATED=§cThe function §8\'§e{0}§8\'§c is deprecated and will be removed in the future. Please use §8\'§e{1}§8\'§c instead. + # Shield Printing -SHIELD_PRINTING_HELP_START=§8/§eshieldprinting start §8- §7Starts the shield printing -SHIELD_PRINTING_HELP_COPY=§8/§eshieldprinting copy §8- §7Copies the shield configuration -SHIELD_PRINTING_HELP_APPLY=§8/§eshieldprinting apply §8- §7Applies the shield configuration -SHIELD_PRINTING_HELP_STOP=§8/§eshieldprinting stop §8- §7Stops the shield printing -SHIELD_PRINTING_HELP_STEP_1=§81. §7Paste the schematic you want to use -SHIELD_PRINTING_HELP_STEP_2=§82. §7Start the shield printing with §8/§eshieldprinting start -SHIELD_PRINTING_HELP_STEP_3=§83. §7Wait until the shield printing is finished -SHIELD_PRINTING_HELP_STEP_4=§84. §7Edit the shields if necessary -SHIELD_PRINTING_HELP_STEP_5=§85. §7Copy the shields printing with §8/§eshieldprinting copy -SHIELD_PRINTING_HELP_STEP_6=§86. §7Paste the original schematic -SHIELD_PRINTING_HELP_STEP_7=§87. §7Apply the shield printing with §8/§eshieldprinting apply -SHIELD_PRINTING_NO_REGION=§cYou are not in a region. -SHIELD_PRINTING_NOT_RUNNING=§cThe shield printing is not running. -SHIELD_PRINTING_BOSSBAR=§fMovements: {0} -SHIELD_PRINTING_BOSSBAR_COPIED=§fMovements: {0} Copied: {1} -SHIELD_PRINTING_GUI_NAME=§7Shield Printing -SHIELD_PRINTING_GUI_APPLY=§aApply -SHIELD_PRINTING_GUI_STATE_PREVIOUS=§7R-Click§8: §7Previous -SHIELD_PRINTING_GUI_STATE_NEXT=§7L-Click§8: §7Next -SHIELD_PRINTING_GUI_STATE_ACTIVE=§e> §7{0} -SHIELD_PRINTING_GUI_STATE_INACTIVE=§8> §7{0} -SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL=Original -SHIELD_PRINTING_GUI_STATE_FROM_COPY=Copy -SHIELD_PRINTING_GUI_STATE_ALWAYS_ON=On -SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF=Off -SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN=Open -SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED=Closed -SHIELD_PRINTING_GUI_STATE_FENCE=§7{0} §fFence Connections -SHIELD_PRINTING_GUI_STATE_OPENABLE=§7{0} §fOpened -SHIELD_PRINTING_GUI_STATE_PISTON=§7{0} §fExtended -SHIELD_PRINTING_GUI_STATE_POWERABLE=§7{0} §fPowered -SHIELD_PRINTING_GUI_STATE_WALL=§7{0} §fWall Connections -SHIELD_PRINTING_START=§aThe shield printing has been started. -SHIELD_PRINTING_COPY=§aThe shield has been copied. -SHIELD_PRINTING_APPLY=§aThe shield has been applied. -SHIELD_PRINTING_STOP=§aThe shield printing has been stopped. +SHIELD_PRINTING_HELP_START = §8/§eshieldprinting start §8- §7Starts the shield printing +SHIELD_PRINTING_HELP_COPY = §8/§eshieldprinting copy §8- §7Copies the shield configuration +SHIELD_PRINTING_HELP_APPLY = §8/§eshieldprinting apply §8- §7Applies the shield configuration +SHIELD_PRINTING_HELP_STOP = §8/§eshieldprinting stop §8- §7Stops the shield printing +SHIELD_PRINTING_HELP_STEP_1 = §81. §7Paste the schematic you want to use +SHIELD_PRINTING_HELP_STEP_2 = §82. §7Start the shield printing with §8/§eshieldprinting start +SHIELD_PRINTING_HELP_STEP_3 = §83. §7Wait until the shield printing is finished +SHIELD_PRINTING_HELP_STEP_4 = §84. §7Edit the shields if necessary +SHIELD_PRINTING_HELP_STEP_5 = §85. §7Copy the shields printing with §8/§eshieldprinting copy +SHIELD_PRINTING_HELP_STEP_6 = §86. §7Paste the original schematic +SHIELD_PRINTING_HELP_STEP_7 = §87. §7Apply the shield printing with §8/§eshieldprinting apply + +SHIELD_PRINTING_NO_REGION = §cYou are not in a region. +SHIELD_PRINTING_NOT_RUNNING = §cThe shield printing is not running. +SHIELD_PRINTING_BOSSBAR = §fMovements: {0} +SHIELD_PRINTING_BOSSBAR_COPIED = §fMovements: {0} Copied: {1} + +SHIELD_PRINTING_GUI_NAME = §7Shield Printing +SHIELD_PRINTING_GUI_APPLY = §aApply +SHIELD_PRINTING_GUI_STATE_PREVIOUS = §7R-Click§8: §7Previous +SHIELD_PRINTING_GUI_STATE_NEXT = §7L-Click§8: §7Next +SHIELD_PRINTING_GUI_STATE_ACTIVE = §e> §7{0} +SHIELD_PRINTING_GUI_STATE_INACTIVE = §8> §7{0} +SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL = Original +SHIELD_PRINTING_GUI_STATE_FROM_COPY = Copy +SHIELD_PRINTING_GUI_STATE_ALWAYS_ON = On +SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF = Off +SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN = Open +SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED = Closed +SHIELD_PRINTING_GUI_STATE_FENCE = §7{0} §fFence Connections +SHIELD_PRINTING_GUI_STATE_OPENABLE = §7{0} §fOpened +SHIELD_PRINTING_GUI_STATE_PISTON = §7{0} §fExtended +SHIELD_PRINTING_GUI_STATE_POWERABLE = §7{0} §fPowered +SHIELD_PRINTING_GUI_STATE_WALL = §7{0} §fWall Connections + +SHIELD_PRINTING_START = §aThe shield printing has been started. +SHIELD_PRINTING_COPY = §aThe shield has been copied. +SHIELD_PRINTING_APPLY = §aThe shield has been applied. +SHIELD_PRINTING_STOP = §aThe shield printing has been stopped. + # Unsign Book UNSIGN_HELP=§8/§eunsign §8- §7Make a signed book writable again + # Simulator -SIMULATOR_HELP=§8/§esimulator §8-§7 Gives you the simulator wand -SIMULATOR_CREATE_HELP=§8/§esimulator create §8[§7name§8] §8-§7 Create a new simulator -SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Change your simulator wand selection -SIMULATOR_DELETE_HELP=§8/§esimulator delete §8[§7name§8] §8-§7 Deletes the simulator -SIMULATOR_START_HELP=§8/§esimulator start §8[§7name§8] §8-§7 Starts the simulator -SIMULATOR_COPY_HELP=§8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Copy the simulator -SIMULATOR_GUI_ITEM_NAME=§eTNT Simulator -SIMULATOR_NO_SIM_IN_HAND=§cNo simulator item selected -SIMULATOR_GUI_SELECT_SIM=Simulator selection -SIMULATOR_GUI_CREATE_SIM=§eCreate simulator -SIMULATOR_GUI_CREATE_SIM_GUI=Create simulator -SIMULATOR_NAME_ALREADY_EXISTS=§cSimulator already exists -SIMULATOR_NAME_INVALID=§cInvalid name -SIMULATOR_ERROR_COPY=§cCopy failed -SIMULATOR_NOT_EXISTS=§cSimulator does not exist -SIMULATOR_CREATE=§aSimulator created -SIMULATOR_EDIT_LOCATION=§7Edit position -SIMULATOR_EDIT_PROPERTIES=§7Edit properties -SIMULATOR_EDIT_OTHER=§7Edit other -SIMULATOR_EDIT_GROUP=§7Edit group -SIMULATOR_EDIT_GROUP_MENU=§eEdit group -SIMULATOR_WAND_NAME=§eSimulator -SIMULATOR_WAND_NAME_SELECTED=§7Simulator §8- §e{0} -SIMULATOR_WAND_LORE_1=§eRight click §8- §7Adds a position -SIMULATOR_WAND_LORE_2=§eSneaking §8- §7Free movement -SIMULATOR_WAND_LORE_3=§eLeft click §8- §7Start the simulation -SIMULATOR_WAND_LORE_4=§eRight click in air §8- §7Opens the gui -SIMULATOR_WAND_LORE_5=§eDouble Sneak §8- §7Swap between TNT and Redstone Block -SIMULATOR_REGION_FROZEN=§cSimulator cannot be used inside frozen regions +SIMULATOR_HELP = §8/§esimulator §8-§7 Gives you the simulator wand +SIMULATOR_CREATE_HELP = §8/§esimulator create §8[§7name§8] §8-§7 Create a new simulator +SIMULATOR_CHANGE_HELP = §8/§esimulator change §8-§7 Change your simulator wand selection +SIMULATOR_DELETE_HELP = §8/§esimulator delete §8[§7name§8] §8-§7 Deletes the simulator +SIMULATOR_START_HELP = §8/§esimulator start §8[§7name§8] §8-§7 Starts the simulator +SIMULATOR_COPY_HELP = §8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Copy the simulator + +SIMULATOR_GUI_ITEM_NAME = §eTNT Simulator + +SIMULATOR_NO_SIM_IN_HAND = §cNo simulator item selected +SIMULATOR_GUI_SELECT_SIM = Simulator selection +SIMULATOR_GUI_CREATE_SIM = §eCreate simulator +SIMULATOR_GUI_CREATE_SIM_GUI = Create simulator +SIMULATOR_NAME_ALREADY_EXISTS = §cSimulator already exists +SIMULATOR_NAME_INVALID = §cInvalid name +SIMULATOR_ERROR_COPY = §cCopy failed +SIMULATOR_NOT_EXISTS = §cSimulator does not exist +SIMULATOR_CREATE = §aSimulator created +SIMULATOR_EDIT_LOCATION = §7Edit position +SIMULATOR_EDIT_PROPERTIES = §7Edit properties +SIMULATOR_EDIT_OTHER = §7Edit other +SIMULATOR_EDIT_GROUP = §7Edit group + +SIMULATOR_EDIT_GROUP_MENU = §eEdit group + +SIMULATOR_WAND_NAME = §eSimulator +SIMULATOR_WAND_NAME_SELECTED = §7Simulator §8- §e{0} +SIMULATOR_WAND_LORE_1 = §eRight click §8- §7Adds a position +SIMULATOR_WAND_LORE_2 = §eSneaking §8- §7Free movement +SIMULATOR_WAND_LORE_3 = §eLeft click §8- §7Start the simulation +SIMULATOR_WAND_LORE_4 = §eRight click in air §8- §7Opens the gui +SIMULATOR_WAND_LORE_5 = §eDouble Sneak §8- §7Swap between TNT and Redstone Block + +SIMULATOR_REGION_FROZEN = §cSimulator cannot be used inside frozen regions + ## Other -SIMULATOR_PLUS_ONE=§7+1 -SIMULATOR_PLUS_PIXEL_SHIFT=§eShift §7Click for §e+0,0625 -SIMULATOR_PLUS_FIVE_SHIFT=§eShift §7Click for §e+5 -SIMULATOR_MINUS_ONE=§7-1 -SIMULATOR_MINUS_PIXEL_SHIFT=§eShift §7Click for §e-0,0625 -SIMULATOR_MINUS_FIVE_SHIFT=§eShift §7Click for §e-5 -SIMULATOR_POSITION_X=§7x-Position -SIMULATOR_POSITION_Y=§7y-Position -SIMULATOR_POSITION_Z=§7z-Position -SIMULATOR_BACK=§eBack -SIMULATOR_GUI_TOTAL_TNT=§7Total TNT§8: §e{0} -SIMULATOR_DELETED=§cSimulator deleted +SIMULATOR_PLUS_ONE = §7+1 +SIMULATOR_PLUS_PIXEL_SHIFT = §eShift §7Click for §e+0,0625 +SIMULATOR_PLUS_FIVE_SHIFT = §eShift §7Click for §e+5 +SIMULATOR_MINUS_ONE = §7-1 +SIMULATOR_MINUS_PIXEL_SHIFT = §eShift §7Click for §e-0,0625 +SIMULATOR_MINUS_FIVE_SHIFT = §eShift §7Click for §e-5 +SIMULATOR_POSITION_X = §7x-Position +SIMULATOR_POSITION_Y = §7y-Position +SIMULATOR_POSITION_Z = §7z-Position +SIMULATOR_BACK = §eBack + +SIMULATOR_GUI_TOTAL_TNT = §7Total TNT§8: §e{0} + +SIMULATOR_DELETED = §cSimulator deleted + ## GUI -SIMULATOR_POSITION_EDIT=§eEdit position -SIMULATOR_POSITION_ADD=§eSet position -SIMULATOR_GUI_TNT_SPAWN_NAME=§eTNT -SIMULATOR_GUI_TNT_SPAWN_LORE_1=§7TNT-Count§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_2=§7Tick§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_3=§7Lifespan§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_4=§7 -SIMULATOR_GUI_TNT_SPAWN_LORE_5=§7x§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_6=§7y§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_7=§7z§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_NAME=§eTNT group -SIMULATOR_GUI_TNT_GROUP_LORE_1=§7Element count§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_2=§7Tick§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_3=§7 -SIMULATOR_GUI_TNT_GROUP_LORE_4=§7x§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_5=§7y§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_6=§7z§8: §e{0} -SIMULATOR_GUI_TNT_DISABLED=§cDisabled -SIMULATOR_GUI_NAME=Simulator -SIMULATOR_GUI_DELETE=§cDelete TNT -SIMULATOR_GUI_AUTO_TRACE=§eAutoTrace§8: §7{0} -SIMULATOR_GUI_MOVE_ALL=§eMove all -SIMULATOR_ALIGNMENT_CENTER=§7Alignment§8: §eCenter -SIMULATOR_ALIGNMENT_POSITIVE_X=§7Alignment§8: §ePositive X -SIMULATOR_ALIGNMENT_NEGATIVE_X=§7Alignment§8: §eNegative X -SIMULATOR_ALIGNMENT_POSITIVE_Z=§7Alignment§8: §ePositive Z -SIMULATOR_ALIGNMENT_NEGATIVE_Z=§7Alignment§8: §eNegative Z -SIMULATOR_MOVE_ALL_GUI_NAME=Move TNT -SIMULATOR_TNT_SPAWN_GUI_NAME=Configure TNT {0} -SIMULATOR_TNT_SPAWN_EDIT_LOCATION=- Location -SIMULATOR_TNT_SPAWN_EDIT_PROPERTIES=- Properties -SIMULATOR_TNT_SPAWN_EDIT_OTHER=- Other -SIMULATOR_TNT_SPAWN_LORE=§eClick to change -SIMULATOR_TNT_SPAWN_COUNT=§7TNT-Count §8- §e{0} -SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME=TNT-Count -SIMULATOR_TNT_SPAWN_TICK=§7Tick §8- §e{0} -SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME=Tick offset -SIMULATOR_TNT_SPAWN_FUSE=§7Lifespan §8- §e{0} -SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME=Fuse-Ticks -SIMULATOR_TNT_SPAWN_VELOCITY_NAME=§7TNT -SIMULATOR_TNT_SPAWN_VELOCITY_X=§7TNT §eJump X §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Y=§7TNT §eJump Y §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Z=§7TNT §eJump Z §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_ON=§aon -SIMULATOR_TNT_SPAWN_VELOCITY_OFF=§coff -SIMULATOR_TNT_SPAWN_POSITION_X=§7x-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Y=§7y-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Z=§7z-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_NAME=§7Primed by -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH=§7Primed by §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR=Comparator -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER=Repeater -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER=Observer -SIMULATOR_TNT_SPAWN_INACTIVE=§7> §7{0} -SIMULATOR_TNT_SPAWN_ACTIVE=§e> §7{0} -SIMULATOR_TNT_SPAWN_MATERIAL=§eMaterial -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1=§7Current material§8: §e{0} -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2=§eLeft-Click §7to change -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3=§eRight-Click §7to reset -SIMULATOR_TNT_SPAWN_ENABLED=§aEnabled -SIMULATOR_TNT_SPAWN_DISABLED=§cDisabled -SIMULATOR_MATERIAL_GUI_NAME=Change material -SIMULATOR_MATERIAL_NAME=§e{0} -SIMULATOR_MATERIAL_NAME_LORE=§7Material §8- §e{0} -SIMULATOR_MATERIAL_CLICK=§eClick to choose -SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE=§eAdd prime phase -SIMULATOR_TNT_SPAWN_ADD_TNT=§eAdd TNT -SIMULATOR_TNT_SPAWN_REMOVE_TNT=§cRemove -SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME=Position +SIMULATOR_POSITION_EDIT = §eEdit position +SIMULATOR_POSITION_ADD = §eSet position +SIMULATOR_GUI_TNT_SPAWN_NAME = §eTNT +SIMULATOR_GUI_TNT_SPAWN_LORE_1 = §7TNT-Count§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_2 = §7Tick§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_3 = §7Lifespan§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_4 = §7 +SIMULATOR_GUI_TNT_SPAWN_LORE_5 = §7x§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_6 = §7y§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_7 = §7z§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_NAME = §eTNT group +SIMULATOR_GUI_TNT_GROUP_LORE_1 = §7Element count§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_2 = §7Tick§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_3 = §7 +SIMULATOR_GUI_TNT_GROUP_LORE_4 = §7x§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_5 = §7y§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_6 = §7z§8: §e{0} +SIMULATOR_GUI_TNT_DISABLED = §cDisabled +SIMULATOR_GUI_NAME = Simulator +SIMULATOR_GUI_DELETE = §cDelete TNT +SIMULATOR_GUI_AUTO_TRACE = §eAutoTrace§8: §7{0} +SIMULATOR_GUI_MOVE_ALL = §eMove all + +SIMULATOR_ALIGNMENT_CENTER = §7Alignment§8: §eCenter +SIMULATOR_ALIGNMENT_POSITIVE_X = §7Alignment§8: §ePositive X +SIMULATOR_ALIGNMENT_NEGATIVE_X = §7Alignment§8: §eNegative X +SIMULATOR_ALIGNMENT_POSITIVE_Z = §7Alignment§8: §ePositive Z +SIMULATOR_ALIGNMENT_NEGATIVE_Z = §7Alignment§8: §eNegative Z + +SIMULATOR_MOVE_ALL_GUI_NAME = Move TNT + +SIMULATOR_TNT_SPAWN_GUI_NAME = Configure TNT {0} +SIMULATOR_TNT_SPAWN_EDIT_LOCATION = - Location +SIMULATOR_TNT_SPAWN_EDIT_PROPERTIES = - Properties +SIMULATOR_TNT_SPAWN_EDIT_OTHER = - Other +SIMULATOR_TNT_SPAWN_LORE = §eClick to change +SIMULATOR_TNT_SPAWN_COUNT = §7TNT-Count §8- §e{0} +SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME = TNT-Count +SIMULATOR_TNT_SPAWN_TICK = §7Tick §8- §e{0} +SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME = Tick offset +SIMULATOR_TNT_SPAWN_FUSE = §7Lifespan §8- §e{0} +SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME = Fuse-Ticks +SIMULATOR_TNT_SPAWN_VELOCITY_NAME = §7TNT +SIMULATOR_TNT_SPAWN_VELOCITY_X = §7TNT §eJump X §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Y = §7TNT §eJump Y §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Z = §7TNT §eJump Z §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_ON = §aon +SIMULATOR_TNT_SPAWN_VELOCITY_OFF = §coff +SIMULATOR_TNT_SPAWN_POSITION_X = §7x-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Y = §7y-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Z = §7z-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_NAME = §7Primed by +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH = §7Primed by §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR = Comparator +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER = Repeater +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER = Observer +SIMULATOR_TNT_SPAWN_INACTIVE = §7> §7{0} +SIMULATOR_TNT_SPAWN_ACTIVE = §e> §7{0} +SIMULATOR_TNT_SPAWN_MATERIAL = §eMaterial +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1 = §7Current material§8: §e{0} +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2 = §eLeft-Click §7to change +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3 = §eRight-Click §7to reset +SIMULATOR_TNT_SPAWN_ENABLED = §aEnabled +SIMULATOR_TNT_SPAWN_DISABLED = §cDisabled +SIMULATOR_MATERIAL_GUI_NAME = Change material +SIMULATOR_MATERIAL_NAME = §e{0} +SIMULATOR_MATERIAL_NAME_LORE = §7Material §8- §e{0} +SIMULATOR_MATERIAL_CLICK = §eClick to choose +SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE = §eAdd prime phase +SIMULATOR_TNT_SPAWN_ADD_TNT = §eAdd TNT +SIMULATOR_TNT_SPAWN_REMOVE_TNT = §cRemove +SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME = Position + # SmartPlace -SMART_PLACE_HELP=§8/§esmartplace §8-§7 Toggles SmartPlace -SMART_PLACE_INFO=§7Places rotatable blocks §eaway§7 from you when §esneaking§7. -SMART_PLACE_ENABLE=§aSmartPlace activated -SMART_PLACE_DISABLE=§cSmartPlace deactivated +SMART_PLACE_HELP = §8/§esmartplace §8-§7 Toggles SmartPlace +SMART_PLACE_INFO = §7Places rotatable blocks §eaway§7 from you when §esneaking§7. +SMART_PLACE_ENABLE = §aSmartPlace activated +SMART_PLACE_DISABLE = §cSmartPlace deactivated + # InventoryFiller -INVENTORY_FILL_HELP=§8/§einventoryfill §8- §7Toggles InventoryFill -INVENTORY_FILL_INFO=§7Helps you fill containers by looking at them while sneaking and dropping the item. Or just scroll on a container to change the amount of the item inside. -INVENTORY_FILL_ENABLE=§aInventoryFiller activated -INVENTORY_FILL_DISABLE=§cInventoryFiller deactivated +INVENTORY_FILL_HELP = §8/§einventoryfill §8- §7Toggles InventoryFill +INVENTORY_FILL_INFO = §7Helps you fill containers by looking at them while sneaking and dropping the item. Or just scroll on a container to change the amount of the item inside. +INVENTORY_FILL_ENABLE = §aInventoryFiller activated +INVENTORY_FILL_DISABLE = §cInventoryFiller deactivated + # Killchecker -KILLCHECKER_HELP_ENABLE=§8/§ekillchecker enable §8- §7Enables Killchecker / Recalculates kills -KILLCHECKER_HELP_DISABLE=§8/§ekillchecker disable §8- §7Disables Killchecker -KILLCHECKER_INFO=§7Shows the overlaps of cannon kills in your build area. -KILLCHECKER_INFO2=§7Only colorable blocks like Wool, Terractotta, Stained Glass and Concrete are counted. -KILLCHECKER_ENABLE=§aKillchecker activated -KILLCHECKER_DISABLE=§cKillchecker deactivated -KILLCHECKER_BOSSBAR=§e§l{0} §7(§e{1}%§7) §e§l{2}§7 cannons +KILLCHECKER_HELP_ENABLE = §8/§ekillchecker enable §8- §7Enables Killchecker / Recalculates kills +KILLCHECKER_HELP_DISABLE = §8/§ekillchecker disable §8- §7Disables Killchecker +KILLCHECKER_INFO = §7Shows the overlaps of cannon kills in your build area. +KILLCHECKER_INFO2 = §7Only colorable blocks like Wool, Terractotta, Stained Glass and Concrete are counted. +KILLCHECKER_ENABLE = §aKillchecker activated +KILLCHECKER_DISABLE = §cKillchecker deactivated +KILLCHECKER_BOSSBAR = §e§l{0} §7(§e{1}%§7) §e§l{2}§7 cannons + # BlockCounter -BLOCK_COUNTER_HELP_TOGGLE=§8/§eblockcounter §8- §7Toggle on/off -BLOCK_COUNTER_HELP_ENABLE=§8/§eblockcounter enable §8- §7Toggles BlockCounter on -BLOCK_COUNTER_HELP_DISABLE=§8/§eblockcounter disable §8- §7Toggles BlockCounter off -BLOCK_COUNTER_MESSAGE=§7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/tick -BLOCK_COUNTER_MESSAGE_SECOND=§7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/s -BLOCK_COUNTER_ENABLE=§7BlockCounter activated -BLOCK_COUNTER_DISABLE=§7BlockCounter deactivated +BLOCK_COUNTER_HELP_TOGGLE = §8/§eblockcounter §8- §7Toggle on/off +BLOCK_COUNTER_HELP_ENABLE = §8/§eblockcounter enable §8- §7Toggles BlockCounter on +BLOCK_COUNTER_HELP_DISABLE = §8/§eblockcounter disable §8- §7Toggles BlockCounter off +BLOCK_COUNTER_MESSAGE = §7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/tick +BLOCK_COUNTER_MESSAGE_SECOND = §7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/s +BLOCK_COUNTER_ENABLE = §7BlockCounter activated +BLOCK_COUNTER_DISABLE = §7BlockCounter deactivated + # DepthCounter -DEPTH_COUNTER_MESSAGE=§7Depth §8> §7 -DEPTH_COUNTER_COUNT={0}{1}§8×{2}{3}§8×{4}{5} -DEPTH_COUNTER_HOVER=§7X§8ק7Y§8ק7Z -DEPTH_COUNTER_TNT=§7 TNT§8: §e{0} +DEPTH_COUNTER_MESSAGE = §7Depth §8> §7 +DEPTH_COUNTER_COUNT = {0}{1}§8×{2}{3}§8×{4}{5} +DEPTH_COUNTER_HOVER = §7X§8ק7Y§8ק7Z +DEPTH_COUNTER_TNT = §7 TNT§8: §e{0} + # TPSLimit -TPSLIMIT_FREEZE_HELP=§8/§etpslimit 0 §8-§7 Freeze TPS -TPSLIMIT_LIMIT_HELP=§8/§etpslimit §8[§720>x>0.5§8] §8-§7 Slow TPS down -TPSLIMIT_WARP_HELP=§8/§etpslimit §8[§7x>20§8] §8-§7 Speed TPS up -TPSLIMIT_DEFAULT_HELP=§8/§etpslimit default §8-§7 Set TPS to 20 -TPSLIMIT_HELP=§8/§etpslimit §8-§7 Show current TPS -TICK_FREEZE_HELP=§8/§etick rate 0 §8-§7 Freeze TPS -TICK_FREEZE_HELP_2=§8/§etick freeze §8-§7 Freeze TPS -TICK_UNFREEZE_HELP=§8/§etick unfreeze §8-§7 Set TPS to 20 -TICK_LIMIT_HELP=§8/§etick rate §8[§720>x>0.5§8] §8-§7 Slow TPS down -TICK_WARP_HELP=§8/§etick rate §8[§7x>20§8] §8-§7 Speed TPS up -TICK_DEFAULT_HELP=§8/§etick rate default §8-§7 Set TPS to 20 -TICK_HELP=§8/§etick rate §8-§7 Show current TPS -TICK_STEPPING_HELP=§8/§etick step §8<§7Ticks§8> §8-§7 Step n ticks or 1 forward -TICK_WARPING_HELP=§8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warp n ticks or 1 forward -TICK_BOSSBAR=§7Skipped §e{0}§8/§7{1} -TPSLIMIT_GUI_ITEM_NAME=§eTPS limiter -TPSLIMIT_GUI_ITEM_LORE=§7Currently: §e{0} -TPSLIMIT_ANVIL_GUI=New TPS limit -TPSLIMIT_CURRENT=§7Current TPS limit§8: §e{0} -TPSLIMIT_SET=§eSet TPS limit to {0} -TPSLIMIT_FROZEN=§eTPS frozen +TPSLIMIT_FREEZE_HELP = §8/§etpslimit 0 §8-§7 Freeze TPS +TPSLIMIT_LIMIT_HELP = §8/§etpslimit §8[§720>x>0.5§8] §8-§7 Slow TPS down +TPSLIMIT_WARP_HELP = §8/§etpslimit §8[§7x>20§8] §8-§7 Speed TPS up +TPSLIMIT_DEFAULT_HELP = §8/§etpslimit default §8-§7 Set TPS to 20 +TPSLIMIT_HELP = §8/§etpslimit §8-§7 Show current TPS + +TICK_FREEZE_HELP = §8/§etick rate 0 §8-§7 Freeze TPS +TICK_FREEZE_HELP_2 = §8/§etick freeze §8-§7 Freeze TPS +TICK_UNFREEZE_HELP = §8/§etick unfreeze §8-§7 Set TPS to 20 +TICK_LIMIT_HELP = §8/§etick rate §8[§720>x>0.5§8] §8-§7 Slow TPS down +TICK_WARP_HELP = §8/§etick rate §8[§7x>20§8] §8-§7 Speed TPS up +TICK_DEFAULT_HELP = §8/§etick rate default §8-§7 Set TPS to 20 +TICK_HELP = §8/§etick rate §8-§7 Show current TPS + +TICK_STEPPING_HELP = §8/§etick step §8<§7Ticks§8> §8-§7 Step n ticks or 1 forward +TICK_WARPING_HELP = §8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warp n ticks or 1 forward + +TICK_BOSSBAR = §7Skipped §e{0}§8/§7{1} +TPSLIMIT_GUI_ITEM_NAME = §eTPS limiter +TPSLIMIT_GUI_ITEM_LORE = §7Currently: §e{0} +TPSLIMIT_ANVIL_GUI = New TPS limit +TPSLIMIT_CURRENT = §7Current TPS limit§8: §e{0} +TPSLIMIT_SET = §eSet TPS limit to {0} +TPSLIMIT_FROZEN = §eTPS frozen + # Trace TRACE_RECORD=§aon TRACE_HAS_TRACES=§ehas Traces @@ -442,6 +508,7 @@ TRACE_MESSAGE_SHARE_HOVER=§eClick to view TRACE_MESSAGE_FOLLOW=§aYou are now following {0} Trace show state TRACE_MESSAGE_FOLLOW_SELF=§cYou cannot follow yourself! TRACE_MESSAGE_UNFOLLOW=§cYou are no longer following a Trace show state + TRACE_COMMAND_HELP_START=§8/§etrace start §8- §7Starts recording of all TNT-positions TRACE_COMMAND_HELP_STOP=§8/§etrace stop §8- §7Stops the TNT-Tracer TRACE_COMMAND_HELP_AUTO=§8/§etrace toggleauto §8- §7Automatic start of recording @@ -458,21 +525,24 @@ TRACE_COMMAND_HELP_ISOLATE=§8/§etrace isolate §8[§eTrace§8] §8[§eTNT§8] TRACE_COMMAND_HELP_SHARE=§8/§etrace share §8- §7Share your current Trace show state with others TRACE_COMMAND_HELP_FOLLOW=§8/§etrace follow §8[§ePlayer§8] §8- §7Follow a players Trace show state TRACE_COMMAND_HELP_UNFOLLOW=§8/§etrace unfollow §8- §7Unfollow the Trace show state -TRACE_GUI_ITEM_NAME=§eTracer -TRACE_GUI_ITEM_LORE=§7Status§8: {0} -TRACE_GUI_NAME=Trace Gui -TRACE_GUI_TRACE_INACTIVE=§eStart Tracer -TRACE_GUI_TRACE_ACTIVE=§eStop Tracer -TRACE_GUI_TRACE_ACTIVE_AUTO=§eAuto-Trace is active -TRACE_GUI_AUTO_TRACE_INACTIVE=§eacitvate Auto-Tracer -TRACE_GUI_AUTO_TRACE_ACTIVE=§edeactivate Auto-Tracer -TRACE_GUI_DELETE=§eDelete trace + +TRACE_GUI_ITEM_NAME = §eTracer +TRACE_GUI_ITEM_LORE = §7Status§8: {0} +TRACE_GUI_NAME = Trace Gui +TRACE_GUI_TRACE_INACTIVE = §eStart Tracer +TRACE_GUI_TRACE_ACTIVE = §eStop Tracer +TRACE_GUI_TRACE_ACTIVE_AUTO = §eAuto-Trace is active +TRACE_GUI_AUTO_TRACE_INACTIVE = §eacitvate Auto-Tracer +TRACE_GUI_AUTO_TRACE_ACTIVE = §edeactivate Auto-Tracer +TRACE_GUI_DELETE = §eDelete trace + # Loader -LOADER_SETUP=§eSetup -LOADER_RUNNING=§aRunning -LOADER_PAUSE=§7Pause -LOADER_END=§8Finished +LOADER_SETUP = §eSetup +LOADER_RUNNING = §aRunning +LOADER_PAUSE = §7Pause +LOADER_END = §8Finished LOADER_SINGLE=§aSingle + LOADER_MESSAGE_INTERACT=§e{0} added {1} LOADER_MESSAGE_UNINTERACT=§eRemoved Element LOADER_BUTTON_TNT=TNT @@ -490,6 +560,7 @@ LOADER_BUTTON_LECTERN=Lectern LOADER_BUTTON_TRAPDOOR=Trapdoor LOADER_BUTTON_DOOR=Door LOADER_BUTTON_FENCEGATE=Fencegate + LOADER_HELP_SETUP=§8/§eloader setup §8- §7Starts recording actions LOADER_SETUP_STOP_FIRST=§cPlease stop the current loader first! LOADER_HELP_START=§8/§eloader start §8- §7Playback of previously recorded actions @@ -525,6 +596,7 @@ LOADER_GUI_SETTINGS_COPY=§7Copy LOADER_GUI_SETTINGS_DELETE=§cDelete LOADER_GUI_WAIT_TITLE=Settings LOADER_GUI_WAIT_BACK=§8Back + LOADER_GUI_CLICK_TO_EDIT=§7Click to edit LOADER_GUI_ITEM_NAME=§7{0}§8: §e{1} LOADER_SETTING_NAME=§7{0} @@ -559,6 +631,7 @@ LOADER_INTERACTION_OPEN=Open LOADER_INTERACTION_CLOSED=Closed LOADER_INTERACTION_COMPARE=Compare LOADER_INTERACTION_SUBTRACT=Subtract + # Loadtimer LOADTIMER_HELP_OVERVIEW=§7Compete with your friends loading your cannon and get information about the cannon LOADTIMER_HELP_START_1=§8/§eloadtimer start §8-§7 Starts the simple Loadtimer @@ -580,25 +653,27 @@ LOADTIMER_SUMARY_PLAYERTABLE_HEAD=§7Player: §eTNT §7(§eTNT/s§7) LOADTIMER_SUMARY_PLAYERTABLE_PLAYER=§7{0}: §e{1} §7(§e{2}/s§7) LOADTIMER_SUMARY_PLAYERTABLE_ALL=Total LOADTIMER_SUMARY_TIMES_HEAD=§7Time: §eSeconds §7(§eTicks§7) -LOADTIMER_SUMARY_TIMES_START=§7 || §7Start! -LOADTIMER_SUMARY_TIMES_ACTIVATION=§7 || Activation: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_IGNITION=§7 || Priming: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_EXPLOSION=§7 || Explosion: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_START = §7 || §7Start! +LOADTIMER_SUMARY_TIMES_ACTIVATION = §7 || Activation: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_IGNITION = §7 || Priming: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_EXPLOSION = §7 || Explosion: §e{0}s §7(§e{1}t§7) LOADTIMER_SUMARY_TIMES_LAST=§7\\/ LOADTIMER_SUMARY_STATS_HEAD=§7Cannon-Stats§8: LOADTIMER_SUMARY_STATS_TNT=§7TNT: §e{0} LOADTIMER_SUMARY_STATS_FREQ=§7Loading frequency: §e{0}/m§8, §7Shot frequency: §e{1}/m + # Observer -OBSERVER_HELP=§7Right-Click an Observer to get the Trace. Flame particles have to be enabled. The Particles will be shown in the block. -OBSERVER_HELP_ENABLE=§8/§eobserver enable §8-§7 Activates the Observer-Tracer -OBSERVER_HELP_DISABLE=§8/§eobserver disable §8-§7 Deactivates the Observer-Tracer -OBSERVER_HELP_DELETE=§8/§eobserver delete §8-§7 Deletes the Obersver-Tracer -OBSERVER_HELP_RETRACE=§8/§eobserver retrace §8-§7 Retraces The Observer-Tracer -OBSERVER_ENABLE=§7Observer trace started -OBSERVER_DISABLE=§7Observer trace stopped -OBSERVER_DELETE=§7Observer trace deleted -OBSERVER_RETRACE_DONE=§7Observer trace retraced -OBSERVER_RETRACE_NO_TRACE=§7No Observer trace to retrace +OBSERVER_HELP = §7Right-Click an Observer to get the Trace. Flame particles have to be enabled. The Particles will be shown in the block. +OBSERVER_HELP_ENABLE = §8/§eobserver enable §8-§7 Activates the Observer-Tracer +OBSERVER_HELP_DISABLE = §8/§eobserver disable §8-§7 Deactivates the Observer-Tracer +OBSERVER_HELP_DELETE = §8/§eobserver delete §8-§7 Deletes the Obersver-Tracer +OBSERVER_HELP_RETRACE = §8/§eobserver retrace §8-§7 Retraces The Observer-Tracer +OBSERVER_ENABLE = §7Observer trace started +OBSERVER_DISABLE = §7Observer trace stopped +OBSERVER_DELETE = §7Observer trace deleted +OBSERVER_RETRACE_DONE = §7Observer trace retraced +OBSERVER_RETRACE_NO_TRACE = §7No Observer trace to retrace + # Other OTHER_ITEMS_TELEPORT_NAME=§eTeleporter OTHER_ITEMS_TELEPORT_GUI_NAME=Teleport @@ -616,8 +691,8 @@ OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE=§aActivated OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE=§aDisabled OTHER_SLOT_INVALID_SLOT=§cInvalid slot OTHER_NOCLIP_SLOT_INFO=§7With /slot you can change the selected slot and take another block in the slot. -OTHER_NOCLIP_SLOT_HELP_PICK=§8/§eslot pick §8-§7 Take the faced block into your inventory. -OTHER_NOCLIP_SLOT_HELP_DROP=§8/§eslot drop §8-§7 Clears your slot +OTHER_NOCLIP_SLOT_HELP_PICK = §8/§eslot pick §8-§7 Take the faced block into your inventory. +OTHER_NOCLIP_SLOT_HELP_DROP = §8/§eslot drop §8-§7 Clears your slot OTHER_CLEAR_HELP_SELF=§8/§eclear §8- §7Clears your inventory OTHER_CLEAR_HELP_PLAYER=§8/§eclear §8[§7Player§8] §8- §7Clears a player inventory OTHER_CLEAR_CLEARED=Your inventory was cleared. @@ -631,7 +706,7 @@ OTHER_KILLALL_HELP_SELF=§8/§ekillall §8- §7Remove all entities from your reg OTHER_KILLALL_HELP_ALL=§8/§ekillall §8[§7Global§8/Local§7] §8- §7Remove all entities from your region or globally OTHER_KILLALL_REGION=§a{0} Entities removed OTHER_KILLALL_GLOBAL=§a{0} Entities removed from the world -OTHER_TELEPORT_HELP=§8/§etp §8[§7Player§8] §8-§7 Teleports you to another player +OTHER_TELEPORT_HELP = §8/§etp §8[§7Player§8] §8-§7 Teleports you to another player OTHER_TELEPORT_SELF_0=§cBe one with yourself! OTHER_TELEPORT_SELF_1=§cYou need someone to play with? We have a TeamSpeak! OTHER_TELEPORT_SELF_2=§cBlocks left to travel: 0; ETA: 0:00 @@ -640,9 +715,9 @@ OTHER_TELEPORT_SELF_4=§cFor such a distance? OTHER_TIME_HELP=§8/§etime §8<§7Time 0=Morining§8, §76000=Midday§8, §718000=Midnight§8> - §7Sets the time on the Build OTHER_TIME_INVALID=§cPlease input a time between 0 and 24000 OTHER_TIME_RESULT=§7§oWhooosh -OTHER_TPS_HEAD=§7TPS: 1s 10s 1m 5m 10m -OTHER_TPS_MESSAGE=§7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} -OTHER_TPS_SINGLE=§8TPS: §e{0} +OTHER_TPS_HEAD = §7TPS: 1s 10s 1m 5m 10m +OTHER_TPS_MESSAGE = §7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} +OTHER_TPS_SINGLE = §8TPS: §e{0} OTHER_WORLDSPAWN_HELP=§8/§eworldspawn §8-§e Teleport to the spawn OTHER_BIND_HELP=§8/§ebind §8[§7Command§8] §8-§e Bind a command on item interaction OTHER_BIND_ERROR=§cInvalid or unknown command @@ -654,7 +729,7 @@ OTHER_BIND_MESSAGE_UNBIND=§7Unbound command DEBUG_STICK_COMMAND_HELP=§8/§edebugstick §8-§7 receive a debugstick DEBUG_STICK_NAME=§eDebugstick #Skull Gui -SKULL_GUI_ITEM_NAME=§ePlayer Heads +SKULL_GUI_ITEM_NAME = §ePlayer Heads ANVIL_INV_NAME=Player name # StructureVoid STRUCTURE_VOID_COMMAND_HELP=§8/§estructureVoid §8-§7 Receive a StructureVoid @@ -664,16 +739,17 @@ DRAGON_EGG_COMMAND_HELP=§8/§edragonegg §8-§7 Receive a Dragon Egg NIGHT_VISION_HELP=§8/§enightvision §8-§7 Toggel nightvision. NIGHT_VISION_OFF=§eNightvision deactivated NIGHT_VISION_ON=§eNightvision activated -NIGHT_VISION_ITEM_ON=§7Nightvision: §eActivated -NIGHT_VISION_ITEM_OFF=§7Nightvision: §eDeactivated +NIGHT_VISION_ITEM_ON = §7Nightvision: §eActivated +NIGHT_VISION_ITEM_OFF = §7Nightvision: §eDeactivated + #Navigation Wand NAVIGATION_WAND=§eNavigation Wand NAVIGATION_WAND_LEFT_CLICK=§eLeft click: jump to location NAVIGATION_WAND_RIGHT_CLICK=§eRight click: pass through walls # Material -MATERIAL_SEARCH_PROPERTY_TRUE=§aShould have -MATERIAL_SEARCH_PROPERTY_FALSE=§cShould not have -MATERIAL_SEARCH_PROPERTY_IGNORE=§eIgnore +MATERIAL_SEARCH_PROPERTY_TRUE = §aShould have +MATERIAL_SEARCH_PROPERTY_FALSE = §cShould not have +MATERIAL_SEARCH_PROPERTY_IGNORE = §eIgnore MATERIAL_INV_NAME=§eMaterial {0}/{1} MATERIAL_SEARCH=§eSearch MATERIAL_BACK=§eBack @@ -795,171 +871,198 @@ REGION_TNT_TB=§aTNT-Damage activated outside the building area REGION_TNT_BUILD=§aTNT-Damage activated outside the testblok area REGION_TNT_BUILD_DESTROY=§cAn explosion would have destroyed blocks in the building area REGION_TNT_TB_DESTROY=§cAn explosion would have destroyed blocks in the testblock area + AFK_KICK_MESSAGE=§cNothing happened on this server for 15 minutes. AFK_WARNING_MESSAGE=§cThis server will stop in one minute if you remain inactive -SKIN_HELP=§8/§eskin §8[§7Shortform§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Creates the skin schematic. Use 'public' as creator to have no creator, then copy the message to YoyoNow by clicking + +SKIN_HELP = §8/§eskin §8[§7Shortform§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Creates the skin schematic. Use 'public' as creator to have no creator, then copy the message to YoyoNow by clicking SKIN_NO_REGION=§7You are not in a region with a changealbe skin SKIN_ALREADY_EXISTS=§cThis skin already exists like this SKIN_MESSAGE=§7Skin created SKIN_MESSAGE_HOVER=§eClick to copy for YoyoNow and send + # Panzern -PANZERN_HELP=§8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Armor your WorldEdit selection -PANZERN_PREPARE1=§71. Check, if barrels reach until border of armor. -PANZERN_PREPARE2=§72. Carpet on the floor in walkways helps with armoring. -PANZERN_PREPARE3=§73. Shieldtechnology should be encased. -PANZERN_PREPARE4=§74. Standing in the region that is being armored can improve armoring. -PANZERN_NO_WORLDEDIT=§cYou have no WorldEdit selcetion -PANZERN_PROGRESS=§e{0} §7Blocks left, §e{1} §7Blocks per second, §e{2} §7block delta -PANZERN_DONE=§aDone +PANZERN_HELP = §8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Armor your WorldEdit selection +PANZERN_PREPARE1 = §71. Check, if barrels reach until border of armor. +PANZERN_PREPARE2 = §72. Carpet on the floor in walkways helps with armoring. +PANZERN_PREPARE3 = §73. Shieldtechnology should be encased. +PANZERN_PREPARE4 = §74. Standing in the region that is being armored can improve armoring. +PANZERN_NO_WORLDEDIT = §cYou have no WorldEdit selcetion +PANZERN_PROGRESS = §e{0} §7Blocks left, §e{1} §7Blocks per second, §e{2} §7block delta +PANZERN_DONE = §aDone + # Laufbau -LAUFBAU_HELP=§8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Build a barrel in your WorldEdit selection using the traces -LAUFBAU_HELP_SETTINGS=§8/§elaufbau settings §8- §7Opens the settings GUI -LAUFBAU_PREPARE1=§71. Trace the cannons as often as necessary, in all modes. -LAUFBAU_PREPARE2=§72. Try to delete all fails from the traces. -LAUFBAU_NO_WORLDEDIT=§cYou don't have a WorldEdit selection -LAUFBAU_STATE_FILTERING_TRACES=Filtering traces -LAUFBAU_STATE_PROCESSING_TRACES=Connnecting traces -LAUFBAU_STATE_CREATE_LAUF=Create Barrel -LAUFBAU_SIMPLE_PROGRESS=§e{0}§8: §e{1}§8/§e{2} §7Time left§8: §e{3} -LAUFBAU_DONE=§aDone -LAUFBAU_SETTINGS_GUI_NAME=§eLaufbau -LAUFBAU_SETTINGS_ACTIVE=§aActive -LAUFBAU_SETTINGS_INACTIVE=§cInactive -LAUFBAU_SETTINGS_MIXED=§e{0}§8/§e{1} §aActive -LAUFBAU_SETTINGS_GUI_BACK=§eBack -LAUFBAU_SETTINGS_TOGGLE=§eClick §8-§7 Toggle -LAUFBAU_SETTINGS_ADVANCED=§eMiddle-Click §8-§7 Advanced settings -LAUFBAU_BLOCK_COBWEB=§eCobweb -LAUFBAU_BLOCK_GRASS_PATH=§eGrass Path -LAUFBAU_BLOCK_SOUL_SAND=§eSoul Sand -LAUFBAU_BLOCK_COCOA=§eCocoa -LAUFBAU_BLOCK_TURTLE_EGG=§eTurtle Eggs -LAUFBAU_BLOCK_CHEST=§eChest -LAUFBAU_BLOCK_SNOW=§eSnow Layer -LAUFBAU_BLOCK_PLAYER_WALL_HEAD=§ePlayer Wall Head -LAUFBAU_BLOCK_STONECUTTER=§eStonecutter -LAUFBAU_BLOCK_PLAYER_HEAD=§ePlayer Head -LAUFBAU_BLOCK_CAKE=§eCake -LAUFBAU_BLOCK_END_STONE_BRICK_SLAB=§eEndstone Brick Slabs -LAUFBAU_BLOCK_SEA_PICKLE=§eSea Pickles -LAUFBAU_BLOCK_CAMPFIRE=§eCampfire -LAUFBAU_BLOCK_FLOWER_POT=§eFlower Pot -LAUFBAU_BLOCK_IRON_TRAPDOOR=§eIron Trapdoor -LAUFBAU_BLOCK_LILY_PAD=§eLily Pad -LAUFBAU_BLOCK_WHITE_CARPET=§eCarpet -LAUFBAU_BLOCK_END_ROD=§eEnd Rod -LAUFBAU_BLOCK_LIGHTNING_ROD=§eLightning Rod -LAUFBAU_BLOCK_CONDUIT=§eConduit -LAUFBAU_BLOCK_BREWING_STAND=§eBrewing Stand -LAUFBAU_BLOCK_BELL=§eBell -LAUFBAU_BLOCK_GRINDSTONE=§eGrindstone -LAUFBAU_BLOCK_HOPPER=§eHopper -LAUFBAU_BLOCK_LANTERN=§eLantern -LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS=§eEndstone Brick Stairs -LAUFBAU_BLOCK_CHORUS_PLANT=§eChorus Plant -LAUFBAU_BLOCK_NETHER_BRICK_FENCE=§eNether Brick Fence -LAUFBAU_BLOCK_IRON_BARS=§eIron Bars -LAUFBAU_BLOCK_END_STONE_BRICK_WALL=§eEndstone Brick Walls -LAUFBAU_BLOCK_SMALL_AMETHYST_BUD=§eSmall Amethyst Bud -LAUFBAU_BLOCK_MEDIUM_AMETHYST_BUD=§eMedium Amethyst Bud -LAUFBAU_BLOCK_LARGE_AMETHYST_BUD=§eLarge Amethyst Bud -LAUFBAU_BLOCK_AMETHYST_CLUSTER=§eAmethyst Cluster -LAUFBAU_BLOCK_CHAIN=§eChain -LAUFBAU_BLOCK_BIG_DRIP_LEAF=§eBig Drip Leaf -LAUFBAU_BLOCK_DRAGON_EGG=§eDragon Egg -LAUFBAU_BLOCK_AZALEA=§eAzalea -LAUFBAU_BLOCK_CANDLE=§eCandle -LAUFBAU_BLOCK_CANDLE_CAKE=§eCake with Candle -LAUFBAU_BLOCK_LECTERN=§eLectern -LAUFBAU_FACING_NORTH=§8-§7 Facing North -LAUFBAU_FACING_SOUTH=§8-§7 Facing South -LAUFBAU_FACING_WEST=§8-§7 Facing West -LAUFBAU_FACING_EAST=§8-§7 Facing East -LAUFBAU_FACING_UP=§8-§7 Facing Up -LAUFBAU_FACING_DOWN=§8-§7 Facing Down -LAUFBAU_COUNT_1=§8-§7 Count 1 -LAUFBAU_COUNT_2=§8-§7 Count 2 -LAUFBAU_COUNT_3=§8-§7 Count 3 -LAUFBAU_COUNT_4=§8-§7 Count 4 -LAUFBAU_LAYERS_8=§8-§7 Layers 8 -LAUFBAU_LAYERS_7=§8-§7 Layers 7 -LAUFBAU_LAYERS_6=§8-§7 Layers 6 -LAUFBAU_LAYERS_3=§8-§7 Layers 3 -LAUFBAU_LAYERS_2=§8-§7 Layers 2 -LAUFBAU_TYPE_BOTTOM=§8-§7 Type bottom -LAUFBAU_TYPE_TOP=§8-§7 Type top -LAUFBAU_HALF_BOTTOM=§8-§7 Half bottom -LAUFBAU_HALF_TOP=§8-§7 Half top -LAUFBAU_OPEN=§8-§7 Opened -LAUFBAU_ATTACHMENT_CEILING=§8-§7 Attachment Ceiling -LAUFBAU_ATTACHMENT_FLOOR=§8-§7 Attachment Floor -LAUFBAU_ATTACHMENT_DOUBLE_WALL=§8-§7 Attachment double Wall -LAUFBAU_ATTACHMENT_SINGLE_WALL=§8-§7 Attachment single Wall -LAUFBAU_ATTACHMENT_WALL=§8-§7 Attachment Wall -LAUFBAU_CONNECTION_FLOOR=§8-§7 Connection Floor -LAUFBAU_CONNECTION_NORTH=§8-§7 Connection North -LAUFBAU_CONNECTION_SOUTH=§8-§7 Connection South -LAUFBAU_CONNECTION_EAST=§8-§7 Connection East -LAUFBAU_CONNECTION_WEST=§8-§7 Connection West -LAUFBAU_CONNECTION_DOWN=§8-§7 Connection Bottom -LAUFBAU_CONNECTION_UP=§8-§7 Connection Top -LAUFBAU_HANGING=§8-§7 hanging -LAUFBAU_SHAPE_STRAIGHT=§8-§7 Shape straight -LAUFBAU_SHAPE_OUTER_LEFT=§8-§7 Shape outer links -LAUFBAU_SHAPE_INNER_LEFT=§8-§7 Shape inner left -LAUFBAU_TILT_NONE=§8-§7 Tilt none -LAUFBAU_TILT_PARTIAL=§8-§7 Tilt partial +LAUFBAU_HELP = §8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Build a barrel in your WorldEdit selection using the traces +LAUFBAU_HELP_SETTINGS = §8/§elaufbau settings §8- §7Opens the settings GUI +LAUFBAU_PREPARE1 = §71. Trace the cannons as often as necessary, in all modes. +LAUFBAU_PREPARE2 = §72. Try to delete all fails from the traces. +LAUFBAU_NO_WORLDEDIT = §cYou don't have a WorldEdit selection +LAUFBAU_STATE_FILTERING_TRACES = Filtering traces +LAUFBAU_STATE_PROCESSING_TRACES = Connnecting traces +LAUFBAU_STATE_CREATE_LAUF = Create Barrel +LAUFBAU_SIMPLE_PROGRESS = §e{0}§8: §e{1}§8/§e{2} §7Time left§8: §e{3} +LAUFBAU_DONE = §aDone + +LAUFBAU_SETTINGS_GUI_NAME = §eLaufbau +LAUFBAU_SETTINGS_ACTIVE = §aActive +LAUFBAU_SETTINGS_INACTIVE = §cInactive +LAUFBAU_SETTINGS_MIXED = §e{0}§8/§e{1} §aActive +LAUFBAU_SETTINGS_GUI_BACK = §eBack + +LAUFBAU_SETTINGS_TOGGLE = §eClick §8-§7 Toggle +LAUFBAU_SETTINGS_ADVANCED = §eMiddle-Click §8-§7 Advanced settings + +LAUFBAU_BLOCK_COBWEB = §eCobweb +LAUFBAU_BLOCK_GRASS_PATH = §eGrass Path +LAUFBAU_BLOCK_SOUL_SAND = §eSoul Sand +LAUFBAU_BLOCK_COCOA = §eCocoa +LAUFBAU_BLOCK_TURTLE_EGG = §eTurtle Eggs +LAUFBAU_BLOCK_CHEST = §eChest +LAUFBAU_BLOCK_SNOW = §eSnow Layer +LAUFBAU_BLOCK_PLAYER_WALL_HEAD = §ePlayer Wall Head +LAUFBAU_BLOCK_STONECUTTER = §eStonecutter +LAUFBAU_BLOCK_PLAYER_HEAD = §ePlayer Head +LAUFBAU_BLOCK_CAKE = §eCake +LAUFBAU_BLOCK_END_STONE_BRICK_SLAB = §eEndstone Brick Slabs +LAUFBAU_BLOCK_SEA_PICKLE = §eSea Pickles +LAUFBAU_BLOCK_CAMPFIRE = §eCampfire +LAUFBAU_BLOCK_FLOWER_POT = §eFlower Pot +LAUFBAU_BLOCK_IRON_TRAPDOOR = §eIron Trapdoor +LAUFBAU_BLOCK_LILY_PAD = §eLily Pad +LAUFBAU_BLOCK_WHITE_CARPET = §eCarpet +LAUFBAU_BLOCK_END_ROD = §eEnd Rod +LAUFBAU_BLOCK_LIGHTNING_ROD = §eLightning Rod +LAUFBAU_BLOCK_CONDUIT = §eConduit +LAUFBAU_BLOCK_BREWING_STAND = §eBrewing Stand +LAUFBAU_BLOCK_BELL = §eBell +LAUFBAU_BLOCK_GRINDSTONE = §eGrindstone +LAUFBAU_BLOCK_HOPPER = §eHopper +LAUFBAU_BLOCK_LANTERN = §eLantern +LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS = §eEndstone Brick Stairs +LAUFBAU_BLOCK_CHORUS_PLANT = §eChorus Plant +LAUFBAU_BLOCK_NETHER_BRICK_FENCE = §eNether Brick Fence +LAUFBAU_BLOCK_IRON_BARS = §eIron Bars +LAUFBAU_BLOCK_END_STONE_BRICK_WALL = §eEndstone Brick Walls +LAUFBAU_BLOCK_SMALL_AMETHYST_BUD = §eSmall Amethyst Bud +LAUFBAU_BLOCK_MEDIUM_AMETHYST_BUD = §eMedium Amethyst Bud +LAUFBAU_BLOCK_LARGE_AMETHYST_BUD = §eLarge Amethyst Bud +LAUFBAU_BLOCK_AMETHYST_CLUSTER = §eAmethyst Cluster +LAUFBAU_BLOCK_CHAIN = §eChain +LAUFBAU_BLOCK_BIG_DRIP_LEAF = §eBig Drip Leaf +LAUFBAU_BLOCK_DRAGON_EGG = §eDragon Egg +LAUFBAU_BLOCK_AZALEA = §eAzalea +LAUFBAU_BLOCK_CANDLE = §eCandle +LAUFBAU_BLOCK_CANDLE_CAKE = §eCake with Candle +LAUFBAU_BLOCK_LECTERN = §eLectern + +LAUFBAU_FACING_NORTH = §8-§7 Facing North +LAUFBAU_FACING_SOUTH = §8-§7 Facing South +LAUFBAU_FACING_WEST = §8-§7 Facing West +LAUFBAU_FACING_EAST = §8-§7 Facing East +LAUFBAU_FACING_UP = §8-§7 Facing Up +LAUFBAU_FACING_DOWN = §8-§7 Facing Down + +LAUFBAU_COUNT_1 = §8-§7 Count 1 +LAUFBAU_COUNT_2 = §8-§7 Count 2 +LAUFBAU_COUNT_3 = §8-§7 Count 3 +LAUFBAU_COUNT_4 = §8-§7 Count 4 + +LAUFBAU_LAYERS_8 = §8-§7 Layers 8 +LAUFBAU_LAYERS_7 = §8-§7 Layers 7 +LAUFBAU_LAYERS_6 = §8-§7 Layers 6 +LAUFBAU_LAYERS_3 = §8-§7 Layers 3 +LAUFBAU_LAYERS_2 = §8-§7 Layers 2 + +LAUFBAU_TYPE_BOTTOM = §8-§7 Type bottom +LAUFBAU_TYPE_TOP = §8-§7 Type top + +LAUFBAU_HALF_BOTTOM = §8-§7 Half bottom +LAUFBAU_HALF_TOP = §8-§7 Half top + +LAUFBAU_OPEN = §8-§7 Opened + +LAUFBAU_ATTACHMENT_CEILING = §8-§7 Attachment Ceiling +LAUFBAU_ATTACHMENT_FLOOR = §8-§7 Attachment Floor +LAUFBAU_ATTACHMENT_DOUBLE_WALL = §8-§7 Attachment double Wall +LAUFBAU_ATTACHMENT_SINGLE_WALL = §8-§7 Attachment single Wall +LAUFBAU_ATTACHMENT_WALL = §8-§7 Attachment Wall + +LAUFBAU_CONNECTION_FLOOR = §8-§7 Connection Floor +LAUFBAU_CONNECTION_NORTH = §8-§7 Connection North +LAUFBAU_CONNECTION_SOUTH = §8-§7 Connection South +LAUFBAU_CONNECTION_EAST = §8-§7 Connection East +LAUFBAU_CONNECTION_WEST = §8-§7 Connection West +LAUFBAU_CONNECTION_DOWN = §8-§7 Connection Bottom +LAUFBAU_CONNECTION_UP = §8-§7 Connection Top + +LAUFBAU_HANGING = §8-§7 hanging + +LAUFBAU_SHAPE_STRAIGHT = §8-§7 Shape straight +LAUFBAU_SHAPE_OUTER_LEFT = §8-§7 Shape outer links +LAUFBAU_SHAPE_INNER_LEFT = §8-§7 Shape inner left + +LAUFBAU_TILT_NONE = §8-§7 Tilt none +LAUFBAU_TILT_PARTIAL = §8-§7 Tilt partial + # UTILS -SELECT_HELP=§8/§eselect §8[§7RegionsTyp§8] §8- §7Select a region type -SELECT_EXTENSION_HELP=§8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Select a region type with or without extension -SELECT_GLOBAL_REGION=§cThe global region cannot be selected -SELECT_NO_TYPE=§cThis region has no {0} -SELECT_NO_EXTENSION=§cThis region has no extension -SELECT_MESSAGE=§7WorldEdit selection set to {0}, {1}, {2} and {3}, {4}, {5} -SKULL_HELP=§8/§eskull §8[§eplayer§8] §8-§7 Receive a player head -SKULL_INVALID=§cInvalid player name -SKULL_ITEM=§e{0}§8s Head -SPEED_HELP=§8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Set your flight and walking speed. -SPEED_CURRENT=§7Current speed§8: §e{0} -SPEED_TOO_SMALL=§c{0} is too small -SPEED_TOO_HIGH=§c{0} is too big -SPEED_ITEM=§eSpeed -SPEED_ITEM_LORE=§7Currently: §e -SPEED_TAB_NAME=Input speed -WORLDEDIT_WAND=WorldEdit Wand -WORLDEDIT_LEFTCLICK=Left click: select pos #1 -WORLDEDIT_RIGHTCLICK=Right click: select pos #2 -TNT_CLICK_HEADER=§8---=== §eTNT §8===--- -TNT_CLICK_ORDER=§eEntity Order§8: §e{0} -TNT_CLICK_FUSE_TIME=§eFuseTime§8: §e{0} -TNT_CLICK_POSITION_X=§7Position §eX§8: §e{0} -TNT_CLICK_POSITION_Y=§7Position §eY§8: §e{0} -TNT_CLICK_POSITION_Z=§7Position §eZ§8: §e{0} -TNT_CLICK_VELOCITY_X=§7Velocity §eX§8: §e{0} -TNT_CLICK_VELOCITY_Y=§7Velocity §eY§8: §e{0} -TNT_CLICK_VELOCITY_Z=§7Velocity §eZ§8: §e{0} -TNT_CLICK_COUNT=§7Count §8: §e{0} -TNT_CLICK_ISOLATE=§eIsolate -SELECT_ITEM_CHOOSE_EXTENSION=Choose extension -SELECT_ITEM_CHOOSE_SELECTION=Choose selection -SELECT_ITEM_NORMAL_EXTENSION=§eNormal -SELECT_ITEM_EXTENDED_EXTENSION=§eExtension -SELECT_ITEM_SELECT=§eSelect -SELECT_ITEM_AUSWAHL=§7Selection: §7{0} {1} +SELECT_HELP = §8/§eselect §8[§7RegionsTyp§8] §8- §7Select a region type +SELECT_EXTENSION_HELP = §8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Select a region type with or without extension +SELECT_GLOBAL_REGION = §cThe global region cannot be selected +SELECT_NO_TYPE = §cThis region has no {0} +SELECT_NO_EXTENSION = §cThis region has no extension +SELECT_MESSAGE = §7WorldEdit selection set to {0}, {1}, {2} and {3}, {4}, {5} + +SKULL_HELP = §8/§eskull §8[§eplayer§8] §8-§7 Receive a player head +SKULL_INVALID = §cInvalid player name +SKULL_ITEM = §e{0}§8s Head + +SPEED_HELP = §8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Set your flight and walking speed. +SPEED_CURRENT = §7Current speed§8: §e{0} +SPEED_TOO_SMALL = §c{0} is too small +SPEED_TOO_HIGH = §c{0} is too big +SPEED_ITEM = §eSpeed +SPEED_ITEM_LORE = §7Currently: §e +SPEED_TAB_NAME = Input speed + +WORLDEDIT_WAND = WorldEdit Wand +WORLDEDIT_LEFTCLICK = Left click: select pos #1 +WORLDEDIT_RIGHTCLICK = Right click: select pos #2 + +TNT_CLICK_HEADER = §8---=== §eTNT §8===--- +TNT_CLICK_ORDER = §eEntity Order§8: §e{0} +TNT_CLICK_FUSE_TIME = §eFuseTime§8: §e{0} +TNT_CLICK_POSITION_X = §7Position §eX§8: §e{0} +TNT_CLICK_POSITION_Y = §7Position §eY§8: §e{0} +TNT_CLICK_POSITION_Z = §7Position §eZ§8: §e{0} +TNT_CLICK_VELOCITY_X = §7Velocity §eX§8: §e{0} +TNT_CLICK_VELOCITY_Y = §7Velocity §eY§8: §e{0} +TNT_CLICK_VELOCITY_Z = §7Velocity §eZ§8: §e{0} +TNT_CLICK_COUNT = §7Count §8: §e{0} +TNT_CLICK_ISOLATE = §eIsolate + +SELECT_ITEM_CHOOSE_EXTENSION = Choose extension +SELECT_ITEM_CHOOSE_SELECTION = Choose selection +SELECT_ITEM_NORMAL_EXTENSION = §eNormal +SELECT_ITEM_EXTENDED_EXTENSION= §eExtension +SELECT_ITEM_SELECT= §eSelect +SELECT_ITEM_AUSWAHL= §7Selection: §7{0} {1} SELECT_ITEM_RIGHT_CLICK=§7Right-Click to change SELECT_ITEM_BAURAHMEN=§eBuild area SELECT_ITEM_BAUPLATTFORM=§eBuild platform SELECT_ITEM_TESTBLOCK=§eDummy -CHESTFILLER_FILLED=§eChest filled -CHESTFILLER_COUNT=§7{0}§8: §e§l{1} -PISTON_HELP_1=§7Right click on piston with a slime ball to calculate the moved blocks. -PISTON_HELP_2=§7Count is red, if one unmoveable block is present. -PISTON_HELP_3=§7Count is yellow, if too many blocks are present. -PISTON_INFO=§7Moved Blocks {0}{1}§8/§712 + +CHESTFILLER_FILLED = §eChest filled +CHESTFILLER_COUNT = §7{0}§8: §e§l{1} + +PISTON_HELP_1 = §7Right click on piston with a slime ball to calculate the moved blocks. +PISTON_HELP_2 = §7Count is red, if one unmoveable block is present. +PISTON_HELP_3 = §7Count is yellow, if too many blocks are present. +PISTON_INFO = §7Moved Blocks {0}{1}§8/§712 + # Warp -WARP_LOC_X=§7X§8: §e{0} -WARP_LOC_Y=§7Y§8: §e{0} -WARP_LOC_Z=§7Z§8: §e{0} +WARP_LOC_X = §7X§8: §e{0} +WARP_LOC_Y = §7Y§8: §e{0} +WARP_LOC_Z = §7Z§8: §e{0} WARP_EXISTS=§7The warp with the name §e{0} §7already exists WARP_NAME_RESERVED=§7You can not use §c{0} §7as name for a warp WARP_CREATED=§7The warp §e{0} §7was created @@ -979,22 +1082,30 @@ WARP_HELP_INFO=§8/§ewarp info §8[§7name§8] §8- §7Information regarding on WARP_HELP_DELETE=§8/§ewarp delete §8[§7name§8] §8- §7Delete a warp WARP_HELP_GUI=§8/§ewarp gui §8- §7Open the Warp-GUI WARP_HELP_LIST=§8/§ewarp list §8- §7List all warps + # WORLD -STOP_HELP=§8/§estop §8- §7Stops the server -STOP_MESSAGE=§eServer is stopping -KICKALL_HELP=§8/§ekickall §8- §7Kick all players from the server except the owner +STOP_HELP = §8/§estop §8- §7Stops the server +STOP_MESSAGE = §eServer is stopping + +KICKALL_HELP = §8/§ekickall §8- §7Kick all players from the server except the owner + # Techhider -TECHHIDER_HELP=§8/§etechhider §8- §7Toggle Techhider -TECHHIDER_GLOBAL=§cNo techhider in global region -TECHHIDER_ON=§aTechhider activated -TECHHIDER_OFF=§cTechhider deactivated +TECHHIDER_HELP = §8/§etechhider §8- §7Toggle Techhider +TECHHIDER_GLOBAL = §cNo techhider in global region +TECHHIDER_ON = §aTechhider activated +TECHHIDER_OFF = §cTechhider deactivated + # XRAY -XRAY_HELP=§8/§exray §8- §7Toggle Xray -XRAY_GLOBAL=§cNo xray in global region -XRAY_ON=§aXray activated -XRAY_OFF=§cXray deactivated +XRAY_HELP = §8/§exray §8- §7Toggle Xray +XRAY_GLOBAL = §cNo xray in global region +XRAY_ON = §aXray activated +XRAY_OFF = §cXray deactivated + + # WorldEdit -COLORREPLACE_HELP=§8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Replace all blocks of one color with another -TYPEREPLACE_HELP=§8//§etyreplace §8[§7type§8] §8[§7type§8] §8- §7Replace all blocks of one type with another +COLORREPLACE_HELP = §8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Replace all blocks of one color with another + +TYPEREPLACE_HELP = §8//§etypereplace §8[§7type§8] §8[§7type§8] §8- §7Replace all blocks of one type with another + # Schematic SCHEMATIC_GUI_ITEM=§eSchematics diff --git a/BauSystem_Main/src/BauSystem_de.properties b/BauSystem_Main/src/BauSystem_de.properties index 0e13deef..d2d46cd2 100644 --- a/BauSystem_Main/src/BauSystem_de.properties +++ b/BauSystem_Main/src/BauSystem_de.properties @@ -16,89 +16,117 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -PREFIX=§eBau§8System§8» -TIME=HH:mm:ss + +PREFIX = §eBau§8System§8» +TIME = HH:mm:ss DATE=........ COMMAND_HELP_HEAD=§7---=== (§e{0}§7) ===--- ONLY_SCHEMS=§cDu kannst hier keinen Ordner angeben + PAGE_LIST=§e Seite ({0}/{1}) »» LIST_PREVIOUS_PAGE=§eVorherige Seite LIST_NEXT_PAGE=§eNächste Seite + # Permission -NO_PERMISSION=Du darfst dies hier nicht nutzen -SPECTATOR=§fZuschauer +NO_PERMISSION = Du darfst dies hier nicht nutzen +SPECTATOR = §fZuschauer + # Scoreboard -SCOREBOARD_TIME=Uhrzeit -SCOREBOARD_REGION=Region -SCOREBOARD_TRACE=Trace -SCOREBOARD_LOADER=Loader -SCOREBOARD_TPS=TPS -SCOREBOARD_TPS_FROZEN=§eEingefroren -SCOREBOARD_TRACE_TICKS=Ticks -SCOREBOARD_TECHHIDER=TechHider§8: §aAn -SCOREBOARD_XRAY=XRay§8: §aAn -SCOREBOARD_LOCK_TEAM=Bau Lock§8: §eTeam -SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM=Bau Lock§8: §e(Server-) Team -SCOREBOARD_LOCK_SERVERTEAM=Bau Lock§8: §eServerteam -SCOREBOARD_LOCK_NOBODY=Bau Lock§8: §cNiemand +SCOREBOARD_TIME = Uhrzeit +SCOREBOARD_REGION = Region +SCOREBOARD_TRACE = Trace +SCOREBOARD_LOADER = Loader +SCOREBOARD_TPS = TPS +SCOREBOARD_TPS_FROZEN = §eEingefroren + +SCOREBOARD_TRACE_TICKS = Ticks + +SCOREBOARD_TECHHIDER = TechHider§8: §aAn +SCOREBOARD_XRAY = XRay§8: §aAn + +SCOREBOARD_LOCK_TEAM = Bau Lock§8: §eTeam +SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM = Bau Lock§8: §e(Server-) Team +SCOREBOARD_LOCK_SERVERTEAM = Bau Lock§8: §eServerteam +SCOREBOARD_LOCK_NOBODY = Bau Lock§8: §cNiemand + # Flags -FLAG_COLOR=Color -FLAG_TNT=TNT -FLAG_FIRE=Fire -FLAG_FREEZE=Freeze -FLAG_PROTECT=Protect -FLAG_ITEMS=Items -FLAG_FIRE_ALLOW=§can -FLAG_FIRE_DENY=§aaus -FLAG_FREEZE_ACTIVE=§aan -FLAG_FREEZE_INACTIVE=§caus -FLAG_PROTECT_ACTIVE=§aan -FLAG_PROTECT_INACTIVE=§caus -FLAG_TNT_ALLOW=§aan -FLAG_TNT_DENY=§caus -FLAG_TNT_ONLY_TB=§7Kein §eBaurahmen -FLAG_TNT_ONLY_BUILD=§7Kein §eTestblock -FLAG_ITEMS_ACTIVE=§aan -FLAG_ITEMS_INACTIVE=§caus -FLAG_COLOR_WHITE=§fWeiß -FLAG_COLOR_ORANGE=§6Orange -FLAG_COLOR_MAGENTA=§dMagenta -FLAG_COLOR_LIGHT_BLUE=§bHellblau -FLAG_COLOR_YELLOW=§eGelb -FLAG_COLOR_LIME=§aHellgrün +FLAG_COLOR = Color +FLAG_TNT = TNT +FLAG_FIRE = Fire +FLAG_FREEZE = Freeze +FLAG_PROTECT = Protect +FLAG_ITEMS = Items +FLAG_TESTBLOCK = Testblock +FLAG_CHANGED = Verändert + +FLAG_FIRE_ALLOW = §can +FLAG_FIRE_DENY = §aaus + +FLAG_FREEZE_ACTIVE = §aan +FLAG_FREEZE_INACTIVE = §caus + +FLAG_PROTECT_ACTIVE = §aan +FLAG_PROTECT_INACTIVE = §caus + +FLAG_TNT_ALLOW = §aan +FLAG_TNT_DENY = §caus +FLAG_TNT_ONLY_TB = §7Kein §eBaurahmen +FLAG_TNT_ONLY_BUILD = §7Kein §eTestblock + +FLAG_ITEMS_ACTIVE = §aan +FLAG_ITEMS_INACTIVE = §caus + +FLAG_COLOR_WHITE = §fWeiß +FLAG_COLOR_ORANGE = §6Orange +FLAG_COLOR_MAGENTA = §dMagenta +FLAG_COLOR_LIGHT_BLUE = §bHellblau +FLAG_COLOR_YELLOW = §eGelb +FLAG_COLOR_LIME = §aHellgrün ## This cannot be converted -FLAG_COLOR_PINK=§ePink -FLAG_COLOR_GRAY=§8Grau -FLAG_COLOR_LIGHT_GRAY=§7Hellgrau -FLAG_COLOR_CYAN=§3Cyan -FLAG_COLOR_PURPLE=§5Lila -FLAG_COLOR_BLUE=§1Blau +FLAG_COLOR_PINK = §ePink +FLAG_COLOR_GRAY = §8Grau +FLAG_COLOR_LIGHT_GRAY = §7Hellgrau +FLAG_COLOR_CYAN = §3Cyan +FLAG_COLOR_PURPLE = §5Lila +FLAG_COLOR_BLUE = §1Blau ## This cannot be converted -FLAG_COLOR_BROWN=§eBraun -FLAG_COLOR_GREEN=§2Grün -FLAG_COLOR_RED=§cRot -FLAG_COLOR_BLACK=§0Schwarz +FLAG_COLOR_BROWN = §eBraun +FLAG_COLOR_GREEN = §2Grün +FLAG_COLOR_RED = §cRot +FLAG_COLOR_BLACK = §0Schwarz + +FLAG_TESTBLOCK_NO_VALUE = §eKein Wert +FLAG_TESTBLOCK_NORTH = §eNorden +FLAG_TESTBLOCK_SOUTH = §eSüden + +FLAG_CHANGED_NO_CHANGE = §cNein +FLAG_CHANGED_HAS_CHANGE = §aJa + # Region -REGION_TYPE_NORMAL=Normal -REGION_TYPE_BUILD=Baubereich -REGION_TYPE_ONLY_TB=Testblock +REGION_TYPE_NORMAL = Normal +REGION_TYPE_BUILD = Baubereich +REGION_TYPE_ONLY_TB = Testblock + # AttributesCopy -ATTRIBUTES_CANT_COPY=§cDu musst den Item Type in der Hand halten wo du auch drauf guckst. -ATTRIBUTES_NO_COPY=§cKeine Attribute kopiert. -ATTRIBUTES_COPIED=§eAttribute kopiert. -ATTRIBUTE_REMOVE_ALL=§eAlle Attribute entfernt. -ATTRIBUTE_REMOVE_SINGLE=§eAttribut §7{0}§e entfernt. -ATTRIBUTE_REMOVE_NOT_FOUND=§cAttribut nicht gefunden +ATTRIBUTES_CANT_COPY = §cDu musst den Item Type in der Hand halten wo du auch drauf guckst. +ATTRIBUTES_NO_COPY = §cKeine Attribute kopiert. +ATTRIBUTES_COPIED = §eAttribute kopiert. + +ATTRIBUTE_REMOVE_ALL = §eAlle Attribute entfernt. +ATTRIBUTE_REMOVE_SINGLE = §eAttribut §7{0}§e entfernt. +ATTRIBUTE_REMOVE_NOT_FOUND = §cAttribut nicht gefunden + # AutoStart -AUTOSTART_COMMAND_HELP=§8/§etimer §8- §7Legt den AutostartTimer ins Inventar -AUTOSTART_ITEM_NAME=§eAutostartTimer -AUTOSTART_ITEM_LORE=§eRechtsklick Block §8- §7Starte den Timer -AUTOSTART_MESSAGE_NO_REGION=§cDu befindest dich derzeit in keiner Region -AUTOSTART_MESSAGE_RESET=§eDer AutostartTimer wurde zurückgesetzt -AUTOSTART_MESSAGE_START=§eAutostartTimer gestartet -AUTOSTART_MESSAGE_RESULT1=§eZeit §7bis zur §eExplosion §7am Gegner§8:§e {0}§7 in game ticks -AUTOSTART_MESSAGE_RESULT2=§7Zeitdifferenz in §egame ticks §7bis {0} Sekunden§8:§e {1} -AUTOSTART_MESSAGE_RESULT3=§7Positiv, wenn zu wenig, negativ wenn zu viel +AUTOSTART_COMMAND_HELP = §8/§etimer §8- §7Legt den AutostartTimer ins Inventar +AUTOSTART_ITEM_NAME = §eAutostartTimer +AUTOSTART_ITEM_LORE = §eRechtsklick Block §8- §7Starte den Timer +AUTOSTART_MESSAGE_NO_REGION = §cDu befindest dich derzeit in keiner Region +AUTOSTART_MESSAGE_RESET = §eDer AutostartTimer wurde zurückgesetzt +AUTOSTART_MESSAGE_START = §eAutostartTimer gestartet +AUTOSTART_MESSAGE_RESULT1 = §eZeit §7bis zur §eExplosion §7am Gegner§8:§e {0}§7 in game ticks +AUTOSTART_MESSAGE_RESULT2 = §7Zeitdifferenz in §egame ticks §7bis {0} Sekunden§8:§e {1} +AUTOSTART_MESSAGE_RESULT3 = §7Positiv, wenn zu wenig, negativ wenn zu viel + # Backup BACKUP_HELP_CREATE=§8/§ebackup create §8- §7Erstelle ein Backup der Region BACKUP_HELP_LOAD=§8/§ebackup load §8[§7BackupName§8] §8- §7 Lade ein Backup @@ -115,38 +143,44 @@ BACKUP_LOAD=§7Backup geladen BACKUP_INV_NAME=§eBackup BACKUP_ITEM_NAME=§eBackup §7von §e{0} BACKUP_LORE=§eKlicken zum Laden + # Bau -BAU_COMMAND_HELP_INFO=§8/§ebau info §8- §7Alias für §8/§ebauinfo -BAU_INFO_ITEM_NAME=§eBau-Management +BAU_COMMAND_HELP_INFO = §8/§ebau info §8- §7Alias für §8/§ebauinfo + +BAU_INFO_ITEM_NAME = §eBau-Management ## This is used in BauInfoBauGuiItem.java -BAU_INFO_ITEM_LORE_TNT=§7TNT§8: §e{0} -BAU_INFO_ITEM_LORE_FREEZE=§7Freeze§8: §e{0} -BAU_INFO_ITEM_LORE_DAMAGE=§7Damage§8: §e{0} -BAU_INFO_ITEM_LORE_FIRE=§7Feuer§8: §e{0} -BAU_INFO_ITEM_LORE_COLOR=§7Farbe§8: §e{0} -BAU_INFO_ITEM_LORE_PROTECT=§7Protect§8: §e{0} -BAU_INFO_COMMAND_HELP=§8/§ebauinfo §8- §7Gibt Informationen über den Bau -BAU_INFO_COMMAND_OWNER=§7Besitzer§8: §e{0} -BAU_INFO_COMMAND_MEMBER=§7{0} §8[§7{1}§8]§8: §e{2} -BAU_INFO_COMMAND_FLAG=§7{0}§8: §7{1} -BAU_INFO_COMMAND_TPS=§7TPS§8:§e +BAU_INFO_ITEM_LORE_TNT = §7TNT§8: §e{0} +BAU_INFO_ITEM_LORE_FREEZE = §7Freeze§8: §e{0} +BAU_INFO_ITEM_LORE_DAMAGE = §7Damage§8: §e{0} +BAU_INFO_ITEM_LORE_FIRE = §7Feuer§8: §e{0} +BAU_INFO_ITEM_LORE_COLOR = §7Farbe§8: §e{0} +BAU_INFO_ITEM_LORE_PROTECT = §7Protect§8: §e{0} + +BAU_INFO_COMMAND_HELP = §8/§ebauinfo §8- §7Gibt Informationen über den Bau +BAU_INFO_COMMAND_OWNER = §7Besitzer§8: §e{0} +BAU_INFO_COMMAND_MEMBER = §7Mitglieder §8[§7{0}§8]§8: §e +BAU_INFO_COMMAND_FLAG = §7{0}§8: §7{1} +BAU_INFO_COMMAND_TPS = §7TPS§8:§e + # Countingwand -COUNTINGWAND_COMMAND_HELP=§8/§ecountingwand §8- §7Gibt dir ein CountingWand -COUNTINGWAND_ITEM_NAME=§eZollstock -COUNTINGWAND_ITEM_LORE1=§eLinksklick §8- §7Setzt die 1. Position -COUNTINGWAND_ITEM_LORE2=§eRechtsklick §8- §7Setzt die 2. Position -COUNTINGWAND_MESSAGE_RCLICK=§7Erste Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_LCLICK=§7Zweite Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_VOLUME=§e{0} -COUNTINGWAND_MESSAGE_DIMENSION=§e{0}§8, §e{1}§8, §e{2} +COUNTINGWAND_COMMAND_HELP = §8/§ecountingwand §8- §7Gibt dir ein CountingWand +COUNTINGWAND_ITEM_NAME = §eZollstock +COUNTINGWAND_ITEM_LORE1 = §eLinksklick §8- §7Setzt die 1. Position +COUNTINGWAND_ITEM_LORE2 = §eRechtsklick §8- §7Setzt die 2. Position +COUNTINGWAND_MESSAGE_RCLICK = §7Erste Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_LCLICK = §7Zweite Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_VOLUME = §e{0} +COUNTINGWAND_MESSAGE_DIMENSION = §e{0}§8, §e{1}§8, §e{2} + # Design Endstone -DESIGN_ENDSTONE_COMMAND_HELP=§8/§edesign endstone §8- §7Zeige End Stone im Design -DESIGN_ENDSTONE_REGION_ERROR=§cDiese Region hat keinen Baubereich -DESIGN_ENDSTONE_ENABLE=§aEndstone im Design ist angezeigt -DESIGN_ENDSTONE_DISABLE=§cEndstone im Design ist versteckt +DESIGN_ENDSTONE_COMMAND_HELP = §8/§edesign endstone §8- §7Zeige End Stone im Design +DESIGN_ENDSTONE_REGION_ERROR = §cDiese Region hat keinen Baubereich +DESIGN_ENDSTONE_ENABLE = §aEndstone im Design ist angezeigt +DESIGN_ENDSTONE_DISABLE = §cEndstone im Design ist versteckt + # Detonator -DETONATOR_LOC_REMOVE=§e{0} entfernt -DETONATOR_LOC_ADD=§e{0} hinzugefügt +DETONATOR_LOC_REMOVE = §e{0} entfernt +DETONATOR_LOC_ADD = §e{0} hinzugefügt DETONATOR_BUTTON_SWITCH=Hebel DETONATOR_BUTTON_WOOD_BUTTON=Knopf DETONATOR_BUTTON_STONE_BUTTON=Knopf @@ -193,203 +227,233 @@ GUI_EDITOR_ITEM_TRASH_LORE=§7Item hier rein Legen GUI_EDITOR_ITEM_MORE=§eMehr Items GUI_EDITOR_ITEM_CLOSE=§eSchließen GUI_EDITOR_TITLE_MORE=Item auswählen + # Script ## CustomScript -SCRIPT_HOTKEY_ITEM_NAME=§7Hotkey§8: §e{0} -SCRIPT_EVENT_ITEM_NAME=§7Event§8: §e{0} -SCRIPT_COMMAND_ITEM_NAME=§7Befehl§8: §e/{0} +SCRIPT_HOTKEY_ITEM_NAME = §7Hotkey§8: §e{0} +SCRIPT_EVENT_ITEM_NAME = §7Event§8: §e{0} +SCRIPT_COMMAND_ITEM_NAME = §7Befehl§8: §e/{0} SCRIPT_ERROR_ONLY_IN_GLOBAL=§cDieses Skript kann nur als globales Skript ausgeführt werden + ## Script Menu GUI -SCRIPT_MENU_GUI_ITEM_LORE_1=§7Klicke zum rausnehmen -SCRIPT_MENU_GUI_ITEM_LORE_2=§7Shiftklick zum kopieren -SCRIPT_MENU_GUI_ITEM_LORE_3=§7Rechtsklick zum editieren -SCRIPT_MENU_GUI_ITEM_LORE_4=§7Mittelklick zum anschauen -SCRIPT_MENU_GUI_NAME=§eSkript-Menü -SCRIPT_MENU_GUI_ITEM_ADD_NAME=§eHinzufügen -SCRIPT_MENU_GUI_ITEM_ADD_LORE=§7Klicke mit einem Buch zum hinzufügen +SCRIPT_MENU_GUI_ITEM_LORE_1 = §7Klicke zum rausnehmen +SCRIPT_MENU_GUI_ITEM_LORE_2 = §7Shiftklick zum kopieren +SCRIPT_MENU_GUI_ITEM_LORE_3 = §7Rechtsklick zum editieren +SCRIPT_MENU_GUI_ITEM_LORE_4 = §7Mittelklick zum anschauen +SCRIPT_MENU_GUI_NAME = §eSkript-Menü +SCRIPT_MENU_GUI_ITEM_ADD_NAME = §eHinzufügen +SCRIPT_MENU_GUI_ITEM_ADD_LORE = §7Klicke mit einem Buch zum hinzufügen SCRIPT_DEPRECATED=§cDie Funktion §e{0}§c ist veraltet und wird demnächst entfernt. Bitte benutze §e{1}§c. + # Shield Printing -SHIELD_PRINTING_HELP_START=§8/§eshieldprinting start §8- §7Starte das Schild drucken -SHIELD_PRINTING_HELP_COPY=§8/§eshieldprinting copy §8- §7Kopiert die Schilder -SHIELD_PRINTING_HELP_APPLY=§8/§eshieldprinting apply §8- §7Wendet die Schilder an -SHIELD_PRINTING_HELP_STOP=§8/§eshieldprinting stop §8- §7Stoppt das Schild drucken -SHIELD_PRINTING_HELP_STEP_1=§81. §7Füge die Schematic in die Welt ein -SHIELD_PRINTING_HELP_STEP_2=§82. §7Starte das Schild drucken mit §8/§eshieldprinting start -SHIELD_PRINTING_HELP_STEP_3=§83. §7Warte bis alle Schilde ausgefahren sind -SHIELD_PRINTING_HELP_STEP_4=§84. §7Editiere die Schilde wenn nötig -SHIELD_PRINTING_HELP_STEP_5=§85. §7Kopiere das gedruckte mit §8/§eshieldprinting copy -SHIELD_PRINTING_HELP_STEP_6=§86. §7Füge die originale Schematic wieder ein -SHIELD_PRINTING_HELP_STEP_7=§87. §7Wende das gedruckte mit §8/§eshieldprinting apply§7 an -SHIELD_PRINTING_NO_REGION=§cDu bist in keiner Region. -SHIELD_PRINTING_NOT_RUNNING=§cShield printing ist nicht aktiv. -SHIELD_PRINTING_BOSSBAR=§fBewegungen: {0} -SHIELD_PRINTING_BOSSBAR_COPIED=§fBewegungen: {0} Kopiert: {1} -SHIELD_PRINTING_GUI_NAME=§7Schild Drucken -SHIELD_PRINTING_GUI_APPLY=§aAnwenden -SHIELD_PRINTING_GUI_STATE_PREVIOUS=§7R-Click§8: §7Vorherige -SHIELD_PRINTING_GUI_STATE_NEXT=§7L-Click§8: §7Nächste -SHIELD_PRINTING_GUI_STATE_ACTIVE=§e> §7{0} -SHIELD_PRINTING_GUI_STATE_INACTIVE=§8> §7{0} -SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL=Original -SHIELD_PRINTING_GUI_STATE_FROM_COPY=Kopie -SHIELD_PRINTING_GUI_STATE_ALWAYS_ON=An -SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF=Aus -SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN=Offen -SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED=Geschlossen -SHIELD_PRINTING_GUI_STATE_FENCE=§7{0} §fZaun Verbindungen -SHIELD_PRINTING_GUI_STATE_OPENABLE=§7{0} §fGeöffnet -SHIELD_PRINTING_GUI_STATE_PISTON=§7{0} §fAusgefahren -SHIELD_PRINTING_GUI_STATE_POWERABLE=§7{0} §fAktiviert -SHIELD_PRINTING_GUI_STATE_WALL=§7{0} §fWand Verbindungen -SHIELD_PRINTING_START=§aShield printing wurde gestartet. -SHIELD_PRINTING_COPY=§aSchilde wurden kopiert. -SHIELD_PRINTING_APPLY=§aSchilde wurden angewendet. -SHIELD_PRINTING_STOP=§aShield printing wurde gestoppt. +SHIELD_PRINTING_HELP_START = §8/§eshieldprinting start §8- §7Starte das Schild drucken +SHIELD_PRINTING_HELP_COPY = §8/§eshieldprinting copy §8- §7Kopiert die Schilder +SHIELD_PRINTING_HELP_APPLY = §8/§eshieldprinting apply §8- §7Wendet die Schilder an +SHIELD_PRINTING_HELP_STOP = §8/§eshieldprinting stop §8- §7Stoppt das Schild drucken +SHIELD_PRINTING_HELP_STEP_1 = §81. §7Füge die Schematic in die Welt ein +SHIELD_PRINTING_HELP_STEP_2 = §82. §7Starte das Schild drucken mit §8/§eshieldprinting start +SHIELD_PRINTING_HELP_STEP_3 = §83. §7Warte bis alle Schilde ausgefahren sind +SHIELD_PRINTING_HELP_STEP_4 = §84. §7Editiere die Schilde wenn nötig +SHIELD_PRINTING_HELP_STEP_5 = §85. §7Kopiere das gedruckte mit §8/§eshieldprinting copy +SHIELD_PRINTING_HELP_STEP_6 = §86. §7Füge die originale Schematic wieder ein +SHIELD_PRINTING_HELP_STEP_7 = §87. §7Wende das gedruckte mit §8/§eshieldprinting apply§7 an + +SHIELD_PRINTING_NO_REGION = §cDu bist in keiner Region. +SHIELD_PRINTING_NOT_RUNNING = §cShield printing ist nicht aktiv. +SHIELD_PRINTING_BOSSBAR = §fBewegungen: {0} +SHIELD_PRINTING_BOSSBAR_COPIED = §fBewegungen: {0} Kopiert: {1} + +SHIELD_PRINTING_GUI_NAME = §7Schild Drucken +SHIELD_PRINTING_GUI_APPLY = §aAnwenden +SHIELD_PRINTING_GUI_STATE_PREVIOUS = §7R-Click§8: §7Vorherige +SHIELD_PRINTING_GUI_STATE_NEXT = §7L-Click§8: §7Nächste +SHIELD_PRINTING_GUI_STATE_ACTIVE = §e> §7{0} +SHIELD_PRINTING_GUI_STATE_INACTIVE = §8> §7{0} +SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL = Original +SHIELD_PRINTING_GUI_STATE_FROM_COPY = Kopie +SHIELD_PRINTING_GUI_STATE_ALWAYS_ON = An +SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF = Aus +SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN = Offen +SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED = Geschlossen +SHIELD_PRINTING_GUI_STATE_FENCE = §7{0} §fZaun Verbindungen +SHIELD_PRINTING_GUI_STATE_OPENABLE = §7{0} §fGeöffnet +SHIELD_PRINTING_GUI_STATE_PISTON = §7{0} §fAusgefahren +SHIELD_PRINTING_GUI_STATE_POWERABLE = §7{0} §fAktiviert +SHIELD_PRINTING_GUI_STATE_WALL = §7{0} §fWand Verbindungen + +SHIELD_PRINTING_START = §aShield printing wurde gestartet. +SHIELD_PRINTING_COPY = §aSchilde wurden kopiert. +SHIELD_PRINTING_APPLY = §aSchilde wurden angewendet. +SHIELD_PRINTING_STOP = §aShield printing wurde gestoppt. + # Unsign Book UNSIGN_HELP=§8/§eunsign §8- §7Mache ein Buch beschreibbar + # Simulator -SIMULATOR_HELP=§8/§esimulator §8-§7 Legt dir den Simulatorstab ins Inventar -SIMULATOR_CREATE_HELP=§8/§esimulator create §8[§7name§8] §8-§7 Erstelle einen neuen Simulator -SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Wechsel zu einem anderen Simulator -SIMULATOR_DELETE_HELP=§8/§esimulator delete §8[§7name§8] §8-§7 Löscht den Simulator -SIMULATOR_START_HELP=§8/§esimulator start §8[§7name§8] §8-§7 Startet die Simulation -SIMULATOR_COPY_HELP=§8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Kopiert einen Simulator -SIMULATOR_GUI_ITEM_NAME=§eTNT Simulator -SIMULATOR_NO_SIM_IN_HAND=§cKein Simulator Item gewählt -SIMULATOR_GUI_SELECT_SIM=Simulator wählen -SIMULATOR_GUI_CREATE_SIM=§eSimulator erstellen -SIMULATOR_GUI_CREATE_SIM_GUI=Simulator erstellen -SIMULATOR_NAME_ALREADY_EXISTS=§cSimulator existiert bereits -SIMULATOR_NAME_INVALID=§cUngültiger Name -SIMULATOR_ERROR_COPY=§cFehler beim kopieren -SIMULATOR_NOT_EXISTS=§cSimulator existiert nicht -SIMULATOR_CREATE=§aSimulator erstellt -SIMULATOR_EDIT_LOCATION=§7Editiere Positionen -SIMULATOR_EDIT_PROPERTIES=§7Editiere Eigenschaften -SIMULATOR_EDIT_OTHER=§7Editiere Andere -SIMULATOR_EDIT_GROUP=§7Editiere Gruppe -SIMULATOR_EDIT_GROUP_MENU=§eEditiere Gruppe -SIMULATOR_WAND_NAME=§eKanonensimulator -SIMULATOR_WAND_NAME_SELECTED=§7Kanonensimulator §8- §e{0} -SIMULATOR_WAND_LORE_1=§eRechtsklick §8- §7Füge eine Position hinzu -SIMULATOR_WAND_LORE_2=§eSneaken §8- §7Freie Bewegung -SIMULATOR_WAND_LORE_3=§eLinksklick §8- §7Starte die Simulation -SIMULATOR_WAND_LORE_4=§eRechtsklick Luft §8- §7Öffne die GUI -SIMULATOR_WAND_LORE_5=§eDoppel Shift §8- §7Wechsel zwischen TNT und Redstone Block -SIMULATOR_REGION_FROZEN=§cSimulator kann nicht in eingefrorenen Regionen genutzt werden +SIMULATOR_HELP = §8/§esimulator §8-§7 Legt dir den Simulatorstab ins Inventar +SIMULATOR_CREATE_HELP = §8/§esimulator create §8[§7name§8] §8-§7 Erstelle einen neuen Simulator +SIMULATOR_CHANGE_HELP = §8/§esimulator change §8-§7 Wechsel zu einem anderen Simulator +SIMULATOR_DELETE_HELP = §8/§esimulator delete §8[§7name§8] §8-§7 Löscht den Simulator +SIMULATOR_START_HELP = §8/§esimulator start §8[§7name§8] §8-§7 Startet die Simulation +SIMULATOR_COPY_HELP = §8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Kopiert einen Simulator + +SIMULATOR_GUI_ITEM_NAME = §eTNT Simulator + +SIMULATOR_NO_SIM_IN_HAND = §cKein Simulator Item gewählt +SIMULATOR_GUI_SELECT_SIM = Simulator wählen +SIMULATOR_GUI_CREATE_SIM = §eSimulator erstellen +SIMULATOR_GUI_CREATE_SIM_GUI = Simulator erstellen +SIMULATOR_NAME_ALREADY_EXISTS = §cSimulator existiert bereits +SIMULATOR_NAME_INVALID = §cUngültiger Name +SIMULATOR_ERROR_COPY = §cFehler beim kopieren +SIMULATOR_NOT_EXISTS = §cSimulator existiert nicht +SIMULATOR_CREATE = §aSimulator erstellt +SIMULATOR_EDIT_LOCATION = §7Editiere Positionen +SIMULATOR_EDIT_PROPERTIES = §7Editiere Eigenschaften +SIMULATOR_EDIT_OTHER = §7Editiere Andere +SIMULATOR_EDIT_GROUP = §7Editiere Gruppe + +SIMULATOR_EDIT_GROUP_MENU = §eEditiere Gruppe + +SIMULATOR_WAND_NAME = §eKanonensimulator +SIMULATOR_WAND_NAME_SELECTED = §7Kanonensimulator §8- §e{0} +SIMULATOR_WAND_LORE_1 = §eRechtsklick §8- §7Füge eine Position hinzu +SIMULATOR_WAND_LORE_2 = §eSneaken §8- §7Freie Bewegung +SIMULATOR_WAND_LORE_3 = §eLinksklick §8- §7Starte die Simulation +SIMULATOR_WAND_LORE_4 = §eRechtsklick Luft §8- §7Öffne die GUI +SIMULATOR_WAND_LORE_5 = §eDoppel Shift §8- §7Wechsel zwischen TNT und Redstone Block + +SIMULATOR_REGION_FROZEN = §cSimulator kann nicht in eingefrorenen Regionen genutzt werden + ## Other -SIMULATOR_PLUS_ONE=§7+1 -SIMULATOR_PLUS_PIXEL_SHIFT=§eShift §7Click für §e+0,0625 -SIMULATOR_PLUS_FIVE_SHIFT=§eShift §7Click für §e+5 -SIMULATOR_MINUS_ONE=§7-1 -SIMULATOR_MINUS_PIXEL_SHIFT=§eShift §7Click für §e-0,0625 -SIMULATOR_MINUS_FIVE_SHIFT=§eShift §7Click für §e-5 -SIMULATOR_POSITION_X=§7x-Position -SIMULATOR_POSITION_Y=§7y-Position -SIMULATOR_POSITION_Z=§7z-Position -SIMULATOR_BACK=§eZurück -SIMULATOR_GUI_TOTAL_TNT=§7Gesamt TNT§8: §e{0} -SIMULATOR_DELETED=§cSimulator gelöscht +SIMULATOR_PLUS_ONE = §7+1 +SIMULATOR_PLUS_PIXEL_SHIFT = §eShift §7Click für §e+0,0625 +SIMULATOR_PLUS_FIVE_SHIFT = §eShift §7Click für §e+5 +SIMULATOR_MINUS_ONE = §7-1 +SIMULATOR_MINUS_PIXEL_SHIFT = §eShift §7Click für §e-0,0625 +SIMULATOR_MINUS_FIVE_SHIFT = §eShift §7Click für §e-5 +SIMULATOR_POSITION_X = §7x-Position +SIMULATOR_POSITION_Y = §7y-Position +SIMULATOR_POSITION_Z = §7z-Position +SIMULATOR_BACK = §eZurück + +SIMULATOR_GUI_TOTAL_TNT = §7Gesamt TNT§8: §e{0} + +SIMULATOR_DELETED = §cSimulator gelöscht + ## GUI -SIMULATOR_POSITION_EDIT=§ePosition bearbeiten -SIMULATOR_POSITION_ADD=§ePosition setzen -SIMULATOR_GUI_TNT_SPAWN_NAME=§eTNT -SIMULATOR_GUI_TNT_SPAWN_LORE_1=§7TNT-Anzahl§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_3=§7Lebensdauer§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_NAME=§eTNT Gruppe -SIMULATOR_GUI_TNT_GROUP_LORE_1=§7Elementanzahl§8: §e{0} -SIMULATOR_GUI_TNT_DISABLED=§cDisabled -SIMULATOR_GUI_NAME=Kanonensimulator -SIMULATOR_GUI_DELETE=§cTNT löschen -SIMULATOR_GUI_AUTO_TRACE=§eAutoTrace§8: §7{0} -SIMULATOR_GUI_MOVE_ALL=§eAlle Verschieben -SIMULATOR_ALIGNMENT_CENTER=§7Verschiebung§8: §eMitte -SIMULATOR_ALIGNMENT_POSITIVE_X=§7Verschiebung§8: §ePositive X -SIMULATOR_ALIGNMENT_NEGATIVE_X=§7Verschiebung§8: §eNegative X -SIMULATOR_ALIGNMENT_POSITIVE_Z=§7Verschiebung§8: §ePositive Z -SIMULATOR_ALIGNMENT_NEGATIVE_Z=§7Verschiebung§8: §eNegative Z -SIMULATOR_MOVE_ALL_GUI_NAME=TNT Verschieben -SIMULATOR_TNT_SPAWN_GUI_NAME=TNT konfigurieren {0} -SIMULATOR_TNT_SPAWN_LORE=§eZum Ändern klicken -SIMULATOR_TNT_SPAWN_COUNT=§7TNT-Anzahl §8- §e{0} -SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME=Anzahl TNT -SIMULATOR_TNT_SPAWN_TICK=§7Tick §8- §e{0} -SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME=Tick Offset -SIMULATOR_TNT_SPAWN_FUSE=§7Lebensdauer §8- §e{0} -SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME=Fuse-Ticks -SIMULATOR_TNT_SPAWN_VELOCITY_NAME=§7TNT -SIMULATOR_TNT_SPAWN_VELOCITY_X=§7TNT §eSprung X §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Y=§7TNT §eSprung Y §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Z=§7TNT §eSprung Z §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_ON=§aan -SIMULATOR_TNT_SPAWN_VELOCITY_OFF=§caus -SIMULATOR_TNT_SPAWN_POSITION_X=§7x-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Y=§7y-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Z=§7z-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH=§7Gezündet durch §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR=Comparator -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER=Repeater -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER=Observer -SIMULATOR_TNT_SPAWN_MATERIAL=§eMaterial -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1=§7Jetziges Material§8: §e{0} -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2=§eLink-Click §7Zum ändern -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3=§eRechts-Click §7Zum zurücksetzten -SIMULATOR_MATERIAL_GUI_NAME=Material ändern -SIMULATOR_MATERIAL_CLICK=§eKlicken zum wählen -SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE=§eZündphase hinzufügen -SIMULATOR_TNT_SPAWN_ADD_TNT=§eTNT hinzufügen -SIMULATOR_TNT_SPAWN_REMOVE_TNT=§cEntfernen -SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME=Position +SIMULATOR_POSITION_EDIT = §ePosition bearbeiten +SIMULATOR_POSITION_ADD = §ePosition setzen +SIMULATOR_GUI_TNT_SPAWN_NAME = §eTNT +SIMULATOR_GUI_TNT_SPAWN_LORE_1 = §7TNT-Anzahl§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_3 = §7Lebensdauer§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_NAME = §eTNT Gruppe +SIMULATOR_GUI_TNT_GROUP_LORE_1 = §7Elementanzahl§8: §e{0} +SIMULATOR_GUI_TNT_DISABLED = §cDisabled +SIMULATOR_GUI_NAME = Kanonensimulator +SIMULATOR_GUI_DELETE = §cTNT löschen +SIMULATOR_GUI_AUTO_TRACE = §eAutoTrace§8: §7{0} +SIMULATOR_GUI_MOVE_ALL = §eAlle Verschieben + +SIMULATOR_ALIGNMENT_CENTER = §7Verschiebung§8: §eMitte +SIMULATOR_ALIGNMENT_POSITIVE_X = §7Verschiebung§8: §ePositive X +SIMULATOR_ALIGNMENT_NEGATIVE_X = §7Verschiebung§8: §eNegative X +SIMULATOR_ALIGNMENT_POSITIVE_Z = §7Verschiebung§8: §ePositive Z +SIMULATOR_ALIGNMENT_NEGATIVE_Z = §7Verschiebung§8: §eNegative Z + +SIMULATOR_MOVE_ALL_GUI_NAME = TNT Verschieben + +SIMULATOR_TNT_SPAWN_GUI_NAME = TNT konfigurieren {0} +SIMULATOR_TNT_SPAWN_LORE = §eZum Ändern klicken +SIMULATOR_TNT_SPAWN_COUNT = §7TNT-Anzahl §8- §e{0} +SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME = Anzahl TNT +SIMULATOR_TNT_SPAWN_TICK = §7Tick §8- §e{0} +SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME = Tick Offset +SIMULATOR_TNT_SPAWN_FUSE = §7Lebensdauer §8- §e{0} +SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME = Fuse-Ticks +SIMULATOR_TNT_SPAWN_VELOCITY_NAME = §7TNT +SIMULATOR_TNT_SPAWN_VELOCITY_X = §7TNT §eSprung X §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Y = §7TNT §eSprung Y §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Z = §7TNT §eSprung Z §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_ON = §aan +SIMULATOR_TNT_SPAWN_VELOCITY_OFF = §caus +SIMULATOR_TNT_SPAWN_POSITION_X = §7x-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Y = §7y-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Z = §7z-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH = §7Gezündet durch §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR = Comparator +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER = Repeater +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER = Observer +SIMULATOR_TNT_SPAWN_MATERIAL = §eMaterial +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1 = §7Jetziges Material§8: §e{0} +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2 = §eLink-Click §7Zum ändern +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3 = §eRechts-Click §7Zum zurücksetzten +SIMULATOR_MATERIAL_GUI_NAME = Material ändern +SIMULATOR_MATERIAL_CLICK = §eKlicken zum wählen +SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE = §eZündphase hinzufügen +SIMULATOR_TNT_SPAWN_ADD_TNT = §eTNT hinzufügen +SIMULATOR_TNT_SPAWN_REMOVE_TNT = §cEntfernen +SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME = Position + # SmartPlace -SMART_PLACE_HELP=§8/§esmartplace §8-§7 Toggled SmartPlace -SMART_PLACE_INFO=§7Plaziert rotierbare Blöcke beim §esneaken§7 von dir §eweg§7. -SMART_PLACE_ENABLE=§aSmartPlace aktiviert -SMART_PLACE_DISABLE=§cSmartPlace deaktiviert +SMART_PLACE_HELP = §8/§esmartplace §8-§7 Toggled SmartPlace +SMART_PLACE_INFO = §7Plaziert rotierbare Blöcke beim §esneaken§7 von dir §eweg§7. +SMART_PLACE_ENABLE = §aSmartPlace aktiviert +SMART_PLACE_DISABLE = §cSmartPlace deaktiviert + # InventoryFiller -INVENTORY_FILL_HELP=§8/§einventoryfill §8- §7Toggled InventoryFill -INVENTORY_FILL_INFO=§7Hilft dir, Behälter zu füllen, indem du sie beim sneaken ansiehst und den Gegenstand fallen lässt. Oder scrolle einfach auf einen Behälter, um die Menge des gehaltenen Gegenstandes darin zu ändern. -INVENTORY_FILL_ENABLE=§aInventoryFiller activated -INVENTORY_FILL_DISABLE=§cInventoryFiller deactivated +INVENTORY_FILL_HELP = §8/§einventoryfill §8- §7Toggled InventoryFill +INVENTORY_FILL_INFO = §7Hilft dir, Behälter zu füllen, indem du sie beim sneaken ansiehst und den Gegenstand fallen lässt. Oder scrolle einfach auf einen Behälter, um die Menge des gehaltenen Gegenstandes darin zu ändern. +INVENTORY_FILL_ENABLE = §aInventoryFiller activated +INVENTORY_FILL_DISABLE = §cInventoryFiller deactivated + # Killchecker -KILLCHECKER_HELP_ENABLE=§8/§ekillchecker enable §8- §7Aktiviert Killchecker / Berechnet kills neu -KILLCHECKER_HELP_DISABLE=§8/§ekillchecker disable §8- §7Deaktiviert Killchecker -KILLCHECKER_INFO=§7Zeigt Überlappungen der Kanonen Kills im Baubereich an. -KILLCHECKER_INFO2=§7Nur farbige Blöcke wie Wolle, Terracotta, Stained Glass und Concrete wird gezählt. -KILLCHECKER_ENABLE=§aKillchecker aktiviert -KILLCHECKER_DISABLE=§cKillchecker deaktiviert -KILLCHECKER_BOSSBAR=§e§l{0} §7(§e{1}%§7) §e§l{2}§7 Kanonnen +KILLCHECKER_HELP_ENABLE = §8/§ekillchecker enable §8- §7Aktiviert Killchecker / Berechnet kills neu +KILLCHECKER_HELP_DISABLE = §8/§ekillchecker disable §8- §7Deaktiviert Killchecker +KILLCHECKER_INFO = §7Zeigt Überlappungen der Kanonen Kills im Baubereich an. +KILLCHECKER_INFO2 = §7Nur farbige Blöcke wie Wolle, Terracotta, Stained Glass und Concrete wird gezählt. +KILLCHECKER_ENABLE = §aKillchecker aktiviert +KILLCHECKER_DISABLE = §cKillchecker deaktiviert +KILLCHECKER_BOSSBAR = §e§l{0} §7(§e{1}%§7) §e§l{2}§7 Kanonnen + # BlockCounter -BLOCK_COUNTER_HELP_TOGGLE=§8/§eblockcounter §8- §7Wechsel zwischen an und aus -BLOCK_COUNTER_HELP_ENABLE=§8/§eblockcounter enable §8- §7Schalte den BlockCounter an -BLOCK_COUNTER_HELP_DISABLE=§8/§eblockcounter disable §8- §7Schalte den BlockCounter aus -BLOCK_COUNTER_MESSAGE=§7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/tick -BLOCK_COUNTER_MESSAGE_SECOND=§7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/s -BLOCK_COUNTER_ENABLE=§7BlockCounter angemacht -BLOCK_COUNTER_DISABLE=§7BlockCounter ausgemacht +BLOCK_COUNTER_HELP_TOGGLE = §8/§eblockcounter §8- §7Wechsel zwischen an und aus +BLOCK_COUNTER_HELP_ENABLE = §8/§eblockcounter enable §8- §7Schalte den BlockCounter an +BLOCK_COUNTER_HELP_DISABLE = §8/§eblockcounter disable §8- §7Schalte den BlockCounter aus +BLOCK_COUNTER_MESSAGE = §7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/tick +BLOCK_COUNTER_MESSAGE_SECOND = §7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/s +BLOCK_COUNTER_ENABLE = §7BlockCounter angemacht +BLOCK_COUNTER_DISABLE = §7BlockCounter ausgemacht + # DepthCounter -DEPTH_COUNTER_MESSAGE=§7Tiefe §8> §7 +DEPTH_COUNTER_MESSAGE = §7Tiefe §8> §7 + # TPSLimit -TPSLIMIT_FREEZE_HELP=§8/§etpslimit 0 §8-§7 Friere TPS ein -TPSLIMIT_LIMIT_HELP=§8/§etpslimit §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS -TPSLIMIT_WARP_HELP=§8/§etpslimit §8[§7x>20§8] §8-§7 Beschleunige die TPS -TPSLIMIT_DEFAULT_HELP=§8/§etpslimit default §8-§7 Setze die TPS auf 20 -TPSLIMIT_HELP=§8/§etpslimit §8-§7 Zeige die jetzige TPS -TICK_FREEZE_HELP=§8/§etick rate 0 §8-§7 Friere TPS ein -TICK_FREEZE_HELP_2=§8/§etick freeze §8-§7 Friere TPS ein -TICK_UNFREEZE_HELP=§8/§etick unfreeze §8-§7 Setze die TPS auf 20 -TICK_LIMIT_HELP=§8/§etick rate §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS -TICK_WARP_HELP=§8/§etick rate §8[§7x>20§8] §8-§7 Beschleunige die TPS -TICK_DEFAULT_HELP=§8/§etick rate default §8-§7 Setze die TPS auf 20 -TICK_HELP=§8/§etick rate §8-§7 Zeige die jetzige TPS -TICK_STEPPING_HELP=§8/§etick step §8<§7Ticks§8> §8-§7 Spule n ticks oder 1 vor -TICK_WARPING_HELP=§8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warpe n ticks oder 1 vor -TICK_BOSSBAR=§e{0}§8/§7{1} gesprungen -TPSLIMIT_GUI_ITEM_NAME=§eTPS Limiter -TPSLIMIT_GUI_ITEM_LORE=§7Aktuell: §e{0} -TPSLIMIT_ANVIL_GUI=Neues TPS Limit -TPSLIMIT_CURRENT=§7Jetziges TPS limit§8: §e{0} -TPSLIMIT_SET=§eTPS limit auf {0} gesetzt. -TPSLIMIT_FROZEN=§eTPS eingefroren. +TPSLIMIT_FREEZE_HELP = §8/§etpslimit 0 §8-§7 Friere TPS ein +TPSLIMIT_LIMIT_HELP = §8/§etpslimit §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS +TPSLIMIT_WARP_HELP = §8/§etpslimit §8[§7x>20§8] §8-§7 Beschleunige die TPS +TPSLIMIT_DEFAULT_HELP = §8/§etpslimit default §8-§7 Setze die TPS auf 20 +TPSLIMIT_HELP = §8/§etpslimit §8-§7 Zeige die jetzige TPS + +TICK_FREEZE_HELP = §8/§etick rate 0 §8-§7 Friere TPS ein +TICK_FREEZE_HELP_2 = §8/§etick freeze §8-§7 Friere TPS ein +TICK_UNFREEZE_HELP = §8/§etick unfreeze §8-§7 Setze die TPS auf 20 +TICK_LIMIT_HELP = §8/§etick rate §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS +TICK_WARP_HELP = §8/§etick rate §8[§7x>20§8] §8-§7 Beschleunige die TPS +TICK_DEFAULT_HELP = §8/§etick rate default §8-§7 Setze die TPS auf 20 +TICK_HELP = §8/§etick rate §8-§7 Zeige die jetzige TPS + +TICK_STEPPING_HELP = §8/§etick step §8<§7Ticks§8> §8-§7 Spule n ticks oder 1 vor +TICK_WARPING_HELP = §8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warpe n ticks oder 1 vor + +TICK_BOSSBAR = §e{0}§8/§7{1} gesprungen +TPSLIMIT_GUI_ITEM_NAME = §eTPS Limiter +TPSLIMIT_GUI_ITEM_LORE = §7Aktuell: §e{0} +TPSLIMIT_ANVIL_GUI = Neues TPS Limit +TPSLIMIT_CURRENT = §7Jetziges TPS limit§8: §e{0} +TPSLIMIT_SET = §eTPS limit auf {0} gesetzt. +TPSLIMIT_FROZEN = §eTPS eingefroren. + # Trace TRACE_RECORD=§aan TRACE_HAS_TRACES=§ehat Traces @@ -409,6 +473,7 @@ TRACE_MESSAGE_FOLLOW_SELF=§cSie können sich selbst nicht folgen! TRACE_MESSAGE_UNFOLLOW=§cSie folgen nicht mehr dem Status einer Trace-Show TRACE_MESSAGE_SHOW_TO_SMALLER=§cBis muss größer als von sein TRACE_MESSAGE_ISOLATE=§eTNT Positionen wurden isoliert + TRACE_COMMAND_HELP_SHARE=§8/§etrace share §8- §7Teilt den aktuellen Trace-Show-Status mit anderen TRACE_COMMAND_HELP_FOLLOW=§8/§etrace follow §8[§ePlayer§8] §8- §7Verfolgen eines Spielers Status anzeigen TRACE_COMMAND_HELP_UNFOLLOW=§8/§etrace unfollow §8- §7Den Status der Trace-Anzeige aufheben @@ -422,23 +487,26 @@ TRACE_COMMAND_HELP_SHOW_FROM_TO=§8/§etrace show §8(§etime§8|§7fuse§8) §7 TRACE_COMMAND_HELP_HIDE=§8/§etrace hide §8- §7Versteckt alle TNT-Positionen TRACE_COMMAND_HELP_DELETE=§8/§etrace delete §8- §7Löscht alle TNT-Positionen TRACE_COMMAND_HELP_ISOLATE=§8/§etrace isolate §8[§eTrace§8] §8[§eTNT§8] §8- §7Isoliert spezifische TNTs des Traces -TRACE_GUI_ITEM_NAME=§eTracer -TRACE_GUI_ITEM_LORE=§7Status§8: {0} -TRACE_GUI_NAME=Tracer Gui -TRACE_GUI_TRACE_INACTIVE=§eTracer Starten -TRACE_GUI_TRACE_ACTIVE=§eTracer Stoppen -TRACE_GUI_TRACE_ACTIVE_AUTO=§eAuto-Trace ist Aktiv -TRACE_GUI_AUTO_TRACE_INACTIVE=§eAuto-Tracer Aktivieren -TRACE_GUI_AUTO_TRACE_ACTIVE=§eAuto-Tracer Deaktivieren -TRACE_GUI_DELETE=§eTrace Löschen + +TRACE_GUI_ITEM_NAME = §eTracer +TRACE_GUI_ITEM_LORE = §7Status§8: {0} +TRACE_GUI_NAME = Tracer Gui +TRACE_GUI_TRACE_INACTIVE = §eTracer Starten +TRACE_GUI_TRACE_ACTIVE = §eTracer Stoppen +TRACE_GUI_TRACE_ACTIVE_AUTO = §eAuto-Trace ist Aktiv +TRACE_GUI_AUTO_TRACE_INACTIVE = §eAuto-Tracer Aktivieren +TRACE_GUI_AUTO_TRACE_ACTIVE = §eAuto-Tracer Deaktivieren +TRACE_GUI_DELETE = §eTrace Löschen + # Loader -LOADER_SETUP=§eEinrichtung -LOADER_RUNNING=§aLaufend -LOADER_PAUSE=§7Pausiert -LOADER_END=§8Beendet +LOADER_SETUP = §eEinrichtung +LOADER_RUNNING = §aLaufend +LOADER_PAUSE = §7Pausiert +LOADER_END = §8Beendet LOADER_SINGLE=§aEinmal -LOADER_MESSAGE_INTERACT=§e{0} hinzugefügt {1} -LOADER_BUTTON_TNT=TNT + +LOADER_MESSAGE_INTERACT = §e{0} hinzugefügt {1} +LOADER_BUTTON_TNT = TNT LOADER_BUTTON_SWITCH=Hebel LOADER_BUTTON_WOOD_BUTTON=Holzknopf LOADER_BUTTON_STONE_BUTTON=Steinknopf @@ -453,10 +521,10 @@ LOADER_BUTTON_LECTERN=Lectern LOADER_BUTTON_TRAPDOOR=Trapdoor LOADER_BUTTON_DOOR=Door LOADER_BUTTON_FENCEGATE=Fencegate + LOADER_HELP_SETUP=§8/§eloader setup §8- §7Startet die Aufnahme der Aktionen LOADER_SETUP_STOP_FIRST=§cBitte stoppe zuerst den Loader LOADER_HELP_START=§8/§eloader start §8- §7Spielt die zuvor aufgenommenen Aktionen ab -LOADER_HELP_SINGLE=§8/§eloader single §8- §7Spielt die zuvor aufgenommenen Aktionen einmal ab LOADER_HELP_PAUSE=§8/§7loader pause §8- §7Pausiert das Abspielen LOADER_HELP_GUI=§8/§7loader settings §8- §7Zeigt die Einstellungen an LOADER_HELP_STOP=§8/§eloader stop §8- §7Stoppt die Aufnahme bzw. das Abspielen @@ -467,11 +535,11 @@ LOADER_NEW=§7Belade und feuer einmal die Kanone ab, um den Loader zu initialisi LOADER_HOW_TO_START=§7Führe dann /§eloader start§7 um den Loader zu starten LOADER_ACTIVE=§7Der Loader ist nun aktiviert. LOADER_STOP=§7Der Loader ist nun gestoppt. -LOADER_SINGLE_CMD=§7Der Loader spielt nun einmal ab. LOADER_PAUSED=§7Der Loader ist nun pausiert. LOADER_SMALL_TIME=§cDie Wartezeit ist zu klein LOADER_NEW_TIME=§7Die Schusswartezeit ist nun: {0} LOADER_NEW_LOAD_TIME=§7Die Setzwartezeit ist nun: {0} + LOADER_NOTHING_RECORDED=§cEs wurden keine Elemente aufgenommen! LOADER_GUI_TITLE=Loader Einstellungen LOADER_GUI_SHOW_ALL=Zeige alles @@ -488,6 +556,7 @@ LOADER_GUI_SETTINGS_COPY=§7Kopieren LOADER_GUI_SETTINGS_DELETE=§cLöschen LOADER_GUI_WAIT_TITLE=Wartezeit LOADER_GUI_WAIT_BACK=§8Zurück + LOADER_GUI_CLICK_TO_EDIT=§7Klicke zum editieren LOADER_GUI_ITEM_NAME=§7{0}§8: §e{1} LOADER_SETTING_NAME=§7{0} @@ -522,6 +591,7 @@ LOADER_INTERACTION_OPEN=Geöffnet LOADER_INTERACTION_CLOSED=Geschlossen LOADER_INTERACTION_COMPARE=Vergleichen LOADER_INTERACTION_SUBTRACT=Subtrahieren + # Loadtimer LOADTIMER_HELP_OVERVIEW=§7Messe dich und deine Freunde beim Beladen einer Kanone und bekomme informationen über die Kanone LOADTIMER_HELP_START_1=§8/§eloadtimer start §8-§7 Startet den einfachen Loadtimer @@ -543,25 +613,27 @@ LOADTIMER_SUMARY_PLAYERTABLE_HEAD=§7Spieler: §eTNT §7(§eTNT/s§7) LOADTIMER_SUMARY_PLAYERTABLE_PLAYER=§7{0}: §e{1} §7(§e{2}/s§7) LOADTIMER_SUMARY_PLAYERTABLE_ALL=Insgesamt LOADTIMER_SUMARY_TIMES_HEAD=§7Zeiten: §eSekunden §7(§eTicks§7) -LOADTIMER_SUMARY_TIMES_START=§7 || §7Start! -LOADTIMER_SUMARY_TIMES_ACTIVATION=§7 || Aktivierung: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_IGNITION=§7 || Zündung: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_EXPLOSION=§7 || Explosion: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_START = §7 || §7Start! +LOADTIMER_SUMARY_TIMES_ACTIVATION = §7 || Aktivierung: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_IGNITION = §7 || Zündung: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_EXPLOSION = §7 || Explosion: §e{0}s §7(§e{1}t§7) LOADTIMER_SUMARY_TIMES_LAST=§7\\/ LOADTIMER_SUMARY_STATS_HEAD=§7Kanonen-Stats§8: LOADTIMER_SUMARY_STATS_TNT=§7TNT: §e{0} LOADTIMER_SUMARY_STATS_FREQ=§7Belade Frequenz: §e{0}/m§8, §7Schuss Frequenz: §e{1}/m + # Observer -OBSERVER_HELP=§7Rechts-Klicke einen Observer um den Trace zu bekommen. Hierfür müssen Flammenpartikel an sein. Die Partikel werden im Block angezeigt. -OBSERVER_HELP_ENABLE=§8/§eobserver enable §8-§7 Aktiviere den Observer Tracer -OBSERVER_HELP_DISABLE=§8/§eobserver disable §8-§7 Deaktiviere den Observer Tracer -OBSERVER_HELP_DELETE=§8/§eobserver delete §8-§7 Lösche den Observer Tracer -OBSERVER_HELP_RETRACE=§8/§eobserver retrace §8-§7 Retrace den Observer Tracer -OBSERVER_ENABLE=§7Observer Trace gestartet -OBSERVER_DISABLE=§7Observer Trace gestoppt -OBSERVER_DELETE=§7Observer Trace gelöscht -OBSERVER_RETRACE_DONE=§7Observer Trace neu berechnet -OBSERVER_RETRACE_NO_TRACE=§7Kein Observer Trace zum neu berechnen +OBSERVER_HELP = §7Rechts-Klicke einen Observer um den Trace zu bekommen. Hierfür müssen Flammenpartikel an sein. Die Partikel werden im Block angezeigt. +OBSERVER_HELP_ENABLE = §8/§eobserver enable §8-§7 Aktiviere den Observer Tracer +OBSERVER_HELP_DISABLE = §8/§eobserver disable §8-§7 Deaktiviere den Observer Tracer +OBSERVER_HELP_DELETE = §8/§eobserver delete §8-§7 Lösche den Observer Tracer +OBSERVER_HELP_RETRACE = §8/§eobserver retrace §8-§7 Retrace den Observer Tracer +OBSERVER_ENABLE = §7Observer Trace gestartet +OBSERVER_DISABLE = §7Observer Trace gestoppt +OBSERVER_DELETE = §7Observer Trace gelöscht +OBSERVER_RETRACE_DONE = §7Observer Trace neu berechnet +OBSERVER_RETRACE_NO_TRACE = §7Kein Observer Trace zum neu berechnen + # Other OTHER_ITEMS_TELEPORT_NAME=§eTeleporter OTHER_ITEMS_TELEPORT_GUI_NAME=Teleportieren @@ -578,8 +650,8 @@ OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE=§aAktiviert OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE=§aDeaktiviert OTHER_SLOT_INVALID_SLOT=§cInvalider Slot OTHER_NOCLIP_SLOT_INFO=§7Mit /slot kannst du den ausgewählten Slot ändern und einen anderen Block in den Slot nehmen. -OTHER_NOCLIP_SLOT_HELP_PICK=§8/§eslot pick §8-§7 Lege den angeguckten Block ins Inventar -OTHER_NOCLIP_SLOT_HELP_DROP=§8/§eslot drop §8-§7 Cleared deinen Slot +OTHER_NOCLIP_SLOT_HELP_PICK = §8/§eslot pick §8-§7 Lege den angeguckten Block ins Inventar +OTHER_NOCLIP_SLOT_HELP_DROP = §8/§eslot drop §8-§7 Cleared deinen Slot OTHER_CLEAR_HELP_SELF=§8/§eclear §8- §7Leere dein Inventar OTHER_CLEAR_HELP_PLAYER=§8/§eclear §8[§7Player§8] §8- §7Leere ein Spieler Inventar OTHER_CLEAR_CLEARED=Dein Inventar wurde geleert. @@ -593,7 +665,7 @@ OTHER_KILLALL_HELP_SELF=§8/§ekillall §8- §7Entferne alle Entities aus deiner OTHER_KILLALL_HELP_ALL=§8/§ekillall §8[§7Global§8/Local§7] §8- §7Entferne alle Entities aus deiner Region oder global OTHER_KILLALL_REGION=§a{0} Entities aus der Region entfernt OTHER_KILLALL_GLOBAL=§a{0} Entities aus der Welt entfernt -OTHER_TELEPORT_HELP=§8/§etp §8[§7Player§8] §8-§7 Teleportiere dich zu einem Spieler +OTHER_TELEPORT_HELP = §8/§etp §8[§7Player§8] §8-§7 Teleportiere dich zu einem Spieler OTHER_TELEPORT_SELF_0=§cSei eins mit dir selbst! OTHER_TELEPORT_SELF_1=§cDu brauchst Leute zum spielen? Wir haben auch einen TeamSpeak! OTHER_TELEPORT_SELF_2=§cNoch zu reisende Blöcke: 0; ETA: 0:00 @@ -602,9 +674,9 @@ OTHER_TELEPORT_SELF_4=§cFür eine solche Distanz? OTHER_TIME_HELP=§8/§etime §8<§7Zeit 0=Morgen§8, §76000=Mittag§8, §718000=Mitternacht§8> - §7Setzt die Zeit auf dem Bau OTHER_TIME_INVALID=§cBitte gib eine Zahl zwischen 0 und 24000 an OTHER_TIME_RESULT=§7§oWhooosh -OTHER_TPS_HEAD=§7TPS: 1s 10s 1m 5m 10m -OTHER_TPS_MESSAGE=§7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} -OTHER_TPS_SINGLE=§8TPS: §e{0} +OTHER_TPS_HEAD = §7TPS: 1s 10s 1m 5m 10m +OTHER_TPS_MESSAGE = §7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} +OTHER_TPS_SINGLE = §8TPS: §e{0} OTHER_BIND_HELP=§8/§ebind §8[§7Command§8] §8-§e Binde ein Befehl auf Item Interaktion OTHER_BIND_ERROR=§cFalscher oder unbekannter Befehl OTHER_BIND_UNBINDABLE=§cBefehl konnte nicht gebunden werden @@ -614,7 +686,7 @@ OTHER_BIND_MESSAGE_UNBIND=§7Befehl entbunden DEBUG_STICK_COMMAND_HELP=§8/§edebugstick §8-§7 Erhalte einen DebugStick DEBUG_STICK_NAME=§eDebugstick #Skull Gui -SKULL_GUI_ITEM_NAME=§eSpieler Köpfe +SKULL_GUI_ITEM_NAME = §eSpieler Köpfe ANVIL_INV_NAME=Spieler name # StructureVoid STRUCTURE_VOID_COMMAND_HELP=§8/§estructureVoid §8-§7 Erhalte ein StructureVoid @@ -624,16 +696,17 @@ DRAGON_EGG_COMMAND_HELP=§8/§edragonegg §8-§7 Erhalte ein Drachenei NIGHT_VISION_HELP=§8/§enightvision §8-§7 Schalte Nightvision an oder aus. NIGHT_VISION_OFF=§eNightvision deaktiviert NIGHT_VISION_ON=§eNightvision aktiviert -NIGHT_VISION_ITEM_ON=§7Nightvision: §eAktiviert -NIGHT_VISION_ITEM_OFF=§7Nightvision: §eDeaktiviert +NIGHT_VISION_ITEM_ON = §7Nightvision: §eAktiviert +NIGHT_VISION_ITEM_OFF = §7Nightvision: §eDeaktiviert + #Navigation Wand NAVIGATION_WAND=§eNavigation Wand NAVIGATION_WAND_LEFT_CLICK=§eLeft click: jump to location NAVIGATION_WAND_RIGHT_CLICK=§eRight click: pass through walls # Material -MATERIAL_SEARCH_PROPERTY_TRUE=§aHat -MATERIAL_SEARCH_PROPERTY_FALSE=§cHat nicht -MATERIAL_SEARCH_PROPERTY_IGNORE=§eEgal +MATERIAL_SEARCH_PROPERTY_TRUE = §aHat +MATERIAL_SEARCH_PROPERTY_FALSE = §cHat nicht +MATERIAL_SEARCH_PROPERTY_IGNORE = §eEgal MATERIAL_INV_NAME=§eMaterial {0}/{1} MATERIAL_SEARCH=§eSuchen MATERIAL_BACK=§eZurück @@ -754,164 +827,189 @@ REGION_TNT_BUILD_DESTROY=§cEine Explosion hätte Blöcke im Baubereich zerstör REGION_TNT_TB_DESTROY=§cEine Explosion hätte Blöcke im Testblockbereich zerstört AFK_KICK_MESSAGE=§cAuf diesem Server ist seit 15 Minuten nichts passiert. AFK_WARNING_MESSAGE=§cDieser Server wird bei weiterer Inaktivität in einer Minute gestoppt -SKIN_HELP=§8/§eskin §8[§7Kuerzel§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Erstellt die Skin Schematics. 'public' als Creator nutzen für keinen Creator, danach die nachricht an YoyoNow kopieren (mit Click kopieren) + +SKIN_HELP = §8/§eskin §8[§7Kuerzel§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Erstellt die Skin Schematics. 'public' als Creator nutzen für keinen Creator, danach die nachricht an YoyoNow kopieren (mit Click kopieren) SKIN_NO_REGION=§7Du steht in keiner Region, welche mit einem Skin versehen werden kann SKIN_ALREADY_EXISTS=§cDieser Skin existiert in der Form bereits SKIN_MESSAGE=§7Skin erstellt SKIN_MESSAGE_HOVER=§eKlicken zum kopieren für YoyoNow und an diesen senden + # Panzern -PANZERN_HELP=§8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Panzer deine WorldEdit Auswahl -PANZERN_PREPARE1=§71. Gucke nochmal nach, ob Läufe auch bis zur Panzergrenze führen. -PANZERN_PREPARE2=§72. Teppich in Gänge auf dem Boden vereinfacht das panzern. -PANZERN_PREPARE3=§73. Schildtechnik sollte explizit eingeschlossen sein. -PANZERN_PREPARE4=§74. Innerhalb der zu panzernden Region zu stehen, beim Befehlausführen kann das Panzern verbessern. -PANZERN_NO_WORLDEDIT=§cDu hast keine WorldEdit Selection -PANZERN_PROGRESS=§e{0} §7Blöcke übrig, §e{1} §7Blöcke pro Sekunde, §e{2} §7Block Delta -PANZERN_DONE=§aZuende gepanzert +PANZERN_HELP = §8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Panzer deine WorldEdit Auswahl +PANZERN_PREPARE1 = §71. Gucke nochmal nach, ob Läufe auch bis zur Panzergrenze führen. +PANZERN_PREPARE2 = §72. Teppich in Gänge auf dem Boden vereinfacht das panzern. +PANZERN_PREPARE3 = §73. Schildtechnik sollte explizit eingeschlossen sein. +PANZERN_PREPARE4 = §74. Innerhalb der zu panzernden Region zu stehen, beim Befehlausführen kann das Panzern verbessern. +PANZERN_NO_WORLDEDIT = §cDu hast keine WorldEdit Selection +PANZERN_PROGRESS = §e{0} §7Blöcke übrig, §e{1} §7Blöcke pro Sekunde, §e{2} §7Block Delta +PANZERN_DONE = §aZuende gepanzert + # Laufbau -LAUFBAU_HELP=§8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Baue einen Lauf in deiner WorldEdit Auswahl mit den Traces -LAUFBAU_HELP_SETTINGS=§8/§elaufbau settings §8- §7Öffnet die Settings GUI -LAUFBAU_PREPARE1=§71. Trace die Kanonen so oft wie nötig, in allen Modi. -LAUFBAU_PREPARE2=§72. Versuche alle Fails aus dem Trace zu löschen. -LAUFBAU_NO_WORLDEDIT=§cDu hast keine WorldEdit Selection -LAUFBAU_STATE_FILTERING_TRACES=Traces filtern -LAUFBAU_STATE_PROCESSING_TRACES=Traces verbinden -LAUFBAU_STATE_CREATE_LAUF=Lauf erstellen -LAUFBAU_SIMPLE_PROGRESS=§e{0}§8: §e{1}§8/§e{2} §7Übrige Zeit §8: §e{3} -LAUFBAU_DONE=§aZuende gebaut -LAUFBAU_SETTINGS_GUI_NAME=§eLaufbau -LAUFBAU_SETTINGS_ACTIVE=§aAktiv -LAUFBAU_SETTINGS_INACTIVE=§cInaktiv -LAUFBAU_SETTINGS_MIXED=§e{0}§8/§e{1} §aAktiv -LAUFBAU_SETTINGS_GUI_BACK=§eBack -LAUFBAU_SETTINGS_TOGGLE=§eClick §8-§7 Toggle -LAUFBAU_SETTINGS_ADVANCED=§eMiddle-Click §8-§7 Erweiterte Einstellung -LAUFBAU_BLOCK_COBWEB=§eCobweb -LAUFBAU_BLOCK_GRASS_PATH=§eGrass Path -LAUFBAU_BLOCK_SOUL_SAND=§eSoul Sand -LAUFBAU_BLOCK_COCOA=§eCocoa -LAUFBAU_BLOCK_TURTLE_EGG=§eTurtle Eggs -LAUFBAU_BLOCK_CHEST=§eChest -LAUFBAU_BLOCK_SNOW=§eSnow Layer -LAUFBAU_BLOCK_PLAYER_WALL_HEAD=§ePlayer Wall Head -LAUFBAU_BLOCK_STONECUTTER=§eStonecutter -LAUFBAU_BLOCK_PLAYER_HEAD=§ePlayer Head -LAUFBAU_BLOCK_CAKE=§eCake -LAUFBAU_BLOCK_END_STONE_BRICK_SLAB=§eEndstone Brick Slabs -LAUFBAU_BLOCK_SEA_PICKLE=§eSea Pickles -LAUFBAU_BLOCK_CAMPFIRE=§eCampfire -LAUFBAU_BLOCK_FLOWER_POT=§eFlower Pot -LAUFBAU_BLOCK_IRON_TRAPDOOR=§eIron Trapdoor -LAUFBAU_BLOCK_LILY_PAD=§eLily Pad -LAUFBAU_BLOCK_WHITE_CARPET=§eCarpet -LAUFBAU_BLOCK_END_ROD=§eEnd Rod -LAUFBAU_BLOCK_LIGHTNING_ROD=§eLightning Rod -LAUFBAU_BLOCK_CONDUIT=§eConduit -LAUFBAU_BLOCK_BREWING_STAND=§eBrewing Stand -LAUFBAU_BLOCK_BELL=§eBell -LAUFBAU_BLOCK_GRINDSTONE=§eGrindstone -LAUFBAU_BLOCK_HOPPER=§eHopper -LAUFBAU_BLOCK_LANTERN=§eLantern -LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS=§eEndstone Brick Stairs -LAUFBAU_BLOCK_CHORUS_PLANT=§eChorus Plant -LAUFBAU_BLOCK_NETHER_BRICK_FENCE=§eNether Brick Fence -LAUFBAU_BLOCK_IRON_BARS=§eIron Bars -LAUFBAU_BLOCK_END_STONE_BRICK_WALL=§eEndstone Brick Walls -LAUFBAU_BLOCK_CHAIN=§eChain -LAUFBAU_BLOCK_BIG_DRIP_LEAF=§eBig Drip Leaf -LAUFBAU_BLOCK_DRAGON_EGG=§eDragon Egg -LAUFBAU_BLOCK_AZALEA=§eAzalea -LAUFBAU_BLOCK_CANDLE=§eKerze -LAUFBAU_BLOCK_CANDLE_CAKE=§eKuchen mit Kerze -LAUFBAU_BLOCK_LECTERN=§eLectern -LAUFBAU_FACING_NORTH=§8-§7 Richtung Norden -LAUFBAU_FACING_SOUTH=§8-§7 Richtung Süden -LAUFBAU_FACING_WEST=§8-§7 Richtung Westen -LAUFBAU_FACING_EAST=§8-§7 Richtung Osten -LAUFBAU_FACING_UP=§8-§7 Richtung Oben -LAUFBAU_FACING_DOWN=§8-§7 Richtung Unten -LAUFBAU_COUNT_1=§8-§7 Anzahl 1 -LAUFBAU_COUNT_2=§8-§7 Anzahl 2 -LAUFBAU_COUNT_3=§8-§7 Anzahl 3 -LAUFBAU_COUNT_4=§8-§7 Anzahl 4 -LAUFBAU_LAYERS_8=§8-§7 Ebenen 8 -LAUFBAU_LAYERS_7=§8-§7 Ebenen 7 -LAUFBAU_LAYERS_6=§8-§7 Ebenen 6 -LAUFBAU_LAYERS_3=§8-§7 Ebenen 3 -LAUFBAU_LAYERS_2=§8-§7 Ebenen 2 -LAUFBAU_TYPE_BOTTOM=§8-§7 Type Unten -LAUFBAU_TYPE_TOP=§8-§7 Type Oben -LAUFBAU_HALF_BOTTOM=§8-§7 Hälfte Unten -LAUFBAU_HALF_TOP=§8-§7 Hälfte Oben -LAUFBAU_OPEN=§8-§7 Geöffnet -LAUFBAU_ATTACHMENT_CEILING=§8-§7 Befestigung Decke -LAUFBAU_ATTACHMENT_FLOOR=§8-§7 Befestigung Boden -LAUFBAU_ATTACHMENT_DOUBLE_WALL=§8-§7 Befestigung beidseitige Wand -LAUFBAU_ATTACHMENT_SINGLE_WALL=§8-§7 Befestigung einseitige Wand -LAUFBAU_ATTACHMENT_WALL=§8-§7 Befestigung Wand -LAUFBAU_CONNECTION_FLOOR=§8-§7 Verbindung Boden -LAUFBAU_CONNECTION_NORTH=§8-§7 Verbindung Norden -LAUFBAU_CONNECTION_SOUTH=§8-§7 Verbindung Süden -LAUFBAU_CONNECTION_EAST=§8-§7 Verbindung Osten -LAUFBAU_CONNECTION_WEST=§8-§7 Verbindung Westen -LAUFBAU_CONNECTION_DOWN=§8-§7 Verbindung Unten -LAUFBAU_CONNECTION_UP=§8-§7 Verbindung Oben -LAUFBAU_HANGING=§8-§7 hängend -LAUFBAU_SHAPE_STRAIGHT=§8-§7 Form gerade -LAUFBAU_SHAPE_OUTER_LEFT=§8-§7 Form äußere links -LAUFBAU_SHAPE_INNER_LEFT=§8-§7 Form innere links -LAUFBAU_TILT_NONE=§8-§7 Neigung keine -LAUFBAU_TILT_PARTIAL=§8-§7 Neigung teilweise +LAUFBAU_HELP = §8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Baue einen Lauf in deiner WorldEdit Auswahl mit den Traces +LAUFBAU_HELP_SETTINGS = §8/§elaufbau settings §8- §7Öffnet die Settings GUI +LAUFBAU_PREPARE1 = §71. Trace die Kanonen so oft wie nötig, in allen Modi. +LAUFBAU_PREPARE2 = §72. Versuche alle Fails aus dem Trace zu löschen. +LAUFBAU_NO_WORLDEDIT = §cDu hast keine WorldEdit Selection +LAUFBAU_STATE_FILTERING_TRACES = Traces filtern +LAUFBAU_STATE_PROCESSING_TRACES = Traces verbinden +LAUFBAU_STATE_CREATE_LAUF = Lauf erstellen +LAUFBAU_SIMPLE_PROGRESS = §e{0}§8: §e{1}§8/§e{2} §7Übrige Zeit §8: §e{3} +LAUFBAU_DONE = §aZuende gebaut + +LAUFBAU_SETTINGS_GUI_NAME = §eLaufbau +LAUFBAU_SETTINGS_ACTIVE = §aAktiv +LAUFBAU_SETTINGS_INACTIVE = §cInaktiv +LAUFBAU_SETTINGS_MIXED = §e{0}§8/§e{1} §aAktiv +LAUFBAU_SETTINGS_GUI_BACK = §eBack + +LAUFBAU_SETTINGS_TOGGLE = §eClick §8-§7 Toggle +LAUFBAU_SETTINGS_ADVANCED = §eMiddle-Click §8-§7 Erweiterte Einstellung + +LAUFBAU_BLOCK_COBWEB = §eCobweb +LAUFBAU_BLOCK_GRASS_PATH = §eGrass Path +LAUFBAU_BLOCK_SOUL_SAND = §eSoul Sand +LAUFBAU_BLOCK_COCOA = §eCocoa +LAUFBAU_BLOCK_TURTLE_EGG = §eTurtle Eggs +LAUFBAU_BLOCK_CHEST = §eChest +LAUFBAU_BLOCK_SNOW = §eSnow Layer +LAUFBAU_BLOCK_PLAYER_WALL_HEAD = §ePlayer Wall Head +LAUFBAU_BLOCK_STONECUTTER = §eStonecutter +LAUFBAU_BLOCK_PLAYER_HEAD = §ePlayer Head +LAUFBAU_BLOCK_CAKE = §eCake +LAUFBAU_BLOCK_END_STONE_BRICK_SLAB = §eEndstone Brick Slabs +LAUFBAU_BLOCK_SEA_PICKLE = §eSea Pickles +LAUFBAU_BLOCK_CAMPFIRE = §eCampfire +LAUFBAU_BLOCK_FLOWER_POT = §eFlower Pot +LAUFBAU_BLOCK_IRON_TRAPDOOR = §eIron Trapdoor +LAUFBAU_BLOCK_LILY_PAD = §eLily Pad +LAUFBAU_BLOCK_WHITE_CARPET = §eCarpet +LAUFBAU_BLOCK_END_ROD = §eEnd Rod +LAUFBAU_BLOCK_LIGHTNING_ROD = §eLightning Rod +LAUFBAU_BLOCK_CONDUIT = §eConduit +LAUFBAU_BLOCK_BREWING_STAND = §eBrewing Stand +LAUFBAU_BLOCK_BELL = §eBell +LAUFBAU_BLOCK_GRINDSTONE = §eGrindstone +LAUFBAU_BLOCK_HOPPER = §eHopper +LAUFBAU_BLOCK_LANTERN = §eLantern +LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS = §eEndstone Brick Stairs +LAUFBAU_BLOCK_CHORUS_PLANT = §eChorus Plant +LAUFBAU_BLOCK_NETHER_BRICK_FENCE = §eNether Brick Fence +LAUFBAU_BLOCK_IRON_BARS = §eIron Bars +LAUFBAU_BLOCK_END_STONE_BRICK_WALL = §eEndstone Brick Walls +LAUFBAU_BLOCK_CHAIN = §eChain +LAUFBAU_BLOCK_BIG_DRIP_LEAF = §eBig Drip Leaf +LAUFBAU_BLOCK_DRAGON_EGG = §eDragon Egg +LAUFBAU_BLOCK_AZALEA = §eAzalea +LAUFBAU_BLOCK_CANDLE = §eKerze +LAUFBAU_BLOCK_CANDLE_CAKE = §eKuchen mit Kerze +LAUFBAU_BLOCK_LECTERN = §eLectern + +LAUFBAU_FACING_NORTH = §8-§7 Richtung Norden +LAUFBAU_FACING_SOUTH = §8-§7 Richtung Süden +LAUFBAU_FACING_WEST = §8-§7 Richtung Westen +LAUFBAU_FACING_EAST = §8-§7 Richtung Osten +LAUFBAU_FACING_UP = §8-§7 Richtung Oben +LAUFBAU_FACING_DOWN = §8-§7 Richtung Unten + +LAUFBAU_COUNT_1 = §8-§7 Anzahl 1 +LAUFBAU_COUNT_2 = §8-§7 Anzahl 2 +LAUFBAU_COUNT_3 = §8-§7 Anzahl 3 +LAUFBAU_COUNT_4 = §8-§7 Anzahl 4 + +LAUFBAU_LAYERS_8 = §8-§7 Ebenen 8 +LAUFBAU_LAYERS_7 = §8-§7 Ebenen 7 +LAUFBAU_LAYERS_6 = §8-§7 Ebenen 6 +LAUFBAU_LAYERS_3 = §8-§7 Ebenen 3 +LAUFBAU_LAYERS_2 = §8-§7 Ebenen 2 + +LAUFBAU_TYPE_BOTTOM = §8-§7 Type Unten +LAUFBAU_TYPE_TOP = §8-§7 Type Oben + +LAUFBAU_HALF_BOTTOM = §8-§7 Hälfte Unten +LAUFBAU_HALF_TOP = §8-§7 Hälfte Oben + +LAUFBAU_OPEN = §8-§7 Geöffnet + +LAUFBAU_ATTACHMENT_CEILING = §8-§7 Befestigung Decke +LAUFBAU_ATTACHMENT_FLOOR = §8-§7 Befestigung Boden +LAUFBAU_ATTACHMENT_DOUBLE_WALL = §8-§7 Befestigung beidseitige Wand +LAUFBAU_ATTACHMENT_SINGLE_WALL = §8-§7 Befestigung einseitige Wand +LAUFBAU_ATTACHMENT_WALL = §8-§7 Befestigung Wand + +LAUFBAU_CONNECTION_FLOOR = §8-§7 Verbindung Boden +LAUFBAU_CONNECTION_NORTH = §8-§7 Verbindung Norden +LAUFBAU_CONNECTION_SOUTH = §8-§7 Verbindung Süden +LAUFBAU_CONNECTION_EAST = §8-§7 Verbindung Osten +LAUFBAU_CONNECTION_WEST = §8-§7 Verbindung Westen +LAUFBAU_CONNECTION_DOWN = §8-§7 Verbindung Unten +LAUFBAU_CONNECTION_UP = §8-§7 Verbindung Oben + +LAUFBAU_HANGING = §8-§7 hängend + +LAUFBAU_SHAPE_STRAIGHT = §8-§7 Form gerade +LAUFBAU_SHAPE_OUTER_LEFT = §8-§7 Form äußere links +LAUFBAU_SHAPE_INNER_LEFT = §8-§7 Form innere links + +LAUFBAU_TILT_NONE = §8-§7 Neigung keine +LAUFBAU_TILT_PARTIAL = §8-§7 Neigung teilweise + # UTILS -SELECT_HELP=§8/§eselect §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus -SELECT_EXTENSION_HELP=§8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension -SELECT_GLOBAL_REGION=§cDie globale Region kannst du nicht auswählen -SELECT_NO_TYPE=§cDiese Region hat keinen {0} -SELECT_NO_EXTENSION=§cDiese Region hat keine Ausfahrmaße -SELECT_MESSAGE=§7WorldEdit auswahl auf {0}, {1}, {2} und {3}, {4}, {5} gesetzt -SKULL_HELP=§8/§eskull §8[§eSpieler§8] §8-§7 Gibt einen SpielerKopf -SKULL_INVALID=§cUngültiger Spieler -SKULL_ITEM=§e{0}§8s Kopf -SPEED_HELP=§8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Setzte deine Flug- und Laufgeschindigkeit. -SPEED_CURRENT=§7Aktuelle geschwindigkeit§8: §e{0} -SPEED_TOO_SMALL=§c{0} ist zu klein -SPEED_TOO_HIGH=§c{0} ist zu hoch -SPEED_ITEM=§eGeschwindigkeit -SPEED_ITEM_LORE=§7Aktuell: §e -SPEED_TAB_NAME=Geschwindigkeit eingeben -WORLDEDIT_WAND=WorldEdit Wand -WORLDEDIT_LEFTCLICK=Left click: select pos #1 -WORLDEDIT_RIGHTCLICK=Right click: select pos #2 -TNT_CLICK_HEADER=§8---=== §eTNT §8===--- -TNT_CLICK_ORDER=§eEntity Order§8: §e{0} -TNT_CLICK_FUSE_TIME=§eFuseTime§8: §e{0} -TNT_CLICK_POSITION_X=§7Position §eX§8: §e{0} -TNT_CLICK_POSITION_Y=§7Position §eY§8: §e{0} -TNT_CLICK_POSITION_Z=§7Position §eZ§8: §e{0} -TNT_CLICK_VELOCITY_X=§7Velocity §eX§8: §e{0} -TNT_CLICK_VELOCITY_Y=§7Velocity §eY§8: §e{0} -TNT_CLICK_VELOCITY_Z=§7Velocity §eZ§8: §e{0} -TNT_CLICK_COUNT=§7Anzahl §8: §e{0} +SELECT_HELP = §8/§eselect §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus +SELECT_EXTENSION_HELP = §8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension +SELECT_GLOBAL_REGION = §cDie globale Region kannst du nicht auswählen +SELECT_NO_TYPE = §cDiese Region hat keinen {0} +SELECT_NO_EXTENSION = §cDiese Region hat keine Ausfahrmaße +SELECT_MESSAGE = §7WorldEdit auswahl auf {0}, {1}, {2} und {3}, {4}, {5} gesetzt + +SKULL_HELP = §8/§eskull §8[§eSpieler§8] §8-§7 Gibt einen SpielerKopf +SKULL_INVALID = §cUngültiger Spieler +SKULL_ITEM = §e{0}§8s Kopf + +SPEED_HELP = §8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Setzte deine Flug- und Laufgeschindigkeit. +SPEED_CURRENT = §7Aktuelle geschwindigkeit§8: §e{0} +SPEED_TOO_SMALL = §c{0} ist zu klein +SPEED_TOO_HIGH = §c{0} ist zu hoch +SPEED_ITEM = §eGeschwindigkeit +SPEED_ITEM_LORE = §7Aktuell: §e +SPEED_TAB_NAME = Geschwindigkeit eingeben + +WORLDEDIT_WAND = WorldEdit Wand +WORLDEDIT_LEFTCLICK = Left click: select pos #1 +WORLDEDIT_RIGHTCLICK = Right click: select pos #2 + +TNT_CLICK_HEADER = §8---=== §eTNT §8===--- +TNT_CLICK_ORDER = §eEntity Order§8: §e{0} +TNT_CLICK_FUSE_TIME = §eFuseTime§8: §e{0} +TNT_CLICK_POSITION_X = §7Position §eX§8: §e{0} +TNT_CLICK_POSITION_Y = §7Position §eY§8: §e{0} +TNT_CLICK_POSITION_Z = §7Position §eZ§8: §e{0} +TNT_CLICK_VELOCITY_X = §7Velocity §eX§8: §e{0} +TNT_CLICK_VELOCITY_Y = §7Velocity §eY§8: §e{0} +TNT_CLICK_VELOCITY_Z = §7Velocity §eZ§8: §e{0} +TNT_CLICK_COUNT = §7Anzahl §8: §e{0} TNT_CLICK_ISOLATE=§eIsolieren -SELECT_ITEM_CHOOSE_EXTENSION=Extension auswählen -SELECT_ITEM_CHOOSE_SELECTION=Auswahl auswählen -SELECT_ITEM_NORMAL_EXTENSION=§eNormal -SELECT_ITEM_EXTENDED_EXTENSION=§eAusgefahren -SELECT_ITEM_SELECT=§eSelect -SELECT_ITEM_AUSWAHL=§7Auswahl: §7{0} {1} +SELECT_ITEM_CHOOSE_EXTENSION = Extension auswählen +SELECT_ITEM_CHOOSE_SELECTION = Auswahl auswählen +SELECT_ITEM_NORMAL_EXTENSION = §eNormal +SELECT_ITEM_EXTENDED_EXTENSION= §eAusgefahren +SELECT_ITEM_SELECT= §eSelect +SELECT_ITEM_AUSWAHL= §7Auswahl: §7{0} {1} SELECT_ITEM_RIGHT_CLICK=§7Rechtklick zum ändern SELECT_ITEM_BAURAHMEN=§eBaurahmen SELECT_ITEM_BAUPLATTFORM=§eBauplattform SELECT_ITEM_TESTBLOCK=§eTestblock -CHESTFILLER_FILLED=§eKiste gefüllt -PISTON_HELP_1=§7Rechts Klick auf Piston mit einem Slime Ball berechnet dir die bewegten Blöcke. -PISTON_HELP_2=§7Die Anzahl ist Rot, wenn ein unmovable Block vorhanden ist. -PISTON_HELP_3=§7Die Anzahl ist Gelb, wenn zu viele Blöcke vorhanden sind. -PISTON_INFO=§7Bewegte Blöcke {0}{1}§8/§712 + +CHESTFILLER_FILLED = §eKiste gefüllt + +PISTON_HELP_1 = §7Rechts Klick auf Piston mit einem Slime Ball berechnet dir die bewegten Blöcke. +PISTON_HELP_2 = §7Die Anzahl ist Rot, wenn ein unmovable Block vorhanden ist. +PISTON_HELP_3 = §7Die Anzahl ist Gelb, wenn zu viele Blöcke vorhanden sind. +PISTON_INFO = §7Bewegte Blöcke {0}{1}§8/§712 + # Warp -WARP_LOC_X=§7X§8: §e{0} -WARP_LOC_Y=§7Y§8: §e{0} -WARP_LOC_Z=§7Z§8: §e{0} +WARP_LOC_X = §7X§8: §e{0} +WARP_LOC_Y = §7Y§8: §e{0} +WARP_LOC_Z = §7Z§8: §e{0} WARP_EXISTS=§7Ein Warp mit dem namen §e{0} §7existiert bereits WARP_NAME_RESERVED=§7Du kannst nicht §c{0} §7als name für einen Warp nutzen WARP_CREATED=§7Der Warp §e{0} §7wurde erstellt @@ -931,22 +1029,30 @@ WARP_HELP_INFO=§8/§ewarp info §8[§7Name§8] §8- §7Infos zu einem Punkt WARP_HELP_DELETE=§8/§ewarp delete §8[§7Name§8] §8- §7Lösche einen Warp WARP_HELP_GUI=§8/§ewarp gui §8- §7Öffne die Warp-GUI WARP_HELP_LIST=§8/§ewarp list §8- §7Liste alle Warp-Punkt auf + # WORLD -STOP_HELP=§8/§estop §8- §7Stoppt den Server -STOP_MESSAGE=§eDer Server wird gestoppt -KICKALL_HELP=§8/§ekickall §8- §7Kickt alle Spieler vom Server außer den Owner +STOP_HELP = §8/§estop §8- §7Stoppt den Server +STOP_MESSAGE = §eDer Server wird gestoppt + +KICKALL_HELP = §8/§ekickall §8- §7Kickt alle Spieler vom Server außer den Owner + # Techhider -TECHHIDER_HELP=§8/§etechhider §8- §7Techhider umschalten -TECHHIDER_GLOBAL=§cKein Techhider in der globalen region -TECHHIDER_ON=§aTechhider aktiviert -TECHHIDER_OFF=§cTechHider deaktiviert +TECHHIDER_HELP = §8/§etechhider §8- §7Techhider umschalten +TECHHIDER_GLOBAL = §cKein Techhider in der globalen region +TECHHIDER_ON = §aTechhider aktiviert +TECHHIDER_OFF = §cTechHider deaktiviert + # XRAY -XRAY_HELP=§8/§exray §8- §7Xray umschalten -XRAY_GLOBAL=§cKein Xray in der globalen region -XRAY_ON=§aXray aktiviert -XRAY_OFF=§cXray deaktiviert +XRAY_HELP = §8/§exray §8- §7Xray umschalten +XRAY_GLOBAL = §cKein Xray in der globalen region +XRAY_ON = §aXray aktiviert +XRAY_OFF = §cXray deaktiviert + + # WorldEdit -COLORREPLACE_HELP=§8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Ersetzt eine Farbe mit einer anderen -TYPEREPLACE_HELP=§8//§etyreplace §8[§7type§8] §8[§7type§8] §8- §7Ersetzt einen Blockgruppe mit einer anderen +COLORREPLACE_HELP = §8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Ersetzt eine Farbe mit einer anderen + +TYPEREPLACE_HELP = §8//§etypeplace §8[§7type§8] §8[§7type§8] §8- §7Ersetzt einen Blockgruppe mit einer anderen + # Schematics SCHEMATIC_GUI_ITEM=§eSchematics diff --git a/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java b/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java index 9707d871..1b346af5 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/BauSystem.java @@ -23,6 +23,8 @@ import com.comphenix.tinyprotocol.TinyProtocol; import de.steamwar.bausystem.configplayer.Config; import de.steamwar.bausystem.features.tpslimit.TPSFreezeUtils; import de.steamwar.bausystem.linkage.LinkageUtils; +import de.steamwar.bausystem.region.FlagStorage; +import de.steamwar.bausystem.region.GlobalRegion; import de.steamwar.bausystem.region.loader.PrototypeLoader; import de.steamwar.bausystem.region.loader.RegionLoader; import de.steamwar.bausystem.region.loader.Updater; @@ -40,6 +42,7 @@ import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; +import yapion.hierarchy.types.YAPIONObject; import java.io.IOException; import java.io.OutputStream; @@ -66,6 +69,8 @@ public class BauSystem extends JavaPlugin implements Listener { instance = this; SWUtils.setBausystem(instance); + new GlobalRegion(new FlagStorage(), new YAPIONObject()); + /* try { PrototypeLoader.load(); RegionLoader.load(); @@ -77,6 +82,7 @@ public class BauSystem extends JavaPlugin implements Listener { new Updater(PrototypeLoader.file, PrototypeLoader::load); new Updater(RegionLoader.file, RegionLoader::load); + */ SWCommandUtils.addValidator(Player.class, validator(Permission.BUILD)); SWCommandUtils.addValidator(CommandSender.class, validator(Permission.BUILD)); diff --git a/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java b/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java index c6f8b5c7..b04b8104 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java @@ -46,6 +46,7 @@ import java.io.File; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.function.BiConsumer; import java.util.function.ObjIntConsumer; import java.util.function.Predicate; import java.util.stream.Collectors; diff --git a/BauSystem_Main/src/de/steamwar/bausystem/region/TileActionBar.java b/BauSystem_Main/src/de/steamwar/bausystem/region/TileActionBar.java new file mode 100644 index 00000000..c74df585 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/region/TileActionBar.java @@ -0,0 +1,37 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.region; + +import de.steamwar.bausystem.regionnew.Tile; +import de.steamwar.linkage.Linked; +import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerMoveEvent; + +@Linked +public class TileActionBar implements Listener { + + @EventHandler + public void onPlayerMove(PlayerMoveEvent event) { + event.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§e" + Tile.of(event.getTo()))); + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java b/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java index 32a49387..440766ac 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java @@ -35,6 +35,8 @@ public enum Flag implements EnumDisplay { FREEZE("FLAG_FREEZE", FreezeMode.class, FreezeMode.INACTIVE), PROTECT("FLAG_PROTECT", ProtectMode.class, ProtectMode.ACTIVE), ITEMS("FLAG_ITEMS", ItemMode.class, ItemMode.INACTIVE), + TESTBLOCK("FLAG_TESTBLOCK", TestblockMode.class, TestblockMode.NO_VALUE), + CHANGED("FLAG_CHANGED", ChangedMode.class, ChangedMode.NO_CHANGE), ; @Getter diff --git a/BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/ChangedMode.java b/BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/ChangedMode.java new file mode 100644 index 00000000..ff7d758b --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/ChangedMode.java @@ -0,0 +1,58 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.region.flags.flagvalues; + +import de.steamwar.bausystem.region.flags.Flag; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ChangedMode implements Flag.Value { + + NO_CHANGE("FLAG_CHANGED_NO_CHANGE", false), + HAS_CHANGE("FLAG_CHANGED_HAS_CHANGE", true); + + private static ChangedMode[] values; + private final String chatValue; + private final Boolean changed; + + @Override + public ChangedMode[] getValues() { + if (ChangedMode.values == null) { + ChangedMode.values = ChangedMode.values(); //NOSONAR + } + return ChangedMode.values; + } + + @Override + public ChangedMode getValue() { + return this; + } + + @Override + public ChangedMode getValueOf(final String name) { + try { + return ChangedMode.valueOf(name.toUpperCase()); + } catch (IllegalArgumentException e) { + return null; + } + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/TestblockMode.java b/BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/TestblockMode.java new file mode 100644 index 00000000..ffdadbbe --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/region/flags/flagvalues/TestblockMode.java @@ -0,0 +1,62 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.region.flags.flagvalues; + +import de.steamwar.bausystem.region.flags.Flag; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum TestblockMode implements Flag.Value { + + NO_VALUE("FLAG_TESTBLOCK_NO_VALUE", false, false), + NORTH("FLAG_TESTBLOCK_NORTH", false, true), + SOUTH("FLAG_TESTBLOCK_SOUTH", false, false), + FIXED_NORTH("FLAG_TESTBLOCK_NORTH", true, true), + FIXED_SOUTH("FLAG_TESTBLOCK_SOUTH", true, false); + + private static TestblockMode[] values; + private final String chatValue; + private final boolean fixed; + private final boolean north; + + @Override + public TestblockMode[] getValues() { + if (TestblockMode.values == null) { + TestblockMode.values = TestblockMode.values(); //NOSONAR + } + return TestblockMode.values; + } + + @Override + public TestblockMode getValue() { + return this; + } + + @Override + public TestblockMode getValueOf(final String name) { + try { + return TestblockMode.valueOf(name.toUpperCase()); + } catch (IllegalArgumentException e) { + return null; + } + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/GlobalRegion.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/GlobalRegion.java new file mode 100644 index 00000000..ba9ac44c --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/GlobalRegion.java @@ -0,0 +1,191 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew; + +import com.sk89q.worldedit.EditSession; +import de.steamwar.bausystem.region.Point; +import de.steamwar.bausystem.region.flags.Flag; +import de.steamwar.sql.SchematicNode; +import org.bukkit.Location; + +import javax.annotation.Nullable; +import java.io.File; +import java.util.Optional; + +public class GlobalRegion implements Region { + + public static final Region GLOBAL_REGION = new GlobalRegion(); + + private GlobalRegion() { + } + + @Override + public boolean isGlobal() { + return true; + } + + @Override + public boolean isWallRegion() { + return false; + } + + @Override + public boolean isLandRegion() { + return false; + } + + @Override + public boolean isWaterRegion() { + return false; + } + + @Override + public HasFlagResult hasFlag(Flag flag) { + return switch (flag) { + case TNT, FIRE, FREEZE, ITEMS -> HasFlagResult.WRITABLE; + default -> HasFlagResult.NOT_APPLICABLE; + }; + } + + @Override + public void setFlag(Flag flag, Flag.Value value) { + + } + + @Override + public Flag.Value getFlag(Flag flagType) { + return null; + } + + @Override + public Point getMinPoint() { + return new Point(Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE); + } + + @Override + public Point getMaxPoint() { + return new Point(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); + } + + @Override + public boolean inRegion(Location location) { + return true; + } + + @Override + public Optional getBuildMinPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getBuildMaxPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public boolean inBuildRegion(Location location, boolean extension) { + return false; + } + + @Override + public Optional getTestblockMinPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getTestblockMaxPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public boolean inTestblockRegion(Location location, boolean extension) { + return false; + } + + @Override + public void forEachChunk(ChunkCoordinatesConsumer consumer) { + + } + + @Override + public ChunkCoordinatePredicate getChunkOutsidePredicate() { + return (chunkX, chunkZ) -> false; + } + + @Override + public Optional getBuildChunkOutsidePredicate(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getTestblockChunkOutsidePredicate(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getGameModeConfig() { + return Optional.empty(); + } + + @Override + public Optional copy() { + return Optional.empty(); + } + + @Override + public Optional copyBuild(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional copyTestblock(boolean extension) { + return Optional.empty(); + } + + @Override + public void reset() { + } + + @Override + public void resetBuild(@Nullable SchematicNode schematicNode, boolean extension) { + } + + @Override + public void resetBuildWireframe(boolean extension) { + } + + @Override + public void resetTestblock(@Nullable SchematicNode schematicNode, boolean extension) { + } + + @Override + public void remember(EditSession editSession) { + } + + @Override + public boolean undo() { + return false; + } + + @Override + public boolean redo() { + return false; + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/Region.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/Region.java new file mode 100644 index 00000000..73f284a4 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/Region.java @@ -0,0 +1,123 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew; + +import com.sk89q.worldedit.EditSession; +import de.steamwar.bausystem.region.Point; +import de.steamwar.bausystem.region.flags.Flag; +import de.steamwar.bausystem.regionnew.modular.ModularRegionSystem; +import de.steamwar.sql.SchematicNode; +import org.bukkit.Location; + +import javax.annotation.Nullable; +import java.io.File; +import java.util.Optional; + +public interface Region { + + RegionSystem regionSystem = new ModularRegionSystem(); + + static Region get(Location location) { + return regionSystem.get(location); + } + + enum HasFlagResult { + NOT_APPLICABLE, + READ_ONLY, + WRITABLE + } + + interface ChunkCoordinatesConsumer { + void accept(int chunkX, int chunkZ); + } + + interface ChunkCoordinatePredicate { + boolean test(int chunkX, int chunkZ); + } + + boolean isGlobal(); + boolean isWallRegion(); // TODO: IDK if this is needed + boolean isLandRegion(); // TODO: IDK if this is needed + boolean isWaterRegion(); // TODO: IDK if this is needed + + HasFlagResult hasFlag(Flag flag); + void setFlag(Flag flag, Flag.Value value); + Flag.Value getFlag(Flag flagType); + + default & Flag.Value> T getFlagValue(Flag flagType) { + Flag.Value value = getFlag(flagType); + if (value == null) return null; + return (T) value.getValue(); + } + + default & Flag.Value> T getFlagValue(Flag flagType, Class type) { + return getFlagValue(flagType); + } + + Point getMinPoint(); + Point getMaxPoint(); + + boolean inRegion(Location location); + + /** + * Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag + */ + Optional getBuildMinPoint(boolean extension); + + /** + * Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag + */ + Optional getBuildMaxPoint(boolean extension); + + boolean inBuildRegion(Location location, boolean extension); + + /** + * Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag + */ + Optional getTestblockMinPoint(boolean extension); + + /** + * Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag + */ + Optional getTestblockMaxPoint(boolean extension); + + boolean inTestblockRegion(Location location, boolean extension); + + void forEachChunk(ChunkCoordinatesConsumer consumer); + + ChunkCoordinatePredicate getChunkOutsidePredicate(); + Optional getBuildChunkOutsidePredicate(boolean extension); + Optional getTestblockChunkOutsidePredicate(boolean extension); + + Optional getGameModeConfig(); + + Optional copy(); + Optional copyBuild(boolean extension); + Optional copyTestblock(boolean extension); + + void reset(); + void resetBuild(@Nullable SchematicNode schematicNode, boolean extension); + void resetBuildWireframe(boolean extension); + void resetTestblock(@Nullable SchematicNode schematicNode, boolean extension); + + void remember(EditSession editSession); + boolean undo(); + boolean redo(); +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/RegionSystem.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/RegionSystem.java new file mode 100644 index 00000000..11564e1e --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/RegionSystem.java @@ -0,0 +1,38 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew; + +import org.bukkit.Location; + +import java.util.List; +import java.util.Optional; +import java.util.function.Predicate; +import java.util.stream.Stream; + +public interface RegionSystem { + + Region get(Location location); + Optional get(String name); + + Stream getRegions(); + + boolean isModular(); + // TODO: Add creating and removing of Regions as well as moving +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/Tile.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/Tile.java new file mode 100644 index 00000000..5bb7d9e5 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/Tile.java @@ -0,0 +1,69 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew; + +import org.bukkit.Location; +import org.bukkit.inventory.meta.MapMeta; + +import java.util.Objects; + +public class Tile { + + private static final int MAX_X = 1024; + private static final int MAX_Z = 1024; + + public static Tile of(Location location) { + int x = location.getBlockX() + 9; + int z = location.getBlockZ() + 9; + if (x < 0) x -= 19; + if (z < 0) z -= 19; + x /= 19; + z /= 19; + if (x < -MAX_X || x >= MAX_X || z < -MAX_Z || z >= MAX_Z) { + return null; + } + return new Tile(x, z); + } + + private int tileX; + private int tileZ; + + private Tile(int tileX, int tileZ) { + this.tileX = tileX; + this.tileZ = tileZ; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (!(object instanceof Tile tile)) return false; + return tileX == tile.tileX && tileZ == tile.tileZ; + } + + @Override + public int hashCode() { + return Objects.hash(tileX, tileZ); + } + + @Override + public String toString() { + return tileX + "/" + tileZ; + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionImpl.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionImpl.java new file mode 100644 index 00000000..7a02c60c --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionImpl.java @@ -0,0 +1,198 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew.fixed; + +import com.sk89q.worldedit.EditSession; +import de.steamwar.bausystem.region.Point; +import de.steamwar.bausystem.region.flags.Flag; +import de.steamwar.bausystem.region.flags.flagvalues.TestblockMode; +import de.steamwar.bausystem.regionnew.Region; +import de.steamwar.sql.SchematicNode; +import org.bukkit.Location; + +import javax.annotation.Nullable; +import java.io.File; +import java.util.Optional; + +public class FixedRegionImpl implements Region { // TODO: Finalize this + + @Override + public boolean isGlobal() { + return false; + } + + @Override + public boolean isWallRegion() { + return false; + } + + @Override + public boolean isLandRegion() { + return false; + } + + @Override + public boolean isWaterRegion() { + return false; + } + + @Override + public HasFlagResult hasFlag(Flag flag) { + return switch (flag) { + case TNT, FIRE, FREEZE, ITEMS, CHANGED -> HasFlagResult.WRITABLE; + case COLOR -> HasFlagResult.WRITABLE; // TODO Only for normal Regions not Spawn Region + case PROTECT -> HasFlagResult.WRITABLE; // TODO: Only for protectable Regions + case TESTBLOCK -> HasFlagResult.READ_ONLY; // TODO: Implement NOT_APPLICABLE for Special regions + }; + } + + @Override + public void setFlag(Flag flag, Flag.Value value) { + + } + + @Override + public Flag.Value getFlag(Flag flagType) { + if (flagType == Flag.TESTBLOCK) { + return TestblockMode.NO_VALUE; // TODO: This needs to change based on if the Region is a WarShip Region + } + return null; + } + + @Override + public Point getMinPoint() { + return null; + } + + @Override + public Point getMaxPoint() { + return null; + } + + @Override + public boolean inRegion(Location location) { + return false; + } + + @Override + public Optional getBuildMinPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getBuildMaxPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public boolean inBuildRegion(Location location, boolean extension) { + return false; + } + + @Override + public Optional getTestblockMinPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getTestblockMaxPoint(boolean extension) { + return Optional.empty(); + } + + @Override + public boolean inTestblockRegion(Location location, boolean extension) { + return false; + } + + @Override + public void forEachChunk(ChunkCoordinatesConsumer consumer) { + + } + + @Override + public ChunkCoordinatePredicate getChunkOutsidePredicate() { + return null; + } + + @Override + public Optional getBuildChunkOutsidePredicate(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getTestblockChunkOutsidePredicate(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional getGameModeConfig() { + return Optional.empty(); + } + + @Override + public Optional copy() { + return Optional.empty(); + } + + @Override + public Optional copyBuild(boolean extension) { + return Optional.empty(); + } + + @Override + public Optional copyTestblock(boolean extension) { + return Optional.empty(); + } + + @Override + public void reset() { + + } + + @Override + public void resetBuild(@Nullable SchematicNode schematicNode, boolean extension) { + + } + + @Override + public void resetBuildWireframe(boolean extension) { + + } + + @Override + public void resetTestblock(@Nullable SchematicNode schematicNode, boolean extension) { + + } + + @Override + public void remember(EditSession editSession) { + + } + + @Override + public boolean undo() { + return false; + } + + @Override + public boolean redo() { + return false; + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionSystem.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionSystem.java new file mode 100644 index 00000000..1b076a82 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/fixed/FixedRegionSystem.java @@ -0,0 +1,58 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew.fixed; + +import de.steamwar.bausystem.regionnew.GlobalRegion; +import de.steamwar.bausystem.regionnew.Region; +import de.steamwar.bausystem.regionnew.RegionSystem; +import org.bukkit.Location; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Stream; + +public class FixedRegionSystem implements RegionSystem { + + private static final Map REGION_MAP = new HashMap<>(); + + @Override + public Region get(Location location) { + return REGION_MAP.values().stream() + .filter(region -> region.inRegion(location)) + .findFirst() + .orElse(GlobalRegion.GLOBAL_REGION); + } + + @Override + public Optional get(String name) { + return Optional.ofNullable(REGION_MAP.get(name)); + } + + @Override + public Stream getRegions() { + return REGION_MAP.values().stream(); + } + + @Override + public boolean isModular() { + return false; + } +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/regionnew/modular/ModularRegionSystem.java b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/modular/ModularRegionSystem.java new file mode 100644 index 00000000..b00c96c5 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/regionnew/modular/ModularRegionSystem.java @@ -0,0 +1,67 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2024 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.regionnew.modular; + +import de.steamwar.bausystem.regionnew.GlobalRegion; +import de.steamwar.bausystem.regionnew.Region; +import de.steamwar.bausystem.regionnew.RegionSystem; +import de.steamwar.bausystem.regionnew.Tile; +import org.bukkit.Location; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import java.util.stream.Stream; + +public class ModularRegionSystem implements RegionSystem { + + private Map OCCUPIED_TILES = new HashMap<>(); + private Map REGIONS = new HashMap<>(); + private Map REGIONS_BY_NAME = new HashMap<>(); + + @Override + public Region get(Location location) { + Tile tile = Tile.of(location); + if (tile == null) { + return GlobalRegion.GLOBAL_REGION; + } + UUID uuid = OCCUPIED_TILES.get(tile); + if (uuid == null) { + return GlobalRegion.GLOBAL_REGION; + } + return REGIONS.get(uuid); + } + + @Override + public Optional get(String name) { + return Optional.ofNullable(REGIONS_BY_NAME.get(name)); + } + + @Override + public Stream getRegions() { + return REGIONS.values().stream(); + } + + @Override + public boolean isModular() { + return true; + } +}