Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.RRServer.PF;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageEvent;
- import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
- import org.bukkit.event.entity.EntityShootBowEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerItemConsumeEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Main extends JavaPlugin implements Listener
- {
- public void onEnable()
- {
- getLogger().info("PVPfly - Version 1.0 - has been enabled!");
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- getConfig().options().copyDefaults(true);
- saveConfig();
- }
- public void onDisable()
- {
- getLogger().info("PVPfly - Version 1.0 - has been disabled!");
- }
- ArrayList<Player> fly = new ArrayList<Player>();
- @EventHandler
- public void PlayerFall(EntityDamageEvent e)
- {
- if (e.getEntity().getType() == EntityType.PLAYER)
- {
- Player p = (Player) e.getEntity();
- if (e.getCause() == DamageCause.FALL)
- {
- if (fly.contains(p))
- {
- e.setCancelled(true);
- }
- else
- {
- return;
- }
- }
- else if (e.getCause() == DamageCause.ENTITY_ATTACK)
- {
- if (fly.contains(p))
- {
- if (!(p.hasPermission("PVPfly.bypassCombat")))
- {
- fly.remove(p);
- p.setAllowFlight(false);
- }
- else
- {
- return;
- }
- }
- else
- {
- return;
- }
- }
- else
- {
- return;
- }
- }
- }
- @EventHandler
- public void PlayerConsume(PlayerItemConsumeEvent e)
- {
- Player p = e.getPlayer();
- ItemStack pot = e.getItem();
- if (pot.getType() == Material.POTION)
- {
- if (fly.contains(p))
- {
- if (!(p.hasPermission("PVPfly.bypassPotions")))
- {
- e.setCancelled(true);
- p.sendMessage(ChatColor.RED + "You cannot consume potions while flying!");
- }
- else
- {
- return;
- }
- }
- else
- {
- return;
- }
- }
- }
- @EventHandler
- public void onPlayerCmd(PlayerCommandPreprocessEvent e)
- {
- Player p = e.getPlayer();
- if ((e.getMessage().startsWith("/f map") || (e.getMessage().startsWith("/f map on"))))
- {
- if (fly.contains(p))
- {
- if (!(p.hasPermission("PVPfly.bypassFMap")))
- {
- e.setCancelled(true);
- p.sendMessage(ChatColor.RED + "You cannot use that commmand while flying!");
- }
- else
- {
- return;
- }
- }
- else
- {
- return;
- }
- }
- }
- @EventHandler
- public void PlayerBowshoot(EntityShootBowEvent e)
- {
- if (!(e.getEntity() instanceof Player))
- {
- return;
- }
- Player p = (Player) e.getEntity();
- ItemStack bow = p.getItemInHand();
- if (e.getBow() == bow)
- {
- if (fly.contains(p))
- {
- if (!(p.hasPermission("PVPfly.bypassBow")))
- {
- e.setCancelled(true);
- p.sendMessage(ChatColor.RED + "You cannot shoot your bow while flying!");
- }
- else
- {
- return;
- }
- }
- else
- {
- return;
- }
- }
- else
- {
- return;
- }
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
- {
- if (!(sender instanceof Player))
- {
- sender.sendMessage(ChatColor.RED + "That command can only be used by players!");
- }
- Player p = (Player) sender;
- if (cmd.getName().equalsIgnoreCase("fly"))
- {
- if (p.hasPermission("PVPfly.fly"))
- {
- if (args.length == 0)
- {
- p.sendMessage(ChatColor.RED + "Incorrect usage: /fly on|off");
- }
- else if (args.length == 1)
- {
- if (args[0].equalsIgnoreCase("on"))
- {
- if (p.hasPermission("PVPfly.fly"))
- {
- if (fly.contains(p))
- {
- p.sendMessage(ChatColor.RED + "You are already flying!");
- }
- else
- {
- fly.add(p);
- p.setAllowFlight(true);
- p.sendMessage(ChatColor.GREEN + "You can now fly!");
- Bukkit.getServer().dispatchCommand(p, "/f map off");
- }
- }
- else
- {
- p.sendMessage(ChatColor.RED + "You do not have the proper permission to use that command (PVPfly.fly)!");
- }
- }
- else if (args[0].equalsIgnoreCase("off"))
- {
- if (p.hasPermission("PVPfly.fly"))
- {
- if (!(fly.contains(p)))
- {
- p.sendMessage(ChatColor.RED + "You are not flying!");
- }
- else
- {
- fly.remove(p);
- p.setAllowFlight(false);
- p.sendMessage(ChatColor.GREEN + "You can no longer fly!");
- }
- }
- else
- {
- p.sendMessage(ChatColor.RED + "You do not have the proper permission to use that command (PVPfly.fly)!");
- }
- }
- }
- }
- else
- {
- p.sendMessage(ChatColor.RED + "You do not have the proper permission to use that command (PVPfly.fly)!");
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement