1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Listener: Fehler bei getHealth()

Dieses Thema im Forum "Programmierung" wurde erstellt von MrPyro13, 7. August 2014.


  1. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Geschlecht:
    männlich
    Minecraft:
    MrPyro13
    Hallo Community,

    ich habe das Problem, das in meinem Code das getHealth() rot unterstrichen wird.

    Code (Text):
    1.  
    2. package de.mrpyro13.ImpComs;
    3.  
    4. import org.bukkit.entity.Entity;
    5. import org.bukkit.entity.Player;
    6. import org.bukkit.event.EventHandler;
    7. import org.bukkit.event.Listener;
    8. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    9.  
    10. public class Listener_DamageMessage implements Listener {
    11.    
    12.     public Listener_DamageMessage(ImpComs_main plugin) {
    13.         plugin.getServer().getPluginManager().registerEvents(this, plugin);
    14.     }
    15.    
    16.     @EventHandler
    17.     public void onDamage(EntityDamageByEntityEvent ev) {
    18.         Entity en0 = ev.getDamager();
    19.         if (en0 instanceof Player) {
    20.             Entity en1 = ev.getEntity();
    21.             if (en1 instanceof Player) {
    22.                 Player p0 = (Player) en0; //Fügt Schaden hinzu
    23.                 Player p1 = (Player) en1; //Bekommt Schaden
    24.                 String msg = "§6" + p1.getName() + "§7's Lebensanzeige: §4";
    25.                 for(int i = 0; i < p1.[COLOR=#ff0000][U]getHealth()[/U][/COLOR]; i++) {
    26.                     msg = msg + "¦";
    27.                 }
    28.                 p0.sendMessage(msg);
    29.             }
    30.         }
    31.     }
    32.  
    33. }
    34.  
    35.  

    Fehlermeldung:

     
  2. Werbung
    Online

    Werbung

  3. Elrontur
    Offline

    Elrontur Ehem. Teammitglied

    Registriert seit:
    5. April 2013
    Beiträge:
    138
    Minecraft:
    Elrontur
  4. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.064
    Geschlecht:
    männlich
    Caste mal p1 zu Damageable. Also:
    Code (Text):
    1. ((Damageable) p1).getHealth()
    Dann funktioniert es.
     
    • Gefällt mir Gefällt mir x 1
  5. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Geschlecht:
    männlich
    Minecraft:
    MrPyro13
    Super, das von MiCrJonas1997 funktioniert!
    Um nun diese Lebensanzeige zu halbieren muss ich doch einfach /2 machen oder?

     
  6. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.064
    Geschlecht:
    männlich
    Ja, du solltest aber vor der Schleife 1x ausrechnen, wann die Schleife enden soll, anstatt das jedes mal zu machen, wenn die Schleife durchlaufen wird, das dies Resourcenschonender ist. Außerdem solltest du einen StringBuilder benutzen, weil dies auch Resourcen spart, wenn du so oft etwas zum String hinzufügst. Das ganze macht aber nur einen minimalen unmerklichen Unterschied zu deiner Variante.