Fishing Treasure Hunter overhaul

This commit is contained in:
TfT_02 2013-10-07 15:59:20 +02:00
parent b1cf7d0348
commit 82f8c4ce36
32 changed files with 755 additions and 461 deletions

View File

@ -45,6 +45,7 @@ Version 1.4.07-dev
= Fixed a bug where wrong feedback messages were being send when using a command on an offline player
= Fixed a bug where players were able to gain Herbalism XP in mine carts, even though Prevent_AFK_Leveling was enabled
= Fixed a bug where players would get hit by fireworks if they leveled up while in a boat
! Changed Fishing "Treasure Hunter" and "Magic Hunter" drop percentages
! Changed format of mod config files. (blocks.yml, tools.yml, armor.yml and entities.yml) **YOU WILL NEED TO UPDATE YOUR FILE TO THE NEW FORMAT**
! Changed format of treasures.yml. **YOU WILL NEED TO UPDATE YOUR FILE TO THE NEW FORMAT**
! Changed format of repair.vanilla.yml. **YOU WILL NEED TO UPDATE YOUR FILE TO THE NEW FORMAT**

View File

@ -4,7 +4,9 @@ import org.bukkit.block.Biome;
import org.bukkit.entity.EntityType;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.treasure.TreasureConfig;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.datatypes.treasure.Rarity;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.skills.fishing.Fishing;
import com.gmail.nossr50.skills.fishing.Fishing.Tier;
@ -13,14 +15,21 @@ import com.gmail.nossr50.util.player.UserManager;
public class FishingCommand extends SkillCommand {
private int lootTier;
private String magicChance;
private String magicChanceLucky;
private String chanceRaining = "";
private String shakeChance;
private String shakeChanceLucky;
private int fishermansDietRank;
private String biteChance;
private String trapTreasure;
private String commonTreasure;
private String uncommonTreasure;
private String rareTreasure;
private String epicTreasure;
private String legendaryTreasure;
private String recordTreasure;
private String magicChance;
private boolean canTreasureHunt;
private boolean canMagicHunt;
private boolean canShake;
@ -39,16 +48,24 @@ public class FishingCommand extends SkillCommand {
// TREASURE HUNTER
if (canTreasureHunt) {
lootTier = mcMMOPlayer.getFishingManager().getLootTier();
double enchantChance = lootTier * AdvancedConfig.getInstance().getFishingMagicMultiplier();
if (isStorming) {
chanceRaining = LocaleLoader.getString("Fishing.Chance.Raining");
enchantChance *= 1.1D;
}
// Item drop rates
trapTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.TRAP))[0];
commonTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.COMMON))[0];
uncommonTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.UNCOMMON))[0];
rareTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.RARE))[0];
epicTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.EPIC))[0];
legendaryTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.LEGENDARY))[0];
recordTreasure = calculateAbilityDisplayValues(TreasureConfig.getInstance().getItemDropRate(lootTier, Rarity.RECORD))[0];
String[] treasureHunterStrings = calculateAbilityDisplayValues(enchantChance);
magicChance = treasureHunterStrings[0];
magicChanceLucky = treasureHunterStrings[1];
// Magic hunter drop rates
double commonEnchantment = TreasureConfig.getInstance().getEnchantmentDropRate(lootTier, Rarity.COMMON);
double uncommonEnchantment = TreasureConfig.getInstance().getEnchantmentDropRate(lootTier, Rarity.UNCOMMON);
double rareEnchantment = TreasureConfig.getInstance().getEnchantmentDropRate(lootTier, Rarity.RARE);
double epicEnchantment = TreasureConfig.getInstance().getEnchantmentDropRate(lootTier, Rarity.EPIC);
double legendaryEnchantment = TreasureConfig.getInstance().getEnchantmentDropRate(lootTier, Rarity.LEGENDARY);
magicChance = calculateAbilityDisplayValues(commonEnchantment + uncommonEnchantment + rareEnchantment + epicEnchantment + legendaryEnchantment)[0];
}
// SHAKE
@ -107,20 +124,20 @@ public class FishingCommand extends SkillCommand {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.2"), LocaleLoader.getString("Fishing.Effect.3")));
}
if (canShake) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.4"), LocaleLoader.getString("Fishing.Effect.5")));
}
if (canFishermansDiet) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.6"), LocaleLoader.getString("Fishing.Effect.7")));
if (canIceFish) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.10"), LocaleLoader.getString("Fishing.Effect.11")));
}
if (canMasterAngler) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.8"), LocaleLoader.getString("Fishing.Effect.9")));
}
if (canIceFish) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.10"), LocaleLoader.getString("Fishing.Effect.11")));
if (canShake) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.4"), LocaleLoader.getString("Fishing.Effect.5")));
}
if (canFishermansDiet) {
player.sendMessage(LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Fishing.Effect.6"), LocaleLoader.getString("Fishing.Effect.7")));
}
}
@ -131,16 +148,28 @@ public class FishingCommand extends SkillCommand {
@Override
protected void statsDisplay() {
if (canMasterAngler) {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Chance", biteChance));
}
if (canTreasureHunt) {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Rank", lootTier, Tier.EIGHT.toNumerical()));
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.DropRate", trapTreasure, commonTreasure, uncommonTreasure, rareTreasure, epicTreasure, legendaryTreasure, recordTreasure));
}
if (canMagicHunt) {
player.sendMessage(LocaleLoader.getString("Fishing.Enchant.Chance", magicChance) + chanceRaining + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", magicChanceLucky) : ""));
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.MagicRate", magicChance));
}
if (canIceFish) {
int unlockLevel = AdvancedConfig.getInstance().getIceFishingUnlockLevel();
if (skillValue < unlockLevel) {
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Fishing.Ability.Locked.1", unlockLevel)));
}
else {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.IceFishing"));
}
}
if (canMasterAngler) {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.Chance", biteChance));
}
if (canShake) {
@ -157,16 +186,5 @@ public class FishingCommand extends SkillCommand {
if (canFishermansDiet) {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.FD", fishermansDietRank));
}
if (canIceFish) {
int unlockLevel = AdvancedConfig.getInstance().getIceFishingUnlockLevel();
if (skillValue < unlockLevel) {
player.sendMessage(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Fishing.Ability.Locked.1", unlockLevel)));
}
else {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.IceFishing"));
}
}
}
}

View File

@ -199,10 +199,6 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
}
}
if (getFishingMagicMultiplier() <= 0) {
reason.add("Skills.Fishing.MagicHunter.Multiplier should be greater than 0!");
}
if (getFishermanDietRankChange() < 1) {
reason.add("Skills.Fishing.FishermansDiet.RankChange should be at least 1!");
}
@ -655,8 +651,6 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
public double getShakeChance(Fishing.Tier tier) { return config.getDouble("Skills.Fishing.Shake_Chance.Rank_" + tier.toNumerical()); }
public int getFishingVanillaXPModifier(Fishing.Tier tier) { return config.getInt("Skills.Fishing.VanillaXPMultiplier.Rank_" + tier.toNumerical()); }
public double getFishingMagicMultiplier() { return config.getDouble("Skills.Fishing.MagicHunter.Multiplier", 2.5D); }
public int getFishermanDietRankChange() { return config.getInt("Skills.Fishing.FishermansDiet.RankChange", 200); }
public int getIceFishingUnlockLevel() { return config.getInt("Skills.Fishing.IceFishing.UnlockLevel", 50); }

View File

@ -1,11 +1,13 @@
package com.gmail.nossr50.config.treasure;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.EntityType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
@ -14,10 +16,13 @@ import org.bukkit.potion.Potion;
import org.bukkit.potion.PotionType;
import com.gmail.nossr50.config.ConfigLoader;
import com.gmail.nossr50.datatypes.treasure.EnchantmentTreasure;
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
import com.gmail.nossr50.datatypes.treasure.FishingTreasure;
import com.gmail.nossr50.datatypes.treasure.HylianTreasure;
import com.gmail.nossr50.datatypes.treasure.Rarity;
import com.gmail.nossr50.datatypes.treasure.ShakeTreasure;
import com.gmail.nossr50.util.EnchantmentUtils;
public class TreasureConfig extends ConfigLoader {
private static TreasureConfig instance;
@ -57,7 +62,8 @@ public class TreasureConfig extends ConfigLoader {
public List<ShakeTreasure> shakeFromWitch = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromZombie = new ArrayList<ShakeTreasure>();
public List<FishingTreasure> fishingRewards = new ArrayList<FishingTreasure>();
public HashMap<Rarity, List<FishingTreasure>> fishingRewards = new HashMap<Rarity, List<FishingTreasure>>();
public HashMap<Rarity, List<EnchantmentTreasure>> fishingEnchantments = new HashMap<Rarity, List<EnchantmentTreasure>>();
private TreasureConfig() {
super("treasures.yml");
@ -82,6 +88,7 @@ public class TreasureConfig extends ConfigLoader {
loadTreaures("Fishing");
loadTreaures("Excavation");
loadTreaures("Hylian_Luck");
loadEnchantments();
for (EntityType entity : EntityType.values()) {
if (entity.isAlive()) {
@ -102,6 +109,13 @@ public class TreasureConfig extends ConfigLoader {
return;
}
// Initialize fishing HashMap
for (Rarity rarity : Rarity.values()) {
if (!fishingRewards.containsKey(rarity)) {
fishingRewards.put(rarity, (new ArrayList<FishingTreasure>()));
}
}
for (String treasureName : treasureSection.getKeys(false)) {
// Validate all the things!
List<String> reason = new ArrayList<String>();
@ -159,17 +173,13 @@ public class TreasureConfig extends ConfigLoader {
/*
* Specific Types
*/
int maxLevel = 0;
Rarity rarity = null;
if (isFishing) {
maxLevel = config.getInt(type + "." + treasureName + ".Max_Level");
rarity = Rarity.getRarity(config.getString(type + "." + treasureName + ".Rarity"));
if (maxLevel < -1) {
reason.add(treasureName + " has an invalid Max_Level: " + maxLevel);
}
if (maxLevel != -1 && maxLevel < dropLevel) {
reason.add(treasureName + " Max_Level must be -1 or greater than Drop_Level!");
if (rarity == null) {
reason.add("Invalid Rarity for item: " + treasureName);
}
}
@ -219,7 +229,7 @@ public class TreasureConfig extends ConfigLoader {
if (noErrorsInConfig(reason)) {
if (isFishing) {
fishingRewards.add(new FishingTreasure(item, xp, dropChance, dropLevel, maxLevel));
fishingRewards.get(rarity).add(new FishingTreasure(item, xp));
}
else if (isShake) {
ShakeTreasure shakeTreasure = new ShakeTreasure(item, xp, dropChance, dropLevel);
@ -343,4 +353,37 @@ public class TreasureConfig extends ConfigLoader {
}
}
}
}
private void loadEnchantments() {
for (Rarity rarity : Rarity.values()) {
if (rarity == Rarity.TRAP || rarity == Rarity.RECORD) {
continue;
}
if (!fishingEnchantments.containsKey(rarity)) {
fishingEnchantments.put(rarity, (new ArrayList<EnchantmentTreasure>()));
}
ConfigurationSection enchantmentSection = config.getConfigurationSection("Enchantments_Rarity." + rarity.toString());
if (enchantmentSection == null) {
return;
}
for (String enchantmentName : enchantmentSection.getKeys(false)) {
int level = config.getInt("Enchantments_Rarity." + rarity.toString() + "." + enchantmentName);
Enchantment enchantment = EnchantmentUtils.getByName(enchantmentName);
if (enchantment == null) {
plugin.getLogger().warning("Skipping invalid enchantment in treasures.yml: " + enchantmentName);
continue;
}
fishingEnchantments.get(rarity).add(new EnchantmentTreasure(enchantment, level));
}
}
}
public double getItemDropRate(int tier, Rarity rarity) { return config.getDouble("Item_Drop_Rates.Tier_" + tier + "." + rarity.toString()); }
public double getEnchantmentDropRate(int tier, Rarity rarity) { return config.getDouble("Enchantment_Drop_Rates.Tier_" + tier + "." + rarity.toString()); }
}

View File

@ -0,0 +1,29 @@
package com.gmail.nossr50.datatypes.treasure;
import org.bukkit.enchantments.Enchantment;
public class EnchantmentTreasure {
private Enchantment enchantment;
private int level;
public EnchantmentTreasure(Enchantment enchantment, int level) {
this.setEnchantment(enchantment);
this.setLevel(level);
}
public Enchantment getEnchantment() {
return enchantment;
}
public void setEnchantment(Enchantment enchantment) {
this.enchantment = enchantment;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
}

View File

@ -3,18 +3,8 @@ package com.gmail.nossr50.datatypes.treasure;
import org.bukkit.inventory.ItemStack;
public class FishingTreasure extends Treasure {
private int maxLevel;
public FishingTreasure(ItemStack drop, int xp, Double dropChance, int dropLevel, int maxLevel) {
super(drop, xp, dropChance, dropLevel);
this.setMaxLevel(maxLevel);
}
public int getMaxLevel() {
return maxLevel;
}
public void setMaxLevel(int maxLevel) {
this.maxLevel = maxLevel;
public FishingTreasure(ItemStack drop, int xp) {
super(drop, xp, 0, 0);
}
}

View File

@ -0,0 +1,20 @@
package com.gmail.nossr50.datatypes.treasure;
public enum Rarity {
RECORD,
LEGENDARY,
EPIC,
RARE,
UNCOMMON,
COMMON,
TRAP;
public static Rarity getRarity(String string) {
try {
return valueOf(string);
}
catch (IllegalArgumentException ex) {
return COMMON;
}
}
};

View File

@ -26,10 +26,15 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Sheep;
import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.entity.ThrownPotion;
import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Wool;
import org.bukkit.potion.Potion;
import org.bukkit.potion.PotionType;
import org.bukkit.util.Vector;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.config.AdvancedConfig;
@ -38,7 +43,9 @@ import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.config.treasure.TreasureConfig;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.datatypes.treasure.EnchantmentTreasure;
import com.gmail.nossr50.datatypes.treasure.FishingTreasure;
import com.gmail.nossr50.datatypes.treasure.Rarity;
import com.gmail.nossr50.datatypes.treasure.ShakeTreasure;
import com.gmail.nossr50.events.fake.FakeBlockBreakEvent;
import com.gmail.nossr50.events.fake.FakePlayerFishEvent;
@ -62,6 +69,7 @@ public class FishingManager extends SkillManager {
private int fishingTries = 0;
private long fishingTimestamp = 0L;
private Location fishingTarget;
private Item fishingCatch;
public FishingManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.FISHING);
@ -246,8 +254,9 @@ public class FishingManager extends SkillManager {
/**
* Handle the Fisherman's Diet ability
*
* @param rankChange The # of levels to change rank for the food
* @param rankChange The # of levels to change rank for the food
* @param eventFoodLevel The initial change in hunger from the event
*
* @return the modified change in hunger for the event
*/
public int handleFishermanDiet(int rankChange, int eventFoodLevel) {
@ -294,16 +303,18 @@ public class FishingManager extends SkillManager {
* @param fishingCatch The {@link Item} initially caught
*/
public void handleFishing(Item fishingCatch) {
this.fishingCatch = fishingCatch;
int treasureXp = 0;
Player player = getPlayer();
FishingTreasure treasure = null;
if (Config.getInstance().getFishingDropsEnabled() && Permissions.fishingTreasureHunter(player)) {
treasure = getFishingTreasure();
this.fishingCatch = null;
}
if (treasure != null) {
player.sendMessage(LocaleLoader.getString("Fishing.ItemFound"));
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.ItemFound"));
treasureXp = treasure.getXp();
ItemStack treasureDrop = treasure.getDrop().clone(); // Not cloning is bad, m'kay?
@ -339,10 +350,10 @@ public class FishingManager extends SkillManager {
}
if (enchanted) {
player.sendMessage(LocaleLoader.getString("Fishing.MagicFound"));
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.MagicFound"));
}
Misc.dropItem(player.getEyeLocation(), fishingCatch.getItemStack());
// Misc.dropItem(player.getEyeLocation(), fishingCatch.getItemStack());
fishingCatch.setItemStack(treasureDrop);
}
}
@ -354,6 +365,7 @@ public class FishingManager extends SkillManager {
* Handle the vanilla XP boost for Fishing
*
* @param experience The amount of experience initially awarded by the event
*
* @return the modified event damage
*/
public int handleVanillaXpBoost(int experience) {
@ -439,28 +451,32 @@ public class FishingManager extends SkillManager {
* @return The {@link FishingTreasure} found, or null if no treasure was found.
*/
private FishingTreasure getFishingTreasure() {
List<FishingTreasure> rewards = new ArrayList<FishingTreasure>();
int skillLevel = getSkillLevel();
double diceRoll = Misc.getRandom().nextDouble() * 100;
FishingTreasure treasure = null;
for (FishingTreasure treasure : TreasureConfig.getInstance().fishingRewards) {
int maxLevel = treasure.getMaxLevel();
for (Rarity rarity : Rarity.values()) {
double dropRate = TreasureConfig.getInstance().getItemDropRate(getLootTier(), rarity);
if (treasure.getDropLevel() <= skillLevel && (maxLevel >= skillLevel || maxLevel <= 0)) {
rewards.add(treasure);
if (diceRoll <= dropRate) {
if (rarity == Rarity.TRAP) {
handleTraps();
break;
}
List<FishingTreasure> fishingTreasures = TreasureConfig.getInstance().fishingRewards.get(rarity);
treasure = fishingTreasures.get(Misc.getRandom().nextInt(fishingTreasures.size()));
break;
}
diceRoll -= dropRate;
}
if (rewards.isEmpty()) {
if (treasure == null) {
return null;
}
FishingTreasure treasure = rewards.get(Misc.getRandom().nextInt(rewards.size()));
ItemStack treasureDrop = treasure.getDrop();
if (!SkillUtils.treasureDropSuccessful(treasure.getDropChance(), activationChance)) {
return null;
}
short maxDurability = treasureDrop.getType().getMaxDurability();
if (maxDurability > 0) {
@ -470,41 +486,91 @@ public class FishingManager extends SkillManager {
return treasure;
}
private void handleTraps() {
Player player = getPlayer();
if (Misc.getRandom().nextBoolean()) {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.Boom"));
TNTPrimed tnt = (TNTPrimed) player.getWorld().spawnEntity(fishingCatch.getLocation(), EntityType.PRIMED_TNT);
fishingCatch.setPassenger(tnt);
Vector velocity = fishingCatch.getVelocity();
double magnitude = velocity.length();
fishingCatch.setVelocity(velocity.multiply((magnitude + 1) / magnitude));
tnt.setFuseTicks(3 * Misc.TICK_CONVERSION_FACTOR);
}
else {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.Poison"));
ThrownPotion thrownPotion = player.getWorld().spawn(fishingCatch.getLocation(), ThrownPotion.class);
thrownPotion.setItem(new Potion(PotionType.POISON).splash().toItemStack(1));
fishingCatch.setPassenger(thrownPotion);
}
}
/**
* Process the Magic Hunter ability
*
* @param treasureDrop The {@link ItemStack} to enchant
*
* @return true if the item has been enchanted
*/
private Map<Enchantment, Integer> handleMagicHunter(ItemStack treasureDrop) {
Player player = getPlayer();
int activationChance = this.activationChance;
Map<Enchantment, Integer> enchants = new HashMap<Enchantment, Integer>();
List<EnchantmentTreasure> fishingEnchantments = null;
if (player.getWorld().hasStorm()) {
activationChance *= Fishing.STORM_MODIFIER;
double diceRoll = Misc.getRandom().nextDouble() * 100;
for (Rarity rarity : Rarity.values()) {
if (rarity == Rarity.TRAP || rarity == Rarity.RECORD) {
continue;
}
double dropRate = TreasureConfig.getInstance().getEnchantmentDropRate(getLootTier(), rarity);
if (diceRoll <= dropRate) {
fishingEnchantments = TreasureConfig.getInstance().fishingEnchantments.get(rarity);
break;
}
diceRoll -= dropRate;
}
Map<Enchantment, Integer> enchants = new HashMap<Enchantment, Integer>();
if (Misc.getRandom().nextInt(activationChance) > getLootTier() * AdvancedConfig.getInstance().getFishingMagicMultiplier()) {
if (fishingEnchantments == null) {
return enchants;
}
List<Enchantment> possibleEnchantments = getPossibleEnchantments(treasureDrop);
List<Enchantment> validEnchantments = getPossibleEnchantments(treasureDrop);
List<EnchantmentTreasure> possibleEnchants = new ArrayList<EnchantmentTreasure>();
for (EnchantmentTreasure enchantmentTreasure : fishingEnchantments) {
if (validEnchantments.contains(enchantmentTreasure.getEnchantment())) {
possibleEnchants.add(enchantmentTreasure);
}
}
if (possibleEnchants.isEmpty()) {
return enchants;
}
// This make sure that the order isn't always the same, for example previously Unbreaking had a lot more chance to be used than any other enchant
Collections.shuffle(possibleEnchantments, Misc.getRandom());
Collections.shuffle(possibleEnchants, Misc.getRandom());
int specificChance = 1;
for (Enchantment possibleEnchantment : possibleEnchantments) {
for (EnchantmentTreasure enchantmentTreasure : possibleEnchants) {
Enchantment possibleEnchantment = enchantmentTreasure.getEnchantment();
if (treasureDrop.getItemMeta().hasConflictingEnchant(possibleEnchantment) || Misc.getRandom().nextInt(specificChance) != 0) {
continue;
}
enchants.put(possibleEnchantment, Math.max(Misc.getRandom().nextInt(possibleEnchantment.getMaxLevel()) + 1, possibleEnchantment.getStartLevel()));
enchants.put(possibleEnchantment, enchantmentTreasure.getLevel());
specificChance++;
specificChance *= 2;
}
return enchants;

View File

@ -0,0 +1,50 @@
package com.gmail.nossr50.util;
import java.util.HashMap;
import org.bukkit.enchantments.Enchantment;
public class EnchantmentUtils {
private static final HashMap<String, Enchantment> enchants = new HashMap<String, Enchantment>();
static {
enchants.put("SHARPNESS", Enchantment.DAMAGE_ALL);
enchants.put("POWER", Enchantment.ARROW_DAMAGE);
enchants.put("FIRE_PROTECTION", Enchantment.PROTECTION_FIRE);
enchants.put("FEATHER_FALLING", Enchantment.PROTECTION_FALL);
enchants.put("PROTECTION", Enchantment.PROTECTION_ENVIRONMENTAL);
enchants.put("BLAST_PROTECTION", Enchantment.PROTECTION_EXPLOSIONS);
enchants.put("PROJECTILE_PROTECTION", Enchantment.PROTECTION_PROJECTILE);
enchants.put("RESPIRATION", Enchantment.OXYGEN);
enchants.put("INFINITY", Enchantment.ARROW_INFINITE);
enchants.put("AQUA_AFFINITY", Enchantment.WATER_WORKER);
enchants.put("UNBREAKING", Enchantment.DURABILITY);
enchants.put("SMITE", Enchantment.DAMAGE_UNDEAD);
enchants.put("BANE_OF_ARTHROPODS", Enchantment.DAMAGE_ARTHROPODS);
enchants.put("EFFICIENCY", Enchantment.DIG_SPEED);
enchants.put("FIRE_ASPECT", Enchantment.FIRE_ASPECT);
enchants.put("SILK_TOUCH", Enchantment.SILK_TOUCH);
enchants.put("FORTUNE", Enchantment.LOOT_BONUS_BLOCKS);
enchants.put("LOOTING", Enchantment.LOOT_BONUS_MOBS);
enchants.put("PUNCH", Enchantment.ARROW_KNOCKBACK);
enchants.put("FLAME", Enchantment.ARROW_FIRE);
enchants.put("KNOCKBACK", Enchantment.KNOCKBACK);
enchants.put("THORNS", Enchantment.THORNS);
}
/**
* Method to get an {@link Enchantment} using it's Vanilla Minecraft name or Bukkit enum name
*
* @param enchantmentName Vanilla or Bukkit name of enchantment
*
* @return Enchantment or null if no enchantment was found
*/
public static Enchantment getByName(String enchantmentName) {
if (enchants.containsKey(enchantmentName)) {
return enchants.get(enchantmentName);
}
return null;
}
}

View File

@ -152,10 +152,6 @@ Skills:
Rank_7: 5
Rank_8: 5
MagicHunter:
# Multiplier: Determines the chance of fishing enchanted items. The chance is calculated by getting the fishing TreasureHunt tier and multiplying it with <Multiplier>
Multiplier: 2.5
FishermansDiet:
# This determines when Fisherman's Diet adds extra hunger recovery to food
RankChange: 200

View File

@ -94,9 +94,9 @@ Fishing.Effect.10=Ryba\u0159en\u00ed v ledu
Fishing.Effect.11=Umo\u017e\u0148uje v\u00e1m ryba\u0159it v ledov\u00fdch prost\u0159ed\u00edch
Fishing.Enchant.Chance=[[RED]]\u0160ance na magick\u00e9ho lovce: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] De\u0161\u0165ov\u00fd bonus
Fishing.ItemFound=[[GRAY]]Nasel si poklad!
Fishing.Ability.TH.ItemFound=[[GRAY]]Nasel si poklad!
Fishing.Listener=Rybareni:
Fishing.MagicFound=[[GRAY]]C\u00edt\u00edte dotek magie s t\u00edmto \u00falovkem...
Fishing.Ability.TH.MagicFound=[[GRAY]]C\u00edt\u00edte dotek magie s t\u00edmto \u00falovkem...
Fishing.SkillName=RYBARENI
Fishing.Skillup=[[YELLOW]]Dovednost v rybareni byla navysena o {0}. Celkem ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]\u0160ance na dvojn\u00e1sobn\u00fd zisk: [[YELLOW]]{0}

View File

@ -86,9 +86,9 @@ Fishing.Effect.6=Fisherman\'s Diet
Fishing.Effect.7=Improves hunger restored from fished foods
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Rain Bonus
Fishing.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Listener=Fishing:
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.SkillName=FISHING
Fishing.Skillup=[[YELLOW]]Fishing skill increased by {0}. Total ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}

View File

@ -86,9 +86,9 @@ Fishing.Effect.6=Fiskers Diet
Fishing.Effect.7=Forbedrer Sult genoprettet af Fisked mad
Fishing.Enchant.Chance=[[RED]]Magi J\u00e6ger Chance: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Regn Bonus
Fishing.ItemFound=[[GRAY]Du har fundet en skat!
Fishing.Listener=Fiskeri:
Fishing.MagicFound=[[GRAY]]Du f\u00f8ler et strejf a magi med denne fangst...
Fishing.Ability.TH.ItemFound=[[GRAY]Du har fundet en skat!
Fishing.Listener=Fiskeri\:
Fishing.Ability.TH.MagicFound=[[GRAY]]Du f\u00f8ler et strejf a magi med denne fangst...
Fishing.SkillName=FISKER
Fishing.Skillup=[[YELLOW]]Fisker evne for\u00f8get med {0}. Total ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]2x Tabs Chance: [[YELLOW]]{0}

View File

@ -86,9 +86,9 @@ Fishing.Effect.6=Fischer-Mahlzeit
Fishing.Effect.7=Verbessert Effizienz von geangelter Nahrung
Fishing.Enchant.Chance=[[RED]]Zauber-J\u00e4ger Chance: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Rain Bonus
Fishing.ItemFound=[[AQUA]]Du hast einen Schatz gefunden!
Fishing.Listener=Angeln:
Fishing.MagicFound=[[AQUA]]Dich ber\u00fchrt ein leichter Zauber bei diesem Fang...
Fishing.Ability.TH.ItemFound=[[AQUA]]Du hast einen Schatz gefunden!
Fishing.Listener=Angeln\:
Fishing.Ability.TH.MagicFound=[[AQUA]]Dich ber\u00fchrt ein leichter Zauber bei diesem Fang...
Fishing.SkillName=ANGELN
Fishing.Skillup=[[YELLOW]]Angel Skill um {0} gestiegen. Gesamt ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Chance auf Doppel-Drops: [[YELLOW]]{0}

View File

@ -104,6 +104,8 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
Fishing.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (SHAKE)
Fishing.Ability.Locked.1=LOCKED UNTIL {0}+ SKILL (ICE FISHING)
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/{1}
Fishing.Ability.TH.DropRate=[[RED]] Drop Rate: [[DARK_RED]]Trap: [[YELLOW]]{0} [[GRAY]]Common: [[YELLOW]]{1} [[GREEN]]Uncommon: [[YELLOW]]{2}\n[[BLUE]]Rare: [[YELLOW]]{3} [[LIGHT_PURPLE]]Epic: [[YELLOW]]{4} [[GOLD]]Legendary: [[YELLOW]]{5} [[AQUA]]Record: [[YELLOW]]{6}
Fishing.Ability.TH.MagicRate=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
Fishing.Ability.Shake=[[RED]]Shake Chance: [[YELLOW]]{0}
Fishing.Ability.IceFishing=[[RED]]Ice Fishing: Go fishing in ice
Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
@ -119,11 +121,12 @@ Fishing.Effect.8=Master Angler
Fishing.Effect.9=Improves chance of getting a bite while fishing
Fishing.Effect.10=Ice Fishing
Fishing.Effect.11=Allows you to fish in icy biomes
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Rain Bonus
Fishing.ItemFound=[[GRAY]]Treasure found!
Fishing.Listener=Fishing:
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.Boom=[[GRAY]]BOOM TIME!!!
Fishing.Ability.TH.Poison=[[GRAY]]Something doesn't smell quite right...
Fishing.SkillName=FISHING
Fishing.Skillup=[[YELLOW]]Fishing skill increased by {0}. Total ({1})
@ -655,10 +658,12 @@ Guides.Excavation.Section.5=[[DARK_AQUA]]Notes about Excavation:\n[[YELLOW]]Exca
##Fishing
Guides.Fishing.Section.0=[[DARK_AQUA]]About Fishing:\n[[YELLOW]]With the Fishing skill, Fishing is exciting again!\n[[YELLOW]]Find hidden treasures, and shake items off mobs.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]Catch fish.
Guides.Fishing.Section.1=[[DARK_AQUA]]How does Treasure Hunter work?\n[[YELLOW]]This ability allows you to find treasure from fishing \n[[YELLOW]]with a small chance of the items being enchanted.\n[[YELLOW]]Every possible treasure for Fishing has its own\n[[YELLOW]]skill level requirement for it to drop.\n\n[[YELLOW]]The higher your Fishing skill is, the more\n[[YELLOW]]treasures that can be found.
Guides.Fishing.Section.2=[[DARK_AQUA]]How does Shake work?\n[[YELLOW]]This active ability allows you to shake items loose from mobs\n[[YELLOW]]by hooking them with the fishing rod. \n[[YELLOW]]Mobs will drop items they would normally drop on death.\n[[YELLOW]]It is also possible to acquire mob skulls, which are normally \n[[YELLOW]]unobtainable in survival mode.
Guides.Fishing.Section.3=[[DARK_AQUA]]How does Fisherman's Diet work?\n[[YELLOW]]This passive skill increases the amount of hunger restored \n[[YELLOW]]from eating fish.
Guides.Fishing.Section.4=[[DARK_AQUA]]Notes about Fishing:\n[[YELLOW]]Fishing drops are completely customizable,\n[[YELLOW]]so results vary server to server.
Guides.Fishing.Section.1=[[DARK_AQUA]]How does Treasure Hunter work?\n[[YELLOW]]This ability allows you to find treasure from fishing \n[[YELLOW]]with a small chance of the items being enchanted.\n[[YELLOW]]Every possible treasure for Fishing has a chance\n[[YELLOW]]to drop on any level. It depends however\n[[YELLOW]]what the rarity of the item is how often it will drop.\n[[YELLOW]]The higher your Fishing skill is, the better\n[[YELLOW]]your chances are to find better treasures.
Guides.Fishing.Section.2=[[DARK_AQUA]]How does Ice Fishing work?\n[[YELLOW]]This passive skill allows you to fish in ice lakes!\n[[YELLOW]]Cast your fishing rod in an ice lake and the ability will\n[[YELLOW]]create a small hole in the ice to fish in.
Guides.Fishing.Section.3=[[DARK_AQUA]]How does Master Angler work?\n[[YELLOW]]This passive skill increases the bite chance while fishing.\n[[YELLOW]]When you've unlocked this ability, fishing while in\n[[YELLOW]]a boat or an ocean biome will double the bite chance.
Guides.Fishing.Section.4=[[DARK_AQUA]]How does Shake work?\n[[YELLOW]]This active ability allows you to shake items loose from mobs\n[[YELLOW]]by hooking them with the fishing rod. \n[[YELLOW]]Mobs will drop items they would normally drop on death.\n[[YELLOW]]It is also possible to acquire mob skulls, which are normally \n[[YELLOW]]unobtainable in survival mode.
Guides.Fishing.Section.5=[[DARK_AQUA]]How does Fisherman's Diet work?\n[[YELLOW]]This passive skill increases the amount of hunger restored \n[[YELLOW]]from eating fish.
Guides.Fishing.Section.6=[[DARK_AQUA]]Notes about Fishing:\n[[YELLOW]]Fishing drops are completely customizable,\n[[YELLOW]]so results vary server to server.
##Herbalism
Guides.Herbalism.Section.0=[[DARK_AQUA]]About Herbalism:\n[[YELLOW]]Herbalism is about collecting herbs and plants.\n\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]Collect plants and herbs.

View File

@ -95,9 +95,9 @@ Fishing.Effect.10=Pesca de hielo
Fishing.Effect.11=Te permite pescar en biomas de hielo
Fishing.Enchant.Chance=[[RED]]Probabilidad de Cazador M\u00e1gico: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Lluvia de Bonus
Fishing.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
Fishing.Ability.TH.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
Fishing.Listener=Pescador:
Fishing.MagicFound=[[GRAY]]Sientes un toque de magia con esta pesca...
Fishing.Ability.TH.MagicFound=[[GRAY]]Sientes un toque de magia con esta pesca...
Fishing.SkillName=PESCADOR
Fishing.Skillup=[[YELLOW]]Habilidad de Pescador incrementada en {0}. Total ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Probabilidad de Doble Drop: [[YELLOW]]{0}

View File

@ -2,7 +2,7 @@ Acrobatics.Listener=Akrobaatika:
Acrobatics.SkillName=AKROBAATIKA
Acrobatics.Skillup=[[YELLOW]]Akrobaatika oskus kasvanud {0} v\u00f5rra. Kokku ({1})
Archery.Skillup=[[YELLOW]]Vibunduse oskus kasvanud {0} v\u00f5rra. Kokku ({1})
Fishing.ItemFound=[[GRAY]]Varandus leitud!
Fishing.Ability.TH.ItemFound=[[GRAY]]Varandus leitud!
Mining.Ability.Lower=[[GRAY]]**TE LANGETASITE OMA KIRKA**
Mining.Ability.Ready=[[GREEN]]**TE PANITE OMA KIRKA VALMIS**
Mining.Listener=Kaevandamine:

View File

@ -15,8 +15,8 @@ Excavation.Listener=Kaivuu:
Excavation.SkillName=KAIVANTO
Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**TEHO PORA HAJOITUS AKTIVOITU**
Excavation.Skillup=[[YELLOW]]Kaivuu taito nousi {0} tasolla. Kokonaism\u00e4\u00e4r\u00e4 ({1})
Fishing.ItemFound=[[GRAY]]Treasure found!
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Herbalism.Ability.GTh=[[GREEN]]**VIHERPEUKALO**
Herbalism.Listener=Yrttitietous:
Herbalism.Skills.GTe.Refresh=[[GREEN]]Sinun [[YELLOW]]Viherpeukalo [[GREEN]]taito on latautunut!

View File

@ -80,9 +80,9 @@ Fishing.Effect.3=Remonte des objets magiques
Fishing.Effect.4=Secousse (sur monstres)
Fishing.Effect.5=Fait tomber des objets des monstres avec une canne \u00e0 p\u00eache
Fishing.Enchant.Chance=[[RED]]Chasse magique: [[YELLOW]]{0}
Fishing.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
Fishing.Listener=P\u00eache :
Fishing.MagicFound=[[GRAY]]Vous ressentez quelque chose de magique dans cette prise...
Fishing.Ability.TH.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
Fishing.Listener=P\u00EAche\:
Fishing.Ability.TH.MagicFound=[[GRAY]]Vous ressentez quelque chose de magique dans cette prise...
Fishing.SkillName=P\u00caCHE
Fishing.Skillup=[[YELLOW]]Le talent p\u00eache augmente de {0}. Total ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Double Drop: [[YELLOW]]{0}

View File

@ -24,7 +24,7 @@ Excavation.Skills.GigaDrillBreaker.Refresh=[[GREEN]]A TE [[YELLOW]]Giga B\u00e1n
Excavation.Skills.GigaDrillBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] haszn\u00e1latban [[RED]]Giga B\u00e1ny\u00e1sz Cs\u00e1k\u00e1ny!
Excavation.Skillup=[[YELLOW]]\u00c1s\u00e1s fejl\u0151d\u00f6tt {0} szinttel. \u00d6sszesen: ({1})
Fishing.Effect.10=J\u00e9g Horg\u00e1szat
Fishing.ItemFound=[[GRAY]]Kincs megtal\u00e1lva!
Fishing.Ability.TH.ItemFound=[[GRAY]]Kincs megtal\u00e1lva!
Fishing.Listener=Horg\u00e1szat:
Fishing.SkillName=HORG\u00c1SZAT
Herbalism.Ability.Lower=[[GRAY]]**LETETTED A KAP\u00c1DAT**

View File

@ -95,9 +95,9 @@ Fishing.Effect.10=Pesca sul Ghiaccio
Fishing.Effect.11=Ti permette di pescare nei biomi ghiacciati
Fishing.Enchant.Chance=[[RED]]Possibilit\u00e0 di Cacciatore di Magia: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Bonus Pioggia
Fishing.ItemFound=[[GRAY]]Hai trovato un tesoro!
Fishing.Ability.TH.ItemFound=[[GRAY]]Hai trovato un tesoro!
Fishing.Listener=Pesca:
Fishing.MagicFound=[[GRAY]]Senti un tocco di magia in questa cattura...
Fishing.Ability.TH.MagicFound=[[GRAY]]Senti un tocco di magia in questa cattura...
Fishing.SkillName=PESCA
Fishing.Skillup=[[YELLOW]]L''abilit\u00e0 Pesca \u00e8 aumentata di {0}. Totale ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Possibilit\u00e0 di Doppio Drop: [[YELLOW]]{0}

View File

@ -95,9 +95,9 @@ Fishing.Effect.10=\uc5bc\uc74c \ub09a\uc2dc
Fishing.Effect.11=\uc5bc\uc74c \uc9c0\ud615\uc5d0\uc11c \ub09a\uc2dc\ub97c \ud560 \uc218 \uc788\uac8c \ud574\uc90d\ub2c8\ub2e4.
Fishing.Enchant.Chance=[[RED]]\ub9c8\ubc95 \ubcf4\ubb3c \uc0ac\ub0e5\uafbc \ud655\ub960: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] \ube44 \ubcf4\ub108\uc2a4
Fishing.ItemFound=[[GRAY]]\ubcf4\ubb3c\uc744 \ubc1c\uacac\ud588\uc2b5\ub2c8\ub2e4!
Fishing.Ability.TH.ItemFound=[[GRAY]]\ubcf4\ubb3c\uc744 \ubc1c\uacac\ud588\uc2b5\ub2c8\ub2e4!
Fishing.Listener=\ub09a\uc2dc:
Fishing.MagicFound=[[GRAY]]\uc774\ubc88 \ub09a\uc2dc\uc5d0 \ub9c8\ubc95\uc758 \uc190\uae38\uc774 \ub290\uaef4\uc9d1\ub2c8\ub2e4.
Fishing.Ability.TH.MagicFound=[[GRAY]]\uc774\ubc88 \ub09a\uc2dc\uc5d0 \ub9c8\ubc95\uc758 \uc190\uae38\uc774 \ub290\uaef4\uc9d1\ub2c8\ub2e4.
Fishing.SkillName=\ub09a\uc2dc
Fishing.Skillup=[[YELLOW]]\ub09a\uc2dc \uae30\uc220\uc774 {0} \uc99d\uac00\ud558\uc5ec {1}\ub808\ubca8\uc774 \ub418\uc5c8\uc2b5\ub2c8\ub2e4.
Herbalism.Ability.DoubleDropChance=[[RED]]2\ubc30 \ub4dc\ub78d \ud655\ub960: [[YELLOW]]{0}

View File

@ -30,9 +30,9 @@ Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**GIGA DRILL BREKER GEACTIVEERD**
Excavation.Skillup=[[YELLOW]]Uitgravings ervaring toegenomen met {0}. Totaal ({1})
Fishing.Effect.8=Meester Hengelaar
Fishing.Chance.Raining=[[BLUE]] Regen Bonus
Fishing.ItemFound=[[GRAY]]Schat gevonden!
Fishing.Ability.TH.ItemFound=[[GRAY]]Schat gevonden!
Fishing.Listener=Vissen:
Fishing.MagicFound=[[GRAY]]Jij voelt een vleugje magie met deze vangst...
Fishing.Ability.TH.MagicFound=[[GRAY]]Jij voelt een vleugje magie met deze vangst...
Herbalism.Ability.GTh=[[GREEN]]**GROEN DUIMPJE**
Herbalism.Effect.10=Hylian Geluk
Herbalism.Effect.11=Geeft een kleine kans om zeldzame voorwerpen te vinden

View File

@ -93,9 +93,9 @@ Fishing.Effect.10=Lodowe lowienie ryb
Fishing.Effect.11=Pozwala na lowienie ryb w zimowych biomach
Fishing.Enchant.Chance=[[RED]]Szanse na Magicznego \u0141owc\u0119: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Bonus od Deszczu
Fishing.ItemFound=[[GRAY]]Znaleziono skarb!
Fishing.Ability.TH.ItemFound=[[GRAY]]Znaleziono skarb!
Fishing.Listener=Rybactwo
Fishing.MagicFound=[[GRAY]]Wyczuwasz w pobli\u017cu \u017ar\u00f3d\u0142o magii...
Fishing.Ability.TH.MagicFound=[[GRAY]]Wyczuwasz w pobli\u017cu \u017ar\u00f3d\u0142o magii...
Fishing.SkillName=RYBACTWO
Fishing.Skillup=[[YELLOW]]Umiej\u0119tno\u015b\u0107 \u0142owienia wzros\u0142a o {0}. Razem ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Szansa na Podw\u00f3jny Drop: [[YELLOW]]{0}

View File

@ -29,8 +29,8 @@ Excavation.Effect.3=Habilidade de cavar tesouros
Excavation.Listener=Escava\u00e7\u00e3o:
Excavation.SkillName=Escava\u00e7\u00e3o
Excavation.Skillup=[[AMARELO]]Habilidade Escava\u00e7\u00e3o aumentada em {0}. Total ({1})
Fishing.ItemFound=[[GRAY]]Tesouro encontrado!
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.ItemFound=[[GRAY]]Tesouro encontrado!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.SkillName=PESCARIA
Herbalism.Ability.GTh=[[GREEN]]**DED\u00c3O VERDE**
Herbalism.Ability.Lower=[[GRAY]]**VOC\u00ca ABAIXA SUA ENXADA**

View File

@ -95,9 +95,9 @@ Fishing.Effect.10=\u041f\u043e\u0434\u043b\u0435\u0434\u043d\u0430\u044f \u0420\
Fishing.Effect.11=\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0430\u043c \u0440\u044b\u0431\u0430\u0447\u0438\u0442\u044c \u0432 \u0441\u043d\u0435\u0436\u043d\u044b\u0445 \u0431\u0438\u043e\u043c\u0430\u0445
Fishing.Enchant.Chance=[[RED]]\u0428\u0430\u043d\u0441 \u041e\u0445\u043e\u0442\u043d\u0438\u043a\u0430 \u0417\u0430 \u041c\u0430\u0433\u0438\u0435\u0439: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] \u0411\u043e\u043d\u0443\u0441 \u0414\u043e\u0436\u0434\u044f
Fishing.ItemFound=[[GRAY]]\u041d\u0430\u0439\u0434\u0435\u043d\u043e \u0441\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0435!
Fishing.Ability.TH.ItemFound=[[GRAY]]\u041d\u0430\u0439\u0434\u0435\u043d\u043e \u0441\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0435!
Fishing.Listener=\u0420\u044b\u0431\u043e\u043b\u043e\u0432\u0441\u0442\u0432\u043e:
Fishing.MagicFound=[[GRAY]]\u0412\u044b \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043a\u043e\u0441\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u043b\u043e\u0432\u043e\u043c...
Fishing.Ability.TH.MagicFound=[[GRAY]]\u0412\u044b \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043a\u043e\u0441\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u043b\u043e\u0432\u043e\u043c...
Fishing.SkillName=\u0420\u042b\u0411\u041e\u041b\u041e\u0412\u0421\u0422\u0412\u041e
Fishing.Skillup=[[YELLOW]]\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u0432\u044b\u043a\u0430 \"\u0420\u044b\u0431\u043e\u043b\u043e\u0432\u0441\u0442\u0432\u043e\" \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d \u043d\u0430 {0}. \u0412\u0441\u0435\u0433\u043e ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]\u0428\u0430\u043d\u0441 \u0414\u0432\u043e\u0439\u043d\u043e\u0433\u043e \u0414\u0440\u043e\u043f\u0430: [[YELLOW]]{0} %

View File

@ -15,7 +15,7 @@ Excavation.Listener=Gr\u00e4vning:
Excavation.SkillName=Gr\u00e4vning
Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**GIGA BORR KROSSAREN AKTIVERAD**
Excavation.Skillup=[[YELLOW]]Gr\u00e4vningsf\u00e4rdigheten har \u00f6kat med {0}. Totalt ({1})
Fishing.ItemFound=[[GRAY]]Skatt hittad!
Fishing.Ability.TH.ItemFound=[[GRAY]]Skatt hittad!
Herbalism.Ability.GTh=[[GREEN]]**GR\u00d6NA FINGRAR**
Herbalism.Listener=V\u00e4xtk\u00e4nnedom:
Herbalism.Skills.GTe.Refresh=[[GREEN]]Dina[[YELLOW]]Gr\u00f6na fingrar [[GREEN]]f\u00f6rm\u00e5ga \u00e4r vederkvickad!

View File

@ -94,9 +94,9 @@ Fishing.Effect.10=Ice Fishing
Fishing.Effect.11=\u0e2d\u0e19\u0e38\u0e0d\u0e32\u0e15\u0e34\u0e43\u0e2b\u0e49\u0e15\u0e01\u0e1b\u0e25\u0e32\u0e43\u0e19\u0e19\u0e49\u0e33\u0e41\u0e02\u0e47\u0e07
Fishing.Enchant.Chance=[[RED]]Magic Hunter \u0e42\u0e2d\u0e01\u0e32\u0e2a: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] Rain Bonus
Fishing.ItemFound=[[GRAY]]\u0e44\u0e14\u0e49\u0e1e\u0e1a\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34!
Fishing.Ability.TH.ItemFound=[[GRAY]]\u0e44\u0e14\u0e49\u0e1e\u0e1a\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34!
Fishing.Listener=\u0e17\u0e31\u0e01\u0e29\u0e30 Fishing:
Fishing.MagicFound=[[GRAY]]\u0e04\u0e38\u0e13\u0e23\u0e39\u0e49\u0e2a\u0e36\u0e01\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07\u0e2a\u0e31\u0e21\u0e1c\u0e31\u0e2a\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e17\u0e21\u0e19\u0e15\u0e23\u0e4c\u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e08\u0e31\u0e1a\u0e2a\u0e34\u0e48\u0e07\u0e19\u0e35\u0e49 ...
Fishing.Ability.TH.MagicFound=[[GRAY]]\u0e04\u0e38\u0e13\u0e23\u0e39\u0e49\u0e2a\u0e36\u0e01\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07\u0e2a\u0e31\u0e21\u0e1c\u0e31\u0e2a\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e17\u0e21\u0e19\u0e15\u0e23\u0e4c\u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e08\u0e31\u0e1a\u0e2a\u0e34\u0e48\u0e07\u0e19\u0e35\u0e49 ...
Fishing.SkillName=FISHING
Fishing.Skillup=[[YELLOW]]\u0e17\u0e31\u0e01\u0e29\u0e30 Fishing \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 {0}. \u0e21\u0e35\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]Double Drop \u0e42\u0e2d\u0e01\u0e32\u0e2a: [[YELLOW]]{0}

View File

@ -10,7 +10,7 @@ Axes.Effect.2=Kritik Vuruslar
Axes.SkillName=BALTALAR
Excavation.Ability.Lower=[[GRAY]]**K\u00dcREGINI INDIRIYORSUN**
Excavation.SkillName=KAZMA
Fishing.ItemFound=[[GRAY]]Hazine bulundu!
Fishing.Ability.TH.ItemFound=[[GRAY]]Hazine bulundu!
Fishing.SkillName=BALIK TUTMA
Herbalism.Ability.Lower=[[GRAY]]**\u00c7APANI INDIRIYORSUN**
Herbalism.Ability.Ready=[[GREEN]]**\u00c7APANI HAZIRLIYORSUN**

View File

@ -95,9 +95,9 @@ Fishing.Effect.10=\u51b0\u6e14
Fishing.Effect.11=\u5141\u8bb8\u4f60\u5728\u51b0\u51b7\u7684\u73af\u5883\u4e0b\u9493\u9c7c
Fishing.Enchant.Chance=[[RED]]\u9b54\u6cd5\u730e\u4eba\u51e0\u7387: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] \u5927\u91cf\u5956\u52b1
Fishing.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
Fishing.Ability.TH.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
Fishing.Listener=\u9493\u9c7c(Fishing):
Fishing.MagicFound=[[GRAY]]\u4f60\u611f\u5230\u4e00\u80a1\u9b54\u529b\u7684\u6ce2\u52a8...
Fishing.Ability.TH.MagicFound=[[GRAY]]\u4f60\u611f\u5230\u4e00\u80a1\u9b54\u529b\u7684\u6ce2\u52a8...
Fishing.SkillName=\u9493\u9c7c
Fishing.Skillup=[[YELLOW]]\u9493\u9c7c\u6280\u80fd\u63d0\u5347\u4e86 {0}. \u603b\u5171 ({1})
Herbalism.Ability.DoubleDropChance=[[RED]]\u53cc\u500d\u6389\u843d\u51e0\u7387: [[YELLOW]]{0}

View File

@ -95,9 +95,9 @@ Fishing.Effect.10=\u51b0\u91e3
Fishing.Effect.11=\u5141\u8a31\u4f60\u5728\u51b0\u5929\u96ea\u5730\u88e1\u91e3\u9b5a
Fishing.Enchant.Chance=[[RED]]\u9b54\u6cd5\u7375\u4eba\u6a5f\u7387: [[YELLOW]]{0}
Fishing.Chance.Raining=[[BLUE]] \u5927\u91cf\u734e\u52f5
Fishing.ItemFound=[[GRAY]]\u767c\u73fe\u5bf6\u7269\u4e86\uff01
Fishing.Ability.TH.ItemFound=[[GRAY]]\u767c\u73fe\u5bf6\u7269\u4e86\uff01
Fishing.Listener=\u91e3\u9b5a:
Fishing.MagicFound=[[GRAY]]\u4f60\u611f\u53d7\u5230\u9b54\u529b\u7684\u6ce2\u52d5...
Fishing.Ability.TH.MagicFound=[[GRAY]]\u4f60\u611f\u53d7\u5230\u9b54\u529b\u7684\u6ce2\u52d5...
Fishing.SkillName=\u91e3\u9b5a
Fishing.Skillup=[[YELLOW]]\u91e3\u9b5a\u6280\u80fd\u4e0a\u5347\u4e86 {0}! \u7e3d\u7b49\u7d1a ({1})!
Herbalism.Ability.DoubleDropChance=[[RED]]\u96d9\u500d\u6389\u843d\u6a5f\u7387: [[YELLOW]]{0}

View File

@ -6,351 +6,433 @@ Fishing:
LEATHER_BOOTS:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
Rarity: COMMON
LEATHER_HELMET:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
Rarity: COMMON
LEATHER_LEGGINGS:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
Rarity: COMMON
LEATHER_CHESTPLATE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
Rarity: COMMON
WOOD_SWORD:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 200
Rarity: COMMON
WOOD_SPADE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 200
Rarity: COMMON
WOOD_PICKAXE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 200
Rarity: COMMON
WOOD_AXE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 200
Rarity: COMMON
WOOD_HOE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 200
STONE_SWORD:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
STONE_SPADE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
STONE_PICKAXE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
STONE_AXE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
STONE_HOE:
Amount: 1
XP: 200
Drop_Chance: 20.0
Drop_Level: 0
Max_Level: 400
IRON_SWORD:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_SPADE:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_PICKAXE:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_AXE:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_HOE:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_BOOTS:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_HELMET:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_LEGGINGS:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
IRON_CHESTPLATE:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
ENDER_PEARL:
Amount: 1
XP: 200
Drop_Chance: 25.0
Drop_Level: 200
Max_Level: -1
GOLD_SWORD:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_SPADE:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_PICKAXE:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_AXE:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_HOE:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_BOOTS:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_HELMET:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_LEGGINGS:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
GOLD_CHESTPLATE:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
BLAZE_ROD:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
RECORD_3:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
RECORD_4:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
RECORD_5:
Amount: 1
XP: 200
Drop_Chance: 30.0
Drop_Level: 400
Max_Level: -1
DIAMOND_SWORD:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_SPADE:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_PICKAXE:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_AXE:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_HOE:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_BOOTS:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_HELMET:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_LEGGINGS:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND_CHESTPLATE:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_6:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_7:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_8:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_9:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_10:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_11:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
RECORD_12:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
GHAST_TEAR:
Amount: 1
XP: 200
Drop_Chance: 35.0
Drop_Level: 600
Max_Level: -1
DIAMOND:
Amount: 5
XP: 200
Drop_Chance: 40.0
Drop_Level: 800
Max_Level: -1
IRON_INGOT:
Amount: 5
XP: 200
Drop_Chance: 40.0
Drop_Level: 800
Max_Level: -1
GOLD_INGOT:
Amount: 5
XP: 200
Drop_Chance: 40.0
Drop_Level: 800
Max_Level: -1
Rarity: COMMON
INK_SACK_BLUE:
Amount: 20
XP: 200
Drop_Chance: 40.0
Drop_Level: 800
Max_Level: -1
Rarity: COMMON
STONE_SWORD:
Amount: 1
XP: 200
Rarity: UNCOMMON
STONE_SPADE:
Amount: 1
XP: 200
Rarity: UNCOMMON
STONE_PICKAXE:
Amount: 1
XP: 200
Rarity: UNCOMMON
STONE_AXE:
Amount: 1
XP: 200
Rarity: UNCOMMON
STONE_HOE:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_SWORD:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_SPADE:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_PICKAXE:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_AXE:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_HOE:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_BOOTS:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_HELMET:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_LEGGINGS:
Amount: 1
XP: 200
Rarity: UNCOMMON
GOLD_CHESTPLATE:
Amount: 1
XP: 200
Rarity: UNCOMMON
IRON_INGOT:
Amount: 5
XP: 200
Rarity: UNCOMMON
GOLD_INGOT:
Amount: 5
XP: 200
Rarity: UNCOMMON
IRON_SWORD:
Amount: 1
XP: 200
Rarity: RARE
IRON_SPADE:
Amount: 1
XP: 200
Rarity: RARE
IRON_PICKAXE:
Amount: 1
XP: 200
Rarity: RARE
IRON_AXE:
Amount: 1
XP: 200
Rarity: RARE
IRON_HOE:
Amount: 1
XP: 200
Rarity: RARE
ENDER_PEARL:
Amount: 1
XP: 200
Rarity: RARE
BLAZE_ROD:
Amount: 1
XP: 200
Rarity: RARE
IRON_BOOTS:
Amount: 1
XP: 200
Rarity: EPIC
IRON_HELMET:
Amount: 1
XP: 200
Rarity: EPIC
IRON_LEGGINGS:
Amount: 1
XP: 200
Rarity: EPIC
IRON_CHESTPLATE:
Amount: 1
XP: 200
Rarity: EPIC
GHAST_TEAR:
Amount: 1
XP: 200
Rarity: EPIC
DIAMOND:
Amount: 5
XP: 200
Rarity: EPIC
DIAMOND_SWORD:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_SPADE:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_PICKAXE:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_AXE:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_HOE:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_BOOTS:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_HELMET:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_LEGGINGS:
Amount: 1
XP: 200
Rarity: LEGENDARY
DIAMOND_CHESTPLATE:
Amount: 1
XP: 200
Rarity: LEGENDARY
RECORD_3:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_4:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_5:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_6:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_7:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_8:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_9:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_10:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_11:
Amount: 1
XP: 200
Rarity: RECORD
RECORD_12:
Amount: 1
XP: 200
Rarity: RECORD
#
# Fishing drop rates
###
Item_Drop_Rates:
Tier_1:
TRAP: 7.68
COMMON: 7.50
UNCOMMON: 1.25
RARE: 0.25
EPIC: 0.10
LEGENDARY: 0.01
RECORD: 0.01
Tier_2:
TRAP: 2.50
COMMON: 6.50
UNCOMMON: 1.75
RARE: 0.75
EPIC: 0.50
LEGENDARY: 0.05
RECORD: 0.01
Tier_3:
TRAP: 1.50
COMMON: 3.50
UNCOMMON: 2.75
RARE: 1.25
EPIC: 1.00
LEGENDARY: 0.10
RECORD: 0.01
Tier_4:
TRAP: 1.00
COMMON: 2.00
UNCOMMON: 3.50
RARE: 2.25
EPIC: 1.50
LEGENDARY: 1.00
RECORD: 0.01
Tier_5:
TRAP: 0.25
COMMON: 1.50
UNCOMMON: 3.75
RARE: 2.50
EPIC: 2.00
LEGENDARY: 1.00
RECORD: 0.01
Tier_6:
TRAP: 0.10
COMMON: 1.00
UNCOMMON: 3.25
RARE: 3.75
EPIC: 2.50
LEGENDARY: 1.50
RECORD: 0.05
Tier_7:
TRAP: 0.05
COMMON: 0.25
UNCOMMON: 2.75
RARE: 4.00
EPIC: 5.00
LEGENDARY: 2.50
RECORD: 0.10
Tier_8:
TRAP: 0.01
COMMON: 0.10
UNCOMMON: 1.50
RARE: 6.00
EPIC: 7.50
LEGENDARY: 5.00
RECORD: 0.25
#
# Fishing enchantment drop rates
###
Enchantments_Rarity:
COMMON:
EFFICIENCY: 1
UNBREAKING: 1
FORTUNE: 1
PROTECTION: 1
FIRE_PROTECTION: 1
FEATHER_FALLING: 1
BLAST_PROTECTION: 1
PROJECTILE_PROTECTION: 1
RESPIRATION: 1
THORNS: 1
SHARPNESS: 1
SMITE: 1
BANE_OF_ARTHROPODS: 1
POWER: 1
UNCOMMON:
EFFICIENCY: 2
PROTECTION: 2
FIRE_PROTECTION: 2
FEATHER_FALLING: 2
BLAST_PROTECTION: 2
PROJECTILE_PROTECTION: 2
SHARPNESS: 2
SMITE: 2
BANE_OF_ARTHROPODS: 2
KNOCKBACK: 1
LOOTING: 1
POWER: 2
PUNCH: 1
RARE:
EFFICIENCY: 3
UNBREAKING: 2
PROTECTION: 3
FIRE_PROTECTION: 3
FEATHER_FALLING: 3
BLAST_PROTECTION: 3
PROJECTILE_PROTECTION: 3
RESPIRATION: 2
SHARPNESS: 3
SMITE: 3
BANE_OF_ARTHROPODS: 3
FIRE_ASPECT: 1
LOOTING: 2
POWER: 3
EPIC:
EFFICIENCY: 4
FORTUNE: 2
AQUA_AFFINITY: 1
THORNS: 2
SHARPNESS: 4
SMITE: 4
BANE_OF_ARTHROPODS: 4
POWER: 4
FLAME: 1
LEGENDARY:
EFFICIENCY: 5
UNBREAKING: 3
FORTUNE: 3
PROTECTION: 4
FIRE_PROTECTION: 4
FEATHER_FALLING: 4
BLAST_PROTECTION: 4
PROJECTILE_PROTECTION: 4
RESPIRATION: 3
AQUA_AFFINITY: 2
THORNS: 3
SHARPNESS: 5
SMITE: 5
BANE_OF_ARTHROPODS: 5
KNOCKBACK: 2
FIRE_ASPECT: 2
LOOTING: 3
SILK_TOUCH: 1
POWER: 5
PUNCH: 2
INFINITY: 1
Enchantment_Drop_Rates:
Tier_1:
COMMON: 5.00
UNCOMMON: 1.00
RARE: 0.10
EPIC: 0.01
LEGENDARY: 0.01
Tier_2:
COMMON: 7.50
UNCOMMON: 1.00
RARE: 0.10
EPIC: 0.01
LEGENDARY: 0.01
Tier_3:
COMMON: 7.50
UNCOMMON: 2.50
RARE: 0.25
EPIC: 0.10
LEGENDARY: 0.01
Tier_4:
COMMON: 10.0
UNCOMMON: 2.75
RARE: 0.50
EPIC: 0.10
LEGENDARY: 0.05
Tier_5:
COMMON: 10.0
UNCOMMON: 4.00
RARE: 0.75
EPIC: 0.25
LEGENDARY: 0.10
Tier_6:
COMMON: 9.50
UNCOMMON: 5.50
RARE: 1.75
EPIC: 0.50
LEGENDARY: 0.25
Tier_7:
COMMON: 8.50
UNCOMMON: 7.50
RARE: 2.75
EPIC: 0.75
LEGENDARY: 0.50
Tier_8:
COMMON: 7.50
UNCOMMON: 10.0
RARE: 5.25
EPIC: 1.50
LEGENDARY: 0.75
#
# Settings for Excavation
###
@ -826,4 +908,4 @@ Shake:
Amount: 1
XP: 0
Drop_Chance: 98.0
Drop_Level: 0
Drop_Level: 0