No hit-cooldown script

nohitcooldown.js
var Attribute = org.bukkit.attribute.Attribute
var Bukkit = org.bukkit.Bukkit;

registerEvent("org.bukkit.event.player.PlayerJoinEvent", function(event) {
    var player = event.getPlayer();
    var attributeInstance = player.getAttribute(Attribute.GENERIC_ATTACK_SPEED);

    if (attributeInstance != null) {
        attributeInstance.setBaseValue(1024.0); // disables cooldown UI
        log.info("Disabled hit cooldown for player: " + player.getName());
    } else {
        log.warning("Attribute instance was null for player: " + player.getName());
    }
});

registerEvent("org.bukkit.event.entity.EntityDamageByEntityEvent", function(event) {
    var e = event.getEntity();        
    if (e && e.setMaximumNoDamageTicks) {
        // allows hit-damage each tick on the target
        e.setMaximumNoDamageTicks(1);
        e.setNoDamageTicks(1);
    }
});

Last updated