|
@@ -91,18 +91,18 @@ public class LoadProperties {
|
|
axesxpmodifier, acrobaticsxpmodifier, animalXP, creeperXP, skeletonXP, spiderXP, ghastXP, slimeXP,
|
|
axesxpmodifier, acrobaticsxpmodifier, animalXP, creeperXP, skeletonXP, spiderXP, ghastXP, slimeXP,
|
|
zombieXP, pigzombieXP, endermanXP, cavespiderXP, silverfishXP, blazeXP, magmacubeXP, enderdragonXP;
|
|
zombieXP, pigzombieXP, endermanXP, cavespiderXP, silverfishXP, blazeXP, magmacubeXP, enderdragonXP;
|
|
|
|
|
|
- public static List<ExcavationTreasure> excavationFromDirt = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<ExcavationTreasure> excavationFromGrass = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<ExcavationTreasure> excavationFromSand = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<ExcavationTreasure> excavationFromGravel = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<ExcavationTreasure> excavationFromClay = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<ExcavationTreasure> excavationFromMycel = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<ExcavationTreasure> excavationFromSoulSand = new ArrayList<ExcavationTreasure>();
|
|
|
|
- public static List<FishingTreasure> fishingRewardsTier1 = new ArrayList<FishingTreasure>();
|
|
|
|
- public static List<FishingTreasure> fishingRewardsTier2 = new ArrayList<FishingTreasure>();
|
|
|
|
- public static List<FishingTreasure> fishingRewardsTier3 = new ArrayList<FishingTreasure>();
|
|
|
|
- public static List<FishingTreasure> fishingRewardsTier4 = new ArrayList<FishingTreasure>();
|
|
|
|
- public static List<FishingTreasure> fishingRewardsTier5 = new ArrayList<FishingTreasure>();
|
|
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromDirt = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromGrass = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromSand = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromGravel = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromClay = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromMycel = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<ExcavationTreasure> excavationFromSoulSand = new ArrayList<ExcavationTreasure>();
|
|
|
|
+// public static List<FishingTreasure> fishingRewardsTier1 = new ArrayList<FishingTreasure>();
|
|
|
|
+// public static List<FishingTreasure> fishingRewardsTier2 = new ArrayList<FishingTreasure>();
|
|
|
|
+// public static List<FishingTreasure> fishingRewardsTier3 = new ArrayList<FishingTreasure>();
|
|
|
|
+// public static List<FishingTreasure> fishingRewardsTier4 = new ArrayList<FishingTreasure>();
|
|
|
|
+// public static List<FishingTreasure> fishingRewardsTier5 = new ArrayList<FishingTreasure>();
|
|
|
|
|
|
public static HUDType defaulthud;
|
|
public static HUDType defaulthud;
|
|
protected static File configFile;
|
|
protected static File configFile;
|
|
@@ -181,8 +181,6 @@ public class LoadProperties {
|
|
bonesConsumedByCOTW = readInteger("Skills.Taming.Call_Of_The_Wild.Bones_Required", 10);
|
|
bonesConsumedByCOTW = readInteger("Skills.Taming.Call_Of_The_Wild.Bones_Required", 10);
|
|
|
|
|
|
xpbar = readBoolean("Spout.XP.Bar.Enabled", true);
|
|
xpbar = readBoolean("Spout.XP.Bar.Enabled", true);
|
|
- // web_url = readString("Spout.Images.URL_DIR",
|
|
|
|
- // "http://mcmmo.rycochet.net/mcmmo/");
|
|
|
|
xpicon = readBoolean("Spout.XP.Icon.Enabled", true);
|
|
xpicon = readBoolean("Spout.XP.Icon.Enabled", true);
|
|
xpbar_x = readInteger("Spout.XP.Bar.X_POS", 95);
|
|
xpbar_x = readInteger("Spout.XP.Bar.X_POS", 95);
|
|
xpbar_y = readInteger("Spout.XP.Bar.Y_POS", 6);
|
|
xpbar_y = readInteger("Spout.XP.Bar.Y_POS", 6);
|
|
@@ -435,140 +433,140 @@ public class LoadProperties {
|
|
magmacubeXP = readDouble("Experience.Combat.Multiplier.Magma_Cube", 2.0);
|
|
magmacubeXP = readDouble("Experience.Combat.Multiplier.Magma_Cube", 2.0);
|
|
enderdragonXP = readDouble("Experience.Combat.Multiplier.Ender_Dragon", 8.0);
|
|
enderdragonXP = readDouble("Experience.Combat.Multiplier.Ender_Dragon", 8.0);
|
|
|
|
|
|
- // Load treasures
|
|
|
|
- Map<String, Treasure> treasures = new HashMap<String, Treasure>();
|
|
|
|
-
|
|
|
|
- ConfigurationSection treasureSection = config.getConfigurationSection("Treasures");
|
|
|
|
- Set<String> treasureConfigSet = treasureSection.getKeys(false);
|
|
|
|
- Iterator<String> iterator = treasureConfigSet.iterator();
|
|
|
|
- while(iterator.hasNext())
|
|
|
|
- {
|
|
|
|
- String treasureName = iterator.next();
|
|
|
|
-
|
|
|
|
- // Validate all the things!
|
|
|
|
- List<String> reason = new ArrayList<String>();
|
|
|
|
-
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".ID")) reason.add("Missing ID");
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".Amount")) reason.add("Missing Amount");
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".Data")) reason.add("Missing Data");
|
|
|
|
-
|
|
|
|
- int id = config.getInt("Treasures." + treasureName + ".ID");
|
|
|
|
- int amount = config.getInt("Treasures." + treasureName + ".Amount");
|
|
|
|
- int data = config.getInt("Treasures." + treasureName + ".Data");
|
|
|
|
-
|
|
|
|
- if(Material.getMaterial(id) == null) reason.add("Invlid id: " + id);
|
|
|
|
- if(amount < 1) reason.add("Invalid amount: " + amount);
|
|
|
|
- if(data > 127 || data < -128) reason.add("Invalid data: " + data);
|
|
|
|
-
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".XP")) reason.add("Missing XP");
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".Drop_Chance")) reason.add("Missing Drop_Chance");
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".Drop_Level")) reason.add("Missing Drop_Level");
|
|
|
|
-
|
|
|
|
- int xp = config.getInt("Treasures." + treasureName + ".XP");
|
|
|
|
- Double dropChance = config.getDouble("Treasures." + treasureName + ".Drop_Chance");
|
|
|
|
- int dropLevel = config.getInt("Treasures." + treasureName + ".Drop_Level");
|
|
|
|
-
|
|
|
|
- if(xp < 0) reason.add("Invalid xp: " + xp);
|
|
|
|
- if(dropChance < 0) reason.add("Invalid Drop_Chance: " + dropChance);
|
|
|
|
- if(dropLevel < 0) reason.add("Invalid Drop_Level: " + dropLevel);
|
|
|
|
-
|
|
|
|
- ItemStack item = new ItemStack(id, amount, (byte) 0, (byte) data);
|
|
|
|
-
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) {
|
|
|
|
- if(config.getConfigurationSection("Treasures." + treasureName + ".Drops_From").getKeys(false).size() != 1)
|
|
|
|
- reason.add("Fishing drops cannot also be excavation drops");
|
|
|
|
-
|
|
|
|
- if(!config.contains("Treasures." + treasureName + ".Max_Level")) reason.add("Missing Max_Level");
|
|
|
|
- int maxLevel = config.getInt("Treasures." + treasureName + ".Max_Level");
|
|
|
|
-
|
|
|
|
- if(maxLevel < 0) reason.add("Invalid Max_Level: " + maxLevel);
|
|
|
|
-
|
|
|
|
- if(noErrorsInTreasure(reason)) {
|
|
|
|
- FishingTreasure fTreasure = new FishingTreasure(item, xp, dropChance, dropLevel, maxLevel);
|
|
|
|
- treasures.put(treasureName, fTreasure);
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- ExcavationTreasure eTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel);
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Dirt", false))
|
|
|
|
- eTreasure.setDropsFromDirt();
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Grass", false))
|
|
|
|
- eTreasure.setDropsFromGrass();
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Sand", false))
|
|
|
|
- eTreasure.setDropsFromSand();
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Gravel", false))
|
|
|
|
- eTreasure.setDropsFromGravel();
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Clay", false))
|
|
|
|
- eTreasure.setDropsFromClay();
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Mycelium", false))
|
|
|
|
- eTreasure.setDropsFromMycel();
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Soul_Sand", false))
|
|
|
|
- eTreasure.setDropsFromSoulSand();
|
|
|
|
-
|
|
|
|
- if(readBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) {
|
|
|
|
- reason.add("Excavation drops cannot also be fishing drops");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if(noErrorsInTreasure(reason)) {
|
|
|
|
- treasures.put(treasureName, eTreasure);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<String> excavationTreasures = config.getStringList("Excavation.Treasure");
|
|
|
|
- List<String> fishingTreasures = config.getStringList("Fishing.Treasure");
|
|
|
|
-
|
|
|
|
- Iterator<String> treasureIterator = treasures.keySet().iterator();
|
|
|
|
- while(treasureIterator.hasNext()) {
|
|
|
|
- String treasureKey = treasureIterator.next();
|
|
|
|
- Treasure treasure = treasures.get(treasureKey);
|
|
|
|
-
|
|
|
|
- if(treasure instanceof FishingTreasure) {
|
|
|
|
- if(!fishingTreasures.contains(treasureKey)) continue;
|
|
|
|
-
|
|
|
|
- FishingTreasure fTreasure = (FishingTreasure) treasure;
|
|
|
|
- int dropLevel = fTreasure.getDropLevel();
|
|
|
|
- int maxLevel = fTreasure.getMaxLevel();
|
|
|
|
-
|
|
|
|
- if(dropLevel <= fishingTier1 && maxLevel >= fishingTier1)
|
|
|
|
- fishingRewardsTier1.add(fTreasure);
|
|
|
|
- if(dropLevel <= fishingTier2 && maxLevel >= fishingTier2)
|
|
|
|
- fishingRewardsTier2.add(fTreasure);
|
|
|
|
- if(dropLevel <= fishingTier3 && maxLevel >= fishingTier3)
|
|
|
|
- fishingRewardsTier3.add(fTreasure);
|
|
|
|
- if(dropLevel <= fishingTier4 && maxLevel >= fishingTier4)
|
|
|
|
- fishingRewardsTier4.add(fTreasure);
|
|
|
|
- if(dropLevel <= fishingTier5 && maxLevel >= fishingTier5)
|
|
|
|
- fishingRewardsTier5.add(fTreasure);
|
|
|
|
-
|
|
|
|
- } else if(treasure instanceof ExcavationTreasure) {
|
|
|
|
- if(!excavationTreasures.contains(treasureKey)) continue;
|
|
|
|
-
|
|
|
|
- ExcavationTreasure eTreasure = (ExcavationTreasure) treasure;
|
|
|
|
- if(eTreasure.getDropsFromDirt())
|
|
|
|
- excavationFromDirt.add(eTreasure);
|
|
|
|
- if(eTreasure.getDropsFromGrass())
|
|
|
|
- excavationFromGrass.add(eTreasure);
|
|
|
|
- if(eTreasure.getDropsFromSand())
|
|
|
|
- excavationFromSand.add(eTreasure);
|
|
|
|
- if(eTreasure.getDropsFromGravel())
|
|
|
|
- excavationFromGravel.add(eTreasure);
|
|
|
|
- if(eTreasure.getDropsFromClay())
|
|
|
|
- excavationFromClay.add(eTreasure);
|
|
|
|
- if(eTreasure.getDropsFromMycel())
|
|
|
|
- excavationFromMycel.add(eTreasure);
|
|
|
|
- if(eTreasure.getDropsFromSoulSand())
|
|
|
|
- excavationFromSoulSand.add(eTreasure);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private boolean noErrorsInTreasure(List<String> issues) {
|
|
|
|
- if(issues.isEmpty()) return true;
|
|
|
|
-
|
|
|
|
- for(String issue : issues) {
|
|
|
|
- plugin.getLogger().warning(issue);
|
|
|
|
|
|
+// // Load treasures
|
|
|
|
+// Map<String, Treasure> treasures = new HashMap<String, Treasure>();
|
|
|
|
+//
|
|
|
|
+// ConfigurationSection treasureSection = config.getConfigurationSection("Treasures");
|
|
|
|
+// Set<String> treasureConfigSet = treasureSection.getKeys(false);
|
|
|
|
+// Iterator<String> iterator = treasureConfigSet.iterator();
|
|
|
|
+// while(iterator.hasNext())
|
|
|
|
+// {
|
|
|
|
+// String treasureName = iterator.next();
|
|
|
|
+//
|
|
|
|
+// // Validate all the things!
|
|
|
|
+// List<String> reason = new ArrayList<String>();
|
|
|
|
+//
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".ID")) reason.add("Missing ID");
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".Amount")) reason.add("Missing Amount");
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".Data")) reason.add("Missing Data");
|
|
|
|
+//
|
|
|
|
+// int id = config.getInt("Treasures." + treasureName + ".ID");
|
|
|
|
+// int amount = config.getInt("Treasures." + treasureName + ".Amount");
|
|
|
|
+// int data = config.getInt("Treasures." + treasureName + ".Data");
|
|
|
|
+//
|
|
|
|
+// if(Material.getMaterial(id) == null) reason.add("Invlid id: " + id);
|
|
|
|
+// if(amount < 1) reason.add("Invalid amount: " + amount);
|
|
|
|
+// if(data > 127 || data < -128) reason.add("Invalid data: " + data);
|
|
|
|
+//
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".XP")) reason.add("Missing XP");
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".Drop_Chance")) reason.add("Missing Drop_Chance");
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".Drop_Level")) reason.add("Missing Drop_Level");
|
|
|
|
+//
|
|
|
|
+// int xp = config.getInt("Treasures." + treasureName + ".XP");
|
|
|
|
+// Double dropChance = config.getDouble("Treasures." + treasureName + ".Drop_Chance");
|
|
|
|
+// int dropLevel = config.getInt("Treasures." + treasureName + ".Drop_Level");
|
|
|
|
+//
|
|
|
|
+// if(xp < 0) reason.add("Invalid xp: " + xp);
|
|
|
|
+// if(dropChance < 0) reason.add("Invalid Drop_Chance: " + dropChance);
|
|
|
|
+// if(dropLevel < 0) reason.add("Invalid Drop_Level: " + dropLevel);
|
|
|
|
+//
|
|
|
|
+// ItemStack item = new ItemStack(id, amount, (byte) 0, (byte) data);
|
|
|
|
+//
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) {
|
|
|
|
+// if(config.getConfigurationSection("Treasures." + treasureName + ".Drops_From").getKeys(false).size() != 1)
|
|
|
|
+// reason.add("Fishing drops cannot also be excavation drops");
|
|
|
|
+//
|
|
|
|
+// if(!config.contains("Treasures." + treasureName + ".Max_Level")) reason.add("Missing Max_Level");
|
|
|
|
+// int maxLevel = config.getInt("Treasures." + treasureName + ".Max_Level");
|
|
|
|
+//
|
|
|
|
+// if(maxLevel < 0) reason.add("Invalid Max_Level: " + maxLevel);
|
|
|
|
+//
|
|
|
|
+// if(noErrorsInTreasure(reason)) {
|
|
|
|
+// FishingTreasure fTreasure = new FishingTreasure(item, xp, dropChance, dropLevel, maxLevel);
|
|
|
|
+// treasures.put(treasureName, fTreasure);
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// ExcavationTreasure eTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel);
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Dirt", false))
|
|
|
|
+// eTreasure.setDropsFromDirt();
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Grass", false))
|
|
|
|
+// eTreasure.setDropsFromGrass();
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Sand", false))
|
|
|
|
+// eTreasure.setDropsFromSand();
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Gravel", false))
|
|
|
|
+// eTreasure.setDropsFromGravel();
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Clay", false))
|
|
|
|
+// eTreasure.setDropsFromClay();
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Mycelium", false))
|
|
|
|
+// eTreasure.setDropsFromMycel();
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Soul_Sand", false))
|
|
|
|
+// eTreasure.setDropsFromSoulSand();
|
|
|
|
+//
|
|
|
|
+// if(readBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) {
|
|
|
|
+// reason.add("Excavation drops cannot also be fishing drops");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// if(noErrorsInTreasure(reason)) {
|
|
|
|
+// treasures.put(treasureName, eTreasure);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
}
|
|
}
|
|
-
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
|
|
+//
|
|
|
|
+// List<String> excavationTreasures = config.getStringList("Excavation.Treasure");
|
|
|
|
+// List<String> fishingTreasures = config.getStringList("Fishing.Treasure");
|
|
|
|
+//
|
|
|
|
+// Iterator<String> treasureIterator = treasures.keySet().iterator();
|
|
|
|
+// while(treasureIterator.hasNext()) {
|
|
|
|
+// String treasureKey = treasureIterator.next();
|
|
|
|
+// Treasure treasure = treasures.get(treasureKey);
|
|
|
|
+//
|
|
|
|
+// if(treasure instanceof FishingTreasure) {
|
|
|
|
+// if(!fishingTreasures.contains(treasureKey)) continue;
|
|
|
|
+//
|
|
|
|
+// FishingTreasure fTreasure = (FishingTreasure) treasure;
|
|
|
|
+// int dropLevel = fTreasure.getDropLevel();
|
|
|
|
+// int maxLevel = fTreasure.getMaxLevel();
|
|
|
|
+//
|
|
|
|
+// if(dropLevel <= fishingTier1 && maxLevel >= fishingTier1)
|
|
|
|
+// fishingRewardsTier1.add(fTreasure);
|
|
|
|
+// if(dropLevel <= fishingTier2 && maxLevel >= fishingTier2)
|
|
|
|
+// fishingRewardsTier2.add(fTreasure);
|
|
|
|
+// if(dropLevel <= fishingTier3 && maxLevel >= fishingTier3)
|
|
|
|
+// fishingRewardsTier3.add(fTreasure);
|
|
|
|
+// if(dropLevel <= fishingTier4 && maxLevel >= fishingTier4)
|
|
|
|
+// fishingRewardsTier4.add(fTreasure);
|
|
|
|
+// if(dropLevel <= fishingTier5 && maxLevel >= fishingTier5)
|
|
|
|
+// fishingRewardsTier5.add(fTreasure);
|
|
|
|
+//
|
|
|
|
+// } else if(treasure instanceof ExcavationTreasure) {
|
|
|
|
+// if(!excavationTreasures.contains(treasureKey)) continue;
|
|
|
|
+//
|
|
|
|
+// ExcavationTreasure eTreasure = (ExcavationTreasure) treasure;
|
|
|
|
+// if(eTreasure.getDropsFromDirt())
|
|
|
|
+// excavationFromDirt.add(eTreasure);
|
|
|
|
+// if(eTreasure.getDropsFromGrass())
|
|
|
|
+// excavationFromGrass.add(eTreasure);
|
|
|
|
+// if(eTreasure.getDropsFromSand())
|
|
|
|
+// excavationFromSand.add(eTreasure);
|
|
|
|
+// if(eTreasure.getDropsFromGravel())
|
|
|
|
+// excavationFromGravel.add(eTreasure);
|
|
|
|
+// if(eTreasure.getDropsFromClay())
|
|
|
|
+// excavationFromClay.add(eTreasure);
|
|
|
|
+// if(eTreasure.getDropsFromMycel())
|
|
|
|
+// excavationFromMycel.add(eTreasure);
|
|
|
|
+// if(eTreasure.getDropsFromSoulSand())
|
|
|
|
+// excavationFromSoulSand.add(eTreasure);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// private boolean noErrorsInTreasure(List<String> issues) {
|
|
|
|
+// if(issues.isEmpty()) return true;
|
|
|
|
+//
|
|
|
|
+// for(String issue : issues) {
|
|
|
|
+// plugin.getLogger().warning(issue);
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// return false;
|
|
|
|
+// }
|
|
}
|
|
}
|