@SuppressWarnings("deprecation") public void restoreState() { if (state == null) { return; } bukkitPlayer.getInventory().setContents(state.getContents()); bukkitPlayer.getInventory().setHelmet(state.getHelmet()); bukkitPlayer.getInventory().setChestplate(state.getChestplate()); bukkitPlayer.getInventory().setLeggings(state.getLeggings()); bukkitPlayer.getInventory().setBoots(state.getBoots()); bukkitPlayer.setExhaustion(state.getExhaustion()); bukkitPlayer.setSaturation(state.getSaturation()); bukkitPlayer.setFoodLevel(state.getFoodLevel()); bukkitPlayer.setHealth(state.getHealth()); bukkitPlayer.addPotionEffects(state.getPotioneffects()); bukkitPlayer.setLevel(state.getLevel()); bukkitPlayer.setExp(state.getExp()); bukkitPlayer.setAllowFlight(state.isFly()); sendMessage(I18N._("stateRestored")); bukkitPlayer.updateInventory(); state = null; }
@EventHandler public void onBlockBreak(BlockBreakEvent e) { SpleefPlayer player = HeavySpleef.getInstance().getSpleefPlayer(e.getPlayer()); Block block = e.getBlock(); if (!player.isActive()) { for (Game game : GameManager.getGames()) { if (game.contains(block.getLocation())) { if (player.getBukkitPlayer().hasPermission(Permissions.BUILD_BYPASS.getPerm())) return; if (!HeavySpleef.getSystemConfig().getGeneralSection().isProtectArenas()) return; e.setCancelled(true); fixBlockGlitch(player.getBukkitPlayer(), block); player.sendMessage(I18N._("notAllowedToBuild")); return; } } return; } Game game = player.getGame(); if (!game.canSpleef(player, block.getLocation())) { e.setCancelled(true); fixBlockGlitch(player.getBukkitPlayer(), block); player.sendMessage(I18N._("notAllowedToBuild")); return; } if (game.getFlag(FlagType.BOWSPLEEF) || game.getFlag(FlagType.SPLEGG)) { e.setCancelled(true); return; } player.addBrokenBlock(block); }
@EventHandler(priority = EventPriority.HIGH) public void onGamemodeChange(PlayerGameModeChangeEvent e) { SpleefPlayer player = HeavySpleef.getInstance().getSpleefPlayer(e.getPlayer()); if (!player.isActive()) { return; } if (e.getNewGameMode() == GameMode.SURVIVAL) { return; } player.sendMessage(I18N._("cantChangeGamemode")); e.setCancelled(true); }
@EventHandler public void onCommand(PlayerCommandPreprocessEvent e) { SpleefPlayer player = HeavySpleef.getInstance().getSpleefPlayer(e.getPlayer()); if (player == null) return; if (!QueuesManager.hasQueue(player)) return; if (HeavySpleef.getSystemConfig().getQueuesSection().isAllowCommands()) return; if (e.getMessage().equalsIgnoreCase("/spleef leave") || e.getMessage().equalsIgnoreCase("/spl leave")) return; e.setCancelled(true); player.sendMessage(I18N._("noCommandsInQueue")); }
@Command(value = "spectate", minArgs = 1, onlyIngame = true) @CommandPermissions(value = { Permissions.SPECTATE }) @CommandHelp(usage = "/spleef spectate <game>", description = "Spectates a game") public void execute(Player bukkitPlayer, Game game) { if (game == null) { bukkitPlayer.sendMessage(_("arenaDoesntExists")); return; } SpleefPlayer player = HeavySpleef.getInstance().getSpleefPlayer(bukkitPlayer); if (game.getFlag(FlagType.SPECTATE) == null) { player.sendMessage(_("noSpectatePoint")); return; } game.spectate(player); }