TYPEREPLACE_HELPAdd initial modular bau impl
Dieser Commit ist enthalten in:
Ursprung
aeb5ebfc12
Commit
5c48983375
@ -16,17 +16,21 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
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
|
||||
|
||||
# Scoreboard
|
||||
SCOREBOARD_TIME = Time
|
||||
SCOREBOARD_REGION = Region
|
||||
@ -34,13 +38,17 @@ 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
|
||||
@ -48,18 +56,26 @@ 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
|
||||
@ -78,18 +94,29 @@ 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
|
||||
|
||||
# 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
|
||||
|
||||
# AutoStart
|
||||
AUTOSTART_COMMAND_HELP = §8/§etimer §8- §7Retrieve AutostartTimer Tool
|
||||
AUTOSTART_ITEM_NAME = §eAutostartTimer
|
||||
@ -100,6 +127,7 @@ 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,8 +144,10 @@ 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
|
||||
## This is used in BauInfoBauGuiItem.java
|
||||
BAU_INFO_ITEM_LORE_TNT = §7TNT§8: §e{0}
|
||||
@ -126,11 +156,13 @@ 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_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
|
||||
@ -140,11 +172,13 @@ COUNTINGWAND_MESSAGE_RCLICK=§7First position at: §8[§7{0}§8, §7{1}§8, §7{
|
||||
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
|
||||
|
||||
# Detonator
|
||||
DETONATOR_LOC_REMOVE = §e{0} removed
|
||||
DETONATOR_LOC_ADD = §e{0} added
|
||||
@ -194,16 +228,19 @@ 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 Menu GUI
|
||||
SCRIPT_MENU_GUI_ITEM_LORE_1 = §7Click to retrieve
|
||||
SCRIPT_MENU_GUI_ITEM_LORE_2 = §7Shift-Click to copy
|
||||
@ -212,8 +249,10 @@ 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
|
||||
@ -226,10 +265,12 @@ 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
|
||||
@ -247,12 +288,15 @@ 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
|
||||
@ -260,7 +304,9 @@ SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Change your simulator wand
|
||||
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
|
||||
@ -274,7 +320,9 @@ 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
|
||||
@ -282,7 +330,9 @@ 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
|
||||
@ -294,8 +344,11 @@ 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
|
||||
@ -319,12 +372,15 @@ 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
|
||||
@ -366,16 +422,19 @@ 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
|
||||
|
||||
# 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
|
||||
|
||||
# Killchecker
|
||||
KILLCHECKER_HELP_ENABLE = §8/§ekillchecker enable §8- §7Enables Killchecker / Recalculates kills
|
||||
KILLCHECKER_HELP_DISABLE = §8/§ekillchecker disable §8- §7Disables Killchecker
|
||||
@ -384,6 +443,7 @@ KILLCHECKER_INFO2=§7Only colorable blocks like Wool, Terractotta, Stained Glass
|
||||
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
|
||||
@ -392,17 +452,20 @@ BLOCK_COUNTER_MESSAGE=§7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7
|
||||
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}
|
||||
|
||||
# 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
|
||||
@ -410,8 +473,10 @@ 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}
|
||||
@ -419,6 +484,7 @@ 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,6 +525,7 @@ 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
|
||||
@ -467,12 +535,14 @@ 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_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
|
||||
@ -588,6 +661,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
|
||||
@ -599,6 +673,7 @@ 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
|
||||
@ -666,6 +741,7 @@ NIGHT_VISION_OFF=§eNightvision deactivated
|
||||
NIGHT_VISION_ON=§eNightvision activated
|
||||
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
|
||||
@ -795,13 +871,16 @@ 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_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.
|
||||
@ -811,6 +890,7 @@ PANZERN_PREPARE4=§74. Standing in the region that is being armored can improve
|
||||
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
|
||||
@ -822,13 +902,16 @@ 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
|
||||
@ -871,31 +954,39 @@ 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
|
||||
@ -903,12 +994,16 @@ 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
|
||||
@ -916,9 +1011,11 @@ 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
|
||||
@ -926,9 +1023,11 @@ 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}
|
||||
@ -940,6 +1039,7 @@ 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
|
||||
@ -950,12 +1050,15 @@ 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
|
||||
|
||||
# Warp
|
||||
WARP_LOC_X = §7X§8: §e{0}
|
||||
WARP_LOC_Y = §7Y§8: §e{0}
|
||||
@ -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
|
||||
|
||||
# Techhider
|
||||
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
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
TYPEREPLACE_HELP = §8//§etypereplace §8[§7type§8] §8[§7type§8] §8- §7Replace all blocks of one type with another
|
||||
|
||||
# Schematic
|
||||
SCHEMATIC_GUI_ITEM=§eSchematics
|
||||
|
@ -16,17 +16,21 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
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
|
||||
|
||||
# Scoreboard
|
||||
SCOREBOARD_TIME = Uhrzeit
|
||||
SCOREBOARD_REGION = Region
|
||||
@ -34,13 +38,17 @@ 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
|
||||
@ -48,18 +56,26 @@ 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
|
||||
@ -78,17 +94,28 @@ 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
|
||||
|
||||
# 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
|
||||
|
||||
# AutoStart
|
||||
AUTOSTART_COMMAND_HELP = §8/§etimer §8- §7Legt den AutostartTimer ins Inventar
|
||||
AUTOSTART_ITEM_NAME = §eAutostartTimer
|
||||
@ -99,6 +126,7 @@ 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,8 +143,10 @@ 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
|
||||
## This is used in BauInfoBauGuiItem.java
|
||||
BAU_INFO_ITEM_LORE_TNT = §7TNT§8: §e{0}
|
||||
@ -125,11 +155,13 @@ 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_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
|
||||
@ -139,11 +171,13 @@ COUNTINGWAND_MESSAGE_RCLICK=§7Erste Position bei: §8[§7{0}§8, §7{1}§8, §7
|
||||
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
|
||||
|
||||
# Detonator
|
||||
DETONATOR_LOC_REMOVE = §e{0} entfernt
|
||||
DETONATOR_LOC_ADD = §e{0} hinzugefügt
|
||||
@ -193,12 +227,14 @@ 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_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
|
||||
@ -208,6 +244,7 @@ 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
|
||||
@ -220,10 +257,12 @@ 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
|
||||
@ -241,12 +280,15 @@ 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
|
||||
@ -254,7 +296,9 @@ SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Wechsel zu einem anderen S
|
||||
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
|
||||
@ -268,7 +312,9 @@ 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
|
||||
@ -276,7 +322,9 @@ 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
|
||||
@ -288,8 +336,11 @@ 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
|
||||
@ -303,12 +354,15 @@ 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}
|
||||
@ -340,16 +394,19 @@ 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
|
||||
|
||||
# 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
|
||||
|
||||
# Killchecker
|
||||
KILLCHECKER_HELP_ENABLE = §8/§ekillchecker enable §8- §7Aktiviert Killchecker / Berechnet kills neu
|
||||
KILLCHECKER_HELP_DISABLE = §8/§ekillchecker disable §8- §7Deaktiviert Killchecker
|
||||
@ -358,6 +415,7 @@ KILLCHECKER_INFO2=§7Nur farbige Blöcke wie Wolle, Terracotta, Stained Glass un
|
||||
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
|
||||
@ -366,14 +424,17 @@ BLOCK_COUNTER_MESSAGE=§7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2}
|
||||
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
|
||||
|
||||
# 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
|
||||
@ -381,8 +442,10 @@ 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}
|
||||
@ -390,6 +453,7 @@ 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,6 +487,7 @@ 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
|
||||
@ -431,12 +497,14 @@ 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_SINGLE=§aEinmal
|
||||
|
||||
LOADER_MESSAGE_INTERACT = §e{0} hinzugefügt {1}
|
||||
LOADER_BUTTON_TNT = TNT
|
||||
LOADER_BUTTON_SWITCH=Hebel
|
||||
@ -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
|
||||
@ -551,6 +621,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
|
||||
@ -562,6 +633,7 @@ 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
|
||||
@ -626,6 +698,7 @@ NIGHT_VISION_OFF=§eNightvision deaktiviert
|
||||
NIGHT_VISION_ON=§eNightvision aktiviert
|
||||
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
|
||||
@ -754,11 +827,13 @@ 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_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.
|
||||
@ -768,6 +843,7 @@ PANZERN_PREPARE4=§74. Innerhalb der zu panzernden Region zu stehen, beim Befehl
|
||||
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
|
||||
@ -779,13 +855,16 @@ 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
|
||||
@ -824,31 +903,39 @@ 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
|
||||
@ -856,12 +943,16 @@ 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
|
||||
@ -869,9 +960,11 @@ 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
|
||||
@ -879,9 +972,11 @@ 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}
|
||||
@ -903,11 +998,14 @@ 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
|
||||
|
||||
# Warp
|
||||
WARP_LOC_X = §7X§8: §e{0}
|
||||
WARP_LOC_Y = §7Y§8: §e{0}
|
||||
@ -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
|
||||
|
||||
# Techhider
|
||||
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
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
TYPEREPLACE_HELP = §8//§etypeplace §8[§7type§8] §8[§7type§8] §8- §7Ersetzt einen Blockgruppe mit einer anderen
|
||||
|
||||
# Schematics
|
||||
SCHEMATIC_GUI_ITEM=§eSchematics
|
||||
|
@ -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));
|
||||
|
@ -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;
|
||||
|
37
BauSystem_Main/src/de/steamwar/bausystem/region/TileActionBar.java
Normale Datei
37
BauSystem_Main/src/de/steamwar/bausystem/region/TileActionBar.java
Normale Datei
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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())));
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<ChangedMode> {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<TestblockMode> {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
191
BauSystem_Main/src/de/steamwar/bausystem/regionnew/GlobalRegion.java
Normale Datei
191
BauSystem_Main/src/de/steamwar/bausystem/regionnew/GlobalRegion.java
Normale Datei
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<Point> getBuildMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getBuildMaxPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inBuildRegion(Location location, boolean extension) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getTestblockMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> 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<ChunkCoordinatePredicate> getBuildChunkOutsidePredicate(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<ChunkCoordinatePredicate> getTestblockChunkOutsidePredicate(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<File> getGameModeConfig() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copy() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copyBuild(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> 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;
|
||||
}
|
||||
}
|
123
BauSystem_Main/src/de/steamwar/bausystem/regionnew/Region.java
Normale Datei
123
BauSystem_Main/src/de/steamwar/bausystem/regionnew/Region.java
Normale Datei
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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 <T extends Enum<T> & Flag.Value<T>> T getFlagValue(Flag flagType) {
|
||||
Flag.Value<?> value = getFlag(flagType);
|
||||
if (value == null) return null;
|
||||
return (T) value.getValue();
|
||||
}
|
||||
|
||||
default <T extends Enum<T> & Flag.Value<T>> T getFlagValue(Flag flagType, Class<T> 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<Point> getBuildMinPoint(boolean extension);
|
||||
|
||||
/**
|
||||
* Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag
|
||||
*/
|
||||
Optional<Point> getBuildMaxPoint(boolean extension);
|
||||
|
||||
boolean inBuildRegion(Location location, boolean extension);
|
||||
|
||||
/**
|
||||
* Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag
|
||||
*/
|
||||
Optional<Point> getTestblockMinPoint(boolean extension);
|
||||
|
||||
/**
|
||||
* Can return {@link Optional#empty()} if {@link #hasFlag(Flag)} returns false for the TestblockFlag
|
||||
*/
|
||||
Optional<Point> getTestblockMaxPoint(boolean extension);
|
||||
|
||||
boolean inTestblockRegion(Location location, boolean extension);
|
||||
|
||||
void forEachChunk(ChunkCoordinatesConsumer consumer);
|
||||
|
||||
ChunkCoordinatePredicate getChunkOutsidePredicate();
|
||||
Optional<ChunkCoordinatePredicate> getBuildChunkOutsidePredicate(boolean extension);
|
||||
Optional<ChunkCoordinatePredicate> getTestblockChunkOutsidePredicate(boolean extension);
|
||||
|
||||
Optional<File> getGameModeConfig();
|
||||
|
||||
Optional<EditSession> copy();
|
||||
Optional<EditSession> copyBuild(boolean extension);
|
||||
Optional<EditSession> 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();
|
||||
}
|
38
BauSystem_Main/src/de/steamwar/bausystem/regionnew/RegionSystem.java
Normale Datei
38
BauSystem_Main/src/de/steamwar/bausystem/regionnew/RegionSystem.java
Normale Datei
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<Region> get(String name);
|
||||
|
||||
Stream<Region> getRegions();
|
||||
|
||||
boolean isModular();
|
||||
// TODO: Add creating and removing of Regions as well as moving
|
||||
}
|
69
BauSystem_Main/src/de/steamwar/bausystem/regionnew/Tile.java
Normale Datei
69
BauSystem_Main/src/de/steamwar/bausystem/regionnew/Tile.java
Normale Datei
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<Point> getBuildMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getBuildMaxPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inBuildRegion(Location location, boolean extension) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> getTestblockMinPoint(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Point> 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<ChunkCoordinatePredicate> getBuildChunkOutsidePredicate(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<ChunkCoordinatePredicate> getTestblockChunkOutsidePredicate(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<File> getGameModeConfig() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copy() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> copyBuild(boolean extension) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<EditSession> 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;
|
||||
}
|
||||
}
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<String, Region> 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<Region> get(String name) {
|
||||
return Optional.ofNullable(REGION_MAP.get(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Stream<Region> getRegions() {
|
||||
return REGION_MAP.values().stream();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModular() {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<Tile, UUID> OCCUPIED_TILES = new HashMap<>();
|
||||
private Map<UUID, Region> REGIONS = new HashMap<>();
|
||||
private Map<String, Region> 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<Region> get(String name) {
|
||||
return Optional.ofNullable(REGIONS_BY_NAME.get(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Stream<Region> getRegions() {
|
||||
return REGIONS.values().stream();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModular() {
|
||||
return true;
|
||||
}
|
||||
}
|
In neuem Issue referenzieren
Einen Benutzer sperren