Bei Rechtsklick mit Item PotionEffect

Dieses Thema im Forum "Programmierung" wurde erstellt von Kombustor, 5. April 2013.

  1. Kombustor
    Offline

    Kombustor

    Registriert seit:
    1. Februar 2013
    Beiträge:
    55
    Ich habe vor, dass wenn man mit einem Zucker in der Hand einen Rechtsklick ausführt, mann für 10 Sekunden unsichtbar ist!

    Ich habe das, aber es passiert nichts bei Rechtsklick:
    Code (Text):
    1.  
    2.     public void onDepressantUse(PlayerInteractEvent event){
    3.         if (event.isCancelled()){
    4.         return; }
    5.         if (event.getItem().getType() == Material.SUGAR){
    6.         event.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 10, 0)); }}
    Was soll ich tun?
     
    #1
  2. rBxGame
    Offline

    rBxGame Ehem. Teammitglied

    Registriert seit:
    16. Februar 2012
    Beiträge:
    1.077
    Da das ja im Grunde heute schon dein zweiter
    Thread bezüglich der Java-Programmierung ist:

    Zitat aus dem "PlayerDeathEvent gesucht Thread)

    Genau das!
    Lies ein Buch, fang' mit den grundlegenden
    Dingen an, danach kannste über Bukkit-Plugins
    nachdenken

    MFG
    rBx
     
    #2
  3. Kombustor
    Offline

    Kombustor

    Registriert seit:
    1. Februar 2013
    Beiträge:
    55
    Hab ich sowieso vor!

    Kannst du mir hier jedoch helfen!

    Bitte!
     
    #3
  4. kenex6077
    Offline

    kenex6077

    Registriert seit:
    25. Januar 2012
    Beiträge:
    3
    Hier BItte schön;)

    @EventHandler
    public void onClick88(PlayerInteractEvent event){
    if(event.getAction() == Action.RIGHT_CLICK_BLOCK || (event.getAction() == Action.RIGHT_CLICK_AIR)){
    if(event.getPlayer().getItemInHand().getType() == Material.SUGAR){
    event.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 1000, 1000));
    event.getPlayer().getInventory().remove(new ItemStack(Material.SUGAR, 1));
    event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.EAT, 1000000, 1000000);
    event.getPlayer().updateInventory();
    }

    }
    }
     
    #4
  5. Kombustor
    Offline

    Kombustor

    Registriert seit:
    1. Februar 2013
    Beiträge:
    55
    Es passiert trotzdem nichts wenn ich den Code in meine PlayerEvent.class implementiere (Meine Event-Klasse)

    Sollte doch dann eigentlich funktionieren! :O

    Dort sind auch meine Events wie PlayerJoinEvent drin, also was tun? :D
     
    #5
  6. ScaryHutman
    Offline

    ScaryHutman

    Registriert seit:
    1. Januar 2013
    Beiträge:
    205
    Ort:
    NRW
    Minecraft:
    Scary_Hutman
    Poste mal die anderen Klassen. Vielleicht liegt da der Fehler. ;)

    ScaryHutman
     
    #6
  7. herberti
    Online

    herberti

    Sicher das du die Klasse auch registriert hast?
    Code (Text):
    1. getServer().getPluginManager().registerEvents(PlayerEvent, this);
     
    #7
  8. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    @Kombustor:
    Du hast das Level des Effektes auf 10 gestellt, die Dauer allerdings auf 0 Ticks. So kann das auch nicht funktionieren, wie du gerne hättest.

    Anmerkung:
    PlayerEvent ist ein Objekt der EventListener-Klasse, im zweiten Parameter wird eine Referenz zur Hauptklasse angegeben.
    Das Event in der onEnable-Methode registrieren!
     
    #8