Search in sources :

Example 16 with FPlayer

use of me.totalfreedom.totalfreedommod.player.FPlayer in project TotalFreedomMod by TotalFreedom.

the class Command_blockcmd method run.

@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
    if (args.length != 1) {
        return false;
    }
    if (args[0].equals("purge")) {
        FUtil.adminAction(sender.getName(), "Unblocking commands for all players", true);
        int counter = 0;
        for (Player player : server.getOnlinePlayers()) {
            FPlayer playerdata = plugin.pl.getPlayer(player);
            if (playerdata.allCommandsBlocked()) {
                counter += 1;
                playerdata.setCommandsBlocked(false);
            }
        }
        msg("Unblocked commands for " + counter + " players.");
        return true;
    }
    if (args[0].equals("-a")) {
        FUtil.adminAction(sender.getName(), "Blocking commands for all non-admins", true);
        int counter = 0;
        for (Player player : server.getOnlinePlayers()) {
            if (isAdmin(player)) {
                continue;
            }
            counter += 1;
            plugin.pl.getPlayer(player).setCommandsBlocked(true);
            msg(player, "Your commands have been blocked by an admin.", ChatColor.RED);
        }
        msg("Blocked commands for " + counter + " players.");
        return true;
    }
    final Player player = getPlayer(args[0]);
    if (player == null) {
        msg(FreedomCommand.PLAYER_NOT_FOUND);
        return true;
    }
    if (isAdmin(player)) {
        msg(player.getName() + " is a Superadmin, and cannot have their commands blocked.");
        return true;
    }
    FPlayer playerdata = plugin.pl.getPlayer(player);
    playerdata.setCommandsBlocked(!playerdata.allCommandsBlocked());
    FUtil.adminAction(sender.getName(), (playerdata.allCommandsBlocked() ? "B" : "Unb") + "locking all commands for " + player.getName(), true);
    msg((playerdata.allCommandsBlocked() ? "B" : "Unb") + "locked all commands.");
    return true;
}
Also used : FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) Player(org.bukkit.entity.Player)

Example 17 with FPlayer

use of me.totalfreedom.totalfreedommod.player.FPlayer in project TotalFreedomMod by TotalFreedom.

the class Cager method onPlayerMove.

@EventHandler
public void onPlayerMove(PlayerMoveEvent event) {
    FPlayer player = plugin.pl.getPlayer(event.getPlayer());
    CageData cage = player.getCageData();
    if (!cage.isCaged()) {
        return;
    }
    Location playerLoc = player.getPlayer().getLocation().add(0, 1, 0);
    Location cageLoc = cage.getLocation();
    final boolean outOfCage;
    if (!playerLoc.getWorld().equals(cageLoc.getWorld())) {
        outOfCage = true;
    } else {
        outOfCage = playerLoc.distanceSquared(cageLoc) > (2.5D * 2.5D);
    }
    if (outOfCage) {
        player.getPlayer().teleport(cageLoc.subtract(0, 0.1, 0));
        FUtil.playerMsg(player.getPlayer(), "You may not leave your cage.", ChatColor.RED);
        cage.regenerate();
    }
}
Also used : FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) Location(org.bukkit.Location) EventHandler(org.bukkit.event.EventHandler)

Example 18 with FPlayer

use of me.totalfreedom.totalfreedommod.player.FPlayer in project TotalFreedomMod by TotalFreedom.

the class Command_cage method run.

