More cleaning on listeners. Also fixes NPE with itemInHand, because

Bukkit is dumb.
This commit is contained in:
GJ
2013-01-24 15:46:29 -05:00
parent 8736aae2ef
commit 7c59621c9e
16 changed files with 124 additions and 78 deletions

View File

@ -327,7 +327,7 @@ public class Combat {
for (Entity entity : target.getNearbyEntities(2.5, 2.5, 2.5)) {
if (entity instanceof Player) {
if (Misc.isNPC((Player) entity)) {
if (Misc.isNPCPlayer((Player) entity)) {
continue;
}
}

View File

@ -3,6 +3,7 @@ package com.gmail.nossr50.skills;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.inventory.ItemStack;
import org.getspout.spoutapi.SpoutManager;
import org.getspout.spoutapi.player.SpoutPlayer;
@ -25,6 +26,28 @@ public class Skills {
public static int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
public static boolean abilitiesEnabled = Config.getInstance().getAbilitiesEnabled();
public static void handleFoodSkills(Player player, SkillType skill, FoodLevelChangeEvent event, int baseLevel, int maxLevel, int rankChange) {
int skillLevel = Users.getProfile(player).getSkillLevel(skill);
int currentFoodLevel = player.getFoodLevel();
int newFoodLevel = event.getFoodLevel();
int foodChange = newFoodLevel - currentFoodLevel;
for (int i = baseLevel; i <= maxLevel; i+= rankChange) {
if (skillLevel >= i) {
foodChange++;
}
}
/* Make sure we don't go over the max value */
newFoodLevel = currentFoodLevel + foodChange;
if (newFoodLevel > 20) {
event.setFoodLevel(20);
}
else {
event.setFoodLevel(newFoodLevel);
}
}
/**
* Checks to see if the cooldown for an item or ability is expired.
*

View File

@ -53,7 +53,7 @@ public abstract class AcrobaticsEventHandler {
* @return true if the damage is fatal, false otherwise
*/
protected boolean isFatal(int damage) {
if (Misc.isNPC(player) || player.getHealth() - damage < 1) {
if (Misc.isNPCPlayer(player) || player.getHealth() - damage < 1) {
return true;
}

View File

@ -20,7 +20,7 @@ public class AcrobaticsManager extends SkillManager {
* @param event The event to check
*/
public void rollCheck(EntityDamageEvent event) {
if (Misc.isNPC(player) || !Permissions.roll(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.roll(player)) {
return;
}
@ -55,7 +55,7 @@ public class AcrobaticsManager extends SkillManager {
* @param event The event to check
*/
public void dodgeCheck(EntityDamageEvent event) {
if (Misc.isNPC(player) || !Permissions.dodge(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.dodge(player)) {
return;
}

View File

@ -20,7 +20,7 @@ public class ArcheryManager extends SkillManager {
* @param livingEntity Entity damaged by the arrow
*/
public void trackArrows(LivingEntity livingEntity) {
if (Misc.isNPC(player) || !Permissions.trackArrows(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.trackArrows(player)) {
return;
}
@ -40,7 +40,7 @@ public class ArcheryManager extends SkillManager {
* @param event The event to modify
*/
public void dazeCheck(Player defender, EntityDamageEvent event) {
if (Misc.isNPC(player) || !Permissions.daze(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.daze(player)) {
return;
}
@ -60,7 +60,7 @@ public class ArcheryManager extends SkillManager {
* @param event The event to modify.
*/
public void skillShot(EntityDamageEvent event) {
if (Misc.isNPC(player) || !Permissions.archeryBonus(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.archeryBonus(player)) {
return;
}

View File

@ -21,7 +21,7 @@ public class AxeManager extends SkillManager {
* @param event The event to modify
*/
public void bonusDamage(EntityDamageByEntityEvent event) {
if (Misc.isNPC(player) || !Permissions.axeBonus(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.axeBonus(player)) {
return;
}
@ -37,7 +37,7 @@ public class AxeManager extends SkillManager {
* @param event The event to modify
*/
public void criticalHitCheck(EntityDamageByEntityEvent event) {
if (Misc.isNPC(player) || !Permissions.criticalHit(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.criticalHit(player)) {
return;
}
@ -61,7 +61,7 @@ public class AxeManager extends SkillManager {
* @param event The event to modify
*/
public void impact(EntityDamageByEntityEvent event) {
if (Misc.isNPC(player) || !Permissions.impact(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.impact(player)) {
return;
}
@ -85,7 +85,7 @@ public class AxeManager extends SkillManager {
* @param event The event to process
*/
public void skullSplitter(EntityDamageByEntityEvent event) {
if (Misc.isNPC(player) || !Permissions.skullSplitter(player) || !profile.getAbilityMode(AbilityType.SKULL_SPLIITER)) {
if (Misc.isNPCPlayer(player) || !Permissions.skullSplitter(player) || !profile.getAbilityMode(AbilityType.SKULL_SPLIITER)) {
return;
}

View File

@ -7,6 +7,7 @@ import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.material.MaterialData;
@ -28,8 +29,9 @@ import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.Users;
public class Herbalism {
public static int farmersDietRankChangeLevel = AdvancedConfig.getInstance().getFarmerDietRankChange();
public static int farmersDietMaxLevel = farmersDietRankChangeLevel * 5;
public static int farmersDietRankLevel1 = AdvancedConfig.getInstance().getFarmerDietRankChange();
public static int farmersDietRankLevel2 = farmersDietRankLevel1 * 2;
public static int farmersDietMaxLevel = farmersDietRankLevel1 * 5;
public static int greenThumbStageChangeLevel = AdvancedConfig.getInstance().getGreenThumbStageChange();
public static int greenThumbStageMaxLevel = greenThumbStageChangeLevel * 4;
@ -44,6 +46,14 @@ public class Herbalism {
public static double hylianLuckMaxChance = AdvancedConfig.getInstance().getHylianLuckChanceMax();
public static int hylianLuckMaxLevel = AdvancedConfig.getInstance().getHylianLucksMaxLevel();
public static void farmersDiet(Player player, int rankChange, FoodLevelChangeEvent event) {
if (!Permissions.farmersDiet(player)) {
return;
}
Skills.handleFoodSkills(player, SkillType.HERBALISM, event, farmersDietRankLevel1, farmersDietMaxLevel, rankChange);
}
/**
* Activate the Green Terra ability.
*

View File

@ -37,7 +37,7 @@ public class HerbalismCommand extends SkillCommand {
greenTerraLengthEndurance = greenTerraStrings[1];
//FARMERS DIET
farmersDietRank = calculateRank(Herbalism.farmersDietMaxLevel, Herbalism.farmersDietRankChangeLevel);
farmersDietRank = calculateRank(Herbalism.farmersDietMaxLevel, Herbalism.farmersDietRankLevel1);
//GREEN THUMB
greenThumbStage = calculateRank(Herbalism.greenThumbStageMaxLevel, Herbalism.greenThumbStageMaxLevel);

View File

@ -58,7 +58,7 @@ public class MiningManager extends SkillManager{
* @param event Event whose explosion is being processed
*/
public void blastMiningDropProcessing(EntityExplodeEvent event) {
if (Misc.isNPC(player)) {
if (Misc.isNPCPlayer(player)) {
return;
}
@ -83,7 +83,7 @@ public class MiningManager extends SkillManager{
* @param event Event whose explosion damage is being reduced
*/
public void demolitionsExpertise(EntityDamageEvent event) {
if (Misc.isNPC(player)) {
if (Misc.isNPCPlayer(player)) {
return;
}
@ -100,7 +100,7 @@ public class MiningManager extends SkillManager{
* @param event Event whose explosion radius is being changed
*/
public void biggerBombs(ExplosionPrimeEvent event) {
if (Misc.isNPC(player)) {
if (Misc.isNPCPlayer(player)) {
return;
}

View File

@ -23,7 +23,7 @@ public class SmeltingManager extends SkillManager {
* @param event The {@link FurnaceBurnEvent} to modify.
*/
public void fuelEfficiency(FurnaceBurnEvent event) {
if (Misc.isNPC(player) || !Permissions.fuelEfficiency(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.fuelEfficiency(player)) {
return;
}
@ -33,7 +33,7 @@ public class SmeltingManager extends SkillManager {
}
public void smeltProcessing(FurnaceSmeltEvent event) {
if (Misc.isNPC(player)) {
if (Misc.isNPCPlayer(player)) {
return;
}

View File

@ -65,7 +65,7 @@ public class SwordsManager extends SkillManager {
}
public void serratedStrikes(LivingEntity target, int damage) {
if (Misc.isNPC(player) || !Permissions.serratedStrikes(player) || !profile.getAbilityMode(AbilityType.SERRATED_STRIKES)) {
if (Misc.isNPCPlayer(player) || !Permissions.serratedStrikes(player) || !profile.getAbilityMode(AbilityType.SERRATED_STRIKES)) {
return;
}

View File

@ -19,7 +19,7 @@ public class UnarmedManager extends SkillManager {
* @param defender The defending player
*/
public void disarmCheck(Player defender) {
if (Misc.isNPC(player) || !Permissions.disarm(player)) {
if (Misc.isNPCPlayer(player) || !Permissions.disarm(player)) {
return;
}