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!

ServerPlugin Check ob jmd ein Namen gemacht hat auf dem Item

Dieses Thema im Forum "Programmierung" wurde erstellt von Swissu, 22. Juni 2015.

  1. Swissu
    Offline

    Swissu

    Registriert seit:
    29. Juli 2014
    Beiträge:
    8
    Ort:
    Luzern Schweiz
    Minecraft:
    BNLynxion
    Hey liebe Community,

    Ich arbeite derzeit an einem Server Projekt und Entwickle Plugins....
    Jetzt hab ich ein weiteres Feature eingebaut in einem Haupt Plugin, das den Spieler Effekte ermöglichen soll.
    Das Problem.... Ich schaffe es nicht das es nur auf einem Item läuft das nen bestimmten Namen hat....
    Gedacht ist zb: "railgun.firework" und erst dann soll es laufen....

    Hier mal den Code:
    Code (Text):
    1. @EventHandler
    2.   public void railShot(PlayerInteractEvent event){
    3.      try {
    4.     if (event.getAction() != Action.RIGHT_CLICK_AIR) return;
    5.     Player p = event.getPlayer();
    6.     if (p.getItemInHand()==null) return;
    7.     if (p.getItemInHand().getType()!= Material.BLAZE_ROD) return;
    8.     if (p.hasPermission("brandnetz.effekte.railgun") && p.isOp()==true){
    9.          
    10.     Location loc1 = p.getEyeLocation();
    11.     @SuppressWarnings("deprecation")
    12.     Location loc2 = p.getTargetBlock((HashSet<Byte>) null, 100).getLocation();
    13.     if (p.getItemInHand().getType().)
    14.     if (loc1 == null) return;
    15.     if (loc2 == null) return;
    16.     List<Location> line = Util.buildLine(loc1, loc2); // provided by PlayEffect
    17.     if (line.size()<=1) return;
    18.     line.remove(0);
    19.    
    20.     for (Location l : line){
    21.     // PlayEffect: play firework effect to simulate railgun trails
    22.     String param = "loc:"+Util.locationToStrLoc(loc1)+" loc2:"+Util.locationToStrLoc(loc2)+" draw:line color:red type:ball";
    23.     PlayEffect.play(VisualEffect.FIREWORKS_SPARK, param);
    24.    
    25.     for (Entity e : l.getChunk().getEntities()){
    26.     if (!(e instanceof LivingEntity)) continue;
    27.     LivingEntity le = (LivingEntity) e;
    28.     if (le.getLocation().distance(l)<=1.5) le.damage(le.getMaxHealth()*2);
    29.     }
    30.     }
    31.     } else {
    32.        p.sendMessage(plugin_manager + ChatColor.RED + "Du hast keinen Zugang zu diesem Feature!");
    33.     }
    34.      } catch (Exception e) {
    35.        e.printStackTrace();
    36.        p.sendMessage(plugin_manager + ChatColor.RESET + "Diesen Code bitte dem Techniker senden: " + ChatColor.RED + "0x00054E");
    37.      }
    38.   }
    Frage:
    Wie kann ich jetzt überprüfen ob der Gegenstand diesen Namen hat?
    Ich wäre für Links und Beispiel Codes sehr froh

    Danke schon jetzt für die Hilfe :)
     
    #1
  2. Werbung
    Online

    Werbung

  3. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Minecraft:
    MrPyro13
    Hallo,

    ich würde dir empfehlen alle p.getItemInHand() mit ev.getItem() zu ersetzen.
    Nun zum eigentlichen Problem:
    Code (Text):
    1. if (ev.getItem() != null)
    2. if (ev.getItem().getItemMeta().hasDisplayname())
    3. if (ev.getItem().getItemMeta().getDisplayname().equals("BossItem"))[/code
     
    #2
  4. iTz_Proph3t
    Offline

    iTz_Proph3t Moderator

    Registriert seit:
    24. Oktober 2012
    Beiträge:
    1.126
    Minecraft:
    iTz_Proph3t
    Hab euch das mal in Code-Format abgespeichert. Um das selbst zu machen, einfach {code] am Anfang schreiben und {/code] am ende.
    Nurnoch die geschweiften Klammern durch eckige ersetzen, dann klappt es ;)
     
    #3
  5. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Minecraft:
    MrPyro13
    Alles klar ;)
    War am Handy und hatte keine Lust drauf, wegen 3 Zeilen Code ;)
     
    #4