diff options
Diffstat (limited to 'EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/inventory/InstantEatCheck.java')
-rw-r--r-- | EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/inventory/InstantEatCheck.java | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/inventory/InstantEatCheck.java b/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/inventory/InstantEatCheck.java deleted file mode 100644 index 05a668dd7..000000000 --- a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/checks/inventory/InstantEatCheck.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.earth2me.essentials.anticheat.checks.inventory; - -import com.earth2me.essentials.anticheat.NoCheat; -import com.earth2me.essentials.anticheat.NoCheatPlayer; -import com.earth2me.essentials.anticheat.actions.ParameterName; -import com.earth2me.essentials.anticheat.data.Statistics.Id; -import java.util.Locale; -import org.bukkit.event.entity.FoodLevelChangeEvent; - - -/** - * The InstantEatCheck will find out if a player eats his food too fast - */ -public class InstantEatCheck extends InventoryCheck -{ - public InstantEatCheck(NoCheat plugin) - { - super(plugin, "inventory.instanteat"); - } - - public boolean check(NoCheatPlayer player, FoodLevelChangeEvent event, InventoryData data, InventoryConfig cc) - { - - // Hunger level change seems to not be the result of eating - if (data.foodMaterial == null || event.getFoodLevel() <= player.getPlayer().getFoodLevel()) - { - return false; - } - - boolean cancelled = false; - - long time = System.currentTimeMillis(); - // rough estimation about how long it should take to eat - long expectedTimeWhenEatingFinished = data.lastEatInteractTime + 700; - - if (expectedTimeWhenEatingFinished < time) - { - // Acceptable, reduce VL to reward the player - data.instantEatVL *= 0.60D; - } - else if (data.lastEatInteractTime > time) - { - // Security test, if time ran backwards, reset - data.lastEatInteractTime = 0; - } - else - { - // Player was too fast, increase violation level and statistics - int vl = ((int)(expectedTimeWhenEatingFinished - time)) / 100; - data.instantEatVL += vl; - incrementStatistics(player, Id.INV_EAT, vl); - - // Execute whatever actions are associated with this check and the - // violation level and find out if we should cancel the event - cancelled = executeActions(player, cc.eatActions, data.instantEatVL); - } - - return cancelled; - } - - @Override - public String getParameter(ParameterName wildcard, NoCheatPlayer player) - { - - if (wildcard == ParameterName.VIOLATIONS) - { - return String.format(Locale.US, "%d", (int)getData(player).instantEatVL); - } - else if (wildcard == ParameterName.FOOD) - { - return getData(player).foodMaterial.toString(); - } - else - { - return super.getParameter(wildcard, player); - } - } -} |