Added options to experience.yml for Dirt and Sand variations

Adds #2194
This commit is contained in:
TfT_02
2014-08-19 21:28:53 -06:00
parent 4d402c7229
commit 2650d57d8e
4 changed files with 49 additions and 1 deletions

View File

@ -207,6 +207,41 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
/* Alchemy */
public double getPotionXP(PotionStage stage) { return config.getDouble("Experience.Alchemy.Potion_Stage_" + stage.toNumerical(), 10D); }
/* Excavation */
public int getDirtAndSandXp(MaterialData data) {
Material type = data.getItemType();
if (type == Material.DIRT) {
switch (data.getData()) {
case 0x0:
return config.getInt("Experience.Excavation.Dirt", 40);
case 0x1:
return config.getInt("Experience.Excavation.Coarse_Dirt", 40);
case 0x2:
return config.getInt("Experience.Excavation.Podzol", 40);
default:
return 0;
}
}
else if (type == Material.SAND) {
switch (data.getData()) {
case 0x0:
return config.getInt("Experience.Excavation.Sand", 40);
case 0x1:
return config.getInt("Experience.Excavation.Red_Sand", 40);
default:
return 0;
}
}
return 0;
}
/* Fishing */
public int getFishXp(MaterialData data) {
switch (data.getData()) {

View File

@ -3,6 +3,7 @@ package com.gmail.nossr50.skills.excavation;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.block.BlockState;
import com.gmail.nossr50.mcMMO;
@ -50,7 +51,15 @@ public class Excavation {
}
protected static int getBlockXP(BlockState blockState) {
int xp = ExperienceConfig.getInstance().getXp(SkillType.EXCAVATION, blockState.getType());
Material material = blockState.getType();
int xp;
if (material == Material.DIRT || material == Material.SAND) {
xp = ExperienceConfig.getInstance().getDirtAndSandXp(blockState.getData());
}
else {
xp = ExperienceConfig.getInstance().getXp(SkillType.EXCAVATION, material);
}
if (xp == 0 && mcMMO.getModManager().isCustomExcavationBlock(blockState)) {
xp = mcMMO.getModManager().getBlock(blockState).getXpGain();