Frage von epixplay, 17

Wie bekomme ich in meinem code hin das jeglicher schaden deaktiviert ist aber schaden durch andere spieler aktiviert ist?

So sieht mein code bis hier hin aus.

package me.schadenn;

import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent;

import me.schadenn.Main;

public class Schaden implements Listener {

@EventHandler
public void onDamage(EntityDamageEvent e) {
    if(e.getEntity() instanceof Player & e.getEntity().getWorld().getName().equals(Main.world)) {
        e.setCancelled(true);
    }
}

@EventHandler
public void onDamage(EntityDamageByEntityEvent e) {
    if(e.getEntity() instanceof Player & e.getEntity().getWorld().getName().equals(Main.world)) {
        e.setCancelled(false);
    }
}

}

Aber irgendwie funktioniert das nicht man bekommt zwar keinen fallschaden aber auch keinen schaden durch spieler

Und wie bekomme ich das hin das ich auch noch damage von wasser und lava bekomme, Also wasser wenn ich ersticke.

Danke

Antwort
von regex9, 4

Offensichtlich sind andere Spielerinstanzen ebenso von der Klasse Player abgeleitet. Du musst die Abfrage konkretisieren.

Bezüglich Wasser und Lava: Sollte das nicht ähnlich wie beim Spieler sein? Die Abfrage danach müsste natürlich vor der Abfrage nach jeglichen anderen Schaden kommen.

So nebenbei, wieso verwendest du bitweise Operatoren?

Keine passende Antwort gefunden?

Fragen Sie die Community