Advertisement
Guest User

Fly

a guest
Apr 4th, 2011
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. package com.nappo.bukkit;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Material;
  6. import org.bukkit.block.Block;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandExecutor;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.Event;
  12. import org.bukkit.event.Event.Priority;
  13. import org.bukkit.event.player.PlayerListener;
  14. import org.bukkit.event.player.PlayerMoveEvent;
  15. import org.bukkit.plugin.PluginManager;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17.  
  18. /**
  19.  * Allows players to fly.
  20.  * @author Canownueasy
  21.  */
  22. public class FlyPlugin extends JavaPlugin {
  23.    
  24.     private ArrayList<Player> flyers = new ArrayList<Player>();
  25.  
  26.     @Override
  27.     public void onDisable() { flyers.clear(); }
  28.  
  29.     @Override
  30.     public void onEnable() {
  31.         PluginManager pm = getServer().getPluginManager();
  32.        
  33.         pm.registerEvent(Event.Type.PLAYER_MOVE, new PlayerListener() {
  34.             @Override
  35.             public void onPlayerMove(PlayerMoveEvent event) {
  36.                 Player player = event.getPlayer();
  37.                 if(flyers.contains(player)) {
  38.                     Block to = player.getWorld().getBlockAt(event.getTo());
  39.                     if(to.getType().equals(Material.AIR)) to.setType(Material.WATER);
  40.                     Block from = player.getWorld().getBlockAt(event.getFrom());
  41.                     if(from.getType().equals(Material.WATER)) from.setType(Material.AIR);
  42.                 }
  43.             }
  44.         }, Priority.Normal, this);
  45.         getCommand("fly").setExecutor(new CommandExecutor() {
  46.  
  47.             @Override
  48.             public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  49.                 if(sender instanceof Player) {
  50.                     if(flyers.contains((Player)sender)) {
  51.                         if(flyers.remove((Player)sender)) sender.sendMessage("You have stopped flying!"); return true;
  52.                     }
  53.                     if(flyers.add((Player)sender)) sender.sendMessage("You are now flying!"); return true;
  54.                 }
  55.                 return false;
  56.             }
  57.         });
  58.     }
  59.    
  60.    
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement