1
0
mirror of https://github.com/mcMMO-Dev/mcMMO.git synced 2026-02-19 10:22:58 +01:00

Compare commits

..

15 Commits

Author SHA1 Message Date
TfT_02
eb359c5595 Update pom.xml and changelog.txt for 1.5.00 release 2014-03-29 17:52:08 +01:00
TfT_02
e1b8088c17 Improve holiday manager with 1.7 changes 2014-03-29 17:50:29 +01:00
TfT_02
70a1eea231 Nerf Herbalism XP from Tall Grass 2014-03-29 17:12:55 +01:00
TfT_02
c744974192 Added option to config.yml to override vanilla Minecraft treasures 2014-03-29 17:12:55 +01:00
TfT_02
faa11a87a9 Removed "Treasure found!" message
Because when treasures are found in vanilla Minecraft, there isn’t a
message either
2014-03-29 17:12:55 +01:00
TfT_02
91da5c4ab1 Add option to drop extra fish
Allows enabling of old fishing mechanic where fish was always caught,
even when a treasure was found
2014-03-29 17:12:54 +01:00
GJ
da5e770e06 Add Podzol & Red Sand to Excavation 2014-03-29 17:12:54 +01:00
TfT_02
09557e378b Update to the new ProjectileSource API 2014-03-29 17:12:54 +01:00
TfT_02
72d26fed0f Update version number to 1.5.00 2014-03-29 17:12:54 +01:00
TfT_02
225de799e8 Increase TreasureHunter chances for Luck enchantment
When the player is using a fishing rod with the ”Luck of the Sea”
enchantment, the drop chances will increase with 1% for each level of
the enchantment.
2014-03-29 17:12:36 +01:00
TfT_02
334c44760f Workaround for ClassCastException: MaterialData cannot be cast to Tree 2014-03-29 17:12:36 +01:00
TfT_02
ac7fc1020d Use tree species for Woodcutting double drops in config.yml
Oak is now Generic, and Spruce is now Redwood.
2014-03-29 17:12:36 +01:00
riking
461871327b Include new 1.7 biomes in fishing biome XP boost and Ice Fishing check 2014-03-29 17:12:36 +01:00
GJ
60ddd799de Update mcMMO for Minecraft 1.7.2 2014-03-29 17:12:35 +01:00
GJ
80571fbe8f Remove deprecated permission nodes 2014-03-29 17:12:35 +01:00
45 changed files with 386 additions and 330 deletions

View File

@@ -7,6 +7,20 @@ Key:
! Change
- Removal
Version 1.5.00
+ Added Podzol & Red Sand to Excavation
+ Added Hardened Clay, Stained Clay, and Packed Ice to Mining blocks
+ Added Acacia and Dark Oak to Woodcutting blocks
+ Added Salmon, Clownfish, and Pufferfish to Fishing XP
+ Added new flowers and grasses to Herbalism XP
+ Added option to config.yml which allows players to always catch fish, even when a treasure is found
+ Added option to config.yml to override vanilla Minecraft treasures
! Fishing XP now depends on the type of fish.
! Woodcutting XP in experience.yml and Woodcutting double drops in config.yml now use the tree species names. Oak is now Generic, and Spruce is now Redwood.
! Red_Rose was replaced by Poppy, and so the key in experience.yml has been updated accordingly.
- Removed deprecated permission nodes
- Removed "Treasure found!" message
Version 1.4.08
+ Added a new skill; Alchemy. Special thanks to EasyMFnE for creating this!
+ Added SecondaryAbilityType enum, and new SecondaryAbilityWeightedActivationCheckEvent, fired when a secondary ability checkes its activation chances

View File

@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId>
<version>1.4.08</version>
<version>1.5.00</version>
<name>mcMMO</name>
<url>https://github.com/mcMMO-Dev/mcMMO</url>
<issueManagement>
@@ -121,7 +121,7 @@
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.6.4-R2.0</version>
<version>LATEST</version>
<type>jar</type>
<scope>compile</scope>
</dependency>

View File

