ServerPlugin [Bukkit] Brauche Hilfe?! Plugin!

Dieses Thema im Forum "Programmierung" wurde erstellt von mReTurkey, 19. Februar 2014.

  1. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    Sehr geehrte Community,

    vor kurzem hatte ich das Bedürfnis eine kleines Spielchen zu bauen wo man sich nicht bewegen kann.
    Ich habe natürlich vorher gegooglet jedoch ohne Erfolg.

    Meine Frage wie progammiere ich ein Plugin wo man sich nicht bewegen kann?


    Ich hoffe Ihr könnt mir helfen

    mReTurkey
     
    #1
  2. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    944
    Du musst einfach alle PlayerMoveEvents abbrechen und verhindern.


    Schlag mich nicht wenn das falsch ist :D


    Code (Text):
    1.     public void OnPlayerMove(PlayerMoveEvent e){
    2.        
    3.         e.setCancelled(true);
    4.        
    5.        
    6.     }
    7.    
     
    #2
  3. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.066
    Das PlayerMoveEvent sollte man nicht cancelln, da man dann nicht an die alte Position teleportiert wird und das ganze nicht richtig funktioniert. Besser ist:

    Code (Text):
    1. public void onPlayerMove(PlayerMoveEvent e){
    2.        
    3.     Player p = e.getPlayer();
    4.     p.teleport(e.getFrom());   
    5.        
    6. }
     
    #3
  4. SasukeKawaii
    Offline

    SasukeKawaii Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    944
    danke, hab ich auch noch was gelernt :)
     
    #4
  5. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    Wäre das also richtig?

    Code (Text):
    1. import org.bukkit.plugin.java.JavaPlugin;
    2. import org.bukkit.entity.Player;
    3. import org.bukkit.event.player.PlayerMoveEvent;
    4.  
    5. public class movestop extends JavaPlugin {
    6.  
    7.     public void onPlayerMove(PlayerMoveEvent e){
    8.        
    9.         Player p = e.getPlayer();
    10.         p.teleport(e.getFrom());   
    11.            
    12.     }
    13. }
     
    #5
  6. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Nein, 1. da fehlt ein @EventHandler und 2. Wenn das eine eigene Klasse für den listener ist musst du statt extends javaplugin implements Listener schreiben und in der Main den listener registrieren, wenn der listener in der Main ist musst du den listener ebenfalls registrieren mit Bukkit.getPluginManager().registerEvents(new Klassenname(), this) sry wegen groß und Kleinschreibung bin am Handy :D
     
    #6
  7. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    Also ich will das so dass wenn das Plugin an ist dirket keine Bewegung erlaubt ist.

    Code (Text):
    1. package mainturk;
    2.  
    3.  
    4.  
    5. import org.bukkit.plugin.java.JavaPlugin;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.event.Listener;
    8. import org.bukkit.event.player.PlayerMoveEvent;
    9.  
    10. @EventHandler
    11. public class movestop implements Listener{
    12.  
    13.     public void onPlayerMove(PlayerMoveEvent e){
    14.        
    15.         Player p = e.getPlayer();
    16.         p.teleport(e.getFrom());   
    17.            
    18.     }
    19. }
    20.  
    Habe Listener eingefügt muss es nur noch regestrieren.
    Sry habe mehr in Web Ahnung als in Java :D
     
    #7
  8. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Erstmal muss as @EventHandler immer über das event
     
    #8
  9. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    Also vor public void onPlayerMove?
     
    #9
  10. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Ja vor jedes Event muss ein @EventHandler
     
    #10
  11. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    Hab es jetzt so:

    Code (Text):
    1. import org.bukkit.plugin.java.JavaPlugin;
    2. import org.bukkit.entity.Player;
    3. import org.bukkit.event.EventHandler;
    4. import org.bukkit.event.Listener;
    5. import org.bukkit.event.player.PlayerMoveEvent;
    6.  
    7.  
    8. public class movestop implements Listener{
    9.  
    10.     @EventHandler
    11.     public void onPlayerMove(PlayerMoveEvent e){
    12.        
    13.         Player p = e.getPlayer();
    14.         p.teleport(e.getFrom());   
    15.            
    16.     }
    17. }
    Mit diesem Code hat man dirket keine Bewgungsfreiheit oder?
    Was ist eigentlicht mit springen? Auch verboten?
     
    #11
  12. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Ja springen ist auch verboten. Hast du das event registriert?
     
    #12
  13. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    Ja werde ich jetzt machen, alerdings war es meine Idee ein Kleinen Rennen durch ein DobbleJump (Es gibt ein Plugin habe ich schon) sich zu bewegen.
    Geht das so das man sich nicht bewegen aber durch ein Doppel Sprung Plugin zu springen?
     
    #13
  14. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Das müsste ich jetzt ausprobieren sry habe gerade keine Idee wie
     
    #14
  15. mReTurkey
    Offline

    mReTurkey

    Registriert seit:
    19. Februar 2014
    Beiträge:
    7
    So wie regestiere ich den listener ? Nochmal?
     
    #15
  16. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    In der Main Bukkit.getPluginManager().registerEvents(New Klasse(), this)
     
    #16