Taming.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.gmail.nossr50.skills.taming;
  2. import org.bukkit.entity.AnimalTamer;
  3. import org.bukkit.entity.Player;
  4. import org.bukkit.entity.Tameable;
  5. import org.bukkit.entity.Wolf;
  6. import com.gmail.nossr50.config.AdvancedConfig;
  7. import com.gmail.nossr50.config.Config;
  8. import com.gmail.nossr50.locale.LocaleLoader;
  9. import com.gmail.nossr50.skills.utilities.SkillTools;
  10. import com.gmail.nossr50.skills.utilities.SkillType;
  11. import com.gmail.nossr50.util.Permissions;
  12. public class Taming {
  13. public static int environmentallyAwareUnlockLevel = AdvancedConfig.getInstance().getEnviromentallyAwareUnlock();
  14. public static double fastFoodServiceActivationChance = AdvancedConfig.getInstance().getFastFoodChance();
  15. public static int fastFoodServiceUnlockLevel = AdvancedConfig.getInstance().getFastFoodUnlock();
  16. public static double goreMaxChance = AdvancedConfig.getInstance().getGoreChanceMax();
  17. public static int goreBleedTicks = AdvancedConfig.getInstance().getGoreBleedTicks();
  18. public static int goreMaxBonusLevel = AdvancedConfig.getInstance().getGoreMaxBonusLevel();
  19. public static int goreModifier = AdvancedConfig.getInstance().getGoreModifier();
  20. public static int sharpenedClawsUnlockLevel = AdvancedConfig.getInstance().getSharpenedClawsUnlock();
  21. public static int sharpenedClawsBonusDamage = AdvancedConfig.getInstance().getSharpenedClawsBonus();
  22. public static int shockProofUnlockLevel = AdvancedConfig.getInstance().getShockProofUnlock();
  23. public static int shockProofModifier = AdvancedConfig.getInstance().getShockProofModifier();
  24. public static int thickFurUnlockLevel = AdvancedConfig.getInstance().getThickFurUnlock();
  25. public static int thickFurModifier = AdvancedConfig.getInstance().getThickFurModifier();
  26. public static int wolfXp = Config.getInstance().getTamingXPWolf();
  27. public static int ocelotXp = Config.getInstance().getTamingXPOcelot();
  28. public static boolean canPreventDamage(Tameable pet, AnimalTamer owner) {
  29. return pet.isTamed() && owner instanceof Player && pet instanceof Wolf;
  30. }
  31. public static boolean canUseThickFur(Player player) {
  32. return SkillTools.unlockLevelReached(player, SkillType.TAMING, thickFurUnlockLevel) && Permissions.thickFur(player);
  33. }
  34. public static boolean canUseEnvironmentallyAware(Player player) {
  35. return SkillTools.unlockLevelReached(player, SkillType.TAMING, environmentallyAwareUnlockLevel) && Permissions.environmentallyAware(player);
  36. }
  37. public static boolean canUseShockProof(Player player) {
  38. return SkillTools.unlockLevelReached(player, SkillType.TAMING, shockProofUnlockLevel) && Permissions.shockProof(player);
  39. }
  40. public static int processThickFur(int damage) {
  41. return damage / thickFurModifier;
  42. }
  43. public static void processEnvironmentallyAware(Player player, Wolf wolf, int damage) {
  44. if (damage > wolf.getHealth()) {
  45. return;
  46. }
  47. wolf.teleport(player);
  48. player.sendMessage(LocaleLoader.getString("Taming.Listener.Wolf"));
  49. }
  50. public static int processShockProof(int damage) {
  51. return damage / shockProofModifier;
  52. }
  53. }