@@ -98,9 +98,7 @@ public class FishingCommand extends SkillCommand {
location = player.getLocation();
}
Biome biome = location.getBlock().getBiome();
if (biome == Biome.RIVER || biome == Biome.OCEAN) {
if (Fishing.masterAnglerBiomes.contains(location.getBlock().getBiome())) {
rawBiteChance = rawBiteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
}

View File

@@ -5,6 +5,7 @@ import java.util.List;
import java.util.Set;
import org.bukkit.Material;
import org.bukkit.TreeSpecies;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.EntityType;
@@ -451,6 +452,8 @@ public class Config extends AutoUpdateConfigLoader {
/* Fishing */
public boolean getFishingDropsEnabled() { return config.getBoolean("Skills.Fishing.Drops_Enabled", true); }
public boolean getFishingOverrideTreasures() { return config.getBoolean("Skills.Fishing.Override_Vanilla_Treasures", true); }
public boolean getFishingExtraFish() { return config.getBoolean("Skills.Fishing.Extra_Fish", true); }
/* Mining */
public Material getDetonatorItem() { return Material.matchMaterial(config.getString("Skills.Mining.Detonator_Name", "FLINT_AND_STEEL")); }
@@ -475,10 +478,7 @@ public class Config extends AutoUpdateConfigLoader {
public double getTamingCOTWRange() { return config.getDouble("Skills.Taming.Call_Of_The_Wild.Range", 40.0D); }
/* Woodcutting */
public boolean getOakDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Oak", true); }
public boolean getBirchDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Birch", true); }
public boolean getSpruceDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Spruce", true); }
public boolean getJungleDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Jungle", true); }
public boolean getWoodcuttingDoubleDropsEnabled(TreeSpecies species) { return config.getBoolean("Double_Drops.Woodcutting." + StringUtils.getPrettyTreeSpeciesString(species).replace(" ", "_")); }
public boolean getTreeFellerSoundsEnabled() { return config.getBoolean("Skills.Woodcutting.Tree_Feller_Sounds", true); }
/* AFK Leveling */

View File

@@ -4,7 +4,10 @@ import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.TreeSpecies;
import org.bukkit.entity.EntityType;
import org.bukkit.material.LongGrass;
import org.bukkit.material.MaterialData;
import com.gmail.nossr50.config.AutoUpdateConfigLoader;
import com.gmail.nossr50.datatypes.experience.FormulaType;
@@ -103,9 +106,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
}
/* Fishing */
if (getFishingBaseXP() <= 0) {
reason.add("Experience.Fishing.Base should be greater than 0!");
}
// TODO: Add validation for each fish type once enum is available.
if (getFishingShakeXP() <= 0) {
reason.add("Experience.Fishing.Shake should be greater than 0!");
@@ -126,20 +127,12 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
}
/* Woodcutting */
if (getWoodcuttingXPOak() <= 0) {
reason.add("Experience.Woodcutting.Oak should be greater than 0!");
}
for (TreeSpecies species : TreeSpecies.values()) {
String key = "Experience.Woodcutting." + StringUtils.getPrettyTreeSpeciesString(species).replace(" ", "_");
if (getWoodcuttingXPBirch() <= 0) {
reason.add("Experience.Woodcutting.Birch should be greater than 0!");
}
if (getWoodcuttingXPSpruce() <= 0) {
reason.add("Experience.Woodcutting.Spruce should be greater than 0!");
}
if (getWoodcuttingXPJungle() <= 0) {
reason.add("Experience.Woodcutting.Jungle should be greater than 0!");
if (config.getInt(key) <= 0) {
reason.add(key + " should be greater than 0!");
}
}
if (getWoodcuttingXPHugeBrownMushroom() <= 0) {
@@ -211,9 +204,108 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
public double getPotionXP() { return config.getDouble("Experience.Alchemy.Potion", 150D); }
/* Fishing */
public int getFishingBaseXP() { return config.getInt("Experience.Fishing.Base", 800); }
public int getFishXp(MaterialData data) {
switch (data.getData()) {
case 0x0:
return config.getInt("Experience.Fishing.Raw_Fish", 800);
case 0x1:
return config.getInt("Experience.Fishing.Raw_Salmon", 800);
case 0x2:
return config.getInt("Experience.Fishing.Clownfish", 800);
case 0x3:
return config.getInt("Experience.Fishing.Pufferfish", 800);
default:
return 0;
}
}
public int getFishingShakeXP() { return config.getInt("Experience.Fishing.Shake", 50); }
/* Herbalism */
public int getFlowerAndGrassXp(MaterialData data) {
Material type = data.getItemType();
if (type == Material.RED_ROSE) {
switch (data.getData()) {
case 0x0:
return config.getInt("Experience.Herbalism.Poppy", 100);
case 0x1:
return config.getInt("Experience.Herbalism.Blue_Orchid", 150);
case 0x2:
return config.getInt("Experience.Herbalism.Allium", 300);
case 0x3:
return config.getInt("Experience.Herbalism.Azure_Bluet", 150);
case 0x4:
return config.getInt("Experience.Herbalism.Red_Tulip", 150);
case 0x5:
return config.getInt("Experience.Herbalism.Orange_Tulip", 150);
case 0x6:
return config.getInt("Experience.Herbalism.White_Tulip", 150);
case 0x7:
return config.getInt("Experience.Herbalism.Pink_Tulip", 150);
case 0x8:
return config.getInt("Experience.Herbalism.Oxeye_Daisy", 150);
default:
return 0;
}
}
else if (type == Material.LONG_GRASS) {
switch (((LongGrass) data).getSpecies()) {
case DEAD:
return config.getInt("Experience.Herbalism.Dead_Bush", 30);
case FERN_LIKE:
return config.getInt("Experience.Herbalism.Small_Fern", 10);
case NORMAL:
return config.getInt("Experience.Herbalism.Small_Grass", 10);
default:
return 0;
}
}
else if (type == Material.DOUBLE_PLANT) {
switch (data.getData()) {
case 0x0:
return config.getInt("Experience.Herbalism.Sunflower", 50);
case 0x1:
return config.getInt("Experience.Herbalism.Lilac", 50);
case 0x2:
return config.getInt("Experience.Herbalism.Tall_Grass", 50);
case 0x3:
return config.getInt("Experience.Herbalism.Tall_Fern", 50);
case 0x4:
return config.getInt("Experience.Herbalism.Rose_Bush", 50);
case 0x5:
return config.getInt("Experience.Herbalism.Peony", 50);
default:
return 0;
}
}
return 0;
}
/* Repair */
public double getRepairXPBase() { return config.getDouble("Experience.Repair.Base", 1000.0); }
public double getRepairXP(RepairMaterialType repairMaterialType) { return config.getDouble("Experience.Repair." + StringUtils.getCapitalized(repairMaterialType.toString())); }
@@ -224,10 +316,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
public int getTamingXPOcelot() { return config.getInt("Experience.Taming.Animal_Taming.Ocelot", 500); }
/* Woodcutting */
public int getWoodcuttingXPOak() { return config.getInt("Experience.Woodcutting.Oak", 70); }
public int getWoodcuttingXPBirch() { return config.getInt("Experience.Woodcutting.Birch", 90); }
public int getWoodcuttingXPSpruce() { return config.getInt("Experience.Woodcutting.Spruce", 80); }
public int getWoodcuttingXPJungle() { return config.getInt("Experience.Woodcutting.Jungle", 100); }
public int getWoodcuttingTreeXP(TreeSpecies species) { return config.getInt("Experience.Woodcutting." + StringUtils.getPrettyTreeSpeciesString(species).replace(" ", "_")); }
public int getWoodcuttingXPHugeBrownMushroom() { return config.getInt("Experience.Woodcutting.Huge_Mushroom_Brown", 70); }
public int getWoodcuttingXPHugeRedMushroom() { return config.getInt("Experience.Woodcutting.Huge_Mushroom_Red", 70); }
}

View File

@@ -35,6 +35,8 @@ public class TreasureConfig extends ConfigLoader {
public List<ExcavationTreasure> excavationFromMycel = new ArrayList<ExcavationTreasure>();
public List<ExcavationTreasure> excavationFromSoulSand = new ArrayList<ExcavationTreasure>();
public List<ExcavationTreasure> excavationFromSnow = new ArrayList<ExcavationTreasure>();
public List<ExcavationTreasure> excavationFromRedSand = new ArrayList<ExcavationTreasure>();
public List<ExcavationTreasure> excavationFromPodzol = new ArrayList<ExcavationTreasure>();
public List<HylianTreasure> hylianFromBushes = new ArrayList<HylianTreasure>();
public List<HylianTreasure> hylianFromFlowers = new ArrayList<HylianTreasure>();
@@ -371,6 +373,14 @@ public class TreasureConfig extends ConfigLoader {
if (dropList.contains("Snow")) {
excavationFromSnow.add(excavationTreasure);
}
if (dropList.contains("Red_Sand")) {
excavationFromRedSand.add(excavationTreasure);
}
if (dropList.contains("Podzol")) {
excavationFromPodzol.add(excavationTreasure);
}
}
else if (isHylian) {
HylianTreasure hylianTreasure = new HylianTreasure(item, xp, dropChance, dropLevel);

View File

@@ -35,6 +35,7 @@ import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.projectiles.ProjectileSource;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.config.AdvancedConfig;
@@ -169,7 +170,11 @@ public class EntityListener implements Listener {
}
if (attacker instanceof Projectile) {
attacker = ((Projectile) attacker).getShooter();
ProjectileSource projectileSource = ((Projectile) attacker).getShooter();
if (projectileSource instanceof LivingEntity) {
attacker = (LivingEntity) projectileSource;
}
}
else if (attacker instanceof Tameable) {
AnimalTamer animalTamer = ((Tameable) attacker).getOwner();

View File

@@ -24,6 +24,7 @@ import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerStatisticIncrementEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.inventory.ItemStack;
@@ -223,6 +224,13 @@ public class PlayerListener implements Listener {
return;
case CAUGHT_FISH:
//TODO Update to new API once available! Waiting for case CAUGHT_TREASURE:
Item fishingCatch = (Item) event.getCaught();
if (Config.getInstance().getFishingOverrideTreasures() && fishingCatch.getItemStack().getType() != Material.RAW_FISH) {
fishingCatch.setItemStack(new ItemStack(Material.RAW_FISH, 1));
}
if (Permissions.vanillaXpBoost(player, SkillType.FISHING)) {
event.setExpToDrop(fishingManager.handleVanillaXpBoost(event.getExpToDrop()));
}
@@ -687,4 +695,13 @@ public class PlayerListener implements Listener {
}
}
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerStatisticIncrementEvent(PlayerStatisticIncrementEvent event) {
if (!mcMMO.getHolidayManager().isAprilFirst()) {
return;
}
mcMMO.getHolidayManager().handleStatisticEvent(event);
}
}

View File

@@ -2,6 +2,7 @@ package com.gmail.nossr50.runnables.skills;
import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.Statistic;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
@@ -19,6 +20,7 @@ public class AprilTask extends BukkitRunnable {
}
for (Player player : mcMMO.p.getServer().getOnlinePlayers()) {
int random = Misc.getRandom().nextInt(40) + 11;
int betterRandom = Misc.getRandom().nextInt(2000);
if (betterRandom == 0) {
player.playSound(player.getLocation(), Sound.LEVEL_UP, Misc.LEVELUP_VOLUME, Misc.LEVELUP_PITCH);
@@ -26,10 +28,9 @@ public class AprilTask extends BukkitRunnable {
fireworksShow(player);
}
for (HolidayManager.FakeSkillType fakeSkillType : HolidayManager.FakeSkillType.values()) {
int random = Misc.getRandom().nextInt(250);
if (random == 0) {
mcMMO.getHolidayManager().levelUpApril(player, fakeSkillType);
for (Statistic statistic : mcMMO.getHolidayManager().movementStatistics) {
if (player.getStatistic(statistic) > 0 && player.getStatistic(statistic) % random == 0) {
mcMMO.getHolidayManager().levelUpApril(player, HolidayManager.FakeSkillType.getByStatistic(statistic));
break;
}
}

View File

@@ -21,13 +21,13 @@ public class Excavation {
protected static List<ExcavationTreasure> getTreasures(BlockState blockState) {
switch (blockState.getType()) {
case DIRT:
return TreasureConfig.getInstance().excavationFromDirt;
return blockState.getRawData() == 0x2 ? TreasureConfig.getInstance().excavationFromPodzol : TreasureConfig.getInstance().excavationFromDirt;
case GRASS:
return TreasureConfig.getInstance().excavationFromGrass;
case SAND:
return TreasureConfig.getInstance().excavationFromSand;
return blockState.getRawData() == 0x1 ? TreasureConfig.getInstance().excavationFromRedSand : TreasureConfig.getInstance().excavationFromSand;
case GRAVEL:
return TreasureConfig.getInstance().excavationFromGravel;

View File

@@ -1,9 +1,12 @@
package com.gmail.nossr50.skills.fishing;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import org.bukkit.Material;
import org.bukkit.block.Biome;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.LivingEntity;
import org.bukkit.inventory.ItemStack;
@@ -54,6 +57,13 @@ public final class Fishing {
public static int fishermansDietRankLevel2 = fishermansDietRankLevel1 * 2;
public static int fishermansDietMaxLevel = fishermansDietRankLevel1 * 5;
public static Set<Biome> masterAnglerBiomes = EnumSet.of(Biome.RIVER, Biome.OCEAN, Biome.DEEP_OCEAN);
public static Set<Biome> iceFishingBiomes = EnumSet.of(
Biome.FROZEN_OCEAN, Biome.FROZEN_RIVER,
Biome.TAIGA, Biome.TAIGA_HILLS, Biome.TAIGA_MOUNTAINS,
Biome.ICE_PLAINS, Biome.ICE_MOUNTAINS, Biome.ICE_PLAINS_SPIKES,
Biome.COLD_TAIGA, Biome.COLD_TAIGA_HILLS, Biome.COLD_TAIGA_MOUNTAINS);
private Fishing() {}
/**

View File

@@ -12,7 +12,6 @@ import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.WeatherType;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.enchantments.Enchantment;
@@ -70,7 +69,6 @@ public class FishingManager extends SkillManager {
private Location fishingTarget;
private Item fishingCatch;
private Location hookLocation;
public FishingManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.FISHING);
}
@@ -198,10 +196,7 @@ public class FishingManager extends SkillManager {
}
// Make sure this is a body of water, not just a block of ice.
Biome biome = block.getBiome();
boolean isFrozenBiome = (biome == Biome.FROZEN_OCEAN || biome == Biome.FROZEN_RIVER || biome == Biome.TAIGA || biome == Biome.TAIGA_HILLS || biome == Biome.ICE_PLAINS || biome == Biome.ICE_MOUNTAINS);
if (!isFrozenBiome && (block.getRelative(BlockFace.DOWN, 3).getType() != Material.STATIONARY_WATER)) {
if (!Fishing.iceFishingBiomes.contains(block.getBiome()) && (block.getRelative(BlockFace.DOWN, 3).getType() != Material.STATIONARY_WATER)) {
return false;
}
@@ -281,12 +276,11 @@ public class FishingManager extends SkillManager {
public void masterAngler(Fish hook) {
Player player = getPlayer();
Location location = hook.getLocation();
Biome biome = location.getBlock().getBiome();
double biteChance = hook.getBiteChance();
hookLocation = location;
if (biome == Biome.RIVER || biome == Biome.OCEAN) {
if (Fishing.masterAnglerBiomes.contains(location.getBlock().getBiome())) {
biteChance = biteChance * AdvancedConfig.getInstance().getMasterAnglerBiomeModifier();
}
@@ -304,6 +298,7 @@ public class FishingManager extends SkillManager {
*/
public void handleFishing(Item fishingCatch) {
this.fishingCatch = fishingCatch;
int fishXp = ExperienceConfig.getInstance().getFishXp(fishingCatch.getItemStack().getData());
int treasureXp = 0;
Player player = getPlayer();
FishingTreasure treasure = null;
@@ -314,8 +309,6 @@ public class FishingManager extends SkillManager {
}
if (treasure != null) {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.ItemFound"));
ItemStack treasureDrop = treasure.getDrop().clone(); // Not cloning is bad, m'kay?
Map<Enchantment, Integer> enchants = new HashMap<Enchantment, Integer>();
@@ -347,11 +340,15 @@ public class FishingManager extends SkillManager {
player.sendMessage(LocaleLoader.getString("Fishing.Ability.TH.MagicFound"));
}
if (Config.getInstance().getFishingExtraFish()) {
Misc.dropItem(player.getEyeLocation(), fishingCatch.getItemStack());
}
fishingCatch.setItemStack(treasureDrop);
}
}
applyXpGain(ExperienceConfig.getInstance().getFishingBaseXP() + treasureXp);
applyXpGain(fishXp + treasureXp);
}
/**
@@ -450,6 +447,8 @@ public class FishingManager extends SkillManager {
*/
private FishingTreasure getFishingTreasure() {
double diceRoll = Misc.getRandom().nextDouble() * 100;
diceRoll -= getPlayer().getItemInHand().getEnchantmentLevel(Enchantment.LUCK);
FishingTreasure treasure = null;
for (Rarity rarity : Rarity.values()) {

View File

@@ -148,7 +148,12 @@ public class HerbalismManager extends SkillManager {
processGreenThumbPlants(blockState, greenTerra);
}
xp = ExperienceConfig.getInstance().getXp(skill, material);
if (material == Material.DOUBLE_PLANT || material == Material.RED_ROSE || material == Material.LONG_GRASS) {
xp = ExperienceConfig.getInstance().getFlowerAndGrassXp(blockState.getData());
}
else {
xp = ExperienceConfig.getInstance().getXp(skill, material);
}
if (Config.getInstance().getDoubleDropsEnabled(skill, material) && Permissions.secondaryAbilityEnabled(player, SecondaryAbility.HERBALISM_DOUBLE_DROPS)) {
drops = blockState.getBlock().getDrops();

View File

@@ -39,11 +39,13 @@ public class Mining {
switch (blockType) {
case ENDER_STONE:
case GOLD_ORE:
case HARD_CLAY:
case IRON_ORE:
case MOSSY_COBBLESTONE:
case NETHERRACK:
case OBSIDIAN:
case SANDSTONE:
case STAINED_CLAY:
handleMiningDrops(blockState);
return;
@@ -55,12 +57,13 @@ public class Mining {
case COAL_ORE:
case DIAMOND_ORE:
case REDSTONE_ORE:
case EMERALD_ORE:
case GLOWSTONE:
case LAPIS_ORE:
case STONE:
case EMERALD_ORE:
case PACKED_ICE:
case QUARTZ_ORE:
case REDSTONE_ORE:
case STONE:
Misc.dropItem(blockState.getLocation(), new ItemStack(blockType));
return;
@@ -82,17 +85,20 @@ public class Mining {
case COAL_ORE:
case DIAMOND_ORE:
case EMERALD_ORE:
case GLOWSTONE:
case LAPIS_ORE:
case STONE:
case ENDER_STONE:
case GLOWSTONE:
case GOLD_ORE:
case HARD_CLAY:
case IRON_ORE:
case LAPIS_ORE:
case MOSSY_COBBLESTONE:
case NETHERRACK:
case OBSIDIAN:
case PACKED_ICE:
case REDSTONE_ORE:
case SANDSTONE:
case STAINED_CLAY:
case STONE:
case QUARTZ_ORE:
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
return;

View File

@@ -5,6 +5,7 @@ import java.util.List;
import java.util.Set;
import org.bukkit.Material;
import org.bukkit.TreeSpecies;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.inventory.ItemStack;
@@ -55,28 +56,19 @@ public final class Woodcutting {
return mcMMO.getModManager().getBlock(blockState).getXpGain();
}
switch (((Tree) blockState.getData()).getSpecies()) {
case GENERIC:
return ExperienceConfig.getInstance().getWoodcuttingXPOak();
case REDWOOD:
return ExperienceConfig.getInstance().getWoodcuttingXPSpruce();
case BIRCH:
return ExperienceConfig.getInstance().getWoodcuttingXPBirch();
case JUNGLE:
int xp = ExperienceConfig.getInstance().getWoodcuttingXPJungle();
if (experienceGainMethod == ExperienceGainMethod.TREE_FELLER) {
xp *= 0.5;
}
return xp;
default:
return 0;
//TODO Remove this workaround when casting to Tree works again
TreeSpecies species = TreeSpecies.GENERIC;
if (blockState.getData() instanceof Tree) {
species = ((Tree) blockState.getData()).getSpecies();
}
int xp = ExperienceConfig.getInstance().getWoodcuttingTreeXP(species);
if (species == TreeSpecies.JUNGLE && experienceGainMethod == ExperienceGainMethod.TREE_FELLER) {
xp *= 0.5;
}
return xp;
}
/**
@@ -89,33 +81,14 @@ public final class Woodcutting {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
else {
switch (((Tree) blockState.getData()).getSpecies()) {
case GENERIC:
if (Config.getInstance().getOakDoubleDropsEnabled()) {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
return;
//TODO Remove this workaround when casting to Tree works again
TreeSpecies species = TreeSpecies.GENERIC;
if (blockState.getData() instanceof Tree) {
species = ((Tree) blockState.getData()).getSpecies();
}
case REDWOOD:
if (Config.getInstance().getSpruceDoubleDropsEnabled()) {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
return;
case BIRCH:
if (Config.getInstance().getBirchDoubleDropsEnabled()) {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
return;
case JUNGLE:
if (Config.getInstance().getJungleDoubleDropsEnabled()) {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
return;
default:
return;
if (Config.getInstance().getWoodcuttingDoubleDropsEnabled(species)) {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
}
}

View File

@@ -140,11 +140,15 @@ public class WoodcuttingManager extends SkillManager {
Misc.dropItems(blockState.getLocation(), block.getDrops());
}
else {
Tree tree = (Tree) blockState.getData();
tree.setDirection(BlockFace.UP);
//TODO Remove this workaround when casting to Tree works again
if (blockState.getData() instanceof Tree) {
Tree tree = (Tree) blockState.getData();
tree.setDirection(BlockFace.UP);
}
switch (material) {
case LOG:
case LOG_2:
if (canGetDoubleDrops()) {
Woodcutting.checkForDoubleDrop(blockState);
}
@@ -153,6 +157,7 @@ public class WoodcuttingManager extends SkillManager {
break;
case LEAVES:
case LEAVES_2:
Misc.dropItems(blockState.getLocation(), block.getDrops());
break;

View File

@@ -112,7 +112,9 @@ public final class BlockUtils {
switch (blockState.getType()) {
case BROWN_MUSHROOM:
case CACTUS:
case DOUBLE_PLANT:
case MELON_BLOCK:
case LONG_GRASS:
case PUMPKIN:
case RED_MUSHROOM:
case RED_ROSE:
@@ -150,10 +152,13 @@ public final class BlockUtils {
switch (blockState.getType()) {
case ENDER_STONE:
case GLOWSTONE:
case HARD_CLAY:
case MOSSY_COBBLESTONE:
case NETHERRACK:
case OBSIDIAN:
case PACKED_ICE:
case SANDSTONE:
case STAINED_CLAY:
case STONE:
return true;
@@ -195,6 +200,7 @@ public final class BlockUtils {
public static boolean isLog(BlockState blockState) {
switch (blockState.getType()) {
case LOG:
case LOG_2:
case HUGE_MUSHROOM_1:
case HUGE_MUSHROOM_2:
return true;
@@ -213,6 +219,7 @@ public final class BlockUtils {
public static boolean isLeaves(BlockState blockState) {
switch (blockState.getType()) {
case LEAVES:
case LEAVES_2:
return true;
default:
@@ -275,7 +282,7 @@ public final class BlockUtils {
* Determine if a given block can be made into Mycelium
*
* @param blockState The {@link BlockState} of the block to check
* @return true if the block can be made in Mycelium, false otherwise
* @return true if the block can be made into Mycelium, false otherwise
*/
public static boolean canMakeShroomy(BlockState blockState) {
switch (blockState.getType()) {

View File

@@ -10,8 +10,10 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.EnumSet;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
import org.bukkit.ChatColor;
@@ -20,11 +22,13 @@ import org.bukkit.DyeColor;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.Sound;
import org.bukkit.Statistic;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerStatisticIncrementEvent;
import org.bukkit.inventory.meta.FireworkMeta;
import com.gmail.nossr50.mcMMO;
@@ -67,8 +71,45 @@ public final class HolidayManager {
}
return null;
}
public static FakeSkillType getByStatistic(Statistic statistic) {
switch (statistic) {
case DAMAGE_TAKEN:
return FakeSkillType.MACHO;
case JUMP:
return FakeSkillType.JUMPING;
case DROP:
return FakeSkillType.THROWING;
case MINE_BLOCK:
case BREAK_ITEM:
return FakeSkillType.WRECKING;
case CRAFT_ITEM:
return FakeSkillType.CRAFTING;
case WALK_ONE_CM:
return FakeSkillType.WALKING;
case SWIM_ONE_CM:
return FakeSkillType.SWIMMING;
case FALL_ONE_CM:
return FakeSkillType.FALLING;
case CLIMB_ONE_CM:
return FakeSkillType.CLIMBING;
case FLY_ONE_CM:
return FakeSkillType.FLYING;
case DIVE_ONE_CM:
return FakeSkillType.DIVING;
case PIG_ONE_CM:
return FakeSkillType.PIGGY;
default:
return FakeSkillType.UNKNOWN;
}
}
}
public final Set<Statistic> movementStatistics = EnumSet.of(
Statistic.WALK_ONE_CM, Statistic.SWIM_ONE_CM, Statistic.FALL_ONE_CM,
Statistic.CLIMB_ONE_CM, Statistic.FLY_ONE_CM, Statistic.DIVE_ONE_CM,
Statistic.PIG_ONE_CM);
static {
List<Color> colors = new ArrayList<Color>();
List<ChatColor> chatColors = new ArrayList<ChatColor>();
@@ -301,6 +342,37 @@ public final class HolidayManager {
return mcMMO.getHolidayManager().getDateRange(day.getTime(), start.getTime(), end.getTime());
}
public void handleStatisticEvent(PlayerStatisticIncrementEvent event) {Player player = event.getPlayer();
Statistic statistic = event.getStatistic();
int newValue = event.getNewValue();
int modifier;
switch (statistic) {
case DAMAGE_TAKEN:
modifier = 500;
break;
case JUMP:
modifier = 500;
break;
case DROP:
modifier = 200;
break;
case MINE_BLOCK:
case BREAK_ITEM:
modifier = 500;
break;
case CRAFT_ITEM:
modifier = 100;
break;
default:
return;
}
if (newValue % modifier == 0) {
mcMMO.p.getHolidayManager().levelUpApril(player, FakeSkillType.getByStatistic(statistic));
}
}
public void levelUpApril(Player player, FakeSkillType fakeSkillType) {
int levelTotal = Misc.getRandom().nextInt(UserManager.getPlayer(player).getSkillLevel(SkillType.MINING)) + 1;
player.playSound(player.getLocation(), Sound.LEVEL_UP, Misc.LEVELUP_VOLUME, Misc.LEVELUP_PITCH);

View File

@@ -1,12 +1,14 @@
package com.gmail.nossr50.util;
import org.bukkit.ChatColor;
import org.bukkit.CoalType;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.inventory.FurnaceRecipe;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.Recipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.material.Coal;
import org.bukkit.material.Dye;
import com.gmail.nossr50.mcMMO;
@@ -586,6 +588,8 @@ public final class ItemUtils {
case PUMPKIN_SEEDS:
case WATER_LILY:
case VINE:
case LONG_GRASS:
case DOUBLE_PLANT:
return true;
case INK_SACK:
@@ -614,7 +618,6 @@ public final class ItemUtils {
case PORK:
case GRILLED_PORK:
case WOOL:
case RED_ROSE: // Not sure we should include this, as it will also trigger from herbalism
case IRON_INGOT:
case SNOW_BALL:
case BLAZE_ROD:
@@ -627,12 +630,17 @@ public final class ItemUtils {
case ARROW:
case SLIME_BALL:
case NETHER_STAR:
case COAL: // Not sure we should include this, as it will also trigger when mining
case ROTTEN_FLESH:
case GOLD_NUGGET:
case EGG:
return true;
case COAL: // Not sure we should include this, as it will also trigger when mining
return (((Coal) item.getData()).getType() == CoalType.COAL);
case RED_ROSE: // Not sure we should include this, as it will also trigger from herbalism
return (item.getData().getData() == 0x0);
default:
return false;
}
@@ -647,7 +655,9 @@ public final class ItemUtils {
public static boolean isWoodcuttingDrop(ItemStack item) {
switch (item.getType()) {
case LOG:
case LOG_2:
case LEAVES:
case LEAVES_2:
case SAPLING:
case APPLE:
return true;

View File

@@ -1,6 +1,7 @@
package com.gmail.nossr50.util;
import org.bukkit.Material;
import org.bukkit.TreeSpecies;
import org.bukkit.entity.EntityType;
import com.gmail.nossr50.datatypes.party.PartyFeature;
@@ -30,6 +31,10 @@ public class StringUtils {
return createPrettyEnumString(ability.toString());
}
public static String getPrettyTreeSpeciesString(TreeSpecies species) {
return createPrettyEnumString(species.toString());
}
public static String getPrettySecondaryAbilityString(SecondaryAbility secondaryAbility) {
switch (secondaryAbility) {
case HERBALISM_DOUBLE_DROPS:

View File

@@ -16,6 +16,7 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.inventory.ItemStack;
import org.bukkit.projectiles.ProjectileSource;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.config.Config;
@@ -262,10 +263,10 @@ public final class CombatUtils {
}
else if (entityType == EntityType.ARROW) {
Arrow arrow = (Arrow) damager;
LivingEntity shooter = arrow.getShooter();
ProjectileSource projectileSource = arrow.getShooter();
if (shooter != null && shooter instanceof Player && SkillType.ARCHERY.shouldProcess(target)) {
Player player = (Player) shooter;
if (projectileSource != null && projectileSource instanceof Player && SkillType.ARCHERY.shouldProcess(target)) {
Player player = (Player) projectileSource;
if (!Misc.isNPCEntity(player) && SkillType.ARCHERY.getPermissions(player)) {
processArcheryCombat(target, player, event, arrow);

View File

@@ -287,8 +287,11 @@ Skills:
Excavation:
Level_Cap: 0
Fishing:
Drops_Enabled: true
Level_Cap: 0
Drops_Enabled: true
Override_Vanilla_Treasures: true
# Always catch fish, even when treasure is found
Extra_Fish: false
Herbalism:
Level_Cap: 0
Prevent_AFK_Leveling: true
@@ -382,10 +385,12 @@ Double_Drops:
Sandstone: true
Stone: true
Woodcutting:
Oak: true
Acacia: true
Birch: true
Spruce: true
Dark_Oak: true
Generic: true
Jungle: true
Redwood: true
#
# Settings for commands

View File

@@ -82,7 +82,10 @@ Experience:
Alchemy:
Potion: 120
Fishing:
Base: 800
Raw_Fish: 800
Raw_Salmon: 800
Clownfish: 800
Pufferfish: 800
Shake: 50
Excavation:
Clay: 40
@@ -95,27 +98,46 @@ Experience:
Snow_Block: 40
Soul_Sand: 40
Woodcutting:
Oak: 70
Spruce: 80
Acacia: 90
Birch: 90
Dark_Oak: 90
Generic: 70
Jungle: 100
Redwood: 80
Huge_Mushroom_Red: 70
Huge_Mushroom_Brown: 70
Herbalism:
Allium: 300
Azure_Bluet: 150
Blue_Orchid: 150
Brown_Mushroom: 150
Cactus: 30
Carrot: 50
Cocoa: 30
Crops: 50
Dead_Bush: 30
Lilac: 50
Melon_Block: 20
Nether_Warts: 50
Orange_Tulip: 150
Oxeye_Daisy: 150
Peony: 50
Pink_Tulip: 150
Poppy: 100
Potato: 50
Pumpkin: 20
Red_Mushroom: 150
Red_Rose: 100
Red_Tulip: 150
Rose_Bush: 50
Small_Fern: 10
Small_Grass: 10
Sugar_Cane_Block: 30
Sunflower: 50
Tall_Grass: 50
Tall_Fern: 50
Vine: 10
Water_Lily: 100
White_Tulip: 150
Yellow_Flower: 100
Mining:
Coal_Ore: 100
@@ -124,14 +146,17 @@ Experience:
Ender_Stone: 150
Glowstone: 30
Gold_Ore: 350
Hard_Clay: 30
Iron_Ore: 250
Lapis_Ore: 400
Mossy_Cobblestone: 30
Netherrack: 30
Obsidian: 150
Packed_Ice: 50
Quartz_Ore: 100
Redstone_Ore: 150
Sandstone: 30
Stained_Clay: 50
Stone: 30
Repair:
Base: 1000.0

View File

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

View File

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

View File

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

View File

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

View File

@@ -137,7 +137,6 @@ Fishing.Effect.10=Ice Fishing
Fishing.Effect.11=Allows you to fish in icy biomes
Fishing.Chance.Raining=[[BLUE]] Rain Bonus
Fishing.Listener=Fishing:
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.Boom=[[GRAY]]BOOM TIME!!!
Fishing.Ability.TH.Poison=[[GRAY]]Something doesn't smell quite right...

View File

@@ -96,7 +96,6 @@ Fishing.Effect.10=Pesca de hielo
Fishing.Effect.11=Te permite pescar en biomas de hielo
Fishing.Chance.Raining=[[BLUE]] Lluvia de Bonus
Fishing.Listener=Pescador:
Fishing.Ability.TH.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
Fishing.Ability.TH.MagicFound=[[GRAY]]Sientes un toque de magia con esta pesca...
Fishing.SkillName=PESCADOR
Fishing.Skillup=[[YELLOW]]Habilidad de Pescador incrementada en {0}. Total ({1})

View File

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

View File

@@ -36,7 +36,6 @@ Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**TEHO PORA HAJOITUS AKTIVOITU**
Excavation.Skillup=[[YELLOW]]Kaivuu taito nousi {0} tasolla. Kokonaism\u00e4\u00e4r\u00e4 ({1})
Fishing.Effect.0=Aarteenmets\u00e4st\u00e4j\u00e4 (Passiivinen)
Fishing.Listener=Kalastus:
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.SkillName=KALASTUS
Fishing.Skillup=[[YELLOW]]Kalastustaito nousi {0} tasolla. Kokonaism\u00e4\u00e4r\u00e4 ({1})

View File

@@ -87,7 +87,6 @@ Fishing.Effect.6=R\u00e9gime de fermier
Fishing.Effect.7=Am\u00e9liore la nutrition des produits de la ferme
Fishing.Chance.Raining=[[BLUE]] Bonus de pluie
Fishing.Listener=P\u00eache :
Fishing.Ability.TH.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
Fishing.Ability.TH.MagicFound=[[GRAY]]Vous ressentez quelque chose de magique dans cette prise...
Fishing.SkillName=P\u00caCHE
Fishing.Skillup=[[YELLOW]]Le talent p\u00eache augmente de {0}. Total ({1})

View File

@@ -25,7 +25,6 @@ Excavation.Skills.GigaDrillBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] haszn\u00
Excavation.Skillup=[[YELLOW]]\u00c1s\u00e1s fejl\u0151d\u00f6tt {0} szinttel. \u00d6sszesen: ({1})
Fishing.Effect.10=J\u00e9g Horg\u00e1szat
Fishing.Listener=Horg\u00e1szat:
Fishing.Ability.TH.ItemFound=[[GRAY]]Kincs megtal\u00e1lva!
Fishing.SkillName=HORG\u00c1SZAT
Herbalism.Ability.Lower=[[GRAY]]**LETETTED A KAP\u00c1DAT**
Herbalism.Ability.Ready=[[GREEN]]**EL\u0150K\u00c9SZ\u00cdTETTED A KAP\u00c1DAT**

View File

@@ -98,7 +98,6 @@ Fishing.Effect.10=\uc5bc\uc74c \ub09a\uc2dc
Fishing.Effect.11=\uc5bc\uc74c\uc774 \ub36e\ud600\uc788\ub294 \ud658\uacbd\uc5d0\uc11c \ub09a\uc2dc \uac00\ub2a5
Fishing.Chance.Raining=[[BLUE]] \ube44 \ubcf4\ub108\uc2a4
Fishing.Listener=\ub09a\uc2dc(FISHING):
Fishing.Ability.TH.ItemFound=[[GRAY]]\ubcf4\ubb3c \ubc1c\uacac!
Fishing.Ability.TH.MagicFound=[[GRAY]]\uc774 \uc785\uc9c8\uc5d0\uc11c \ub9c8\ubc95\uc774 \ub290\uaef4\uc9d1\ub2c8\ub2e4...
Fishing.Ability.TH.Boom=[[GRAY]]\ud3ed\ubc1c \uc2dc\uac04!!!
Fishing.Ability.TH.Poison=[[GRAY]]\ubb54\uac00 \uaf64 \uad1c\ucc2e\uc740 \ub0c4\uc0c8\uac00 \ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4...

View File

@@ -76,7 +76,6 @@ Fishing.Effect.10=Ijs Vissen
Fishing.Effect.11=Stelt je in staat om te vissen in de ijzige biomen
Fishing.Chance.Raining=[[BLUE]] Regen Bonus
Fishing.Listener=Vissen:
Fishing.Ability.TH.ItemFound=[[GRAY]]Schat gevonden!
Fishing.Ability.TH.MagicFound=[[GRAY]]Jij voelt een vleugje magie met deze vangst...
Fishing.SkillName=VISSEN
Herbalism.Ability.FD=[[RED]]Boeren Dieet: [[YELLOW]]Rank {0}

View File

@@ -94,7 +94,6 @@ Fishing.Effect.10=Lodowe lowienie ryb
Fishing.Effect.11=Pozwala na lowienie ryb w zimowych biomach
Fishing.Chance.Raining=[[BLUE]] Bonus od Deszczu
Fishing.Listener=Rybactwo
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.MagicFound=[[GRAY]]Wyczuwasz w pobli\u017cu \u017ar\u00f3d\u0142o magii...
Fishing.SkillName=RYBACTWO
Fishing.Skillup=[[YELLOW]]Umiej\u0119tno\u015b\u0107 \u0142owienia wzros\u0142a o {0}. Razem ({1})

View File

@@ -30,7 +30,6 @@ Excavation.Listener=Escavacao:
Excavation.SkillName=Escava\u00e7\u00e3o
Excavation.Skillup=[[YELLOW]]Habilidade de Escavacao aumentada em {0}. Total ({1})
Fishing.Listener=Pescaria:
Fishing.Ability.TH.ItemFound=[[GRAY]]Tesouro encontrado!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.SkillName=PESCARIA
Fishing.Skillup=[[YELLOW]]Habilidade em Pescaria aumentada em {0}. Total ({1})

View File

@@ -98,7 +98,6 @@ Fishing.Effect.10=\u041f\u043e\u0434\u043b\u0435\u0434\u043d\u0430\u044f \u0420\
Fishing.Effect.11=\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0430\u043c \u0440\u044b\u0431\u0430\u0447\u0438\u0442\u044c \u0432 \u0441\u043d\u0435\u0436\u043d\u044b\u0445 \u0431\u0438\u043e\u043c\u0430\u0445
Fishing.Chance.Raining=[[BLUE]] \u0411\u043e\u043d\u0443\u0441 \u0414\u043e\u0436\u0434\u044f
Fishing.Listener=\u0420\u044b\u0431\u043e\u043b\u043e\u0432\u0441\u0442\u0432\u043e:
Fishing.Ability.TH.ItemFound=[[GRAY]]Treasure found!
Fishing.Ability.TH.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
Fishing.Ability.TH.Boom=[[GRAY]]\u0412\u0420\u0415\u041c\u042f \u0412\u0417\u0420\u042b\u0412\u0410\u0422\u042c!!!
Fishing.Ability.TH.Poison=[[GRAY]]\u0427\u0442\u043e-\u0442\u043e \u0441\u0434\u0435\u0441\u044c \u043d\u0435 \u0442\u0430\u043a...

View File

@@ -25,7 +25,6 @@ Excavation.Listener=Gr\u00e4vning:
Excavation.SkillName=Gr\u00e4vning
Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**GIGA BORR KROSSAREN AKTIVERAD**
Excavation.Skillup=[[YELLOW]]Gr\u00e4vningsf\u00e4rdigheten har \u00f6kat med {0}. Totalt ({1})
Fishing.Ability.TH.ItemFound=[[GRAY]]Skatt hittad!
Fishing.Ability.TH.MagicFound=[[GRAY]] Du f\u00e5r en k\u00e4nsla av magi med denna f\u00e5ngst....
Herbalism.Ability.GTh=[[GREEN]]**GR\u00d6NA FINGRAR**
Herbalism.Ability.Ready=[[GREEN]]**DU H\u00d6JER DIN SKYFFEL**

View File

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

View File

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

View File

@@ -98,7 +98,6 @@ Fishing.Effect.10=\u51b0\u9493
Fishing.Effect.11=\u5141\u8bb8\u4f60\u5728\u51b0\u51b7\u7684\u73af\u5883\u4e0b\u9493\u9c7c
Fishing.Chance.Raining=[[BLUE]] \u5927\u91cf\u5956\u52b1
Fishing.Listener=\u9493\u9c7c(Fishing):
Fishing.Ability.TH.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
Fishing.Ability.TH.MagicFound=[[GRAY]]\u4f60\u611f\u5230\u4e00\u80a1\u9b54\u529b\u7684\u6ce2\u52a8...
Fishing.Ability.TH.Boom=[[GRAY]]\u7e41\u8363\u65f6\u671f!!!
Fishing.Ability.TH.Poison=[[GRAY]]\u4ec0\u4e48\u4e1c\u897f,\u95fb\u8d77\u6765\u597d\u81ed\u554a...

View File

@@ -98,7 +98,6 @@ Fishing.Effect.10=\u51b0\u91e3
Fishing.Effect.11=\u5141\u8a31\u4f60\u5728\u51b0\u5929\u96ea\u5730\u88e1\u91e3\u9b5a
Fishing.Chance.Raining=[[BLUE]] \u5927\u91cf\u734e\u52f5
Fishing.Listener=\u91e3\u9b5a:
Fishing.Ability.TH.ItemFound=[[GRAY]]\u767c\u73fe\u5bf6\u7269\u4e86\uff01
Fishing.Ability.TH.MagicFound=[[GRAY]]\u4f60\u611f\u53d7\u5230\u9b54\u529b\u7684\u6ce2\u52d5...
Fishing.Ability.TH.Boom=[[GRAY]]\u6536\u7a6b\u6642\u9593!!!
Fishing.Ability.TH.Poison=[[GRAY]]\u4ec0\u9ebc\u6771\u897f,\u805e\u8d77\u4f86\u597d\u81ed\u554a...

View File

@@ -605,16 +605,6 @@ permissions:
mcmmo.bypass.fishingtraps:
default: false
description: Allows user to bypass finding traps when Fishing
mcmmo.bypass.inspect.distance:
default: false
description: Allows user to bypass Inspect's distance requirements
children:
mcmmo.commands.inspect.far: true
mcmmo.bypass.inspect.offline:
default: false
description: Allows user to bypass Inspect's offline player requirements
children:
mcmmo.commands.inspect.offline: true
mcmmo.chat.*:
default: false
description: Implies all mcmmo.chat permissions. (Warning, contains adminchat)
@@ -701,11 +691,6 @@ permissions:
mcmmo.commands.skillreset.all: true
mcmmo.commands.vampirism.all: true
mcmmo.commands.xprate.all: true
mcmmo.commands.ability:
default: false
description: Allows access to the mcability command
children:
mcmmo.commands.mcability: true
mcmmo.commands.acrobatics:
description: Allows access to the acrobatics command
mcmmo.commands.addlevels:
@@ -774,11 +759,6 @@ permissions:
description: Allows access to the mcability command
mcmmo.commands.mcability.others:
description: Allows access to the mcability command for other players
mcmmo.commands.mcc:
default: false
description: Allows access to the mcmmo help command
children:
mcmmo.commands.mcmmo.help: true
mcmmo.commands.mcconvert.*:
default: false
description: Allows access to the mcconvert commands
@@ -905,11 +885,6 @@ permissions:
description: Allows access to the mmoedit command
mcmmo.commands.mmoedit.others:
description: Allows access to the mmoedit command for other players
mcmmo.commands.mmoupdate:
default: false
description: Allows access to the mcconvert database command
children:
mcmmo.commands.mcconvert.database: true
mcmmo.commands.mmoshowdb:
description: Allows access to the mmoshowdb command
mcmmo.commands.mobhealth:
@@ -1187,7 +1162,7 @@ permissions:
mcmmo.chat.adminchat: true
mcmmo.commands.defaultsop: true
mcmmo.item.all: true
mcmmo.tools.updatecheck: true
mcmmo.tools.all: true
mcmmo.item.*:
default: false
description: Implies all mcmmo.item permissions
@@ -1952,163 +1927,7 @@ permissions:
default: false
description: Implies all mcmmo.tools permissions.
children:
mcmmo.tools.mcgod: true
mcmmo.tools.mcrefresh: true
mcmmo.tools.mcremove: true
mcmmo.tools.mmoedit: true
mcmmo.tools.updatecheck: true
mcmmo.tools.mcgod:
default: false
description: Allows access to mcgod command
children:
mcmmo.commands.mcgod: true
mcmmo.tools.mcrefresh:
default: false
description: Allows access to mcrefresh command
children:
mcmmo.commands.mcrefresh: true
mcmmo.commands.mcrefresh.others: true
mcmmo.tools.mcremove:
default: false
decription: Allows access to mcremove and mcpurge command
children:
mcmmo.commands.mcremove: true
mcmmo.tools.mmoedit:
default: false
description: Allows access to mmoedit command
children:
mcmmo.commands.addlevels: true
mcmmo.commands.addlevels.others: true
mcmmo.commands.addxp: true
mcmmo.commands.addxp.others: true
mcmmo.commands.mcpurge: true
mcmmo.commands.mmoedit: true
mcmmo.commands.mmoedit.others: true
mcmmo.tools.updatecheck:
default: false
description: Notifies admins if there is a new version of mcMMO available
mcmmo.ability.fishing.shakemob:
default: false
description: deprecated
children:
mcmmo.ability.fishing.shake: true
mcmmo.ability.axes.impact:
default: false
description: deprecated
children:
mcmmo.ability.axes.armorimpact: true
mcmmo.ability.taming.fastfoodservice:
default: false
description: deprecated
children:
mcmmo.ability.taming.fastfood: true
mcmmo.ability.archery.trackarrows:
default: false
description: deprecated
children:
mcmmo.ability.archery.retrieve: true
mcmmo.ability.repair.repairbonus:
default: false
description: deprecated
children:
mcmmo.ability.repair.superrepair: true
mcmmo.ability.swords.counterattack:
default: false
description: deprecated
children:
mcmmo.ability.swords.counter: true
mcmmo.ability.archery.bonusdamage:
default: false
description: deprecated
children:
mcmmo.ability.archery.skillshot: true
mcmmo.ability.excavation.treasures:
default: false
description: deprecated
children:
mcmmo.ability.excavation.treasurehunter: true
mcmmo.ability.fishing.treasures:
default: false
description: deprecated
children:
mcmmo.ability.fishing.treasurehunter: true
mcmmo.ability.fishing.magic:
default: false
description: deprecated
children:
mcmmo.ability.fishing.magichunter: true
mcmmo.ability.unarmed.bonusdamage:
default: false
description: deprecated
children:
mcmmo.ability.unarmed.ironarm: true
mcmmo.ability.axes.bonusdamage:
default: false
description: deprecated
children:
mcmmo.ability.axes.axemastery: true
mcmmo.ability.smelting.doubledrops:
default: false
description: deprecated
children:
mcmmo.ability.smelting.secondsmelt: true
mcmmo.ability.taming.callofthewild_renamepets:
default: false
description: deprecated
children:
mcmmo.ability.taming.callofthewild.renamepets: true
mcmmo.ability.blastmining.*:
default: false
description: deprecated
children:
mcmmo.ability.mining.blastmining.*: true
mcmmo.ability.blastmining.all:
default: false
description: deprecated
children:
mcmmo.ability.mining.blastmining.all: true
mcmmo.ability.blastmining.biggerbombs:
default: false
description: deprecated
children:
mcmmo.ability.mining.blastmining.biggerbombs: true
mcmmo.ability.blastmining.demolitionsexpertise:
default: false
description: deprecated
children:
mcmmo.ability.mining.blastmining.demolitionsexpertise: true
mcmmo.ability.blastmining.detonate:
default: false
description: deprecated
children:
mcmmo.ability.mining.blastmining.detonate: true
mcmmo.ability.herbalism.greenthumbblocks:
default: false
description: deprecated
children:
mcmmo.ability.herbalism.greenthumb.blocks.all: true
mcmmo.ability.herbalism.greenthumbcarrots:
default: false
description: deprecated
children:
mcmmo.ability.herbalism.greenthumb.plants.carrot: true
mcmmo.ability.herbalism.greenthumbcocoa:
default: false
description: deprecated
children:
mcmmo.ability.herbalism.greenthumb.plants.cocoa: true
mcmmo.ability.herbalism.greenthumbnetherwart:
default: false
description: deprecated
children:
mcmmo.ability.herbalism.greenthumb.plants.netherwarts: true
mcmmo.ability.herbalism.greenthumbpotatoes:
default: false
description: deprecated
children:
mcmmo.ability.herbalism.greenthumb.plants.potato: true
mcmmo.ability.herbalism.greenthumbwheat:
default: false
description: deprecated
children:
mcmmo.ability.herbalism.greenthumb.plants.crops: true

View File

@@ -446,7 +446,7 @@ Excavation:
XP: 3000
Drop_Chance: 0.05
Drop_Level: 750
Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand]
Drops_From: [Dirt, Podzol, Grass, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
SULPHUR:
Amount: 1
XP: 30
@@ -488,13 +488,13 @@ Excavation:
XP: 80
Drop_Chance: 0.5
Drop_Level: 500
Drops_From: [Dirt, Grass, Mycelium]
Drops_From: [Dirt, Podzol, Grass, Mycelium]
BROWN_MUSHROOM:
Amount: 1
XP: 80
Drop_Chance: 0.5
Drop_Level: 500
Drops_From: [Dirt, Grass, Mycelium]
Drops_From: [Dirt, Podzol, Grass, Mycelium]
EGG:
Amount: 1
XP: 100
@@ -506,7 +506,7 @@ Excavation:
XP: 80
Drop_Chance: 0.5
Drop_Level: 650
Drops_From: [Sand]
Drops_From: [Sand, Red_Sand]
WATCH:
Amount: 1
XP: 100
@@ -530,43 +530,43 @@ Excavation:
XP: 80
Drop_Chance: 5.0
Drop_Level: 25
Drops_From: [Dirt, Grass, Sand, Mycelium]
Drops_From: [Dirt, Podzol, Grass, Sand, Red_Sand, Mycelium]
GOLD_RECORD:
Amount: 1
XP: 3000
Drop_Chance: 0.05
Drop_Level: 250
Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand]
Drops_From: [Dirt, Podzol, Grass, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
GREEN_RECORD:
Amount: 1
XP: 3000
Drop_Chance: 0.05
Drop_Level: 250
Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand]
Drops_From: [Dirt, Podzol, Grass, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
DIAMOND:
Amount: 1
XP: 1000
Drop_Chance: 0.13
Drop_Level: 350
Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand]
Drops_From: [Dirt, Podzol, Grass, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
INK_SACK_BROWN:
Amount: 1
XP: 100
Drop_Chance: 1.33
Drop_Level: 350
Drops_From: [Dirt, Grass, Mycelium]
Drops_From: [Dirt, Podzol, Grass, Mycelium]
QUARTZ:
Amount: 1
XP: 100
Drop_Chance: 0.5
Drop_Level: 850
Drops_From: [Dirt, Sand, Gravel, Mycelium, Soul_Sand]
Drops_From: [Dirt, Podzol, Sand, Red_Sand, Gravel, Mycelium, Soul_Sand]
NAME_TAG:
Amount: 1
XP: 3000
Drop_Chance: 0.05
Drop_Level: 250
Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand]
Drops_From: [Dirt, Podzol, Grass, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
#
# Settings for Hylian Luck
###