@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
    if (args.length == 0) {
        return false;
    }
    if ("off".equals(args[0]) && sender instanceof Player) {
        FUtil.adminAction(sender.getName(), "Uncaging " + sender.getName(), true);
        FPlayer playerdata = plugin.pl.getPlayer(playerSender);
        playerdata.getCageData().setCaged(false);
        return true;
    } else if ("purge".equals(args[0])) {
        FUtil.adminAction(sender.getName(), "Uncaging all players", true);
        for (Player player : server.getOnlinePlayers()) {
            FPlayer playerdata = plugin.pl.getPlayer(player);
            playerdata.getCageData().setCaged(false);
        }
        return true;
    }
    final Player player = getPlayer(args[0]);
    if (player == null) {
        sender.sendMessage(FreedomCommand.PLAYER_NOT_FOUND);
        return true;
    }
    FPlayer playerdata = plugin.pl.getPlayer(player);
    Material outerMaterial = Material.GLASS;
    Material innerMaterial = Material.AIR;
    if (args.length >= 2) {
        if ("off".equals(args[1])) {
            FUtil.adminAction(sender.getName(), "Uncaging " + player.getName(), true);
            playerdata.getCageData().setCaged(false);
            return true;
        } else {
            if ("darth".equalsIgnoreCase(args[1])) {
                outerMaterial = Material.SKULL;
            } else if (Material.matchMaterial(args[1]) != null) {
                outerMaterial = Material.matchMaterial(args[1]);
            }
        }
    }
    if (args.length >= 3) {
        if (args[2].equalsIgnoreCase("water")) {
            innerMaterial = Material.STATIONARY_WATER;
        } else if (args[2].equalsIgnoreCase("lava")) {
            innerMaterial = Material.STATIONARY_LAVA;
        }
    }
    Location targetPos = player.getLocation().clone().add(0, 1, 0);
    playerdata.getCageData().cage(targetPos, outerMaterial, innerMaterial);
    player.setGameMode(GameMode.SURVIVAL);
    if (outerMaterial != Material.SKULL) {
        FUtil.adminAction(sender.getName(), "Caging " + player.getName(), true);
    } else {
        FUtil.adminAction(sender.getName(), "Caging " + player.getName() + " in PURE_DARTH", true);
    }
    return true;
}
Also used : FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) Player(org.bukkit.entity.Player) Material(org.bukkit.Material) Location(org.bukkit.Location)

Example 19 with FPlayer

use of me.totalfreedom.totalfreedommod.player.FPlayer in project TotalFreedomMod by TotalFreedom.

the class Command_cmdspy method run.

@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
    FPlayer playerdata = plugin.pl.getPlayer(playerSender);
    playerdata.setCommandSpy(!playerdata.cmdspyEnabled());
    msg("CommandSpy " + (playerdata.cmdspyEnabled() ? "enabled." : "disabled."));
    return true;
}
Also used : FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer)

Example 20 with FPlayer

use of me.totalfreedom.totalfreedommod.player.FPlayer in project TotalFreedomMod by TotalFreedom.

the class ItemFun method onPlayerInteractEvent.

