mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 11:03:43 +01:00 
			
		
		
		
	Merge pull request #311 from Glitchfinder/fixes
Additional fixes and patches.
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -40,3 +40,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Atlassian Stuff
 | 
					# Atlassian Stuff
 | 
				
			||||||
/atlassian-ide-plugin.xml
 | 
					/atlassian-ide-plugin.xml
 | 
				
			||||||
 | 
					src/.DS_Store
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					src/main/.DS_Store
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							@@ -2,7 +2,7 @@
 | 
				
			|||||||
    <modelVersion>4.0.0</modelVersion>
 | 
					    <modelVersion>4.0.0</modelVersion>
 | 
				
			||||||
    <groupId>com.gmail.nossr50.mcMMO</groupId>
 | 
					    <groupId>com.gmail.nossr50.mcMMO</groupId>
 | 
				
			||||||
    <artifactId>mcMMO</artifactId>
 | 
					    <artifactId>mcMMO</artifactId>
 | 
				
			||||||
    <version>1.3.11</version>
 | 
					    <version>1.3.12</version>
 | 
				
			||||||
    <name>mcMMO</name>
 | 
					    <name>mcMMO</name>
 | 
				
			||||||
    <url>https://github.com/mcMMO-Dev/mcMMO</url>
 | 
					    <url>https://github.com/mcMMO-Dev/mcMMO</url>
 | 
				
			||||||
    <issueManagement>
 | 
					    <issueManagement>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,10 +10,12 @@ public class FishingCommand extends SkillCommand {
 | 
				
			|||||||
    private int lootTier;
 | 
					    private int lootTier;
 | 
				
			||||||
    private String magicChance;
 | 
					    private String magicChance;
 | 
				
			||||||
    private String shakeChance;
 | 
					    private String shakeChance;
 | 
				
			||||||
 | 
					    private String fishermansDietRank;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private boolean canTreasureHunt;
 | 
					    private boolean canTreasureHunt;
 | 
				
			||||||
    private boolean canMagicHunt;
 | 
					    private boolean canMagicHunt;
 | 
				
			||||||
    private boolean canShake;
 | 
					    private boolean canShake;
 | 
				
			||||||
 | 
					    private boolean canFishermansDiet;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public FishingCommand() {
 | 
					    public FishingCommand() {
 | 
				
			||||||
        super(SkillType.FISHING);
 | 
					        super(SkillType.FISHING);
 | 
				
			||||||
@@ -23,7 +25,27 @@ public class FishingCommand extends SkillCommand {
 | 
				
			|||||||
    protected void dataCalculations() {
 | 
					    protected void dataCalculations() {
 | 
				
			||||||
        lootTier = Fishing.getFishingLootTier(profile);
 | 
					        lootTier = Fishing.getFishingLootTier(profile);
 | 
				
			||||||
        magicChance = percent.format((float) lootTier / 15);
 | 
					        magicChance = percent.format((float) lootTier / 15);
 | 
				
			||||||
        shakeChance = String.valueOf(Fishing.getShakeChance(lootTier));
 | 
					        int dropChance = Fishing.getShakeChance(lootTier);
 | 
				
			||||||
 | 
					        if (player.hasPermission("mcmmo.perks.lucky.fishing")) {
 | 
				
			||||||
 | 
					            dropChance = (int) (dropChance * 1.25);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        shakeChance = String.valueOf(dropChance);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (skillValue >= 1000) {
 | 
				
			||||||
 | 
					            fishermansDietRank = "5";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else if (skillValue >= 800) {
 | 
				
			||||||
 | 
					            fishermansDietRank = "4";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else if (skillValue >= 600) {
 | 
				
			||||||
 | 
					            fishermansDietRank = "3";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else if (skillValue >= 400) {
 | 
				
			||||||
 | 
					            fishermansDietRank = "2";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            fishermansDietRank = "1";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -31,6 +53,7 @@ public class FishingCommand extends SkillCommand {
 | 
				
			|||||||
        canTreasureHunt = permInstance.fishingTreasures(player);
 | 
					        canTreasureHunt = permInstance.fishingTreasures(player);
 | 
				
			||||||
        canMagicHunt = permInstance.fishingMagic(player);
 | 
					        canMagicHunt = permInstance.fishingMagic(player);
 | 
				
			||||||
        canShake = permInstance.shakeMob(player);
 | 
					        canShake = permInstance.shakeMob(player);
 | 
				
			||||||
 | 
					        canFishermansDiet = permInstance.fishermansDiet(player);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -51,6 +74,10 @@ public class FishingCommand extends SkillCommand {
 | 
				
			|||||||
        if (canShake) {
 | 
					        if (canShake) {
 | 
				
			||||||
            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Fishing.Effect.4"), LocaleLoader.getString("Fishing.Effect.5") }));
 | 
					            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Fishing.Effect.4"), LocaleLoader.getString("Fishing.Effect.5") }));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (canFishermansDiet) {
 | 
				
			||||||
 | 
					            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Fishing.Effect.6"), LocaleLoader.getString("Fishing.Effect.7") }));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -76,5 +103,9 @@ public class FishingCommand extends SkillCommand {
 | 
				
			|||||||
                player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }));
 | 
					                player.sendMessage(LocaleLoader.getString("Fishing.Ability.Shake", new Object[] { shakeChance }));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (canFishermansDiet) {
 | 
				
			||||||
 | 
					            player.sendMessage(LocaleLoader.getString("Fishing.Ability.FD", new Object[] { fishermansDietRank }));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@ public class RepairCommand extends SkillCommand {
 | 
				
			|||||||
    private boolean canSuperRepair;
 | 
					    private boolean canSuperRepair;
 | 
				
			||||||
    private boolean canMasterRepair;
 | 
					    private boolean canMasterRepair;
 | 
				
			||||||
    private boolean canArcaneForge;
 | 
					    private boolean canArcaneForge;
 | 
				
			||||||
 | 
					    private boolean canSalvage;
 | 
				
			||||||
    private boolean canRepairStone;
 | 
					    private boolean canRepairStone;
 | 
				
			||||||
    private boolean canRepairIron;
 | 
					    private boolean canRepairIron;
 | 
				
			||||||
    private boolean canRepairGold;
 | 
					    private boolean canRepairGold;
 | 
				
			||||||
@@ -24,6 +25,7 @@ public class RepairCommand extends SkillCommand {
 | 
				
			|||||||
    private boolean canRepairLeather;
 | 
					    private boolean canRepairLeather;
 | 
				
			||||||
    private boolean canRepairWood;
 | 
					    private boolean canRepairWood;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private int salvageLevel;
 | 
				
			||||||
    private int diamondLevel;
 | 
					    private int diamondLevel;
 | 
				
			||||||
    private int goldLevel;
 | 
					    private int goldLevel;
 | 
				
			||||||
    private int ironLevel;
 | 
					    private int ironLevel;
 | 
				
			||||||
@@ -46,6 +48,8 @@ public class RepairCommand extends SkillCommand {
 | 
				
			|||||||
        ironLevel = (ironRepairable == null) ? 0 : ironRepairable.getMinimumLevel();
 | 
					        ironLevel = (ironRepairable == null) ? 0 : ironRepairable.getMinimumLevel();
 | 
				
			||||||
        stoneLevel = (stoneRepairable == null) ? 0 : stoneRepairable.getMinimumLevel();
 | 
					        stoneLevel = (stoneRepairable == null) ? 0 : stoneRepairable.getMinimumLevel();
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        salvageLevel = Config.getInstance().getSalvageUnlockLevel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        repairMasteryBonus = percent.format(skillValue / 500);
 | 
					        repairMasteryBonus = percent.format(skillValue / 500);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (skillValue >= 1000) {
 | 
					        if (skillValue >= 1000) {
 | 
				
			||||||
@@ -63,6 +67,7 @@ public class RepairCommand extends SkillCommand {
 | 
				
			|||||||
        canSuperRepair = permInstance.repairBonus(player);
 | 
					        canSuperRepair = permInstance.repairBonus(player);
 | 
				
			||||||
        canMasterRepair = permInstance.repairMastery(player);
 | 
					        canMasterRepair = permInstance.repairMastery(player);
 | 
				
			||||||
        canArcaneForge = permInstance.arcaneForging(player);
 | 
					        canArcaneForge = permInstance.arcaneForging(player);
 | 
				
			||||||
 | 
					        canSalvage = permInstance.salvage(player);
 | 
				
			||||||
        canRepairDiamond = permInstance.diamondRepair(player);
 | 
					        canRepairDiamond = permInstance.diamondRepair(player);
 | 
				
			||||||
        canRepairGold = permInstance.goldRepair(player);
 | 
					        canRepairGold = permInstance.goldRepair(player);
 | 
				
			||||||
        canRepairIron = permInstance.ironRepair(player);
 | 
					        canRepairIron = permInstance.ironRepair(player);
 | 
				
			||||||
@@ -74,7 +79,7 @@ public class RepairCommand extends SkillCommand {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    protected boolean effectsHeaderPermissions() {
 | 
					    protected boolean effectsHeaderPermissions() {
 | 
				
			||||||
        return canArcaneForge || canRepairDiamond || canRepairGold || canRepairIron || canMasterRepair || canRepairStone || canSuperRepair || canRepairString || canRepairWood || canRepairLeather;
 | 
					        return canArcaneForge || canSalvage || canRepairDiamond || canRepairGold || canRepairIron || canMasterRepair || canRepairStone || canSuperRepair || canRepairString || canRepairWood || canRepairLeather;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -107,6 +112,10 @@ public class RepairCommand extends SkillCommand {
 | 
				
			|||||||
            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Repair.Effect.6", new Object[] { diamondLevel }), LocaleLoader.getString("Repair.Effect.7") }));
 | 
					            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Repair.Effect.6", new Object[] { diamondLevel }), LocaleLoader.getString("Repair.Effect.7") }));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (canSalvage && salvageLevel > 0) {
 | 
				
			||||||
 | 
					            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Repair.Effect.16", new Object[] { salvageLevel }), LocaleLoader.getString("Repair.Effect.17") }));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (canArcaneForge) {
 | 
					        if (canArcaneForge) {
 | 
				
			||||||
            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Repair.Effect.8"), LocaleLoader.getString("Repair.Effect.9") }));
 | 
					            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Repair.Effect.8"), LocaleLoader.getString("Repair.Effect.9") }));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -270,6 +270,11 @@ public class Config extends ConfigLoader {
 | 
				
			|||||||
    /* Repair */
 | 
					    /* Repair */
 | 
				
			||||||
    public boolean getRepairAnvilMessagesEnabled() { return config.getBoolean("Skills.Repair.Anvil_Messages", true); }
 | 
					    public boolean getRepairAnvilMessagesEnabled() { return config.getBoolean("Skills.Repair.Anvil_Messages", true); }
 | 
				
			||||||
    public int getRepairAnvilId() { return config.getInt("Skills.Repair.Anvil_ID", 42); }
 | 
					    public int getRepairAnvilId() { return config.getInt("Skills.Repair.Anvil_ID", 42); }
 | 
				
			||||||
 | 
					    public boolean getSalvageEnabled() { return config.getBoolean("Skills.Repair.Salvage_enabled", true); }
 | 
				
			||||||
 | 
					    public int getSalvageAnvilId() { return config.getInt("Skills.Repair.Salvage_Anvil_ID", 41); }
 | 
				
			||||||
 | 
					    public int getSalvageUnlockLevel() { return config.getInt("Skills.Repair.Salvage_UnlockLevel", 600); }
 | 
				
			||||||
 | 
					    public boolean getSalvageTools() { return config.getBoolean("Skills.Repair.Salvage_tools", true); }
 | 
				
			||||||
 | 
					    public boolean getSalvageArmor() { return config.getBoolean("Skills.Repair.Salvage_armor", true); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Taming */
 | 
					    /* Taming */
 | 
				
			||||||
    public int getTamingXPWolf() { return config.getInt("Experience.Taming.Animal_Taming.Wolf", 250); }
 | 
					    public int getTamingXPWolf() { return config.getInt("Experience.Taming.Animal_Taming.Wolf", 250); }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,6 +31,7 @@ public class PlayerProfile {
 | 
				
			|||||||
    private boolean loaded;
 | 
					    private boolean loaded;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private boolean placedAnvil;
 | 
					    private boolean placedAnvil;
 | 
				
			||||||
 | 
					    private boolean placedSalvageAnvil;
 | 
				
			||||||
    private boolean partyChatMode, adminChatMode;
 | 
					    private boolean partyChatMode, adminChatMode;
 | 
				
			||||||
    private boolean godMode;
 | 
					    private boolean godMode;
 | 
				
			||||||
    private boolean greenTerraMode, treeFellerMode, superBreakerMode, gigaDrillBreakerMode, serratedStrikesMode, skullSplitterMode, berserkMode;
 | 
					    private boolean greenTerraMode, treeFellerMode, superBreakerMode, gigaDrillBreakerMode, serratedStrikesMode, skullSplitterMode, berserkMode;
 | 
				
			||||||
@@ -491,7 +492,7 @@ public class PlayerProfile {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*
 | 
					    /*
 | 
				
			||||||
     * Anvil Placement
 | 
					     * Repair Anvil Placement
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void togglePlacedAnvil() {
 | 
					    public void togglePlacedAnvil() {
 | 
				
			||||||
@@ -501,6 +502,16 @@ public class PlayerProfile {
 | 
				
			|||||||
    public Boolean getPlacedAnvil() {
 | 
					    public Boolean getPlacedAnvil() {
 | 
				
			||||||
        return placedAnvil;
 | 
					        return placedAnvil;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					     * Salvage Anvil Placement
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public void togglePlacedSalvageAnvil() {
 | 
				
			||||||
 | 
					    	placedSalvageAnvil = !placedSalvageAnvil;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Boolean getPlacedSalvageAnvil() {
 | 
				
			||||||
 | 
					        return placedSalvageAnvil;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*
 | 
					    /*
 | 
				
			||||||
     * HUD Stuff
 | 
					     * HUD Stuff
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,6 +34,7 @@ import com.gmail.nossr50.skills.gathering.Herbalism;
 | 
				
			|||||||
import com.gmail.nossr50.skills.gathering.Mining;
 | 
					import com.gmail.nossr50.skills.gathering.Mining;
 | 
				
			||||||
import com.gmail.nossr50.skills.gathering.WoodCutting;
 | 
					import com.gmail.nossr50.skills.gathering.WoodCutting;
 | 
				
			||||||
import com.gmail.nossr50.skills.repair.Repair;
 | 
					import com.gmail.nossr50.skills.repair.Repair;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.skills.repair.Salvage;
 | 
				
			||||||
import com.gmail.nossr50.spout.SpoutSounds;
 | 
					import com.gmail.nossr50.spout.SpoutSounds;
 | 
				
			||||||
import com.gmail.nossr50.util.BlockChecks;
 | 
					import com.gmail.nossr50.util.BlockChecks;
 | 
				
			||||||
import com.gmail.nossr50.util.ItemChecks;
 | 
					import com.gmail.nossr50.util.ItemChecks;
 | 
				
			||||||
@@ -154,6 +155,9 @@ public class BlockListener implements Listener {
 | 
				
			|||||||
        if (id == configInstance.getRepairAnvilId() && configInstance.getRepairAnvilMessagesEnabled()) {
 | 
					        if (id == configInstance.getRepairAnvilId() && configInstance.getRepairAnvilMessagesEnabled()) {
 | 
				
			||||||
            Repair.placedAnvilCheck(player, id);
 | 
					            Repair.placedAnvilCheck(player, id);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if (id == configInstance.getSalvageAnvilId() && configInstance.getRepairAnvilMessagesEnabled()) {
 | 
				
			||||||
 | 
					            Salvage.placedAnvilCheck(player, id);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -294,6 +298,14 @@ public class BlockListener implements Listener {
 | 
				
			|||||||
        Block block = event.getBlock();
 | 
					        Block block = event.getBlock();
 | 
				
			||||||
        Material material = block.getType();
 | 
					        Material material = block.getType();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        FakeBlockBreakEvent fakeEvent = new FakeBlockBreakEvent(block, player);
 | 
				
			||||||
 | 
					        mcMMO.p.getServer().getPluginManager().callEvent(fakeEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(fakeEvent.isCancelled())
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            fakeEvent.setCancelled(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Config configInstance = Config.getInstance();
 | 
					        Config configInstance = Config.getInstance();
 | 
				
			||||||
        Permissions permInstance = Permissions.getInstance();
 | 
					        Permissions permInstance = Permissions.getInstance();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,9 +57,11 @@ public class EntityListener implements Listener {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
 | 
					    @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
 | 
				
			||||||
    public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
 | 
					    public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
 | 
				
			||||||
        if (event instanceof FakeEntityDamageByEntityEvent) {
 | 
					        if (event instanceof FakeEntityDamageByEntityEvent)
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(event.getDamage() <= 0)
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Entity attacker = event.getDamager();
 | 
					        Entity attacker = event.getDamager();
 | 
				
			||||||
        Entity defender = event.getEntity();
 | 
					        Entity defender = event.getEntity();
 | 
				
			||||||
@@ -261,10 +263,6 @@ public class EntityListener implements Listener {
 | 
				
			|||||||
            int currentFoodLevel = player.getFoodLevel();
 | 
					            int currentFoodLevel = player.getFoodLevel();
 | 
				
			||||||
            int newFoodLevel = event.getFoodLevel();
 | 
					            int newFoodLevel = event.getFoodLevel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (!Permissions.getInstance().farmersDiet(player)) {
 | 
					 | 
				
			||||||
                return;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            /*
 | 
					            /*
 | 
				
			||||||
             * Some foods have 3 ranks
 | 
					             * Some foods have 3 ranks
 | 
				
			||||||
             * Some foods have 5 ranks
 | 
					             * Some foods have 5 ranks
 | 
				
			||||||
@@ -275,65 +273,97 @@ public class EntityListener implements Listener {
 | 
				
			|||||||
            if (newFoodLevel > currentFoodLevel) {
 | 
					            if (newFoodLevel > currentFoodLevel) {
 | 
				
			||||||
                Material food = player.getItemInHand().getType();
 | 
					                Material food = player.getItemInHand().getType();
 | 
				
			||||||
                int herbLevel = profile.getSkillLevel(SkillType.HERBALISM);
 | 
					                int herbLevel = profile.getSkillLevel(SkillType.HERBALISM);
 | 
				
			||||||
 | 
					                int fishLevel = profile.getSkillLevel(SkillType.FISHING);
 | 
				
			||||||
                int foodChange = newFoodLevel - currentFoodLevel;
 | 
					                int foodChange = newFoodLevel - currentFoodLevel;
 | 
				
			||||||
                int rankChange = 0;
 | 
					                int rankChange = 0;
 | 
				
			||||||
 | 
					                boolean fish = false;
 | 
				
			||||||
 | 
					                boolean herb = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                switch (food) {
 | 
					                switch (food) {
 | 
				
			||||||
                case BREAD:
 | 
					                case BREAD:
 | 
				
			||||||
                    /* BREAD RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @ 1000 */
 | 
					                    /* BREAD RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 200;
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case COOKIE:
 | 
					                case COOKIE:
 | 
				
			||||||
                    /* COOKIE RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */
 | 
					                    /* COOKIE RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 400;
 | 
					                    rankChange = 400;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case MELON:
 | 
					                case MELON:
 | 
				
			||||||
                    /* MELON RESTORES  1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */
 | 
					                    /* MELON RESTORES  1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 400;
 | 
					                    rankChange = 400;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case MUSHROOM_SOUP:
 | 
					                case MUSHROOM_SOUP:
 | 
				
			||||||
                    /* MUSHROOM SOUP RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @ 1000 */
 | 
					                    /* MUSHROOM SOUP RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 200;
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case CARROT_ITEM:
 | 
					                case CARROT_ITEM:
 | 
				
			||||||
                    /* CARROT RESTORES 2 HUNGER - RESTORES 4 1/2 HUNGER @ 1000 */
 | 
					                    /* CARROT RESTORES 2 HUNGER - RESTORES 4 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 200;
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case POTATO_ITEM:
 | 
					                case POTATO_ITEM:
 | 
				
			||||||
                    /* POTATO RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */
 | 
					                    /* POTATO RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 400;
 | 
					                    rankChange = 400;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case BAKED_POTATO:
 | 
					                case BAKED_POTATO:
 | 
				
			||||||
                    /* BAKED POTATO RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @ 1000 */
 | 
					                    /* BAKED POTATO RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 200;
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case POISONOUS_POTATO:
 | 
					                case POISONOUS_POTATO:
 | 
				
			||||||
                    /* POISONOUS POTATO RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */
 | 
					                    /* POISONOUS POTATO RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 400;
 | 
					                    rankChange = 400;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case GOLDEN_CARROT:
 | 
					                case GOLDEN_CARROT:
 | 
				
			||||||
                    /* GOLDEN CARROT RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @ 1000 */
 | 
					                    /* GOLDEN CARROT RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 200;
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case PUMPKIN_PIE:
 | 
					                case PUMPKIN_PIE:
 | 
				
			||||||
                    /* PUMPKIN PIE RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @ 1000 */
 | 
					                    /* PUMPKIN PIE RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @ 1000 */
 | 
				
			||||||
                    rankChange = 200;
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    herb = true;
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                case RAW_FISH:
 | 
				
			||||||
 | 
					                    /* RAW FISH RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */
 | 
				
			||||||
 | 
					                    rankChange = 400;
 | 
				
			||||||
 | 
					                    fish = true;
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                case COOKED_FISH:
 | 
				
			||||||
 | 
					                    /* COOKED FISH RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @ 1000 */
 | 
				
			||||||
 | 
					                    rankChange = 200;
 | 
				
			||||||
 | 
					                    fish = true;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                default:
 | 
					                default:
 | 
				
			||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (herb && !Permissions.getInstance().farmersDiet(player)) {
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (fish && !Permissions.getInstance().fishermansDiet(player)) {
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                for (int i = 200; i <= 1000; i += rankChange) {
 | 
					                for (int i = 200; i <= 1000; i += rankChange) {
 | 
				
			||||||
                    if (herbLevel >= i) {
 | 
					                    if ((herb && herbLevel >= i) || (fish && fishLevel >= i)) {
 | 
				
			||||||
                        foodChange++;
 | 
					                        foodChange++;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
package com.gmail.nossr50.listeners;
 | 
					package com.gmail.nossr50.listeners;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.bukkit.ChatColor;
 | 
					import org.bukkit.ChatColor;
 | 
				
			||||||
 | 
					import org.bukkit.Location;
 | 
				
			||||||
import org.bukkit.Material;
 | 
					import org.bukkit.Material;
 | 
				
			||||||
import org.bukkit.block.Block;
 | 
					import org.bukkit.block.Block;
 | 
				
			||||||
import org.bukkit.entity.LivingEntity;
 | 
					import org.bukkit.entity.LivingEntity;
 | 
				
			||||||
@@ -36,6 +37,7 @@ import com.gmail.nossr50.runnables.BleedTimer;
 | 
				
			|||||||
import com.gmail.nossr50.skills.gathering.BlastMining;
 | 
					import com.gmail.nossr50.skills.gathering.BlastMining;
 | 
				
			||||||
import com.gmail.nossr50.skills.gathering.Fishing;
 | 
					import com.gmail.nossr50.skills.gathering.Fishing;
 | 
				
			||||||
import com.gmail.nossr50.skills.gathering.Herbalism;
 | 
					import com.gmail.nossr50.skills.gathering.Herbalism;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.skills.repair.Salvage;
 | 
				
			||||||
import com.gmail.nossr50.skills.taming.TamingManager;
 | 
					import com.gmail.nossr50.skills.taming.TamingManager;
 | 
				
			||||||
import com.gmail.nossr50.util.BlockChecks;
 | 
					import com.gmail.nossr50.util.BlockChecks;
 | 
				
			||||||
import com.gmail.nossr50.util.Item;
 | 
					import com.gmail.nossr50.util.Item;
 | 
				
			||||||
@@ -196,13 +198,76 @@ public class PlayerListener implements Listener {
 | 
				
			|||||||
            }   
 | 
					            }   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (player.hasPermission("mcmmo.perks.xp.quadruple")) {
 | 
					            if (player.hasPermission("mcmmo.perks.xp.quadruple")) {
 | 
				
			||||||
                player.sendMessage(perkPrefix + ChatColor.DARK_AQUA + "Quadruple XP - Receive 4x XP.");
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.xp.name"), LocaleLoader.getString("Perks.xp.desc", new Object[] { 4 }) }));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (player.hasPermission("mcmmo.perks.xp.triple")) {
 | 
					            else if (player.hasPermission("mcmmo.perks.xp.triple")) {
 | 
				
			||||||
                player.sendMessage(perkPrefix + ChatColor.DARK_AQUA + "Triple XP - Receive 3x XP.");
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.xp.name"), LocaleLoader.getString("Perks.xp.desc", new Object[] { 3 }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (player.hasPermission("mcmmo.perks.xp.150percentboost")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.xp.name"), LocaleLoader.getString("Perks.xp.desc", new Object[] { 2.5 }) }));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (player.hasPermission("mcmmo.perks.xp.double")) {
 | 
					            else if (player.hasPermission("mcmmo.perks.xp.double")) {
 | 
				
			||||||
                player.sendMessage(perkPrefix + ChatColor.DARK_AQUA + "Double XP - Receive 2x XP.");
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.xp.name"), LocaleLoader.getString("Perks.xp.desc", new Object[] { 2 }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (player.hasPermission("mcmmo.perks.xp.50percentboost")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.xp.name"), LocaleLoader.getString("Perks.xp.desc", new Object[] { 1.5 }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.cooldowns.halved")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.cooldowns.name"), LocaleLoader.getString("Perks.cooldowns.desc", new Object[] { "1/2" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (player.hasPermission("mcmmo.perks.cooldowns.thirded")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.cooldowns.name"), LocaleLoader.getString("Perks.cooldowns.desc", new Object[] { "1/3" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (player.hasPermission("mcmmo.perks.cooldowns.quartered")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.cooldowns.name"), LocaleLoader.getString("Perks.cooldowns.desc", new Object[] { "1/4" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.activationtime.twelveseconds")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.activationtime.name"), LocaleLoader.getString("Perks.activationtime.desc", new Object[] { 12 }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (player.hasPermission("mcmmo.perks.activationtime.eightseconds")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.activationtime.name"), LocaleLoader.getString("Perks.activationtime.desc", new Object[] { 8 }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (player.hasPermission("mcmmo.perks.activationtime.fourseconds")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.activationtime.name"), LocaleLoader.getString("Perks.activationtime.desc", new Object[] { 4 }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.acrobatics")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Acrobatics" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.archery")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Archery" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.axes")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Axes" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.excavation")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Excavation" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.fishing")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Fishing" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.herbalism")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Herbalism" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.mining")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Mining" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.repair")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Repair" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.swords")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Swords" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.taming")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Taming" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.unarmed")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Unarmed" }) }));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (player.hasPermission("mcmmo.perks.lucky.woodcutting")) {
 | 
				
			||||||
 | 
					                player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Woodcutting" }) }));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            player.sendMessage(ChatColor.GOLD+"[mcMMO] " + ChatColor.GREEN + "http://www.mcmmo.info" + ChatColor.YELLOW + " - mcMMO Website & Forums"); //TODO: Locale
 | 
					            player.sendMessage(ChatColor.GOLD+"[mcMMO] " + ChatColor.GREEN + "http://www.mcmmo.info" + ChatColor.YELLOW + " - mcMMO Website & Forums"); //TODO: Locale
 | 
				
			||||||
@@ -259,6 +324,15 @@ public class PlayerListener implements Listener {
 | 
				
			|||||||
                    player.updateInventory();
 | 
					                    player.updateInventory();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            /* SALVAGE CHECKS */
 | 
				
			||||||
 | 
					            if (Permissions.getInstance().salvage(player) && block.getTypeId() == Config.getInstance().getSalvageAnvilId()) {
 | 
				
			||||||
 | 
					                if (Salvage.isSalvageable(inHand)) {
 | 
				
			||||||
 | 
										final Location location = block.getLocation();
 | 
				
			||||||
 | 
					                	Salvage.handleSalvage(player, location, inHand);
 | 
				
			||||||
 | 
					                    event.setCancelled(true);
 | 
				
			||||||
 | 
					                    player.updateInventory();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* ACTIVATION CHECKS */
 | 
					            /* ACTIVATION CHECKS */
 | 
				
			||||||
            if (Config.getInstance().getAbilitiesEnabled() && BlockChecks.abilityBlockCheck(block)) {
 | 
					            if (Config.getInstance().getAbilitiesEnabled() && BlockChecks.abilityBlockCheck(block)) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -146,6 +146,11 @@ public class mcMMO extends JavaPlugin {
 | 
				
			|||||||
        repairManager = RepairManagerFactory.getRepairManager(repairables.size());
 | 
					        repairManager = RepairManagerFactory.getRepairManager(repairables.size());
 | 
				
			||||||
        repairManager.registerRepairables(repairables);
 | 
					        repairManager.registerRepairables(repairables);
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        //Check if Repair Anvil and Salvage Anvil have different itemID's
 | 
				
			||||||
 | 
					        if (configInstance.getSalvageAnvilId() == configInstance.getRepairAnvilId()){
 | 
				
			||||||
 | 
					        	System.out.println("[WARNING!] Can't use the same itemID for Repair/Salvage Anvils!" );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!configInstance.getUseMySQL()) {
 | 
					        if (!configInstance.getUseMySQL()) {
 | 
				
			||||||
            Users.loadUsers();
 | 
					            Users.loadUsers();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,7 +42,10 @@ public class ChunkletUnloader implements Runnable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                //Chunklets are unloaded only if their chunk has been unloaded for minimumInactiveTime
 | 
					                //Chunklets are unloaded only if their chunk has been unloaded for minimumInactiveTime
 | 
				
			||||||
                if (inactiveTime >= minimumInactiveTime) {
 | 
					                if (inactiveTime >= minimumInactiveTime) {
 | 
				
			||||||
                    mcMMO.placeStore.unloadChunk(chunk.getX(), chunk.getZ(), chunk.getWorld());
 | 
					                    if(mcMMO.p.placeStore == null)
 | 
				
			||||||
 | 
					                        continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    mcMMO.p.placeStore.unloadChunk(chunk.getX(), chunk.getZ(), chunk.getWorld());
 | 
				
			||||||
                    it.remove();
 | 
					                    it.remove();
 | 
				
			||||||
                    continue;
 | 
					                    continue;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -292,7 +292,7 @@ public class BlastMining {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        /* Check Cooldown */
 | 
					        /* Check Cooldown */
 | 
				
			||||||
        if (!Skills.cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
 | 
					        if (!Skills.cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
 | 
				
			||||||
            player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + Skills.calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown()) + "s)");
 | 
					            player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + Skills.calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -250,7 +250,7 @@ public class Fishing {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            case COW:
 | 
					            case COW:
 | 
				
			||||||
        		if (DROP_NUMBER > 99) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
 | 
				
			||||||
                } else if (DROP_NUMBER > 50) {
 | 
					                } else if (DROP_NUMBER > 50) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.LEATHER));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.LEATHER));
 | 
				
			||||||
@@ -260,7 +260,7 @@ public class Fishing {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            case CREEPER:
 | 
					            case CREEPER:
 | 
				
			||||||
        		if (DROP_NUMBER > 99) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 4));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 4));
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.SULPHUR));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.SULPHUR));
 | 
				
			||||||
@@ -280,9 +280,9 @@ public class Fishing {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            case IRON_GOLEM:
 | 
					            case IRON_GOLEM:
 | 
				
			||||||
        		if (DROP_NUMBER > 99) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
 | 
				
			||||||
        		} else if (DROP_NUMBER > 90) {
 | 
					                } else if (DROP_NUMBER > 85) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.IRON_INGOT));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.IRON_INGOT));
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.RED_ROSE));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.RED_ROSE));
 | 
				
			||||||
@@ -294,16 +294,17 @@ public class Fishing {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            case MUSHROOM_COW:
 | 
					            case MUSHROOM_COW:
 | 
				
			||||||
        		if (DROP_NUMBER > 99) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
 | 
				
			||||||
        		} else if (DROP_NUMBER > 98) {
 | 
					                } else if (DROP_NUMBER > 90) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.MUSHROOM_SOUP));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.MUSHROOM_SOUP));
 | 
				
			||||||
        		} else if (DROP_NUMBER > 66) {
 | 
					                } else if (DROP_NUMBER > 60) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.LEATHER));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.LEATHER));
 | 
				
			||||||
        		} else if (DROP_NUMBER > 33) {
 | 
					                } else if (DROP_NUMBER > 30) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.RAW_BEEF));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.RAW_BEEF));
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
        			Misc.dropItems(location, new ItemStack(Material.RED_MUSHROOM), 3);
 | 
					                                Misc.dropItem(location, new ItemStack(Material.RED_MUSHROOM));
 | 
				
			||||||
 | 
					                Misc.randomDropItems(location, new ItemStack(Material.RED_MUSHROOM), 50, 2);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -336,20 +337,22 @@ public class Fishing {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            case SKELETON:
 | 
					            case SKELETON:
 | 
				
			||||||
                if (((CraftSkeleton) le).getHandle().getSkeletonType() == 1) {
 | 
					                if (((CraftSkeleton) le).getHandle().getSkeletonType() == 1) {
 | 
				
			||||||
        			if (DROP_NUMBER > 97) {
 | 
					                    if (DROP_NUMBER > 95) {
 | 
				
			||||||
                        Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 1));
 | 
					                        Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 1));
 | 
				
			||||||
                    } else if (DROP_NUMBER > 50) {
 | 
					                    } else if (DROP_NUMBER > 50) {
 | 
				
			||||||
                        Misc.dropItem(location, new ItemStack(Material.BONE));
 | 
					                        Misc.dropItem(location, new ItemStack(Material.BONE));
 | 
				
			||||||
                    } else {
 | 
					                    } else {
 | 
				
			||||||
        				Misc.dropItems(location, new ItemStack(Material.COAL), 3);
 | 
					                        Misc.dropItem(location, new ItemStack(Material.COAL));
 | 
				
			||||||
 | 
					                    Misc.randomDropItems(location, new ItemStack(Material.COAL), 50, 2);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
        			if (DROP_NUMBER > 99) {
 | 
					                    if (DROP_NUMBER > 95) {
 | 
				
			||||||
                        Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM));
 | 
					                        Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM));
 | 
				
			||||||
                    } else if (DROP_NUMBER > 50) {
 | 
					                    } else if (DROP_NUMBER > 50) {
 | 
				
			||||||
                        Misc.dropItem(location, new ItemStack(Material.BONE));
 | 
					                        Misc.dropItem(location, new ItemStack(Material.BONE));
 | 
				
			||||||
                    } else {
 | 
					                    } else {
 | 
				
			||||||
        				Misc.dropItems(location, new ItemStack(Material.ARROW), 3);
 | 
					                        Misc.dropItem(location, new ItemStack(Material.ARROW));
 | 
				
			||||||
 | 
					                    Misc.randomDropItems(location, new ItemStack(Material.ARROW), 50, 2);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
@@ -359,10 +362,11 @@ public class Fishing {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            case SNOWMAN:
 | 
					            case SNOWMAN:
 | 
				
			||||||
        		if (DROP_NUMBER > 99) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
        			Misc.dropItems(location, new ItemStack(Material.SNOW_BALL), 5);
 | 
					                    Misc.dropItem(location, new ItemStack(Material.SNOW_BALL));
 | 
				
			||||||
 | 
					                Misc.randomDropItems(location, new ItemStack(Material.SNOW_BALL), 50, 4);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -380,7 +384,7 @@ public class Fishing {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            case WITCH:
 | 
					            case WITCH:
 | 
				
			||||||
                final int DROP_NUMBER_2 = random.nextInt(randomChance) + 1;
 | 
					                final int DROP_NUMBER_2 = random.nextInt(randomChance) + 1;
 | 
				
			||||||
        		if (DROP_NUMBER > 97) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    if (DROP_NUMBER_2 > 66) {
 | 
					                    if (DROP_NUMBER_2 > 66) {
 | 
				
			||||||
                        Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8197));
 | 
					                        Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8197));
 | 
				
			||||||
                    } else if (DROP_NUMBER_2 > 33) {
 | 
					                    } else if (DROP_NUMBER_2 > 33) {
 | 
				
			||||||
@@ -410,7 +414,7 @@ public class Fishing {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            case ZOMBIE:
 | 
					            case ZOMBIE:
 | 
				
			||||||
        		if (DROP_NUMBER > 99) {
 | 
					                if (DROP_NUMBER > 95) {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 2));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 2));
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    Misc.dropItem(location, new ItemStack(Material.ROTTEN_FLESH));
 | 
					                    Misc.dropItem(location, new ItemStack(Material.ROTTEN_FLESH));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -267,7 +267,6 @@ public class Herbalism {
 | 
				
			|||||||
                else if (mat == Material.POTATO) {
 | 
					                else if (mat == Material.POTATO) {
 | 
				
			||||||
                    is = new ItemStack(Material.POTATO_ITEM, 1, (short) 0);
 | 
					                    is = new ItemStack(Material.POTATO_ITEM, 1, (short) 0);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					 | 
				
			||||||
                else {
 | 
					                else {
 | 
				
			||||||
                    is = new ItemStack(mat);
 | 
					                    is = new ItemStack(mat);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -297,15 +296,13 @@ public class Herbalism {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                case MELON_BLOCK:
 | 
					                case MELON_BLOCK:
 | 
				
			||||||
                    if (configInstance.getMelonsDoubleDropsEnabled()) {
 | 
					                    if (configInstance.getMelonsDoubleDropsEnabled()) {
 | 
				
			||||||
                        Misc.dropItems(location, is, 3);
 | 
					                        Misc.dropItem(location, is);
 | 
				
			||||||
                        Misc.randomDropItems(location, is, 50, 4);
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case NETHER_WARTS:
 | 
					                case NETHER_WARTS:
 | 
				
			||||||
                    if (configInstance.getNetherWartsDoubleDropsEnabled()) {
 | 
					                    if (configInstance.getNetherWartsDoubleDropsEnabled()) {
 | 
				
			||||||
                        Misc.dropItems(location, is, 2);
 | 
					                        Misc.dropItem(location, is);
 | 
				
			||||||
                        Misc.randomDropItems(location, is, 50, 3);
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -449,7 +446,7 @@ public class Herbalism {
 | 
				
			|||||||
            case CARROT:
 | 
					            case CARROT:
 | 
				
			||||||
                Misc.dropItem(location, new ItemStack(Material.CARROT_ITEM));
 | 
					                Misc.dropItem(location, new ItemStack(Material.CARROT_ITEM));
 | 
				
			||||||
                Misc.randomDropItems(location, new ItemStack(Material.CARROT_ITEM), 50, 3);
 | 
					                Misc.randomDropItems(location, new ItemStack(Material.CARROT_ITEM), 50, 3);
 | 
				
			||||||
                inventory.removeItem(new ItemStack(Material.POTATO_ITEM));
 | 
					                inventory.removeItem(new ItemStack(Material.CARROT_ITEM));
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case POTATO:
 | 
					            case POTATO:
 | 
				
			||||||
                Misc.dropItem(location, new ItemStack(Material.POTATO_ITEM));
 | 
					                Misc.dropItem(location, new ItemStack(Material.POTATO_ITEM));
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										115
									
								
								src/main/java/com/gmail/nossr50/skills/repair/Salvage.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								src/main/java/com/gmail/nossr50/skills/repair/Salvage.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,115 @@
 | 
				
			|||||||
 | 
					package com.gmail.nossr50.skills.repair;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.bukkit.Location;
 | 
				
			||||||
 | 
					import org.bukkit.Material;
 | 
				
			||||||
 | 
					import org.bukkit.World;
 | 
				
			||||||
 | 
					import org.bukkit.entity.Player;
 | 
				
			||||||
 | 
					import org.bukkit.inventory.ItemStack;
 | 
				
			||||||
 | 
					import org.getspout.spoutapi.SpoutManager;
 | 
				
			||||||
 | 
					import org.getspout.spoutapi.player.SpoutPlayer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.gmail.nossr50.mcMMO;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.config.Config;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.datatypes.SkillType;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.locale.LocaleLoader;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.util.ItemChecks;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.util.Permissions;
 | 
				
			||||||
 | 
					import com.gmail.nossr50.util.Users;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class Salvage {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static Config configInstance = Config.getInstance();
 | 
				
			||||||
 | 
					    private static Permissions permInstance = Permissions.getInstance();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static void handleSalvage(final Player player, final Location location, final ItemStack inHand) {
 | 
				
			||||||
 | 
					        if (!permInstance.salvage(player) || !configInstance.getSalvageEnabled()) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        final PlayerProfile profile = Users.getProfile(player);
 | 
				
			||||||
 | 
					        final int skillLevel = profile.getSkillLevel(SkillType.REPAIR);
 | 
				
			||||||
 | 
					        final int unlockLevel = configInstance.getSalvageUnlockLevel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (skillLevel >= unlockLevel) {
 | 
				
			||||||
 | 
					            final World world = player.getWorld();
 | 
				
			||||||
 | 
					            final float currentdura = inHand.getDurability();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (currentdura == 0) {
 | 
				
			||||||
 | 
					                final int salvagedAmount = getSalvagedAmount(inHand);
 | 
				
			||||||
 | 
					                final int itemID = getSalvagedItemID(inHand);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                player.setItemInHand(new ItemStack(0));
 | 
				
			||||||
 | 
					                location.setY(location.getY() + 1);
 | 
				
			||||||
 | 
					                world.dropItem(location, new ItemStack(itemID, salvagedAmount));
 | 
				
			||||||
 | 
					                player.sendMessage(LocaleLoader.getString("Repair.Skills.SalvageSuccess"));
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                player.sendMessage(LocaleLoader.getString("Repair.Skills.NotFullDurability"));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            player.sendMessage(LocaleLoader.getString("Repair.Skills.AdeptSalvage"));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Handles notifications for placing an anvil.
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param player The player placing the anvil
 | 
				
			||||||
 | 
					     * @param anvilID The item ID of the anvil block
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static void placedAnvilCheck(final Player player, final int anvilID) {
 | 
				
			||||||
 | 
					        final PlayerProfile profile = Users.getProfile(player);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!profile.getPlacedSalvageAnvil()) {
 | 
				
			||||||
 | 
					            if (mcMMO.spoutEnabled) {
 | 
				
			||||||
 | 
					                final SpoutPlayer spoutPlayer = SpoutManager.getPlayer(player);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (spoutPlayer.isSpoutCraftEnabled()) {
 | 
				
			||||||
 | 
					                    spoutPlayer.sendNotification("[mcMMO] Anvil Placed", "Right click to salvage!", Material.getMaterial(anvilID));
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                player.sendMessage(LocaleLoader.getString("Repair.Listener.Anvil2"));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            profile.togglePlacedSalvageAnvil();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static int getSalvagedItemID(final ItemStack inHand) {
 | 
				
			||||||
 | 
					        int salvagedItem = 0;
 | 
				
			||||||
 | 
					        if (ItemChecks.isDiamondTool(inHand) || ItemChecks.isDiamondArmor(inHand)) salvagedItem = 264;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isGoldTool(inHand) || ItemChecks.isGoldArmor(inHand)) salvagedItem = 266;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isIronTool(inHand) || ItemChecks.isIronArmor(inHand)) salvagedItem = 265;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isStoneTool(inHand)) salvagedItem = 4;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isWoodTool(inHand)) salvagedItem = 5;
 | 
				
			||||||
 | 
					        else if ( ItemChecks.isLeatherArmor(inHand)) salvagedItem = 334;
 | 
				
			||||||
 | 
					        return salvagedItem;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static int getSalvagedAmount(final ItemStack inHand) {
 | 
				
			||||||
 | 
					        int salvagedAmount = 0;
 | 
				
			||||||
 | 
					        if (ItemChecks.isPickaxe(inHand) || ItemChecks.isAxe(inHand)) salvagedAmount = 3;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isShovel(inHand)) salvagedAmount = 1;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isSword(inHand) || ItemChecks.isHoe(inHand)) salvagedAmount = 2;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isHelmet(inHand)) salvagedAmount = 5;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isChestplate(inHand)) salvagedAmount = 8;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isPants(inHand)) salvagedAmount = 7;
 | 
				
			||||||
 | 
					        else if (ItemChecks.isBoots(inHand)) salvagedAmount = 4;
 | 
				
			||||||
 | 
					        return salvagedAmount;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Checks if the item is salvageable.
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param is Item to check
 | 
				
			||||||
 | 
					     * @return true if the item is salvageable, false otherwise
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static boolean isSalvageable(final ItemStack is) {
 | 
				
			||||||
 | 
					        if (configInstance.getSalvageTools() && ItemChecks.isTool(is)) {
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (configInstance.getSalvageArmor() && ItemChecks.isArmor(is)) {
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -105,7 +105,7 @@ public class BlockChecks {
 | 
				
			|||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
            if (block.getTypeId() == Config.getInstance().getRepairAnvilId()) {
 | 
					            if (block.getTypeId() == Config.getInstance().getRepairAnvilId() || block.getTypeId() == Config.getInstance().getSalvageAnvilId()) {
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else {
 | 
					            else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,7 @@ public class Item {
 | 
				
			|||||||
                player.sendMessage(LocaleLoader.getString("Item.ChimaeraWing.Pass"));
 | 
					                player.sendMessage(LocaleLoader.getString("Item.ChimaeraWing.Pass"));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (!Skills.cooldownOver(profile.getRecentlyHurt(), 60, player) && amount >= Config.getInstance().getChimaeraCost()) {
 | 
					            else if (!Skills.cooldownOver(profile.getRecentlyHurt(), 60, player) && amount >= Config.getInstance().getChimaeraCost()) {
 | 
				
			||||||
                player.sendMessage(LocaleLoader.getString("Item.Injured.Wait", new Object[] {Skills.calculateTimeLeft(profile.getRecentlyHurt(), 60)}));
 | 
					                player.sendMessage(LocaleLoader.getString("Item.Injured.Wait", new Object[] {Skills.calculateTimeLeft(profile.getRecentlyHurt(), 60, player)}));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (amount <= Config.getInstance().getChimaeraCost()) {
 | 
					            else if (amount <= Config.getInstance().getChimaeraCost()) {
 | 
				
			||||||
                player.sendMessage(LocaleLoader.getString("Skills.NeedMore")+ " " + ChatColor.GRAY + Misc.prettyItemString(Config.getInstance().getChimaeraItemId()));
 | 
					                player.sendMessage(LocaleLoader.getString("Skills.NeedMore")+ " " + ChatColor.GRAY + Misc.prettyItemString(Config.getInstance().getChimaeraItemId()));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -217,7 +217,7 @@ public class Misc {
 | 
				
			|||||||
     * @param is The item to drop
 | 
					     * @param is The item to drop
 | 
				
			||||||
     * @param chance The percentage chance for the item to drop
 | 
					     * @param chance The percentage chance for the item to drop
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static void randomDropItem(Location location, ItemStack is, double chance) {
 | 
					    public static void randomDropItem(Location location, ItemStack is, int chance) {
 | 
				
			||||||
        if (random.nextInt(100) < chance) {
 | 
					        if (random.nextInt(100) < chance) {
 | 
				
			||||||
            dropItem(location, is);
 | 
					            dropItem(location, is);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -120,6 +120,10 @@ public class Permissions {
 | 
				
			|||||||
        return player.hasPermission("mcmmo.ability.fishing.magic");
 | 
					        return player.hasPermission("mcmmo.ability.fishing.magic");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean fishermansDiet(Player player) {
 | 
				
			||||||
 | 
					        return player.hasPermission("mcmmo.ability.fishing.fishermansdiet");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*
 | 
					    /*
 | 
				
			||||||
     * MCMMO.ABILITY.MINING.*
 | 
					     * MCMMO.ABILITY.MINING.*
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
@@ -208,6 +212,11 @@ public class Permissions {
 | 
				
			|||||||
        return player.hasPermission("mcmmo.ability.repair.stringrepair");
 | 
					        return player.hasPermission("mcmmo.ability.repair.stringrepair");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean salvage(Player player) {
 | 
				
			||||||
 | 
					        return player.hasPermission("mcmmo.ability.repair.salvage");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*
 | 
					    /*
 | 
				
			||||||
     * MCMMO.ABILITY.UNARMED.*
 | 
					     * MCMMO.ABILITY.UNARMED.*
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,8 +68,21 @@ public class Skills {
 | 
				
			|||||||
     * @param cooldown The length of the cooldown
 | 
					     * @param cooldown The length of the cooldown
 | 
				
			||||||
     * @return the number of seconds remaining before the cooldown expires
 | 
					     * @return the number of seconds remaining before the cooldown expires
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static int calculateTimeLeft(long deactivatedTimeStamp, int cooldown) {
 | 
					    public static int calculateTimeLeft(long deactivatedTimeStamp, int cooldown, Player player) {
 | 
				
			||||||
        return (int) (((deactivatedTimeStamp + (cooldown * TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / TIME_CONVERSION_FACTOR);
 | 
					        int adjustedCooldown = cooldown;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Reduced Cooldown Donor Perks
 | 
				
			||||||
 | 
					        if (player.hasPermission("mcmmo.perks.cooldowns.halved")) {
 | 
				
			||||||
 | 
					            adjustedCooldown = (int) (adjustedCooldown * 0.5);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else if (player.hasPermission("mcmmo.perks.cooldowns.thirded")) {
 | 
				
			||||||
 | 
					            adjustedCooldown = (int) (adjustedCooldown * 0.66);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else if (player.hasPermission("mcmmo.perks.cooldowns.quartered")) {
 | 
				
			||||||
 | 
					            adjustedCooldown = (int) (adjustedCooldown * 0.75);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return (int) (((deactivatedTimeStamp + (adjustedCooldown * TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / TIME_CONVERSION_FACTOR);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -130,7 +143,7 @@ public class Skills {
 | 
				
			|||||||
        if (ability.getPermissions(player) && tool.inHand(inHand) && !profile.getToolPreparationMode(tool)) {
 | 
					        if (ability.getPermissions(player) && tool.inHand(inHand) && !profile.getToolPreparationMode(tool)) {
 | 
				
			||||||
            if (skill != SkillType.WOODCUTTING && skill != SkillType.AXES) {
 | 
					            if (skill != SkillType.WOODCUTTING && skill != SkillType.AXES) {
 | 
				
			||||||
                if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
 | 
					                if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
 | 
				
			||||||
                    player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown()) + "s)");
 | 
					                    player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
 | 
				
			||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -417,7 +430,7 @@ public class Skills {
 | 
				
			|||||||
         */
 | 
					         */
 | 
				
			||||||
        if (type == SkillType.WOODCUTTING || type == SkillType.AXES) {
 | 
					        if (type == SkillType.WOODCUTTING || type == SkillType.AXES) {
 | 
				
			||||||
            if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
 | 
					            if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
 | 
				
			||||||
                player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown()) + "s)");
 | 
					                player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -208,7 +208,7 @@ public class HashChunkManager implements ChunkManager {
 | 
				
			|||||||
        if(world == null)
 | 
					        if(world == null)
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ChunkletUnloader.addToList(cx, cx, world);
 | 
					        ChunkletUnloader.addToList(cx, cz, world);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -172,6 +172,11 @@ Skills:
 | 
				
			|||||||
        Level_Cap: 0
 | 
					        Level_Cap: 0
 | 
				
			||||||
        Anvil_Messages: true
 | 
					        Anvil_Messages: true
 | 
				
			||||||
        Anvil_ID: 42
 | 
					        Anvil_ID: 42
 | 
				
			||||||
 | 
					        Salvage_enabled: true
 | 
				
			||||||
 | 
					        Salvage_Anvil_ID: 41
 | 
				
			||||||
 | 
					        Salvage_UnlockLevel: 600
 | 
				
			||||||
 | 
					        Salvage_tools: true
 | 
				
			||||||
 | 
					        Salvage_armor: true
 | 
				
			||||||
    Swords:
 | 
					    Swords:
 | 
				
			||||||
        Enabled_For_PVP: true
 | 
					        Enabled_For_PVP: true
 | 
				
			||||||
        Enabled_For_PVE: true
 | 
					        Enabled_For_PVE: true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=UZAMKNUTO DO UROVNE DOVEDNOSTI 150+ (SHAKE)
 | 
					Fishing.Ability.Locked.0=UZAMKNUTO DO UROVNE DOVEDNOSTI 150+ (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Lovec Poklad\u016f Level: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Lovec Poklad\u016f Level: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magicky Lovec
 | 
					Fishing.Effect.2=Magicky Lovec
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Nasel si poklad!
 | 
					Fishing.ItemFound=[[GRAY]]Nasel si poklad!
 | 
				
			||||||
Fishing.Listener=Rybareni:
 | 
					Fishing.Listener=Rybareni:
 | 
				
			||||||
@@ -444,3 +447,11 @@ Stats.Header.Combat=[[GOLD]]-=BOJOVE DOVEDNOSTI=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=SHROMAZDOVACI DOVEDNOSTI=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=SHROMAZDOVACI DOVEDNOSTI=-
 | 
				
			||||||
Stats.Header.Misc=Ostatni schopnosti
 | 
					Stats.Header.Misc=Ostatni schopnosti
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Statistiky
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Statistiky
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=DAN GLO HYD 150 + SKILL (YSGYTLAETH)
 | 
					Fishing.Ability.Locked.0=DAN GLO HYD 150 + SKILL (YSGYTLAETH)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -444,3 +447,11 @@ Stats.Header.Combat=[[AUR]] - = GWRTHSEFYLL SGILIAU = -
 | 
				
			|||||||
Stats.Header.Gathering=[[AUR]] -= CASGLU SGILIAU = = -
 | 
					Stats.Header.Gathering=[[AUR]] -= CASGLU SGILIAU = = -
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GWYRDD]][mcMMO] Ystadegau
 | 
					Stats.Own.Stats=[[GWYRDD]][mcMMO] Ystadegau
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=L\u00c5ST INDTIL 150+ I F\u00c6RDIGHED (SHAKE)
 | 
					Fishing.Ability.Locked.0=L\u00c5ST INDTIL 150+ I F\u00c6RDIGHED (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]Du har fundet en skat!
 | 
					Fishing.ItemFound=[[GRAY]Du har fundet en skat!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -444,3 +447,11 @@ Stats.Header.Combat=[[GOLD]]-=KAMP EVNER=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=INDSAMLINGS EVNER=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=INDSAMLINGS EVNER=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] F\u00e6rdigheder
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] F\u00e6rdigheder
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magiej\u00e4ger: [[GRAY]] **Verbessert sich mit Scha
 | 
				
			|||||||
Fishing.Ability.Locked.0=Gesperrt bis Level 150+ (SHAKE)
 | 
					Fishing.Ability.Locked.0=Gesperrt bis Level 150+ (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Schatzj\u00e4ger Rang: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Schatzj\u00e4ger Rang: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Schatzj\u00e4ger (Passiv)
 | 
					Fishing.Effect.0=Schatzj\u00e4ger (Passiv)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magiej\u00e4ger
 | 
					Fishing.Effect.2=Magiej\u00e4ger
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[AQUA]]Du hast einen Schatz gefunden!
 | 
					Fishing.ItemFound=[[AQUA]]Du hast einen Schatz gefunden!
 | 
				
			||||||
Fishing.Listener=Angeln:
 | 
					Fishing.Listener=Angeln:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=KAMPF F\u00c4HIGKEITEN=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=Sammel-Fertigkeit=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=Sammel-Fertigkeit=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -103,12 +103,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake Chance: [[YELLOW]]{0}%
 | 
					Fishing.Ability.Shake=[[RED]]Shake Chance: [[YELLOW]]{0}%
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing: 
 | 
					Fishing.Listener=Fishing: 
 | 
				
			||||||
@@ -122,14 +125,14 @@ Herbalism.Ability.FD=[[RED]]Farmers Diet: [[YELLOW]]Rank {0}
 | 
				
			|||||||
Herbalism.Ability.GTe.Length=[[RED]]Green Terra Length: [[YELLOW]]{0}s
 | 
					Herbalism.Ability.GTe.Length=[[RED]]Green Terra Length: [[YELLOW]]{0}s
 | 
				
			||||||
Herbalism.Ability.GTh.Chance=[[RED]]Green Thumb Chance: [[YELLOW]]{0}
 | 
					Herbalism.Ability.GTh.Chance=[[RED]]Green Thumb Chance: [[YELLOW]]{0}
 | 
				
			||||||
Herbalism.Ability.GTh.Fail=[[RED]]**GREEN THUMB FAIL**
 | 
					Herbalism.Ability.GTh.Fail=[[RED]]**GREEN THUMB FAIL**
 | 
				
			||||||
Herbalism.Ability.GTh.Stage=[[RED]]Green Thumb Stage: [[YELLOW]] Wheat grows in stage {0}
 | 
					Herbalism.Ability.GTh.Stage=[[RED]]Green Thumb Stage: [[YELLOW]] Crops grow in stage {0}
 | 
				
			||||||
Herbalism.Ability.GTh=[[GREEN]]**GREEN THUMB**
 | 
					Herbalism.Ability.GTh=[[GREEN]]**GREEN THUMB**
 | 
				
			||||||
Herbalism.Ability.Lower=[[GRAY]]**YOU LOWER YOUR HOE**
 | 
					Herbalism.Ability.Lower=[[GRAY]]**YOU LOWER YOUR HOE**
 | 
				
			||||||
Herbalism.Ability.Ready=[[GREEN]]**YOU READY YOUR HOE**
 | 
					Herbalism.Ability.Ready=[[GREEN]]**YOU READY YOUR HOE**
 | 
				
			||||||
Herbalism.Effect.0=Green Terra (ABILITY)
 | 
					Herbalism.Effect.0=Green Terra (ABILITY)
 | 
				
			||||||
Herbalism.Effect.1=Spread the Terra, 3x Drops
 | 
					Herbalism.Effect.1=Spread the Terra, 3x Drops
 | 
				
			||||||
Herbalism.Effect.2=Green Thumb (Wheat)
 | 
					Herbalism.Effect.2=Green Thumb (Wheat)
 | 
				
			||||||
Herbalism.Effect.3=Auto-Plants wheat when harvesting
 | 
					Herbalism.Effect.3=Auto-Plants crops when harvesting
 | 
				
			||||||
Herbalism.Effect.4=Green Thumb (Cobble/Stone Brick/Dirt)
 | 
					Herbalism.Effect.4=Green Thumb (Cobble/Stone Brick/Dirt)
 | 
				
			||||||
Herbalism.Effect.5=Make bricks mossy, or make grass grow
 | 
					Herbalism.Effect.5=Make bricks mossy, or make grass grow
 | 
				
			||||||
Herbalism.Effect.6=Farmer's Diet
 | 
					Herbalism.Effect.6=Farmer's Diet
 | 
				
			||||||
@@ -205,9 +208,13 @@ Repair.Effect.6=Diamond Repair ({0}+ SKILL)
 | 
				
			|||||||
Repair.Effect.7=Repair Diamond Tools & Armor
 | 
					Repair.Effect.7=Repair Diamond Tools & Armor
 | 
				
			||||||
Repair.Effect.8=Arcane Forging
 | 
					Repair.Effect.8=Arcane Forging
 | 
				
			||||||
Repair.Effect.9=Repair magic items
 | 
					Repair.Effect.9=Repair magic items
 | 
				
			||||||
 | 
					Repair.Effect.16=Salvage ({0}+ SKILL)
 | 
				
			||||||
 | 
					Repair.Effect.17=Salvage Tools & Armor
 | 
				
			||||||
Repair.Listener.Anvil=[[DARK_RED]]You have placed an anvil, anvils can repair tools and armor.
 | 
					Repair.Listener.Anvil=[[DARK_RED]]You have placed an anvil, anvils can repair tools and armor.
 | 
				
			||||||
 | 
					Repair.Listener.Anvil2=[[DARK_RED]]You have placed a Salvage anvil, use this to Salvage tools and armor.
 | 
				
			||||||
Repair.Listener=Repair: 
 | 
					Repair.Listener=Repair: 
 | 
				
			||||||
Repair.SkillName=REPAIR
 | 
					Repair.SkillName=REPAIR
 | 
				
			||||||
 | 
					Repair.Skills.AdeptSalvage=[[DARK_RED]]You're not skilled enough to Salvage items.
 | 
				
			||||||
Repair.Skills.AdeptDiamond=[[DARK_RED]]You're not skilled enough to repair Diamond.
 | 
					Repair.Skills.AdeptDiamond=[[DARK_RED]]You're not skilled enough to repair Diamond.
 | 
				
			||||||
Repair.Skills.AdeptGold=[[DARK_RED]]You're not skilled enough to repair Gold.
 | 
					Repair.Skills.AdeptGold=[[DARK_RED]]You're not skilled enough to repair Gold.
 | 
				
			||||||
Repair.Skills.AdeptIron=[[DARK_RED]]You're not skilled enough to repair Iron.
 | 
					Repair.Skills.AdeptIron=[[DARK_RED]]You're not skilled enough to repair Iron.
 | 
				
			||||||
@@ -215,6 +222,8 @@ Repair.Skills.AdeptStone=[[DARK_RED]]You're not skilled enough to repair Stone.
 | 
				
			|||||||
Repair.Skills.Adept=[[RED]]You must be level [[YELLOW]]{0}[[RED]] to repair [[YELLOW]]{1}
 | 
					Repair.Skills.Adept=[[RED]]You must be level [[YELLOW]]{0}[[RED]] to repair [[YELLOW]]{1}
 | 
				
			||||||
Repair.Skills.FeltEasy=[[GRAY]]That felt easy.
 | 
					Repair.Skills.FeltEasy=[[GRAY]]That felt easy.
 | 
				
			||||||
Repair.Skills.FullDurability=[[GRAY]]That is at full durability.
 | 
					Repair.Skills.FullDurability=[[GRAY]]That is at full durability.
 | 
				
			||||||
 | 
					Repair.Skills.SalvageSuccess=[[GRAY]]Item salvaged!
 | 
				
			||||||
 | 
					Repair.Skills.NotFullDurability=[[DARK_RED]]You can't salvage damaged items.
 | 
				
			||||||
Repair.Skills.Mastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0} durability restored
 | 
					Repair.Skills.Mastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0} durability restored
 | 
				
			||||||
Repair.Skills.StackedItems=[[DARK_RED]]You can't repair stacked items.
 | 
					Repair.Skills.StackedItems=[[DARK_RED]]You can't repair stacked items.
 | 
				
			||||||
Repair.Skills.Super.Chance=[[RED]]Super Repair Chance: [[YELLOW]]{0}
 | 
					Repair.Skills.Super.Chance=[[RED]]Super Repair Chance: [[YELLOW]]{0}
 | 
				
			||||||
@@ -519,3 +528,13 @@ Stats.Header.Combat=[[GOLD]]-=COMBAT SKILLS=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#PERKS
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Cazador M\u00e1gico: [[GRAY]] **Mejora con Rango de
 | 
				
			|||||||
Fishing.Ability.Locked.0=BLOQUEADO HASTA HABILIDAD 150+ (SACUDIDA)
 | 
					Fishing.Ability.Locked.0=BLOQUEADO HASTA HABILIDAD 150+ (SACUDIDA)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Cazador de Tesoros: [[YELLOW]]Rango {0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Cazador de Tesoros: [[YELLOW]]Rango {0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Sacudida: [[YELLOW]]Arrancar items de monstruos, mutilandolos en el proceso.
 | 
					Fishing.Ability.Shake=[[RED]]Sacudida: [[YELLOW]]Arrancar items de monstruos, mutilandolos en el proceso.
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Cazador de Tesoros (Pasivo)
 | 
					Fishing.Effect.0=Cazador de Tesoros (Pasivo)
 | 
				
			||||||
Fishing.Effect.1=Pescar objetos miscel\u00e1neos
 | 
					Fishing.Effect.1=Pescar objetos miscel\u00e1neos
 | 
				
			||||||
Fishing.Effect.2=Cazador M\u00e1gico
 | 
					Fishing.Effect.2=Cazador M\u00e1gico
 | 
				
			||||||
Fishing.Effect.3=Encuentra Objetos Encantados
 | 
					Fishing.Effect.3=Encuentra Objetos Encantados
 | 
				
			||||||
Fishing.Effect.4=Sacudir (contra Entidades)
 | 
					Fishing.Effect.4=Sacudir (contra Entidades)
 | 
				
			||||||
Fishing.Effect.5=Sacudir los items fuera de los monstruos con la ca\u00f1a de pescar
 | 
					Fishing.Effect.5=Sacudir los items fuera de los monstruos con la ca\u00f1a de pescar
 | 
				
			||||||
 | 
					Fishing.Effect.6=Fisherman's Diet
 | 
				
			||||||
 | 
					Fishing.Effect.7=Improves hunger restored from fished foods
 | 
				
			||||||
Fishing.Enchant.Chance=[[RED]]Probabilidad de Cazador M\u00e1gico: [[YELLOW]]{0}
 | 
					Fishing.Enchant.Chance=[[RED]]Probabilidad de Cazador M\u00e1gico: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
 | 
					Fishing.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
 | 
				
			||||||
Fishing.Listener=Pescador: 
 | 
					Fishing.Listener=Pescador: 
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=HABILIDADES DE COMBATE=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=HABILIDADES DE RECOLECCI\u00d3N=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=HABILIDADES DE RECOLECCI\u00d3N=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=HABILIDADES VARIAS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=HABILIDADES VARIAS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Estad\u00edsticas
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Estad\u00edsticas
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=TAISTELUTAIDOT=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]P\u00eache magique : [[GRAY]] **S\'am\u00e9liore via
 | 
				
			|||||||
Fishing.Ability.Locked.0=VERROUILL\u00c9 AVANT 150+ (Secousse)
 | 
					Fishing.Ability.Locked.0=VERROUILL\u00c9 AVANT 150+ (Secousse)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Chasseur de tr\u00e9sors : [[YELLOW]] Rang {0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Chasseur de tr\u00e9sors : [[YELLOW]] Rang {0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Secousse : [[YELLOW]]Arrache des objets des monstres, les mutilant par la m\u00eame occasion ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Secousse : [[YELLOW]]Arrache des objets des monstres, les mutilant par la m\u00eame occasion ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Chasseur de tr\u00e9sors
 | 
					Fishing.Effect.0=Chasseur de tr\u00e9sors
 | 
				
			||||||
Fishing.Effect.1=Remonte des objets inhabituels
 | 
					Fishing.Effect.1=Remonte des objets inhabituels
 | 
				
			||||||
Fishing.Effect.2=P\u00eache magique
 | 
					Fishing.Effect.2=P\u00eache magique
 | 
				
			||||||
Fishing.Effect.3=Remonte des objets magiques
 | 
					Fishing.Effect.3=Remonte des objets magiques
 | 
				
			||||||
Fishing.Effect.4=Secousse (sur monstres)
 | 
					Fishing.Effect.4=Secousse (sur monstres)
 | 
				
			||||||
Fishing.Effect.5=Fait tomber des objets des monstres avec une canne \u00e0 p\u00eache
 | 
					Fishing.Effect.5=Fait tomber des objets des monstres avec une canne \u00e0 p\u00eache
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
 | 
					Fishing.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
 | 
				
			||||||
Fishing.Listener=P\u00eache :
 | 
					Fishing.Listener=P\u00eache :
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=TALENTS DE COMBAT=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=COMP\u00c9TENCES DE R\u00c9COLTE=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=COMP\u00c9TENCES DE R\u00c9COLTE=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=AUTRES TALENTS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=AUTRES TALENTS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Statistiques
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Statistiques
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Cacciatore di Magia: [[GRAY]] **Migliora insieme al
 | 
				
			|||||||
Fishing.Ability.Locked.0=BLOCCATO FINO AD ABILITA\' 150+ (SCUOTERE)
 | 
					Fishing.Ability.Locked.0=BLOCCATO FINO AD ABILITA\' 150+ (SCUOTERE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Grado di Cacciatore di Tesori: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Grado di Cacciatore di Tesori: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Scuotere: [[YELLOW]]Strappa oggetti dai mob, mutilandoli durante il procedimento ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Scuotere: [[YELLOW]]Strappa oggetti dai mob, mutilandoli durante il procedimento ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Cacciatore di Tesori (Passivo)
 | 
					Fishing.Effect.0=Cacciatore di Tesori (Passivo)
 | 
				
			||||||
Fishing.Effect.1=Ripesca oggetti vari
 | 
					Fishing.Effect.1=Ripesca oggetti vari
 | 
				
			||||||
Fishing.Effect.2=Cacciatore di Magia
 | 
					Fishing.Effect.2=Cacciatore di Magia
 | 
				
			||||||
Fishing.Effect.3=Trova Oggetti Incantati
 | 
					Fishing.Effect.3=Trova Oggetti Incantati
 | 
				
			||||||
Fishing.Effect.4=Scuotere (contro Entit\u00e0)
 | 
					Fishing.Effect.4=Scuotere (contro Entit\u00e0)
 | 
				
			||||||
Fishing.Effect.5=Scrolla oggetti di dosso ai mob con una canna da pesca
 | 
					Fishing.Effect.5=Scrolla oggetti di dosso ai mob con una canna da pesca
 | 
				
			||||||
 | 
					Fishing.Effect.6=Fisherman's Diet
 | 
				
			||||||
 | 
					Fishing.Effect.7=Improves hunger restored from fished foods
 | 
				
			||||||
Fishing.Enchant.Chance=[[RED]]Possibilit\u00e0 di Cacciatore di Magia: [[YELLOW]]{0}
 | 
					Fishing.Enchant.Chance=[[RED]]Possibilit\u00e0 di Cacciatore di Magia: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Hai trovato un tesoro!
 | 
					Fishing.ItemFound=[[GRAY]]Hai trovato un tesoro!
 | 
				
			||||||
Fishing.Listener=Pesca:
 | 
					Fishing.Listener=Pesca:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=ABILITA\' DI COMBATTIMENTO=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=ABILITA\' DI RACCOLTA=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=ABILITA\' DI RACCOLTA=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=ABILITA\' VARIE=-
 | 
					Stats.Header.Misc=[[GOLD]]-=ABILITA\' VARIE=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]]Statistiche [mcMMO]
 | 
					Stats.Own.Stats=[[GREEN]]Statistiche [mcMMO]
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=COMBAT SKILLS=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Zvejo\u0161ana:
 | 
					Fishing.Listener=Zvejo\u0161ana:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=COMBAT SKILLS=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Vissen:
 | 
					Fishing.Listener=Vissen:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=Strijd Ervaring=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=L\u00e5st til 150 + ferdighet (Shake)
 | 
					Fishing.Ability.Locked.0=L\u00e5st til 150 + ferdighet (Shake)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=Kampferdigheter=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]- = SAMLER FERDIGHETER = -
 | 
					Stats.Header.Gathering=[[GOLD]]- = SAMLER FERDIGHETER = -
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Ranga lowienia skarbow: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Ranga lowienia skarbow: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Lowca Skarbow (Pasywna)
 | 
					Fishing.Effect.0=Lowca Skarbow (Pasywna)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magiczny Lowca
 | 
					Fishing.Effect.2=Magiczny Lowca
 | 
				
			||||||
Fishing.Effect.3=Znajdowanie Zakletych Przedmiotow
 | 
					Fishing.Effect.3=Znajdowanie Zakletych Przedmiotow
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=COMBAT SKILLS=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=COMBAT SKILLS=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]\u041e\u0445\u043e\u0442\u043d\u0438\u043a \u0417\u0
 | 
				
			|||||||
Fishing.Ability.Locked.0=\u0417\u0410\u0411\u041b\u041e\u041a\u0418\u0420\u041e\u0412\u0410\u041d\u041e \u0414\u041e 150+ \u0423\u0420\u041e\u0412\u041d\u042f \u041d\u0410\u0412\u042b\u041a\u0410 (\u0412\u0421\u0422\u0420\u042f\u0421\u041a\u0410)
 | 
					Fishing.Ability.Locked.0=\u0417\u0410\u0411\u041b\u041e\u041a\u0418\u0420\u041e\u0412\u0410\u041d\u041e \u0414\u041e 150+ \u0423\u0420\u041e\u0412\u041d\u042f \u041d\u0410\u0412\u042b\u041a\u0410 (\u0412\u0421\u0422\u0420\u042f\u0421\u041a\u0410)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]\u0420\u0430\u043d\u0433 \u041e\u0445\u043e\u0442\u043d\u0438\u043a\u0430 \u0437\u0430 \u0421\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0430\u043c\u0438: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]\u0420\u0430\u043d\u0433 \u041e\u0445\u043e\u0442\u043d\u0438\u043a\u0430 \u0437\u0430 \u0421\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0430\u043c\u0438: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]\u0412\u0441\u0442\u0440\u044f\u0441\u043a\u0430: [[YELLOW]]\u0412\u044b\u0442\u0440\u044f\u0445\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0449\u0438 \u0438\u0437 \u043c\u043e\u0431\u043e\u0432, \u043a\u0430\u043b\u0435\u0447\u0430 \u0438\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 ;_;
 | 
					Fishing.Ability.Shake=[[RED]]\u0412\u0441\u0442\u0440\u044f\u0441\u043a\u0430: [[YELLOW]]\u0412\u044b\u0442\u0440\u044f\u0445\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0449\u0438 \u0438\u0437 \u043c\u043e\u0431\u043e\u0432, \u043a\u0430\u043b\u0435\u0447\u0430 \u0438\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=\u041e\u0445\u043e\u0442\u043d\u0438\u043a \u0437\u0430 \u0421\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0430\u043c\u0438 (\u041f\u0430\u0441\u0441\u0438\u0432\u043d\u043e\u0435)
 | 
					Fishing.Effect.0=\u041e\u0445\u043e\u0442\u043d\u0438\u043a \u0437\u0430 \u0421\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0430\u043c\u0438 (\u041f\u0430\u0441\u0441\u0438\u0432\u043d\u043e\u0435)
 | 
				
			||||||
Fishing.Effect.1=\u041b\u043e\u0432\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432
 | 
					Fishing.Effect.1=\u041b\u043e\u0432\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432
 | 
				
			||||||
Fishing.Effect.2=\u041e\u0445\u043e\u0442\u043d\u0438\u043a \u0417\u0430 \u041c\u0430\u0433\u0438\u0435\u0439
 | 
					Fishing.Effect.2=\u041e\u0445\u043e\u0442\u043d\u0438\u043a \u0417\u0430 \u041c\u0430\u0433\u0438\u0435\u0439
 | 
				
			||||||
Fishing.Effect.3=\u041d\u0430\u0445\u043e\u0434\u043a\u0430 \u0417\u0430\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u044b\u0445 \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432
 | 
					Fishing.Effect.3=\u041d\u0430\u0445\u043e\u0434\u043a\u0430 \u0417\u0430\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u044b\u0445 \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432
 | 
				
			||||||
Fishing.Effect.4=\u0412\u0441\u0442\u0440\u044f\u0441\u043a\u0430 (\u0421\u0443\u0449\u0435\u0441\u0442\u0432)
 | 
					Fishing.Effect.4=\u0412\u0441\u0442\u0440\u044f\u0441\u043a\u0430 (\u0421\u0443\u0449\u0435\u0441\u0442\u0432)
 | 
				
			||||||
Fishing.Effect.5=\u0412\u044b\u0442\u0440\u044f\u0445\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0449\u0438 \u0438\u0437 \u043c\u043e\u0431\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0434\u043e\u0447\u043a\u0438
 | 
					Fishing.Effect.5=\u0412\u044b\u0442\u0440\u044f\u0445\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0449\u0438 \u0438\u0437 \u043c\u043e\u0431\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0434\u043e\u0447\u043a\u0438
 | 
				
			||||||
 | 
					Fishing.Effect.6=Fisherman's Diet
 | 
				
			||||||
 | 
					Fishing.Effect.7=Improves hunger restored from fished foods
 | 
				
			||||||
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.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.ItemFound=[[GRAY]]\u041d\u0430\u0439\u0434\u0435\u043d\u043e \u0441\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0435!
 | 
					Fishing.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.Listener=\u0420\u044b\u0431\u043e\u043b\u043e\u0432\u0441\u0442\u0432\u043e:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=\u0411\u041e\u0415\u0412\u042b\u0415 \u041d\u0410\
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=\u041d\u0410\u0412\u042b\u041a\u0418 \u0421\u0411\u041e\u0420\u0410=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=\u041d\u0410\u0412\u042b\u041a\u0418 \u0421\u0411\u041e\u0420\u0410=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=\u0420\u0410\u0417\u041d\u042b\u0415 \u041d\u0410\u0412\u042b\u041a\u0418=-
 | 
					Stats.Header.Misc=[[GOLD]]-=\u0420\u0410\u0417\u041d\u042b\u0415 \u041d\u0410\u0412\u042b\u041a\u0418=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=Stridsf\u00e4rdigheter=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]Magic Hunter: [[GRAY]] **Improves With Treasure Hunt
 | 
				
			|||||||
Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
					Fishing.Ability.Locked.0=LOCKED UNTIL 150+ SKILL (SHAKE)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]Treasure Hunter Rank: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
					Fishing.Ability.Shake=[[RED]]Shake: [[YELLOW]]Tear items off mobs, mutilating them in the process ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=Treasure Hunter (Passive)
 | 
					Fishing.Effect.0=Treasure Hunter (Passive)
 | 
				
			||||||
Fishing.Effect.1=Fish up misc. objects
 | 
					Fishing.Effect.1=Fish up misc. objects
 | 
				
			||||||
Fishing.Effect.2=Magic Hunter
 | 
					Fishing.Effect.2=Magic Hunter
 | 
				
			||||||
Fishing.Effect.3=Find Enchanted Items
 | 
					Fishing.Effect.3=Find Enchanted Items
 | 
				
			||||||
Fishing.Effect.4=Shake (vs. Entities)
 | 
					Fishing.Effect.4=Shake (vs. Entities)
 | 
				
			||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
					Fishing.Effect.5=Shake items off of mobs w/ fishing pole
 | 
				
			||||||
 | 
					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.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
					Fishing.ItemFound=[[GRAY]]Treasure found!
 | 
				
			||||||
Fishing.Listener=Fishing:
 | 
					Fishing.Listener=Fishing:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=COMBAT SKILLS=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=GATHERING SKILLS=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
					Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] Stats
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,12 +77,15 @@ Fishing.Ability.Info=[[RED]]\u9b54\u6cd5\u730e\u4eba: [[GRAY]] ** \u968f\u7740\u
 | 
				
			|||||||
Fishing.Ability.Locked.0=\u6280\u80fd 150+ \u89e3\u9501 (\u6643\u52a8\u602a\u7269)
 | 
					Fishing.Ability.Locked.0=\u6280\u80fd 150+ \u89e3\u9501 (\u6643\u52a8\u602a\u7269)
 | 
				
			||||||
Fishing.Ability.Rank=[[RED]]\u5b9d\u7269\u730e\u4eba\u7b49\u7ea7: [[YELLOW]]{0}/5
 | 
					Fishing.Ability.Rank=[[RED]]\u5b9d\u7269\u730e\u4eba\u7b49\u7ea7: [[YELLOW]]{0}/5
 | 
				
			||||||
Fishing.Ability.Shake=[[RED]]\u6643\u52a8\u602a\u7269: [[YELLOW]]\u5411\u602a\u7269\u6325\u52a8\u9c7c\u7aff\u4f7f\u5b83\u4eec\u8eab\u4e0a\u7684\u7269\u54c1\u6389\u843d, \u540c\u65f6\u51cf\u5c11\u5b83\u4eec\u7684\u8840\u91cf ;_;
 | 
					Fishing.Ability.Shake=[[RED]]\u6643\u52a8\u602a\u7269: [[YELLOW]]\u5411\u602a\u7269\u6325\u52a8\u9c7c\u7aff\u4f7f\u5b83\u4eec\u8eab\u4e0a\u7684\u7269\u54c1\u6389\u843d, \u540c\u65f6\u51cf\u5c11\u5b83\u4eec\u7684\u8840\u91cf ;_;
 | 
				
			||||||
 | 
					Fishing.Ability.FD=[[RED]]Fisherman''s Diet: [[YELLOW]]Rank {0}
 | 
				
			||||||
Fishing.Effect.0=\u5b9d\u7269\u730e\u4eba (\u88ab\u52a8\u6280\u80fd)
 | 
					Fishing.Effect.0=\u5b9d\u7269\u730e\u4eba (\u88ab\u52a8\u6280\u80fd)
 | 
				
			||||||
Fishing.Effect.1=\u9493\u5230\u6742\u7269
 | 
					Fishing.Effect.1=\u9493\u5230\u6742\u7269
 | 
				
			||||||
Fishing.Effect.2=\u9b54\u6cd5\u730e\u4eba
 | 
					Fishing.Effect.2=\u9b54\u6cd5\u730e\u4eba
 | 
				
			||||||
Fishing.Effect.3=\u627e\u5230\u9644\u9b54\u7269\u54c1
 | 
					Fishing.Effect.3=\u627e\u5230\u9644\u9b54\u7269\u54c1
 | 
				
			||||||
Fishing.Effect.4=\u6643\u52a8\u602a\u7269 (\u5bf9\u602a\u7269\u4f7f\u7528)
 | 
					Fishing.Effect.4=\u6643\u52a8\u602a\u7269 (\u5bf9\u602a\u7269\u4f7f\u7528)
 | 
				
			||||||
Fishing.Effect.5=\u7528\u9c7c\u7aff\u628a\u602a\u7269\u8eab\u4e0a\u7684\u4e1c\u897f\u6447\u4e0b\u6765
 | 
					Fishing.Effect.5=\u7528\u9c7c\u7aff\u628a\u602a\u7269\u8eab\u4e0a\u7684\u4e1c\u897f\u6447\u4e0b\u6765
 | 
				
			||||||
 | 
					Fishing.Effect.6=Fisherman's Diet
 | 
				
			||||||
 | 
					Fishing.Effect.7=Improves hunger restored from fished foods
 | 
				
			||||||
Fishing.Enchant.Chance=[[RED]]\u9b54\u6cd5\u730e\u4eba\u51e0\u7387: [[YELLOW]]{0}
 | 
					Fishing.Enchant.Chance=[[RED]]\u9b54\u6cd5\u730e\u4eba\u51e0\u7387: [[YELLOW]]{0}
 | 
				
			||||||
Fishing.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
 | 
					Fishing.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
 | 
				
			||||||
Fishing.Listener=\u9493\u9c7c:
 | 
					Fishing.Listener=\u9493\u9c7c:
 | 
				
			||||||
@@ -445,3 +448,11 @@ Stats.Header.Combat=[[GOLD]]-=\u683c\u6597\u6280\u80fd=-
 | 
				
			|||||||
Stats.Header.Gathering=[[GOLD]]-=\u91c7\u96c6\u6280\u80fd=-
 | 
					Stats.Header.Gathering=[[GOLD]]-=\u91c7\u96c6\u6280\u80fd=-
 | 
				
			||||||
Stats.Header.Misc=[[GOLD]]-=\u6742\u9879\u6280\u80fd=-
 | 
					Stats.Header.Misc=[[GOLD]]-=\u6742\u9879\u6280\u80fd=-
 | 
				
			||||||
Stats.Own.Stats=[[GREEN]][mcMMO] \u7edf\u8ba1\u4fe1\u606f
 | 
					Stats.Own.Stats=[[GREEN]][mcMMO] \u7edf\u8ba1\u4fe1\u606f
 | 
				
			||||||
 | 
					Perks.xp.name=Experience
 | 
				
			||||||
 | 
					Perks.xp.desc=Receive {0}x XP.
 | 
				
			||||||
 | 
					Perks.lucky.name=Luck
 | 
				
			||||||
 | 
					Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
 | 
				
			||||||
 | 
					Perks.cooldowns.name=Fast Recovery
 | 
				
			||||||
 | 
					Perks.cooldowns.desc=Cuts cooldown duration by {0}.
 | 
				
			||||||
 | 
					Perks.activationtime.name=Endurance
 | 
				
			||||||
 | 
					Perks.activationtime.desc=Increases ability activation time by {0} seconds.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -333,12 +333,15 @@ permissions:
 | 
				
			|||||||
            mcmmo.ability.fishing.shakemob: true
 | 
					            mcmmo.ability.fishing.shakemob: true
 | 
				
			||||||
            mcmmo.ability.fishing.treasures: true
 | 
					            mcmmo.ability.fishing.treasures: true
 | 
				
			||||||
            mcmmo.ability.fishing.magic: true
 | 
					            mcmmo.ability.fishing.magic: true
 | 
				
			||||||
 | 
					            mcmmo.ability.fishing.fishermansdiet: true
 | 
				
			||||||
    mcmmo.ability.fishing.shakemob:
 | 
					    mcmmo.ability.fishing.shakemob:
 | 
				
			||||||
        description: Allows access to the Shake Mob ability
 | 
					        description: Allows access to the Shake Mob ability
 | 
				
			||||||
    mcmmo.ability.fishing.treasures:
 | 
					    mcmmo.ability.fishing.treasures:
 | 
				
			||||||
        description: Allows treasure drops from Fishing
 | 
					        description: Allows treasure drops from Fishing
 | 
				
			||||||
    mcmmo.ability.fishing.magic:
 | 
					    mcmmo.ability.fishing.magic:
 | 
				
			||||||
        description: Allows enchanted drops from Fishing
 | 
					        description: Allows enchanted drops from Fishing
 | 
				
			||||||
 | 
					    mcmmo.ability.fishing.fishermansdiet:
 | 
				
			||||||
 | 
					        description: Allows access to the Fishermans's Diet ability
 | 
				
			||||||
    mcmmo.ability.mining.*:
 | 
					    mcmmo.ability.mining.*:
 | 
				
			||||||
        description: Allows access to all Mining abilities
 | 
					        description: Allows access to all Mining abilities
 | 
				
			||||||
        children:
 | 
					        children:
 | 
				
			||||||
@@ -366,6 +369,7 @@ permissions:
 | 
				
			|||||||
            mcmmo.ability.repair.repairbonus: true
 | 
					            mcmmo.ability.repair.repairbonus: true
 | 
				
			||||||
            mcmmo.ability.repair.repairmastery: true
 | 
					            mcmmo.ability.repair.repairmastery: true
 | 
				
			||||||
            mcmmo.ability.repair.arcaneforging: true
 | 
					            mcmmo.ability.repair.arcaneforging: true
 | 
				
			||||||
 | 
					            mcmmo.ability.repair.salvage: true
 | 
				
			||||||
            mcmmo.ability.repair.woodrepair: true
 | 
					            mcmmo.ability.repair.woodrepair: true
 | 
				
			||||||
            mcmmo.ability.repair.stonerepair: true
 | 
					            mcmmo.ability.repair.stonerepair: true
 | 
				
			||||||
            mcmmo.ability.repair.leatherrepair: true
 | 
					            mcmmo.ability.repair.leatherrepair: true
 | 
				
			||||||
@@ -383,6 +387,8 @@ permissions:
 | 
				
			|||||||
        description: Allows access to Repair Mastery
 | 
					        description: Allows access to Repair Mastery
 | 
				
			||||||
    mcmmo.ability.repair.arcaneforging:
 | 
					    mcmmo.ability.repair.arcaneforging:
 | 
				
			||||||
        description: Allows access to the Arcane Forging ability
 | 
					        description: Allows access to the Arcane Forging ability
 | 
				
			||||||
 | 
					    mcmmo.ability.repair.salvage:
 | 
				
			||||||
 | 
					        description: Allows access to the Salvage ability
 | 
				
			||||||
    mcmmo.ability.repair.woodrepair:
 | 
					    mcmmo.ability.repair.woodrepair:
 | 
				
			||||||
        description: Allows ability to repair Wood tools
 | 
					        description: Allows ability to repair Wood tools
 | 
				
			||||||
    mcmmo.ability.repair.stonerepair:
 | 
					    mcmmo.ability.repair.stonerepair:
 | 
				
			||||||
@@ -442,6 +448,9 @@ permissions:
 | 
				
			|||||||
            mcmmo.ability.herbalism.greenterra: true
 | 
					            mcmmo.ability.herbalism.greenterra: true
 | 
				
			||||||
            mcmmo.ability.herbalism.greenthumbblocks: true
 | 
					            mcmmo.ability.herbalism.greenthumbblocks: true
 | 
				
			||||||
            mcmmo.ability.herbalism.greenthumbwheat: true
 | 
					            mcmmo.ability.herbalism.greenthumbwheat: true
 | 
				
			||||||
 | 
					            mcmmo.ability.herbalism.greenthumbcarrots: true
 | 
				
			||||||
 | 
					            mcmmo.ability.herbalism.greenthumbpotatoes: true
 | 
				
			||||||
 | 
					            mcmmo.ability.herbalism.greenthumbnetherwart: true
 | 
				
			||||||
            mcmmo.ability.herbalism.farmersdiet: true
 | 
					            mcmmo.ability.herbalism.farmersdiet: true
 | 
				
			||||||
    mcmmo.ability.herbalism.doubledrops:
 | 
					    mcmmo.ability.herbalism.doubledrops:
 | 
				
			||||||
        description: Allows double drop chance from Herbalism
 | 
					        description: Allows double drop chance from Herbalism
 | 
				
			||||||
@@ -451,6 +460,12 @@ permissions:
 | 
				
			|||||||
        description: Allows access to the Green Thumb ability for blocks
 | 
					        description: Allows access to the Green Thumb ability for blocks
 | 
				
			||||||
    mcmmo.ability.herbalism.greenthumbwheat:
 | 
					    mcmmo.ability.herbalism.greenthumbwheat:
 | 
				
			||||||
        description: Allows access to the Green Thumb ability for wheat
 | 
					        description: Allows access to the Green Thumb ability for wheat
 | 
				
			||||||
 | 
					    mcmmo.ability.herbalism.greenthumbcarrots:
 | 
				
			||||||
 | 
					        description: Allows access to the Green Thumb ability for carrots
 | 
				
			||||||
 | 
					    mcmmo.ability.herbalism.greenthumbpotatoes:
 | 
				
			||||||
 | 
					        description: Allows access to the Green Thumb ability for potatoes
 | 
				
			||||||
 | 
					    mcmmo.ability.herbalism.greenthumbnetherwart:
 | 
				
			||||||
 | 
					        description: Allows access to the Green Thumb ability for netherwart
 | 
				
			||||||
    mcmmo.ability.herbalism.farmersdiet:
 | 
					    mcmmo.ability.herbalism.farmersdiet:
 | 
				
			||||||
        description: Allows access to the Farmer's Diet ability
 | 
					        description: Allows access to the Farmer's Diet ability
 | 
				
			||||||
    mcmmo.ability.excavation.*:
 | 
					    mcmmo.ability.excavation.*:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user