Player Fly

Discussion in 'Plugin Development' started by CodX, Nov 16, 2018.

Thread Status:
Not open for further replies.
  1. Offline

    CodX

    Hello !
    I want to make a plugin but i don't know why isn't working.
    I don't have any error but on server aren't showing something.
    If a player flies to more than 20 blocks above the ground, display that messages and make an explosion at his location.

    Code:


    Code:
    package com.encodare.main;
    
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.Location;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.player.PlayerMoveEvent;
    
    public class main extends JavaPlugin {
     
        @Override
        public void onEnable() { 
            getLogger().info("Encodare has been loaded.");
        }
     
        @Override
        public void onDisable() {
            getLogger().info("Encodare has been unloaded.");
        }
     
        // Fly > 20 blocks
        @EventHandler
        public void onFly(PlayerMoveEvent e)
        {
            Player player = e.getPlayer();
         
            if(player.isFlying()  &&  e.getTo().getY() >= 20)
           {
                    player.sendMessage("So.. You think it's funny to fly around this lands ?");
                    player.sendMessage("Guess what: Roberto, from Romania, wasn't happy after flying.");
                    player.setFlying(false);
                    Location loc = player.getLocation();
                    loc.getWorld().createExplosion (loc, 4.0F);
            }
        }
    }
     
  2. Offline

    timtower Administrator Administrator Moderator

    @CodX You didn't register the event.
     
  3. Offline

    CodX

    How can i do that ?
    I'm beginner in java plugins.
    @timtower
     
    Last edited: Nov 16, 2018
  4. Offline

    timtower Administrator Administrator Moderator

  5. Offline

    CodX

    @timtower

    I added it, but still not working..

    Code:
    package com.encodare.main;
    
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.Bukkit;
    import org.bukkit.Location;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerMoveEvent;
    
    public class main extends JavaPlugin implements Listener {
       
        @Override
        public void onEnable() {   
            getLogger().info("Encodare has been loaded.");
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
       
        @Override
        public void onDisable() {
            getLogger().info("Encodare has been unloaded.");
        }
       
        // Fly > 20 blocks
        @EventHandler
        public void onFly(PlayerMoveEvent e)
        {
            Player player = e.getPlayer();
           
            if(player.isFlying())
                player.sendMessage("It work.");
           
            if(player.isFlying() && e.getTo().getY() >= 20)
            {
                    player.sendMessage("So.. You think it's funny to fly around this lands ?");
                    player.sendMessage("Guess what: Roberto, from Romania, wasn't happy after flying.");
                    player.setFlying(false);
                    Location loc = player.getLocation();
                    loc.getWorld().createExplosion (loc, 4.0F);
            }
        }
    }
    
     
  6. Offline

    timtower Administrator Administrator Moderator

    @CodX Print a message in the event itself, without any checks. Does that run?
     
  7. Offline

    CodX

    @timtower

    I added this code:
    Code:
    public void function(PlayerMoveEvent e)
        {
            Player player = e.getPlayer();
           
            player.sendMessage("Work.");
        }
    It don't send the message.
     
  8. Offline

    timtower Administrator Administrator Moderator

    Add the sendMessage in the existing event.
     
  9. Offline

    CodX

    How can i do that ?

    Problem solved.
    Thanks for help !

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Nov 16, 2018
Thread Status:
Not open for further replies.

Share This Page