Vielleicht hilft es dir zu wissen, wie Minecraft den Cooldown generell umsetzt & wie man ihn mit Vanilla ändert.
Jede Entity hat Attribute. Eine Liste aller Attribute findest du
hier. Dazu gehören Dinge wie Movement-Speed, maximale Lebenspunkte aber bei Spielern eben auch Angriffsgeschwindigkeit (
generic.attack_speed ). Dieser Wert regelt, wie oft pro Sekunde mit voller Stärker angegriffen werden kann.
Standardwert ist 4. Ab Werten über 23 wird der Attack Indicator (der sich aufladende Balken) nicht mehr angezeigt. Maximal möglicher Wert ist 1024. Das ganze lässt sich auch in Vanilla (ab 1.16) mit
/attribute <Target> minecraft:generic.attack_speed base set <Wert> einfach ändern.
Zusätzlich dazu besitzt fast jede Entity noch eine Immunität. Diese ist so lange aktiv, wie der Mob oder Spieler rot angezeigt wird und reduziert den Schaden. Die Dauer der Immunität hängt vom Mob ab und lässt sich nicht per Befehl ändern. Das hat sich aber mit 1.9 nicht geändert - Spieler die ein altes Kampfsystem wollen, meinen also nicht diese Immunität sondern nur den Cooldown. Die Immunität kannst du mit
LivingEntity.setNoDamageTicks() ändern.
An deiner Stelle würde ich einfach für jeden Spieler, der sich einloggt das Attribut
generic.attack_speed setzen. Eventuell muss man es nach einem Respawn ebenfalls neusetzen, da bin ich mir nicht sicher. Das kannst du einfach mit
player.getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(); tun.
Das oben verlinkte Plugin tut auch nur das, fügt aber noch einige Dinge hinzu um es a) konfigurierbarer zu machen und b) nach einer Deinstallation des Plugins den AttackSpeed wieder zu normalen Werten zurückzusetzen.