Update configurations and skill block checks to be more configurable.

This commit is contained in:
t00thpick1
2017-06-10 13:47:20 -04:00
parent 5c267663a2
commit 15436b44da
11 changed files with 475 additions and 471 deletions

View File

@@ -3,7 +3,6 @@ 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;
@@ -11,6 +10,7 @@ import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.config.treasure.TreasureConfig;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
import com.gmail.nossr50.util.StringUtils;
public class Excavation {
/**
@@ -20,47 +20,14 @@ public class Excavation {
* @return the list of treasures that could be found
*/
protected static List<ExcavationTreasure> getTreasures(BlockState blockState) {
switch (blockState.getType()) {
case DIRT:
return blockState.getRawData() == 0x2 ? TreasureConfig.getInstance().excavationFromPodzol : TreasureConfig.getInstance().excavationFromDirt;
case GRASS:
case GRASS_PATH:
return TreasureConfig.getInstance().excavationFromGrass;
case SAND:
return blockState.getRawData() == 0x1 ? TreasureConfig.getInstance().excavationFromRedSand : TreasureConfig.getInstance().excavationFromSand;
case GRAVEL:
return TreasureConfig.getInstance().excavationFromGravel;
case CLAY:
return TreasureConfig.getInstance().excavationFromClay;
case MYCEL:
return TreasureConfig.getInstance().excavationFromMycel;
case SOUL_SAND:
return TreasureConfig.getInstance().excavationFromSoulSand;
case SNOW:
return TreasureConfig.getInstance().excavationFromSnow;
default:
return new ArrayList<ExcavationTreasure>();
}
String friendly = StringUtils.getFriendlyConfigMaterialDataString(blockState.getData());
if (TreasureConfig.getInstance().excavationMap.containsKey(friendly))
return TreasureConfig.getInstance().excavationMap.get(friendly);
return new ArrayList<ExcavationTreasure>();
}
protected static int getBlockXP(BlockState blockState) {
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);
}
int xp = ExperienceConfig.getInstance().getXp(SkillType.EXCAVATION, blockState.getData());
if (xp == 0 && mcMMO.getModManager().isCustomExcavationBlock(blockState)) {
xp = mcMMO.getModManager().getBlock(blockState).getXpGain();