Integrate Lunar Client and gameplay tweaks

Add Lunar Client support and make various kit/listener/ui adjustments.

- Add Apollo (Lunar Client) compileOnly dependencies and new LunarClientManager wired into plugin initialization. Update plugin.yml (depend Apollo-Bukkit, add speedhg.admin.staff permission) and config.yml (lunarclient name/variantName) for rich presence and mod settings.
- Rework Tesla kit passive: remove periodic aura task in favor of chance-on-hit effect (AURA_CHANCE) to reduce continuous scheduling and simplify behavior; adjust constants and particle/sound logic accordingly.
- Add Anchor golem death handler to KitEventDispatcher to suppress drops/exp for golems spawned by AnchorKit.
- Update AnvilSearchMenu to clear item-on-cursor before closing and ensure search tracker is unregistered in the right order.
- Remove join/quit attack-speed cooldown handling in GameStateListener and tidy up some permission/command descriptions in plugin.yml.

These changes enable Lunar features, improve performance by removing repeated scheduled tasks, and fix gameplay/drop/UI edge cases.
This commit is contained in:
TDSTOS
2026-04-11 00:49:42 +02:00
parent 9ad3a8f342
commit cd8e3e37a7
9 changed files with 158 additions and 96 deletions

View File

@@ -5,16 +5,20 @@ api-version: '1.21'
depend:
- "WorldEdit"
- "Apollo-Bukkit"
permissions:
speedhg.bypass:
description: 'Allows joining the server while its running'
default: false
speedhg.admin.timer:
description: 'Change the current game time'
default: false
description: 'Allows changing the game timer'
default: op
speedhg.admin.ranking:
description: 'Manage the ranking system (toggle unranked mode, inspect ranks)'
description: 'Allows managing the ranking system'
default: op
speedhg.admin.staff:
description: 'Staff permission for Lunar Client'
default: false
commands:
@@ -25,11 +29,11 @@ commands:
description: 'View the top 10 players'
usage: '/leaderboard'
timer:
description: 'Change the current game time (Admin Command)'
usage: '/timer <seconds>'
description: 'Change the current game time (Admin)'
usage: '/timer <time>'
permission: speedhg.admin.timer
ranking:
description: 'Manage the SpeedHG ranking system'
description: 'Manage the ranking system'
usage: '/ranking <toggle|status|rank [player]>'
permission: speedhg.admin.ranking
perks: