Spigot Plugin Item in Hand abfragen?

3 Antworten

Versuch es mal mit dem SlotChangeEvent und frag das Item in der Hand ab ^^

EDIT: Habe grade selbst bemerkt das es das Event nicht gibt. Verusuch es mal mit dem PlayerItemHeldEvent

LG

Woher ich das weiß:Hobby – Hobby-Entwickler in diversen Sprachen seit 2017
Thefaces 
Fragesteller
 22.07.2019, 20:40

PlayerItemHeldEvent ist doch nur was ein spieler gehalten hat oder? nicht was er hält

0

Ich bin mir nicht sicher wie du das mit dem PlayerItemHeldEvent gemacht hast, aber das sollte schon funktionieren.

Du musst halt nach

getNewSlot​()

abfragen.

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerItemHeldEvent.html

Woher ich das weiß:Hobby
Thefaces 
Fragesteller
 23.07.2019, 19:49

OMG Vielen Dank.

Habe es geschaft(Bin anfänger). <3

      @EventHandler

      public void effectClear(PlayerItemHeldEvent e) {

         ItemStack item = null;

      Player p = e.getPlayer();

         if(p.getItemInHand().getType() == Material.IRON_AXE)

         for (PotionEffect effect : p.getActivePotionEffects())

             p.removePotionEffect(effect.getType());   

         if(e.getPlayer().getInventory().getItem(e.getNewSlot()) != null && e.getPlayer().getInventory().getItem(e.getNewSlot()).getType() == Material.IRON_AXE) {

            p.addPotionEffect((new PotionEffect(PotionEffectType.SLOW, 2000, 255)));

            p.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 2000, 200));

      }

   }

0

Du könntest es mit einem Scheduler versuchen