@EventHandler
public void onPlayerInteractEvent(PlayerInteractEvent event) {
    if (event.getAction() == Action.LEFT_CLICK_AIR || event.getAction() == Action.LEFT_CLICK_BLOCK) {
        return;
    }
    final Player player = event.getPlayer();
    final FPlayer fPlayer = plugin.pl.getPlayer(player);
    switch(event.getMaterial()) {
        case RAW_FISH:
            {
                final int RADIUS_HIT = 5;
                final int STRENGTH = 4;
                // Clownfish
                if (DepreciationAggregator.getData_MaterialData(event.getItem().getData()) != 2) {
                    break;
                }
                if (!plugin.al.isSeniorAdmin(player)) {
                    final StringBuilder msg = new StringBuilder();
                    final char[] chars = ("You are a clown.").toCharArray();
                    for (char c : chars) {
                        msg.append(FUtil.randomChatColor()).append(c);
                    }
                    player.sendMessage(msg.toString());
                    player.getEquipment().getItemInMainHand().setType(Material.POTATO_ITEM);
                    break;
                }
                event.setCancelled(true);
                boolean didHit = false;
                final Location playerLoc = player.getLocation();
                final Vector playerLocVec = playerLoc.toVector();
                final List<Player> players = player.getWorld().getPlayers();
                for (final Player target : players) {
                    if (target == player) {
                        continue;
                    }
                    final Location targetPos = target.getLocation();
                    final Vector targetPosVec = targetPos.toVector();
                    try {
                        if (targetPosVec.distanceSquared(playerLocVec) < (RADIUS_HIT * RADIUS_HIT)) {
                            FUtil.setFlying(player, false);
                            target.setVelocity(targetPosVec.subtract(playerLocVec).normalize().multiply(STRENGTH));
                            didHit = true;
                        }
                    } catch (IllegalArgumentException ex) {
                    }
                }
                if (didHit) {
                    final Sound[] sounds = Sound.values();
                    for (Sound sound : sounds) {
                        if (sound.toString().contains("HIT")) {
                            playerLoc.getWorld().playSound(randomOffset(playerLoc, 5.0), sound, 100.0f, randomDoubleRange(0.5, 2.0).floatValue());
                        }
                    }
                }
                break;
            }
        case CARROT_ITEM:
            {
                if (!ConfigEntry.ALLOW_EXPLOSIONS.getBoolean()) {
                    break;
                }
                if (!plugin.al.isSeniorAdmin(player)) {
                    break;
                }
                Location location = player.getLocation().clone();
                Vector playerPostion = location.toVector().add(new Vector(0.0, 1.65, 0.0));
                Vector playerDirection = location.getDirection().normalize();
                double distance = 150.0;
                Block targetBlock = DepreciationAggregator.getTargetBlock(player, null, Math.round((float) distance));
                if (targetBlock != null) {
                    distance = location.distance(targetBlock.getLocation());
                }
                final List<Block> affected = new ArrayList<>();
                Block lastBlock = null;
                for (double offset = 0.0; offset <= distance; offset += (distance / 25.0)) {
                    Block block = playerPostion.clone().add(playerDirection.clone().multiply(offset)).toLocation(player.getWorld()).getBlock();
                    if (!block.equals(lastBlock)) {
                        if (block.isEmpty()) {
                            affected.add(block);
                            block.setType(Material.TNT);
                        } else {
                            break;
                        }
                    }
                    lastBlock = block;
                }
                new BukkitRunnable() {

                    @Override
                    public void run() {
                        for (Block tntBlock : affected) {
                            TNTPrimed tnt = tntBlock.getWorld().spawn(tntBlock.getLocation(), TNTPrimed.class);
                            tnt.setFuseTicks(5);
                            tntBlock.setType(Material.AIR);
                        }
                    }
                }.runTaskLater(plugin, 30L);
                event.setCancelled(true);
                break;
            }
        case BONE:
            {
                if (!fPlayer.mobThrowerEnabled()) {
                    break;
                }
                Location player_pos = player.getLocation();
                Vector direction = player_pos.getDirection().normalize();
                LivingEntity rezzed_mob = (LivingEntity) player.getWorld().spawnEntity(player_pos.add(direction.multiply(2.0)), fPlayer.mobThrowerCreature());
                rezzed_mob.setVelocity(direction.multiply(fPlayer.mobThrowerSpeed()));
                fPlayer.enqueueMob(rezzed_mob);
                event.setCancelled(true);
                break;
            }
        case SULPHUR:
            {
                if (!fPlayer.isMP44Armed()) {
                    break;
                }
                event.setCancelled(true);
                if (fPlayer.toggleMP44Firing()) {
                    fPlayer.startArrowShooter(plugin);
                } else {
                    fPlayer.stopArrowShooter();
                }
                break;
            }
        case BLAZE_ROD:
            {
                if (!ConfigEntry.ALLOW_EXPLOSIONS.getBoolean()) {
                    break;
                }
                if (!plugin.al.isSeniorAdmin(player)) {
                    break;
                }
                event.setCancelled(true);
                Block targetBlock;
                if (event.getAction().equals(Action.LEFT_CLICK_AIR)) {
                    targetBlock = DepreciationAggregator.getTargetBlock(player, null, 120);
                } else {
                    targetBlock = event.getClickedBlock();
                }
                if (targetBlock == null) {
                    player.sendMessage("Can't resolve target block.");
                    break;
                }
                player.getWorld().createExplosion(targetBlock.getLocation(), 4F, true);
                player.getWorld().strikeLightning(targetBlock.getLocation());
                break;
            }
    }
}
Also used : FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) Player(org.bukkit.entity.Player) TNTPrimed(org.bukkit.entity.TNTPrimed) BukkitRunnable(org.bukkit.scheduler.BukkitRunnable) Sound(org.bukkit.Sound) FPlayer(me.totalfreedom.totalfreedommod.player.FPlayer) LivingEntity(org.bukkit.entity.LivingEntity) Block(org.bukkit.block.Block) ArrayList(java.util.ArrayList) List(java.util.List) Vector(org.bukkit.util.Vector) Location(org.bukkit.Location) EventHandler(org.bukkit.event.EventHandler)

Aggregations

FPlayer (me.totalfreedom.totalfreedommod.player.FPlayer)31 Player (org.bukkit.entity.Player)20 EventHandler (org.bukkit.event.EventHandler)15 Location (org.bukkit.Location)6 Vector (org.bukkit.util.Vector)3 ItemStack (org.bukkit.inventory.ItemStack)2 BukkitRunnable (org.bukkit.scheduler.BukkitRunnable)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Admin (me.totalfreedom.totalfreedommod.admin.Admin)1 Material (org.bukkit.Material)1 Sound (org.bukkit.Sound)1 Block (org.bukkit.block.Block)1 Command (org.bukkit.command.Command)1 EntityType (org.bukkit.entity.EntityType)1 LivingEntity (org.bukkit.entity.LivingEntity)1 TNTPrimed (org.bukkit.entity.TNTPrimed)1 PotionEffect (org.bukkit.potion.PotionEffect)1