Package cc.co.evenprime.bukkit.nocheat

Examples of cc.co.evenprime.bukkit.nocheat.NoCheatPlayer


     * @param event The PlayerTeleportEvent
     */
    @EventHandler(priority = EventPriority.HIGHEST)
    public void teleport(final PlayerTeleportEvent event) {

        NoCheatPlayer player = plugin.getPlayer(event.getPlayer());
        final MovingData data = MovingCheck.getData(player);

        // If it was a teleport initialized by NoCheat, do it anyway
        // even if another plugin said "no"
        if(data.teleportTo.isSet() && data.teleportTo.equals(event.getTo())) {
View Full Code Here


        // another plugin before we got it)
        if(!event.getFrom().getWorld().equals(event.getTo().getWorld()) || event.getFrom().distanceSquared(event.getTo()) > 400) {
            return;
        }

        final NoCheatPlayer player = plugin.getPlayer(event.getPlayer());

        final MovingConfig cc = MovingCheck.getConfig(player);
        final MovingData data = MovingCheck.getData(player);

        // Advance various counters and values that change per movement
        // tick. They are needed to decide on how fast a player may
        // move.
        tickVelocities(data);

        // Remember locations
        data.from.set(event.getFrom());
        final Location to = event.getTo();
        data.to.set(to);

        PreciseLocation newTo = null;

        /** RUNFLY CHECK SECTION **/
        // If the player isn't handled by runfly checks
        if(!cc.runflyCheck || player.hasPermission(Permissions.MOVING_RUNFLY)) {
            // Just because he is allowed now, doesn't mean he will always
            // be. So forget data about the player related to moving
            data.clearRunFlyData();
        } else if(cc.allowFlying || (player.isCreative() && cc.identifyCreativeMode) || player.hasPermission(Permissions.MOVING_FLYING)) {
            // Only do the limited flying check
            newTo = flyingCheck.check(player, data, cc);
        } else {
            // Go for the full treatment
            newTo = runningCheck.check(player, data, cc);
        }

        /** MOREPACKETS CHECK SECTION **/
        if(!cc.morePacketsCheck || player.hasPermission(Permissions.MOVING_MOREPACKETS)) {
            data.clearMorePacketsData();
        } else if(newTo == null) {
            newTo = morePacketsCheck.check(player, data, cc);
        }

        // Did one of the check(s) decide we need a new "to"-location?
        if(newTo != null) {
            // Compose a new location based on coordinates of "newTo" and
            // viewing direction of "event.getTo()" to allow the player to
            // look somewhere else despite getting pulled back by NoCheat
            event.setTo(new Location(player.getPlayer().getWorld(), newTo.x, newTo.y, newTo.z, to.getYaw(), to.getPitch()));

            // remember where we send the player to
            data.teleportTo.set(newTo);
        }
    }
View Full Code Here

        if(event.isCancelled() || event.getBlock() == null || event.getBlockAgainst() == null)
            return;

        boolean cancelled = false;

        final NoCheatPlayer player = plugin.getPlayer(event.getPlayer());
        final BlockPlaceConfig cc = BlockPlaceCheck.getConfig(player);
        final BlockPlaceData data = BlockPlaceCheck.getData(player);

        // Remember these locations and put them in a simpler "format"
        data.blockPlaced.set(event.getBlock());
        data.blockPlacedAgainst.set(event.getBlockAgainst());

        // Now do the actual checks

        // First the reach check
        if(cc.reachCheck && !player.hasPermission(Permissions.BLOCKPLACE_REACH)) {
            cancelled = reachCheck.check(player, data, cc);
        }

        // Second the direction check
        if(!cancelled && cc.directionCheck && !player.hasPermission(Permissions.BLOCKPLACE_DIRECTION)) {
            cancelled = directionCheck.check(player, data, cc);
        }

        // If one of the checks requested to cancel the event, do so
        if(cancelled)
View Full Code Here

        final Entity entity = event.getEntity();
        if(!(entity instanceof Player) || entity.isDead()) {
            return;
        }

        NoCheatPlayer player = plugin.getPlayer((Player) entity);
        FightConfig cc = FightCheck.getConfig(player);

        if(!godmodeCheck.isEnabled(cc) || player.hasPermission(godmodeCheck.permission)) {
            return;
        }

        FightData data = FightCheck.getData(player);

        // Run the godmode check on the attacked player
        boolean cancelled = godmodeCheck.check(plugin.getPlayer((Player) entity), data, cc);

        // It requested to "cancel" the players invulnerability, so set his
        // noDamageTicks to 0
        if(cancelled) {
            // Remove the invulnerability from the player
            player.getPlayer().setNoDamageTicks(0);
        }
    }
View Full Code Here

            return;
        }

        boolean cancelled = false;

        NoCheatPlayer player = plugin.getPlayer((Player) event.getEntity());
        FightConfig config = FightCheck.getConfig(player);

        if(!instanthealCheck.isEnabled(config) || player.hasPermission(instanthealCheck.permission)) {
            return;
        }

        FightData data = FightCheck.getData(player);
View Full Code Here

     */
    private void normalDamage(final EntityDamageByEntityEvent event) {

        final Player damager = (Player) event.getDamager();

        final NoCheatPlayer player = plugin.getPlayer(damager);
        final FightConfig cc = FightCheck.getConfig(player);
        final FightData data = FightCheck.getData(player);

        // For some reason we decided to skip this event anyway
        if(data.skipNext) {
            data.skipNext = false;
            return;
        }

        boolean cancelled = false;

        // Get the attacked entity and remember it
        data.damagee = ((CraftEntity) event.getEntity()).getHandle();

        // Run through the four main checks
        for(FightCheck check : checks) {
            // If it should be executed, do it
            if(!cancelled && check.isEnabled(cc) && !player.hasPermission(check.permission)) {
                cancelled = check.check(player, data, cc);
            }
        }

        // Forget the attacked entity (to allow garbage collecting etc.
View Full Code Here

     * @param event The EntityDamageByEntityEvent
     */
    private void customDamage(final EntityDamageByEntityEvent event) {

        final Player damager = (Player) event.getDamager();
        final NoCheatPlayer player = plugin.getPlayer(damager);

        final FightData data = FightCheck.getData(player);

        // Skip the next damage event, because it is with high probability
        // something from the Heroes plugin
View Full Code Here

TOP

Related Classes of cc.co.evenprime.bukkit.nocheat.NoCheatPlayer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.