Skip to content

Cancelling all damage an entity takes.

  1. Create a new file

    • Directorycom/learnpaperdev/beginner
      • BeginnerPlugin.java
      • BlockBreakListener.java
      • EntityDamageListener.java
  2. Fill EntityDamageListener.java:

    EntityDamageListener.java
    6 collapsed lines
    package com.learnpaperdev.beginner;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDamageEvent;
    import org.jspecify.annotations.NullMarked;
    @NullMarked
    public final class PlayerDamageListener implements Listener {
    @EventHandler
    void onPlayerTakeDamage(EntityDamageEvent event) {
    event.setCancelled(true);
    }
    }
  3. Register listener in main class:

    BeginnerPlugin.java
    @Override
    public void onEnable() {
    // We use a PluginManager in order to register events
    final PluginManager pluginManager = getServer().getPluginManager();
    // Create our listener instance
    final BlockBreakListener listener = new BlockBreakListener(getComponentLogger());
    final PlayerDamageListener damageListener = new PlayerDamageListener();
    // #registerEvents requires the listener we want to register, and our plugin instance
    pluginManager.registerEvents(listener, this);
    pluginManager.registerEvents(damageListener, this);
    getComponentLogger().warn("Our plugin has been enabled!");
    }
  4. Test it by trying to take damage.

Learn Paper Dev is licensed under CC BY-NC-SA 4.0