Replace the old dynamic /team invite system with a fixed GUI-based preset team implementation. Removes TeamManager, Team, TeamListener and the TeamCommand, and introduces PresetTeam, PresetTeamManager and GUI listeners/menus (TeamSelectionMenu/TeamSelectionListener). Codepaths that referenced teamManager were migrated to presetTeamManager (GameManager win/compass logic, Lunar rich presence, Oracle perk, scoreboards, tablist, lobby items). Lobby now shows a team wool item when teams are enabled and the tablist/scoreboard display and prefix logic were adapted to reflect preset teams. Configuration supports teams.enabled, teams.preset-count and teams.max-size; scheduled invite cleanup and old team-reset logic were removed accordingly.
767 lines
32 KiB
YAML
767 lines
32 KiB
YAML
#
|
||
# SpeedHG v1.0.0 by McScrims-Network
|
||
# https://github.com/McScrims-Network
|
||
#
|
||
|
||
default:
|
||
prefix: '<gradient:red:gold>SpeedHG</gradient> <dark_gray>|</dark_gray> <reset>'
|
||
no_permission: '<prefix><red>Insufficient permissions.</red>'
|
||
|
||
game:
|
||
join: '<prefix><green><name></green> <gray>has joined the game.</gray>'
|
||
quit: '<prefix><red><name></red> <gray>has quit the game.</gray>'
|
||
lobby-idle: '<prefix><gray>Waiting for more players... (<current> / <min>)</gray>'
|
||
start-aborted: '<prefix><red>The game start has been aborted due to the lack of players!</red>'
|
||
started: '<prefix><green>The game has started! Good Luck!</green>'
|
||
invincibility-start: '<prefix><yellow>Invincibility has started and ends in <time> second(s)!</yellow>'
|
||
fighting-started: '<prefix><red>The battle has begun! Try not to die!</red>'
|
||
death-killed: '<prefix><yellow><player> has died whilst fighting <killer>! There are <left> players left.</yellow>'
|
||
death-pve: '<prefix><yellow><player> has died! There are <left> players left.</yellow>'
|
||
win-chat: '<prefix><green><winner> has won the game! Thanks for playing!</green>'
|
||
lobby-items:
|
||
kits:
|
||
name: '<gold><bold>Kits</bold></gold> <gray>(right-click)</gray>'
|
||
perks:
|
||
name: '<light_purple><bold>Perks</bold></light_purple> <gray>(right-click)</gray>'
|
||
tutorial:
|
||
name: '<yellow><bold>How to Play</bold></yellow>'
|
||
lore: '<gray>Read me to understand the game!</gray>'
|
||
stats:
|
||
name: '<aqua><bold>Profile & Stats</bold></aqua>'
|
||
lore: '<gray>View your personal statistics.</gray>'
|
||
leaderboard:
|
||
name: '<gold><bold>Top 10 Leaderboard</bold></gold>'
|
||
lore: '<gray>Who are the best players?</gray>'
|
||
teams:
|
||
name: '<gold><bold>Teams'
|
||
lore: '<gray>Click to choose your team.'
|
||
|
||
ranking:
|
||
placement_progress: '<prefix><gray>Placement <aqua><current>/<total></aqua> — Placed <aqua>#<placement></aqua> · <aqua><kills></aqua> Kill(s)</gray>'
|
||
result_win: '<prefix><gold>🏆 Victory!</gold> <gray>Kills: <aqua><kills></aqua></gray> · <rr>'
|
||
result_loss: '<prefix><gray>You placed <aqua><placement></aqua> · Kills: <aqua><kills></aqua></gray> · <rr>'
|
||
|
||
promote-main: '<gradient:gold:yellow><bold>RANK UP!</bold></gradient>'
|
||
promote-sub: '<color><name><reset>'
|
||
|
||
rank_up: '<prefix><green>⬆ Rank Up!</green> <gray><from> → <to>'
|
||
rank_down: '<prefix><red>⬇ Rank Down.</red> <gray><from> → <to>'
|
||
|
||
title:
|
||
fight-main: '<red>The battle has begun!</red>'
|
||
fight-sub: '<red>Try not to die!</red>'
|
||
win-main: '<gold><winner> has won the game!</gold>'
|
||
win-sub: '<gray>Thanks for playing!</gray>'
|
||
|
||
timer:
|
||
lobby: '<prefix><green>The game starts in <time> second(s)</green>'
|
||
actionbar-invincibility: '<yellow>Invincibility ends in <time> second(s)!</yellow>'
|
||
|
||
antirunner:
|
||
warning: '<red>Fight and you will not be punished!</red>'
|
||
punish: '<prefix><red>You have been punished due to not fighting your enemy!</red>'
|
||
|
||
player:
|
||
welcome: '<red>Welcome to</red> <gradient:red:gold>SpeedHG</gradient><gold>!</gold>'
|
||
|
||
build:
|
||
no_diamonds: '<prefix><red>Diamonds are not allowed in SpeedHG!</red>'
|
||
no_iron_before_feast: '<prefix><red>Iron is not allowed before the Feast has started!</red>'
|
||
|
||
craft:
|
||
no_shift_click: '<prefix><red>Shift-click is not allowed while crafting!</red>'
|
||
no_shield: '<prefix><red>Shields are not allowed in SpeedHG!</red>'
|
||
no_iron_before_feast: '<prefix><red>Iron is not allowed before the feast!</red>'
|
||
iron_nerf: '<prefix><red>Your item has been nerfed as it contains iron!</red>'
|
||
|
||
feast:
|
||
announcement: '<prefix><gold>⚔ The Feast spawns in <time>!</gold> <gray>Location: <yellow>X: <x> Z: <z></yellow></gray>'
|
||
spawned: '<prefix><red><bold>THE FEAST HAS SPAWNED!</bold></red> <gray>Head to <yellow>X: <x> Z: <z></yellow> for the loot!</gray>'
|
||
|
||
pit:
|
||
announcement: '<prefix><dark_red>⚠ The Pit spawns in <time>!</dark_red> <gray>All surviving players will be forced into the final deathmatch!</gray>'
|
||
spawned: '<prefix><dark_red><bold>THE PIT HAS OPENED!</bold></dark_red> <gray>All players have been teleported. There is no escape!</gray>'
|
||
title-main: '<dark_red><bold>FINAL DEATHMATCH</bold></dark_red>'
|
||
title-sub: '<red>Survive at all costs!</red>'
|
||
escape-warning: '<red>⚠ Leave the pit and you will die! Return immediately!</red>'
|
||
|
||
disasters:
|
||
tornado:
|
||
warning-main: '<red><bold>BEWARE!</bold></red>'
|
||
warning-sub: '<gray>A tornado is forming near you!</gray>'
|
||
earthquake:
|
||
warning-main: '<red><bold>EARTHQUAKE!</bold></red>'
|
||
warning-sub: '<gray>The ground beneath you is starting to shake!</gray>'
|
||
meteor:
|
||
warning-main: '<dark_red><bold>METEOR!</bold></dark_red>'
|
||
warning-sub: '<gray>A glowing boulder is hurtling toward you!</gray>'
|
||
thunder:
|
||
warning-main: '<yellow><bold>THUNDERSTORM!</bold></yellow>'
|
||
warning-sub: '<gray>Your height attracts lightning!</gray>'
|
||
|
||
team:
|
||
disabled: '<prefix><red>Teams are disabled in this round.</red>'
|
||
usage: '<prefix><gray>Usage: /team <invite|accept|deny|leave|kick|info> [player]</gray>'
|
||
game_running: '<prefix><red>Teams cannot be changed while the game is running!</red>'
|
||
not_in_team: '<prefix><red>You are not in a team.</red>'
|
||
already_in_team: '<prefix><red>You are already in a team!</red>'
|
||
player_not_found: '<prefix><red>Player <name> is not online.</red>'
|
||
|
||
invite:
|
||
usage: '<prefix><red>Usage: /team invite <player></red>'
|
||
sent: '<prefix><green>✉ Invite sent to <yellow><name></yellow>. (Expires in <time>s)</green>'
|
||
received: '<prefix><gold>✉ <yellow><name></yellow> invited you to their team! <green>/team accept <name></green> or <red>/team deny <name></red> (expires in <time>s)</gold>'
|
||
self: '<prefix><red>You cannot invite yourself.</red>'
|
||
already_teammate: '<prefix><red>This player is already your teammate.</red>'
|
||
target_has_team: '<prefix><red><name> is already in a team.</red>'
|
||
team_full: '<prefix><red>Your team is full!</red>'
|
||
already_pending: '<prefix><red>There is already a pending invite for <name>.</red>'
|
||
|
||
accept:
|
||
usage: '<prefix><red>Usage: /team accept <player></red>'
|
||
no_invite: '<prefix><red>You have no pending invite from <name>.</red>'
|
||
expired: '<prefix><red>The invite from <name> has expired.</red>'
|
||
joined: '<prefix><green>✔ <yellow><name></yellow> joined the team! Members: <white><members></white></green>'
|
||
|
||
deny:
|
||
usage: '<prefix><red>Usage: /team deny <player></red>'
|
||
success: '<prefix><gray>Invite from <name> declined.</gray>'
|
||
received: '<prefix><gray><name> declined your team invite.</gray>'
|
||
|
||
leave:
|
||
success: '<prefix><gray>You left the team.</gray>'
|
||
disbanded: '<prefix><red>The team has been disbanded.</red>'
|
||
member_left: '<prefix><gray><name> left the team.</gray>'
|
||
|
||
kick:
|
||
usage: '<prefix><red>Usage: /team kick <player></red>'
|
||
success: '<prefix><yellow>Kicked <name> from the team.</yellow>'
|
||
received: '<prefix><red>You were kicked from the team by <name>.</red>'
|
||
not_leader: '<prefix><red>Only the team leader can kick players.</red>'
|
||
not_in_your_team: '<prefix><red><name> is not in your team.</red>'
|
||
self: '<prefix><red>You cannot kick yourself. Use /team leave.</red>'
|
||
|
||
info:
|
||
header: '<gray>━━━━━ <gold>Team Members</gold> ━━━━━</gray>'
|
||
member: ' <gray>#<index></gray> <white><name></white><yellow><leader></yellow>'
|
||
footer: '<gray>━━━━━━━━━━━━━━━━━━━━━ (<size>/<max>)</gray>'
|
||
|
||
commands:
|
||
kit:
|
||
usage: '<red>Usage: /kit <kitName> <playstyle></red>'
|
||
kitNotFound: '<red><kit> is not a registered kit!</red>'
|
||
playstyleNotFound: '<red><playstyle> is not an available playstyle!</red>'
|
||
gameHasStarted: '<red>The game has already started. You cannot select a kit right now!</red>'
|
||
cannotPickSameKit: '<red>You cannot pick the same kit!</red>'
|
||
selected: '<green>You have selected <kit> as your Kit with playstyle <playstyle>!</green>'
|
||
leaderboard:
|
||
header: '<gray>====== <gold>Leaderboard</gold> ======</gray>'
|
||
empty: '<red>There are currently no stats</red>'
|
||
line: '#<rank> - <green><name></green> <dark_gray>[<playerrank><dark_gray>]</dark_gray> <white>-</white> <aqua><score></aqua>'
|
||
footer: '<gray>====== <gold>Leaderboard</gold> ======</gray>'
|
||
timer:
|
||
usage: '<red>Usage: /timer <seconds></red>'
|
||
positiveNumber: '<red>Invalid time format! Use, for example, 10m, 30s, or 600.</red>'
|
||
onlyIngame: '<red>Timer can only be set in game.</red>'
|
||
set: '<green>The game timer has been set to <time>!</green>'
|
||
ranking:
|
||
usage: '<red>Usage: /ranking <toggle|status|rank [player]></red>'
|
||
enabled: '<prefix><green>✔ Ranked mode is now <bold>ACTIVE</bold>. RR will be awarded next round.</green>'
|
||
disabled: '<prefix><yellow>⚠ Unranked mode is now <bold>ACTIVE</bold>. No RR changes next round.</yellow>'
|
||
status_enabled: '<prefix><gray>Ranking: <green><bold>ACTIVE</bold></green></gray>'
|
||
status_disabled: '<prefix><gray>Ranking: <yellow><bold>DISABLED (Unranked)</bold></yellow></gray>'
|
||
rank_usage: '<red>Usage: /ranking rank <player></red>'
|
||
player_not_found: '<red>Player <name> is not online.</red>'
|
||
rank_info: '<prefix><gray>Player <white><name></white> — <rank> <gray>(<score> RR · <games> games)</gray>'
|
||
help:
|
||
message: '<gray>━━━━━ <gradient:red:gold>SpeedHG</gradient> <red>Help</red> ━━━━━</gray><newline><gray>▪</gray> <blue>Discord:</blue> discord.gg/HyZV4CdUgV<newline><gray>▪</gray> <gold>Store:</gold> https://mcscrims.club<newline><white><newline><gray>▪</gray> <yellow>/msg <player> <message></yellow><newline><gray>▪</gray> <yellow>/r <message></yellow><newline><gray>▪</gray> <yellow>/report <player></yellow><newline><gray>▪</gray> <yellow>/leaderboard</yellow><newline><gray>▪</gray> <yellow>/team <invite|accept|deny></yellow><newline><gray>━━━━━ <gradient:red:gold>SpeedHG</gradient> <red>Help</red> ━━━━━</gray>'
|
||
|
||
scoreboard:
|
||
title: '<gradient:red:gold><bold>SpeedHG</bold></gradient>'
|
||
|
||
# ── Ohne Teams ────────────────────────────────────────────────────────────
|
||
|
||
lobby:
|
||
- ''
|
||
- '<gray>Type: <white><variant></white></gray>'
|
||
- '<gray>Players: <white><online>/<max></white></gray>'
|
||
- '<gray>Time: <white><time></white></gray>'
|
||
- ''
|
||
- '<gray>Kit: <kit></gray>'
|
||
- '<gray>Style: <white><style></white></gray>'
|
||
- ''
|
||
- '<gray>Rank: <rank></gray>'
|
||
- ''
|
||
- '<dark_gray>play.mcscrims.club</dark_gray>'
|
||
- ''
|
||
|
||
ingame:
|
||
- ''
|
||
- '<gray>Time: <white><timer></white></gray>'
|
||
- '<gray>Alive: <white><alive></white></gray>'
|
||
- '<gray>Border: <white><border>m</white></gray>'
|
||
- ''
|
||
- '<gray>Kit: <kit></gray>'
|
||
- '<gray>Style: <white><style></white></gray>'
|
||
- ''
|
||
- '<gray>Kills: <white><kills></white></gray>'
|
||
- ''
|
||
- '<dark_gray>play.mcscrims.club</dark_gray>'
|
||
- ''
|
||
|
||
# ── Mit Teams ─────────────────────────────────────────────────────────────
|
||
|
||
lobby_teams:
|
||
- ''
|
||
- '<gray>Type: <white><variant></white></gray>'
|
||
- '<gray>Players: <white><online>/<max></white></gray>'
|
||
- '<gray>Time: <white><time></white></gray>'
|
||
- ''
|
||
- '<gray>Kit: <kit></gray>'
|
||
- '<gray>Style: <white><style></white></gray>'
|
||
- ''
|
||
- '<gray>Team: <white><team></white></gray>'
|
||
- '<gray>Members: <white><members></white></gray>'
|
||
- ''
|
||
- '<dark_gray>play.mcscrims.club</dark_gray>'
|
||
- ''
|
||
|
||
ingame_teams:
|
||
- ''
|
||
- '<gray>Time: <white><timer></white></gray>'
|
||
- '<gray>Alive: <white><alive></white></gray>'
|
||
- '<gray>Border: <white><border>m</white></gray>'
|
||
- ''
|
||
- '<gray>Kit: <kit></gray>'
|
||
- '<gray>Style: <white><style></white></gray>'
|
||
- ''
|
||
- '<gray>Team: <white><team></white></gray>'
|
||
- '<gray>Members: <white><members></white></gray>'
|
||
- ''
|
||
- '<gray>Kills: <white><kills></white></gray>'
|
||
- ''
|
||
- '<dark_gray>play.mcscrims.club</dark_gray>'
|
||
- ''
|
||
|
||
gui:
|
||
kit_selector:
|
||
title: '<gradient:red:gold><bold>Kit Selection</bold></gradient>'
|
||
kit_selected: '<green>Kit <kit> selected!</green>'
|
||
playstyle_changed: '<gold>Playstyle: <white>► <playstyle></white>'
|
||
prev_page: '<red>◄ Previous'
|
||
next_page: '<green>Next ►'
|
||
clear_search: '<red>✕ Reset Search'
|
||
close: '<red>✕ Close'
|
||
kit_item:
|
||
playstyle: '<gray>Playstyle: <white>► <playstyle>'
|
||
left_click: '<yellow>[L-Click]</yellow> <gray>Select Kit</gray>'
|
||
right_click: '<gold>[R-Click]</gold> <gray>Change Playstyle</gray>'
|
||
search:
|
||
name: '<yellow>🔍 Search'
|
||
current: '<gray>Current: <white>"<query>"'
|
||
click: '<gray>Click to search</gray>'
|
||
anvil_search:
|
||
input_placeholder: '<gray>Enter search term...</gray>'
|
||
confirm_name: '<green>✔ Confirm Search</green>'
|
||
confirm_click: '<gray>Click to confirm</gray>'
|
||
perk_selector:
|
||
title: '<gradient:dark_purple:light_purple><bold>Perk Selection</bold></gradient>'
|
||
slot_empty: '<gray>Perk slot <slot>: <red>Empty</red></gray>'
|
||
slot_hint: '<dark_gray>Click a perk to select'
|
||
slot_title: '<gray>Slot <slot>: </gray>'
|
||
equipped_label: '<green>✔ Equipped</green>'
|
||
click_equip: '<gray>Click to equip</gray>'
|
||
click_deselect: '<gray>Click to unequip</gray>'
|
||
slots_full: '<red>Slots are full! Click an active perk to unequip.'
|
||
game_running: '<red>Perks cannot be changed while the game is running!'
|
||
selected: '<green>Equipped: <perk><green>!'
|
||
deselected: '<red>Unequipped: <perk><red>!'
|
||
close: '<red>✕ Close</red>'
|
||
stats_menu:
|
||
title: '<aqua><bold>Profile & Stats</bold></aqua>'
|
||
leaderboard_menu:
|
||
title: '<gold><bold>Top 10 Leaderboard</bold></gold>'
|
||
team_menu:
|
||
title: '<dark_gray>Choose your Team'
|
||
joined: '<green>You joined <white><team></white>!'
|
||
full: '<red>This team is already full!'
|
||
already_here: '<yellow>You are already in this team.'
|
||
disabled: '<red>Teams are disabled.'
|
||
item:
|
||
name: '<white><bold><team></bold>'
|
||
size: '<gray>Players: <white><current>/<max>'
|
||
empty: ' <dark_gray><i>Nobody yet</i>'
|
||
member: ' <aqua>• <player>'
|
||
join_hint: '<green>▶ Click to join'
|
||
full_hint: '<red>⛔ Team is full'
|
||
|
||
perks:
|
||
oracle:
|
||
name: '<gradient:gold:yellow><bold>Oracle</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Shows kit + distance to the next</gray>'
|
||
- '<gray>enemy (Sneak / Compass).</gray>'
|
||
- ' '
|
||
- '<yellow>Synergy:</yellow> <gray>Gamble-Kit shows gamble output.</gray>'
|
||
|
||
vampire:
|
||
name: '<gradient:dark_red:red><bold>Vampire</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>10% chance on a melee hit:</gray>'
|
||
- '<gray>heal</gray> <red>½ hearts</red><gray>.</gray>'
|
||
|
||
featherweight:
|
||
name: '<gradient:white:aqua><bold>Featherweight</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Fully immune against</gray>'
|
||
- '<gray>fall damage.</gray>'
|
||
|
||
bloodlust:
|
||
name: '<gradient:dark_red:gold><bold>Bloodlust</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>After a kill:</gray>'
|
||
- '<yellow>Speed I</yellow> <gray>+</gray> <green>Regen I</green> <gray>for 5 seconds.</gray>'
|
||
message: '<red>⚔ Bloodlust! <yellow>Speed I</yellow> + <green>Regen I</green> for 5 seconds!</red>'
|
||
|
||
enderblue:
|
||
name: '<gradient:dark_purple:aqua><bold>Enderblood</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Ender Pearl landings deal</gray>'
|
||
- '<gray>no fall damage to you.</gray>'
|
||
message: '<aqua>⚡ Enderblood absorbed the impact!</aqua>'
|
||
|
||
ghost:
|
||
name: '<gradient:white:gray><bold>Ghost</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>You are invisible to</gray>'
|
||
- '<gray>compass tracking and the</gray>'
|
||
- '<gray>Oracle perk.</gray>'
|
||
|
||
pyromaniac:
|
||
name: '<gradient:red:gold><bold>Pyromaniac</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Immune to fire, lava,</gray>'
|
||
- '<gray>magma blocks and burn ticks.</gray>'
|
||
|
||
adrenaline:
|
||
name: '<gradient:red:yellow><bold>Adrenaline</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Dropping below 3 hearts</gray>'
|
||
- '<gray>grants <yellow>Speed II</yellow> for 5 s.</gray>'
|
||
- '<dark_gray>(30 s cooldown)</dark_gray>'
|
||
message: '<red>❤ Adrenaline Rush! <yellow>Speed II</yellow> for 5 seconds!</red>'
|
||
|
||
scavenger:
|
||
name: '<gradient:gold:yellow><bold>Scavenger</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Every kill drops an extra</gray>'
|
||
- '<gold>Golden Apple</gold> <gray>at the corpse.</gray>'
|
||
message: '<gold>🍎 Scavenged a Golden Apple!</gold>'
|
||
|
||
last_stand:
|
||
name: '<gradient:white:red><bold>Last Stand</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Taking damage below <red>3 hearts</red></gray>'
|
||
- '<gray>grants <white>Resistance II</white> + <yellow>Absorption I</yellow> (4s).</gray>'
|
||
- '<dark_gray>(60 s cooldown)</dark_gray>'
|
||
message: '<red>🛡 Last Stand! <white>Resistance II</white> + <yellow>Absorption I</yellow> active!</red>'
|
||
|
||
momentum:
|
||
name: '<gradient:aqua:white><bold>Momentum</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Sprint for 4 seconds without</gray>'
|
||
- '<gray>combat to gain <yellow>Speed I</yellow>.</gray>'
|
||
message: '<yellow>💨 Momentum! <white>Speed I</white> active!</yellow>'
|
||
|
||
gourmet:
|
||
name: '<gradient:green:gold><bold>Gourmet</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Consuming soup grants</gray>'
|
||
- '<green>Regen I</green> <gray>+</gray> <yellow>Speed I</yellow> <gray>for 2 s.</gray>'
|
||
message: '<green>🍲 Gourmet! <white>Regen I</white> + <yellow>Speed I</yellow> for 2 seconds!</green>'
|
||
|
||
berserker:
|
||
name: '<gradient:dark_red:red><bold>Berserker</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>Below <red>4 hearts</red>: deal</gray>'
|
||
- '<red>15% more</red> <gray>melee damage.</gray>'
|
||
|
||
evasion:
|
||
name: '<gradient:aqua:dark_aqua><bold>Evasion</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- '<gray>15% chance to dodge</gray>'
|
||
- '<gray>incoming projectiles.</gray>'
|
||
message: '<aqua>💨 Evaded! The projectile missed you!</aqua>'
|
||
|
||
kits:
|
||
needed_hits: '<gold>⚡ Ability: <white><current>/<required> Hits</white></gold>'
|
||
ability_charged: '<green><bold>⚡ ABILITY READY!</bold></green>'
|
||
height_restriction: '<red>⚠ This ability cannot be used at high altitudes!'
|
||
|
||
backup:
|
||
name: '<gradient:gold:#ff841f><bold>Backup</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'Select a kit mid-round at any time.'
|
||
- 'All kits are available to pick.'
|
||
|
||
gladiator:
|
||
name: '<gradient:dark_gray:gray><bold>Gladiator</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'Use your ability to fight enemies'
|
||
- 'in a 1v1 above the skies.'
|
||
items:
|
||
ironBars:
|
||
name: '<gray>Cage</gray>'
|
||
description: 'Fight an enemy in a 1v1 above the skies'
|
||
messages:
|
||
cannot_use_abilities: '<red>You cannot use abilities while in a gladiator fight!</red>'
|
||
|
||
goblin:
|
||
name: '<gradient:dark_green:gray><bold>Goblin</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Copy your enemies kit'
|
||
- 'DEFENSIVE: Summon a bunker for protection'
|
||
items:
|
||
steal:
|
||
name: '§cSteal Kit'
|
||
description: 'Steal the kit of your opponent for 60 seconds'
|
||
bunker:
|
||
name: '§2Bunker'
|
||
description: 'Create a bunker around yourself for 15 seconds'
|
||
messages:
|
||
stole_kit: '<green>You have stolen the kit of your opponent (Kit: <kit>)!</green>'
|
||
spawn_bunker: '<green>You have created a bunker around yourself!'
|
||
ability_charged: '<yellow>Your ability has been recharged!</yellow>'
|
||
|
||
icemage:
|
||
name: '<gradient:dark_aqua:aqua><bold>IceMage</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Gain speed in ice biomes and give slowness'
|
||
- 'DEFENSIVE: Summon snowballs and freeze enemies'
|
||
items:
|
||
snowball:
|
||
name: '<aqua>❄️ Freeze</aqua>'
|
||
description: 'Freeze your enemies by throwing snowballs in all directions'
|
||
ice_spike:
|
||
name: '<aqua>❄️ Ice Spike Burst</aqua>'
|
||
description: 'Right-click: Fire cone of freezing projectiles'
|
||
passive:
|
||
aggressive:
|
||
name: '<aqua>IceStorm</aqua>'
|
||
description: 'Gain speed in cold biomes and give enemies slowness'
|
||
defensive:
|
||
name: '<aqua>Slowness Proc</aqua>'
|
||
description: '33% chance to slow enemies when you hit them'
|
||
messages:
|
||
shoot_snowballs: '<aqua>You have shot frozen snowballs in all directions!</aqua>'
|
||
ability_charged: '<yellow>Your ability has been recharged!</yellow>'
|
||
spike_fired: '<aqua>❄️ Spikes fired!</aqua>'
|
||
spike_cooldown: '<red>Cooldown: <time>s remaining'
|
||
|
||
venom:
|
||
name: '<gradient:dark_red:red><bold>Venom</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Summon a deafening beam'
|
||
- 'DEFENSIVE: Create a shield for protection'
|
||
items:
|
||
wither:
|
||
name: '§8Deafening Beam'
|
||
description: 'Summon a deafening beam against an enemy'
|
||
shield:
|
||
name: '§8Shield of Darkness'
|
||
description: 'Create a shield and get protected against hits and projectiles'
|
||
passive:
|
||
name: '§8Shield of Darkness'
|
||
description: 'Create a shield and get protected against hits and projectiles'
|
||
messages:
|
||
wither_beam: '<gray>You have summoned your deafening beam!</gray>'
|
||
shield_activate: '<gray>Your shield of darkness has been activated!</gray>'
|
||
shield_break: '<red>Your shield of darkness has broken!</red>'
|
||
ability_charged: '<yellow>Your ability has been recharged</yellow>'
|
||
|
||
rattlesnake:
|
||
name: '<gradient:green:dark_green><bold>Rattlesnake</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Sneak-charged pounce'
|
||
- 'DEFENSIVE: 25% counter-venom on hit'
|
||
items:
|
||
pounce:
|
||
name: '<green>Pounce</green>'
|
||
description: 'Sneak + right-click to lunge at an enemy'
|
||
passive:
|
||
aggressive:
|
||
name: '<green>Pounce Strike</green>'
|
||
description: 'Apply Poison II on pounce-hit (x3 after Feast)'
|
||
defensive:
|
||
name: '<green>Counter Venom</green>'
|
||
description: '25% chance to reflect Poison when hit'
|
||
messages:
|
||
pounce_hit: '<green>Pounce hit <count> target(s)! Poison II applied!</green>'
|
||
pounce_miss: '<red>Pounce missed! Nearby enemies were disoriented.</red>'
|
||
venom_proc: '<green>Counter Venom triggered!</green>'
|
||
|
||
armorer:
|
||
name: '<gradient:gray:white><bold>Armorer</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'Upgrade armor every 2 kills.'
|
||
- 'Broken armor is auto-replaced.'
|
||
passive:
|
||
aggressive:
|
||
name: '<gold>Battle High</gold>'
|
||
description: 'Gain Strength I for 5 s after each kill'
|
||
defensive:
|
||
name: '<aqua>Fortified</aqua>'
|
||
description: 'Iron / Diamond armor receives Protection I'
|
||
messages:
|
||
armor_upgraded: '<gold>Armor upgraded to tier <tier>!</gold>'
|
||
armor_replaced: '<yellow>Broken armor replaced automatically.</yellow>'
|
||
|
||
voodoo:
|
||
name: '<gradient:dark_purple:light_purple><bold>Voodoo</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Wither on hit + root below 50%'
|
||
- 'DEFENSIVE: Curse enemies for buffs'
|
||
items:
|
||
root:
|
||
name: '<dark_purple>Root</dark_purple>'
|
||
description: 'Root an enemy below 50% HP for 5 seconds'
|
||
curse:
|
||
name: '<light_purple>Curse</light_purple>'
|
||
description: 'Curse nearby enemies for 15 seconds'
|
||
passive:
|
||
aggressive:
|
||
name: '<dark_purple>Wither Touch</dark_purple>'
|
||
description: '20% chance to apply Wither on melee hit'
|
||
defensive:
|
||
name: '<light_purple>Dark Pact</light_purple>'
|
||
description: 'Speed + Regen while cursed enemies are nearby'
|
||
messages:
|
||
root_activated: '<dark_purple>Enemy rooted for 5 seconds!</dark_purple>'
|
||
root_received: '<red>You are rooted!</red>'
|
||
curse_cast: '<light_purple>Cursed <count> enemy(s) for 15 seconds!</light_purple>'
|
||
curse_received: '<red>You have been cursed by a Voodoo player!</red>'
|
||
ability_charged: '<yellow>Ability recharged!</yellow>'
|
||
|
||
blackpanther:
|
||
name: '<gradient:dark_gray:white><bold>Black Panther</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Push + Vibranium Fists'
|
||
- 'DEFENSIVE: Wakanda Forever! fall-pounce'
|
||
items:
|
||
push:
|
||
name: '<gray>Vibranium Pulse</gray>'
|
||
description: 'Knock back all nearby enemies and activate Fist Mode'
|
||
passive:
|
||
aggressive:
|
||
name: '<gray>Vibranium Fists</gray>'
|
||
description: '6.5 bare-hand damage for 12 s after Push'
|
||
defensive:
|
||
name: '<white>Wakanda Forever!</white>'
|
||
description: 'Fall from 3+ blocks onto an enemy for AOE damage + crater'
|
||
messages:
|
||
fist_mode_active: '<gray>⚡ Vibranium Fists active for 12 seconds!</gray>'
|
||
wakanda_impact: '<white>Wakanda Forever! Hit <count> enemy(s)!</white>'
|
||
ability_charged: '<yellow>Ability recharged!</yellow>'
|
||
|
||
theworld:
|
||
name: '<gradient:dark_gray:white><bold>The World</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Shockwave + 3x Blink'
|
||
- 'DEFENSIVE: Shockwave + Freeze + 5-Hit Cap'
|
||
items:
|
||
clock:
|
||
aggressive:
|
||
name: '<gray>The World</gray>'
|
||
description: 'Shockwave → right-click 3x to blink in looking direction'
|
||
defensive:
|
||
name: '<gray>The World</gray>'
|
||
description: 'Shockwave + freeze nearby enemies (max 5 hits each)'
|
||
passive:
|
||
defensive:
|
||
name: '<aqua>Time Stop</aqua>'
|
||
description: 'Frozen enemies can only be hit 5 times'
|
||
messages:
|
||
shockwave_and_blink: '<gray>Shockwave! <white><charges> blink charge(s) ready.</white>'
|
||
teleport_charges: '<aqua>Blinked! <charges> charge(s) remaining.</aqua>'
|
||
charges_exhausted: '<red>All blink charges spent!</red>'
|
||
freeze_activated: '<aqua>⏸ Time stopped for <count> enemy(s)!</aqua>'
|
||
frozen_received: '<red>⏸ You are frozen for 10 seconds!</red>'
|
||
frozen_expired: '<gray>The freeze has worn off.</gray>'
|
||
freeze_broken: '<gold>Freeze broken — 5 hits reached!</gold>'
|
||
freeze_hits_left: '<aqua>Frozen enemy — <hits> hit(s) remaining.</aqua>'
|
||
|
||
tesla:
|
||
name: '<gradient:yellow:aqua><bold>Tesla</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Lightning strikes (5-block radius)'
|
||
- 'DEFENSIVE: Knockback + fire aura'
|
||
- '<dark_gray>Disabled above Y ≈ 113'
|
||
items:
|
||
rod:
|
||
name: '<yellow>Tesla Coil'
|
||
description: 'Strike 5 random bolts in a 5-block radius (1.5 ♥ each)'
|
||
passive:
|
||
name: '<yellow>Electromagnetic Field'
|
||
description: 'Push back + ignite nearby enemies every 3 s'
|
||
messages:
|
||
lightning_cast: '<yellow>⚡ Tesla Coil discharged!'
|
||
too_high: '<red>Too high! Tesla requires ground contact.'
|
||
ability_charged: '<yellow>Tesla Coil recharged!'
|
||
|
||
puppet:
|
||
name: '<gradient:dark_purple:light_purple><bold>Puppet</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Life drain (max 8 ♥, 2 s)'
|
||
- 'DEFENSIVE: Blindness + Slowness III (4 s)'
|
||
items:
|
||
drain:
|
||
name: '<dark_purple>Life Drain</dark_purple>'
|
||
description: 'Drain life from nearby enemies. Sneak to cancel.'
|
||
fear:
|
||
name: '<dark_purple>Puppeteer''s Fear</dark_purple>'
|
||
description: 'Apply Blindness + Slowness to nearby enemies'
|
||
messages:
|
||
drain_start: '<dark_purple>Draining life...'
|
||
draining: '<dark_purple>♥ Drained <healed>/<max> hearts'
|
||
drain_cancelled: '<gray>Drain cancelled.'
|
||
no_enemies: '<red>No enemies nearby!'
|
||
feared: '<dark_purple>You are being puppeted!'
|
||
fear_cast: '<dark_purple>Fear applied to <count> enemy(s)!'
|
||
ability_charged: '<yellow>Ability recharged!'
|
||
|
||
anchor:
|
||
name: '<gradient:gray:white><bold>Anchor</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'Always: 40% knockback resistance'
|
||
- 'AGGRESSIVE: 5-block anchor + damage bonus'
|
||
- 'DEFENSIVE: 8-block anchor + Resistance I'
|
||
items:
|
||
chain:
|
||
name: '<gray>⚓ Deploy Anchor</gray>'
|
||
description: 'Summon an Iron Golem anchor. Enemies can destroy it!'
|
||
passive:
|
||
name: '<gray>Anchored</gray>'
|
||
description: 'NoKnock + bonus within anchor radius'
|
||
messages:
|
||
anchor_placed: '<gray>Anchor deployed! Radius: <radius> blocks.'
|
||
anchor_destroyed: '<red>⚓ Your anchor was destroyed!'
|
||
ability_charged: '<gray>Anchor ready to deploy!'
|
||
|
||
ninja:
|
||
name: '<gradient:dark_gray:white><bold>Ninja</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Sneak → teleports behind last hit enemy'
|
||
- 'DEFENSIVE: Smoke aura – Blindness I + Slowness I'
|
||
items:
|
||
smoke:
|
||
name: '<dark_gray>Smoke Bomb</dark_gray>'
|
||
description: 'Enemies in 3-block radius get Blindness + Slowness'
|
||
messages:
|
||
teleport_cooldown: '<dark_red>Teleport on cooldown – <time>s'
|
||
no_target: '<red>No recent target! Hit an enemy first.'
|
||
target_expired: '<red>Target expired (10s window).'
|
||
teleported: '<dark_gray>◆ Teleported behind target'
|
||
smoke_activated: '<dark_gray>◆ Smoke aura activated!'
|
||
smoke_expired: '<gray>◆ Smoke expired.'
|
||
|
||
trident:
|
||
name: '<gradient:aqua:blue><bold>Trident</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: 3 dive charges – lightning on landing'
|
||
- 'DEFENSIVE: 20% parry – bounce back + Slowness I'
|
||
items:
|
||
trident:
|
||
aggressive:
|
||
name: '<aqua>⚡ Trident Dive</aqua>'
|
||
description: 'Right-click: launch up, lightning strikes on landing'
|
||
defensive:
|
||
name: '<aqua>⚡ Trident Parry</aqua>'
|
||
description: '20% chance: bounce attacker + Slowness I (2s)'
|
||
passive:
|
||
defensive:
|
||
name: 'Trident Parry'
|
||
description: '20% chance to bounce attacker with Slowness I'
|
||
messages:
|
||
dive_launched: '<aqua>⚡ Launched! <charges> charge(s) left.'
|
||
charges_left: '<aqua>⚡ <charges> dive charge(s) remaining!'
|
||
sequence_done: '<gray>Sequence complete.'
|
||
parry_success: '<aqua>⚡ Parry!</aqua>'
|
||
parried_by_victim: '<red>Parried!'
|
||
|
||
blitzcrank:
|
||
name: '<gradient:yellow:gold><bold>Blitzcrank</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Hook – pull first enemy in line of sight'
|
||
- 'DEFENSIVE: Stun – freeze all nearby enemies'
|
||
- 'Both: Ult – AoE discharge'
|
||
items:
|
||
hook:
|
||
name: '<yellow>⚡ Rocket Grab</yellow>'
|
||
description: 'Pull the first enemy in your line of sight'
|
||
stun:
|
||
name: '<yellow>⚡ Power Fist</yellow>'
|
||
description: 'Stun all nearby enemies for 3 seconds'
|
||
ult:
|
||
name: '<gold>⚡ Static Field</gold>'
|
||
description: 'AoE discharge – damages all enemies in 6 blocks'
|
||
passive:
|
||
name: 'Static Field'
|
||
description: 'Unleash an electric AoE (30s cooldown)'
|
||
messages:
|
||
hook_hit: '<yellow>⚡ Hook hit!'
|
||
hooked: '<red>You were hooked!'
|
||
stun_cast: '<yellow>⚡ Stunned <count> enemy(s)!'
|
||
stunned: '<red>⚡ You are stunned!'
|
||
ult_fired: '<gold>⚡ Static Field hit <count> enemy(s)!'
|
||
ult_cooldown: '<red>Ult on cooldown – <time>s'
|
||
ult_no_targets: '<red>No enemies in range!'
|
||
|
||
spielo:
|
||
name: '<gradient:gold:yellow><bold>Spielo</bold></gradient>'
|
||
lore:
|
||
- ' '
|
||
- 'AGGRESSIVE: Gambling at the push of a button'
|
||
- 'DEFENSIVE: Slot machine - no instant death'
|
||
items:
|
||
automat:
|
||
name: '<gold><bold>Slot Machine</bold></gold>'
|
||
description: '<gray>Gamble at the push of a button</gray>'
|
||
slotautomat:
|
||
name: '<gold><bold>Safe Slot Machine</bold></gold>'
|
||
description: '<gray>Slot machine - no instant death & diamond armor</gray>'
|
||
messages:
|
||
instant_death: '<dark_red><bold>BANKRUPT!</bold></dark_red> <red>You gambled your life away. The house always wins.</red>'
|
||
gamble_event: '<red><bold>UNLUCKY!</bold></red> <gray>The slot machine triggered a disaster!</gray>'
|
||
gamble_bad: '<red>Bad spin...</red> <gray>You feel a sudden negative effect.</gray>'
|
||
gamble_neutral: '<yellow>Meh.</yellow> <gray>Just some useless junk. Spin again!</gray>'
|
||
gamble_good: '<gold><bold>JACKPOT!</bold></gold> <green>Lady Luck is smiling at you. Enjoy your reward!</green>' |