Add Kit GUI (menu/anvil) and integrate MenuListener

Introduce a full chest-based kit selection UI and anvil search: add Menu, MenuHolder, KitSelectorMenu, KitItemFactory, AnvilSearchMenu (with AnvilSearchTracker) and a central MenuListener to dispatch menu and anvil interactions. Integrate the GUI into KitCommand (opens selector on no args, enforces mid-game selection rules, remove/replace backup kits when switching) and register MenuListener in the main plugin. Add permission speedhg.bypass and update ConnectListener to kick joiners when a game is running unless they have the bypass permission. Remove static playstyle lore from language file (now rendered dynamically), and apply small import/refactor cleanups (use wildcard imports for kit impls, java.util.* replacements).
This commit is contained in:
TDSTOS
2026-03-26 17:06:40 +01:00
parent b2edcff447
commit 72a58fdd9c
20 changed files with 820 additions and 72 deletions

View File

@@ -86,22 +86,12 @@ kits:
- ' '
- 'Select a kit mid-round at any time.'
- 'All kits are available to pick.'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
gladiator:
name: '<gradient:dark_gray:gray><bold>Gladiator</bold></gradient>'
lore:
- ' '
- 'Use your ability to fight enemies'
- 'in a 1v1 above the skies.'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
items:
ironBars:
name: '<gray>Cage</gray>'
@@ -117,11 +107,6 @@ kits:
- ' '
- 'DEFENSIVE:'
- 'Summon a bunker for protection'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
items:
steal:
name: '§cSteal Kit'
@@ -142,11 +127,6 @@ kits:
- ' '
- 'DEFENSIVE:'
- 'Summon snowballs and freeze enemies'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
items:
snowball:
name: '§bFreeze'
@@ -166,11 +146,6 @@ kits:
- ' '
- 'DEFENSIVE:'
- 'Create a shield for protection'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
items:
wither:
name: '§8Deafening Beam'