Trank-Effekt aufheben

Dieses Thema im Forum "Programmierung" wurde erstellt von Michitop, 8. Januar 2013.

  1. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    Ich schreibe grad ein Plugin, in diesem möchte ich gerne, dass beim Bewegen der Unsichtbarkeitseffekt aufhört.
    Nun möchte ich aber, dass der Timer während der Bewegung aufhört.
    Ich habe schon an PlayerMoveEvent.getHandlers() gedacht, aber wie geht das genau?
     
    #1
  2. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Code (Text):
    1.  
    2.         for(PotionEffect effect : ev.getPlayer().getActivePotionEffects())
    3.         {
    4.             if(effect.equals(PotionEffectType.INVISIBILITY))
    5.             {
    6.                 ev.getPlayer().removePotionEffect(PotionEffectType.INVISIBILITY);
    7.             }
    8.         }
    9.  
     
    #2
  3. Alternativ gehts auch schneller:

    Code (Text):
    1. [COLOR=#FFFFFF]ev.getPlayer().removePotionEffect(PotionEffectType.INVISIBILITY);[/COLOR]
     
    #3
  4. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    Aber das macht der dann konstant und nicht während der Bewegung, oder?
     
    #4
  5. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Wie meinst du?
    Wenn du den Code ins PlayerMoveEvent packst, dann wird er, wenn das Event ausgelöst wird, ausgeführt.
     
    #5
  6. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    Soweit hab ich dich ja verstanden, nur wie genau , das hab ich net verstanden^^
     
    #6
  7. Smuil
    Online

    Smuil

    Dann lerne die Grundsätze von Java. Das sind Sachen, die muss man einfach verstanden haben, bevor man hiermit anfängt...
     
    #7
  8. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    Ich lerne es ja, nur ich hab halt noch nicht alles verstanden. Und außerdem, ich frage 1 Sache, die ich nicht verstanden habe und bekomme dafür gleich Gemecker?
     
    #8
  9. Smuil
    Online

    Smuil

    #9
  10. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    @Igneel Das hatte ich auch schon raus, jetzt stellt sich mir nur die Frage, wie sich das zusammenfügen lässt. Das ist mein Problem.
     
    #10
  11. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Du schreibst oben, dass du an das PlayerMoveEvent denkst, und weißt nicht, wie das geht? ^^
    Listener implementieren +
    Code (Text):
    1.  
    2. @EventHandler
    3. public void PlayerMoveEvent(PlayerMoveEvent ev)
    4. {
    5.     //code
    6. }
    7.  
     
    #11
  12. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    Danke, genau sowas hab ich gesucht ;)
     
    #12
  13. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    So, nächstes Problem, ich habe es fertig geschrieben und auch auf meinen Server geladen. Er zeigt keinerlei Fehlermeldung an. Wenn ich mich allerdings bewege bleibe ich weiterhin unsichtbar. Irgendwelche Lösungsvorschläge?
     
    #13
  14. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Event registriert & Listener implementiert?
     
    #14
  15. Michitop
    Offline

    Michitop

    Registriert seit:
    22. Januar 2012
    Beiträge:
    63
    Ort:
    Niedersachsen
    Minecraft:
    Michitop
    package me.jetminecraft.AntiUnsichtbar;


    import org.bukkit.event.EventHandler;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.potion.PotionEffect;
    import org.bukkit.potion.PotionEffectType;
    import org.bukkit.event.player.PlayerMoveEvent;






    public class mainclass extends JavaPlugin {


    @Override
    public void onEnable() {
    System.out.println("welcomemessage wurde geladen/aktiviert. Du hast Version 1.0");
    }
    @Override
    public void onDisable() {
    System.out.println("welcomemessage wurde deaktiviert");


    }
    @EventHandler
    public void PlayerMoveEvent(PlayerMoveEvent ev)
    {
    for(PotionEffect effect : ev.getPlayer().getActivePotionEffects())
    {
    if(effect.equals(PotionEffectType.INVISIBILITY))
    {
    ev.getPlayer().removePotionEffect(PotionEffectType.INVISIBILITY);
    }
    }
    }
    }
    Sag du es mir, müsste eigentlich sein^^
     
    #15
  16. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Deine klasse implementiert keinen listener, und registriert hast du den listener auch nicht.
    das kann so nicht funktionieren. Lerne am besten erstmal Java und lese dir die Bukkit dokumentation
    durch, bevor du mit sowas anfängst.

    Und Quelltext postet mal normalerweise auf pastebin, oder man benutzt die CODE tags von bb code.
     
    #16
  17. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Da stimme ich Benni1000 voll und ganz zu. ;)

    Trotzdem hier der Code:

    Listener implementieren
    Code (Text):
    1.  
    2. public class mainclass extends JavaPlugin implements Listener
    3.  
    Event registrieren
    Code (Text):
    1.  
    2. Bukkit.getServer().getPluginManager().registerEvents(KLASSE, this);
    3.  
     
    #17