Add more configuration to shake treasures

This commit is contained in:
t00thpick1
2017-06-10 13:59:49 -04:00
parent cb5d38c11f
commit ee02a19e9a
2 changed files with 19 additions and 177 deletions

View File

@ -36,33 +36,7 @@ public class TreasureConfig extends ConfigLoader {
public List<HylianTreasure> hylianFromFlowers = new ArrayList<HylianTreasure>();
public List<HylianTreasure> hylianFromPots = new ArrayList<HylianTreasure>();
public List<ShakeTreasure> shakeFromBlaze = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromCaveSpider = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromSpider = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromChicken = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromCow = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromCreeper = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromEnderman = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromGhast = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromHorse = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromIronGolem = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromMagmaCube = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromMushroomCow = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromPig = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromPigZombie = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromPlayer = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromSheep = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromShulker = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromSkeleton = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromSlime = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromSnowman = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromSquid = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromWitch = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromWitherSkeleton = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromZombie = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromRabbit = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromElderGuardian = new ArrayList<ShakeTreasure>();
public List<ShakeTreasure> shakeFromGuardian = new ArrayList<ShakeTreasure>();
public HashMap<EntityType, List<ShakeTreasure>> shakeMap = new HashMap<EntityType, List<ShakeTreasure>>();
public HashMap<Rarity, List<FishingTreasure>> fishingRewards = new HashMap<Rarity, List<FishingTreasure>>();
public HashMap<Rarity, List<EnchantmentTreasure>> fishingEnchantments = new HashMap<Rarity, List<EnchantmentTreasure>>();
@ -174,7 +148,9 @@ public class TreasureConfig extends ConfigLoader {
material = Material.COAL;
} else if (materialName.contains("INVENTORY")) {
// Use magic material BED_BLOCK to know that we're grabbing something from the inventory and not a normal treasure
shakeFromPlayer.add(new ShakeTreasure(new ItemStack(Material.BED_BLOCK, 1, (byte) 0), 1, getInventoryStealDropChance(), getInventoryStealDropLevel()));
if (!shakeMap.containsKey(EntityType.PLAYER))
shakeMap.put(EntityType.PLAYER, new ArrayList<ShakeTreasure>());
shakeMap.get(EntityType.PLAYER).add(new ShakeTreasure(new ItemStack(Material.BED_BLOCK, 1, (byte) 0), 1, getInventoryStealDropChance(), getInventoryStealDropLevel()));
continue;
} else {
material = Material.matchMaterial(materialName);
@ -316,62 +292,11 @@ public class TreasureConfig extends ConfigLoader {
fishingRewards.get(rarity).add(new FishingTreasure(item, xp));
} else if (isShake) {
ShakeTreasure shakeTreasure = new ShakeTreasure(item, xp, dropChance, dropLevel);
if (type.equals("Shake.BLAZE")) {
shakeFromBlaze.add(shakeTreasure);
} else if (type.equals("Shake.CAVE_SPIDER")) {
shakeFromCaveSpider.add(shakeTreasure);
} else if (type.equals("Shake.CHICKEN")) {
shakeFromChicken.add(shakeTreasure);
} else if (type.equals("Shake.COW")) {
shakeFromCow.add(shakeTreasure);
} else if (type.equals("Shake.CREEPER")) {
shakeFromCreeper.add(shakeTreasure);
} else if (type.equals("Shake.ENDERMAN")) {
shakeFromEnderman.add(shakeTreasure);
} else if (type.equals("Shake.GHAST")) {
shakeFromGhast.add(shakeTreasure);
} else if (type.equals("Shake.HORSE")) {
shakeFromHorse.add(shakeTreasure);
} else if (type.equals("Shake.IRON_GOLEM")) {
shakeFromIronGolem.add(shakeTreasure);
} else if (type.equals("Shake.MAGMA_CUBE")) {
shakeFromMagmaCube.add(shakeTreasure);
} else if (type.equals("Shake.MUSHROOM_COW")) {
shakeFromMushroomCow.add(shakeTreasure);
} else if (type.equals("Shake.PIG")) {
shakeFromPig.add(shakeTreasure);
} else if (type.equals("Shake.PIG_ZOMBIE")) {
shakeFromPigZombie.add(shakeTreasure);
} else if (type.equals("Shake.PLAYER")) {
shakeFromPlayer.add(shakeTreasure);
} else if (type.equals("Shake.SHEEP")) {
shakeFromSheep.add(shakeTreasure);
} else if (type.equals("Shake.SHULKER")) {
shakeFromShulker.add(shakeTreasure);
} else if (type.equals("Shake.SKELETON")) {
shakeFromSkeleton.add(shakeTreasure);
} else if (type.equals("Shake.SLIME")) {
shakeFromSlime.add(shakeTreasure);
} else if (type.equals("Shake.SPIDER")) {
shakeFromSpider.add(shakeTreasure);
} else if (type.equals("Shake.SNOWMAN")) {
shakeFromSnowman.add(shakeTreasure);
} else if (type.equals("Shake.SQUID")) {
shakeFromSquid.add(shakeTreasure);
} else if (type.equals("Shake.WITCH")) {
shakeFromWitch.add(shakeTreasure);
} else if (type.equals("Shake.WITHER_SKELETON")) {
shakeFromWitherSkeleton.add(shakeTreasure);
} else if (type.equals("Shake.ZOMBIE")) {
shakeFromZombie.add(shakeTreasure);
} else if (type.equals("Shake.RABBIT")) {
shakeFromRabbit.add(shakeTreasure);
} else if (type.equals("Shake.GUARDIAN")) {
shakeFromGuardian.add(shakeTreasure);
} else if (type.equals("Shake.ELDER_GUARDIAN")) {
shakeFromElderGuardian.add(shakeTreasure);
}
EntityType entityType = EntityType.valueOf(type.substring(6));
if (!shakeMap.containsKey(entityType))
shakeMap.put(entityType, new ArrayList<ShakeTreasure>());
shakeMap.get(entityType).add(shakeTreasure);
} else if (isExcavation) {
ExcavationTreasure excavationTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel);
List<String> dropList = config.getStringList(type + "." + treasureName + ".Drops_From");
@ -401,9 +326,6 @@ public class TreasureConfig extends ConfigLoader {
}
}
}
// Fallthrough if not specified
if (shakeFromElderGuardian.isEmpty())
shakeFromElderGuardian = shakeFromGuardian;
}
private void loadEnchantments() {