LoadProperties.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. /*
  2. This file is part of mcMMO.
  3. mcMMO is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 3 of the License, or
  6. (at your option) any later version.
  7. mcMMO is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with mcMMO. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. package com.gmail.nossr50.config;
  15. import com.gmail.nossr50.mcMMO;
  16. import java.io.File;
  17. import java.io.IOException;
  18. import org.bukkit.configuration.file.FileConfiguration;
  19. import com.gmail.nossr50.datatypes.HUDType;
  20. public class LoadProperties {
  21. public static Boolean enableOnlyActivateWhenSneaking,
  22. enableAbilityMessages, enableAbilities, showDisplayName, showFaces,
  23. xplockEnable, xpbar, xpicon, partybar, xprateEnable, spoutEnabled,
  24. donateMessage, chimaeraWingEnable, xpGainsMobSpawners,
  25. mccEnable, mcmmoEnable, partyEnable, inviteEnable, acceptEnable,
  26. inspectEnable, mcstatsEnable, addxpEnable, ptpEnable, mmoeditEnable, mcremoveEnable,
  27. mcgodEnable, mcabilityEnable, mctopEnable,
  28. addlevelsEnable, mcrefreshEnable, aEnable, pEnable, enableMotd,
  29. enableCobbleToMossy, useMySQL, toolsLoseDurabilityFromAbilities,
  30. pvpxp, miningrequirespickaxe, excavationRequiresShovel,
  31. woodcuttingrequiresaxe, anvilmessages, mayDowngradeEnchants,
  32. mayLoseEnchants, fishingDrops, aDisplayNames, pDisplayNames, enableSmoothToMossy,
  33. enableDirtToGrass, statsTracking, eventCallback, herbalismHungerBonus,
  34. repairArmor, repairTools;
  35. public static String MySQLtablePrefix, MySQLuserName,
  36. MySQLserverName, MySQLdbName, MySQLdbPass, nWood, nStone,
  37. nIron, nGold, nDiamond, locale, nString, nLeather;
  38. public static int treeFellerThreshold, mjungle, mtameWolf, mfishing, xpbar_x, xpbar_y, xpicon_x, xpicon_y,
  39. chimaeraId, msandstone, mbase, moak, mbirch, mspruce, mmelon,
  40. mcactus, mmushroom, mflower, msugar, mpumpkin, mwheat, mgold,
  41. mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack,
  42. mglowstone, mcoal, mstone, MySQLport, xpGainMultiplier,
  43. superBreakerCooldown, blastMiningCooldown, greenTerraCooldown, gigaDrillBreakerCooldown,
  44. treeFellerCooldown, berserkCooldown, serratedStrikeCooldown,
  45. skullSplitterCooldown, abilityDurabilityLoss,
  46. feathersConsumedByChimaeraWing, bonesConsumedByCOTW,
  47. repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond, rString,
  48. rLeather, downgradeRank1, downgradeRank2, downgradeRank3,
  49. downgradeRank4, keepEnchantsRank1, keepEnchantsRank2,
  50. keepEnchantsRank3, keepEnchantsRank4, mnetherwart,
  51. mvines, mlilypad, mendstone, mmossstone,
  52. levelCapAcrobatics, levelCapArchery, levelCapAxes, levelCapExcavation,
  53. levelCapFishing, levelCapHerbalism, levelCapMining, levelCapRepair,
  54. levelCapSwords, levelCapTaming, levelCapUnarmed, levelCapWoodcutting,
  55. anvilID, saveInterval, fishingTier1, fishingTier2, fishingTier3, fishingTier4, fishingTier5,
  56. repairStoneLevel, repairIronLevel, repairGoldLevel, arcaneRank1, arcaneRank2, arcaneRank3, arcaneRank4,
  57. detonatorID;
  58. public static double xpbackground_r, xpbackground_g, xpbackground_b,
  59. xpborder_r, xpborder_g, xpborder_b, fishing_r, fishing_g,
  60. fishing_b, acrobatics_r, acrobatics_g, acrobatics_b, archery_r,
  61. archery_g, archery_b, axes_r, axes_g, axes_b, excavation_r,
  62. excavation_g, excavation_b, herbalism_r, herbalism_g, herbalism_b,
  63. mining_r, mining_g, mining_b, repair_r, repair_g, repair_b,
  64. swords_r, swords_g, swords_b, taming_r, taming_g, taming_b,
  65. unarmed_r, unarmed_g, unarmed_b, woodcutting_r, woodcutting_g,
  66. woodcutting_b, pvpxprewardmodifier, tamingxpmodifier,
  67. miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier,
  68. fishingxpmodifier, unarmedxpmodifier, herbalismxpmodifier,
  69. excavationxpmodifier, archeryxpmodifier, swordsxpmodifier,
  70. axesxpmodifier, acrobaticsxpmodifier, animalXP, creeperXP, skeletonXP, spiderXP, ghastXP, slimeXP,
  71. zombieXP, pigzombieXP, endermanXP, cavespiderXP, silverfishXP, blazeXP, magmacubeXP, enderdragonXP;
  72. public static HUDType defaulthud;
  73. protected static File configFile;
  74. protected static File dataFolder;
  75. protected final mcMMO plugin;
  76. protected static FileConfiguration config;
  77. public LoadProperties(mcMMO plugin) {
  78. this.plugin = plugin;
  79. dataFolder = plugin.getDataFolder();
  80. configFile = new File(dataFolder, File.separator + "config.yml");
  81. config = plugin.getConfig();
  82. }
  83. public void load() {
  84. // If not exist, copy from the jar
  85. if (!configFile.exists()) {
  86. dataFolder.mkdir();
  87. plugin.saveDefaultConfig();
  88. }
  89. addDefaults();
  90. loadKeys();
  91. }
  92. private Boolean readBoolean(String root, Boolean def) {
  93. Boolean result = config.getBoolean(root, def);
  94. return result;
  95. }
  96. private Double readDouble(String root, Double def) {
  97. Double result = config.getDouble(root, def);
  98. return result;
  99. }
  100. private Integer readInteger(String root, Integer def) {
  101. Integer result = config.getInt(root, def);
  102. return result;
  103. }
  104. public static String readString(String root, String def) {
  105. String result = config.getString(root, def);
  106. return result;
  107. }
  108. private static void saveConfig() {
  109. try {
  110. config.save(configFile);
  111. } catch (IOException e) {
  112. e.printStackTrace();
  113. }
  114. }
  115. private void addDefaults() {
  116. // Load from included config.yml
  117. config.options().copyDefaults(true);
  118. saveConfig();
  119. }
  120. private void loadKeys() {
  121. plugin.getLogger().info("Loading mcMMO config.yml File...");
  122. // Setup default HUD
  123. String temp = readString("Spout.HUD.Default", "STANDARD");
  124. for (HUDType x : HUDType.values()) {
  125. if (x.toString().equalsIgnoreCase(temp))
  126. defaulthud = x;
  127. }
  128. enableAbilityMessages = readBoolean("Abilities.Messages", true);
  129. enableAbilities = readBoolean("Abilities.Enabled", true);
  130. donateMessage = readBoolean("Commands.mcmmo.Donate_Message", true);
  131. xpGainsMobSpawners = readBoolean("Experience.Gains.Mobspawners.Enabled", false);
  132. bonesConsumedByCOTW = readInteger("Skills.Taming.Call_Of_The_Wild.Bones_Required", 10);
  133. xpbar = readBoolean("Spout.XP.Bar.Enabled", true);
  134. xpicon = readBoolean("Spout.XP.Icon.Enabled", true);
  135. xpbar_x = readInteger("Spout.XP.Bar.X_POS", 95);
  136. xpbar_y = readInteger("Spout.XP.Bar.Y_POS", 6);
  137. xpicon_x = readInteger("Spout.XP.Icon.X_POS", 78);
  138. xpicon_y = readInteger("Spout.XP.Icon.Y_POS", 2);
  139. showFaces = readBoolean("Spout.Party.HUD.Show_Faces", true);
  140. showDisplayName = readBoolean("Spout.Party.HUD.Show_Display_Name", false);
  141. partybar = readBoolean("Spout.Party.HUD.Enabled", true);
  142. acrobatics_r = readDouble("Spout.HUD.Retro.Colors.Acrobatics.RED", 0.3);
  143. acrobatics_g = readDouble("Spout.HUD.Retro.Colors.Acrobatics.GREEN", 0.3);
  144. acrobatics_b = readDouble("Spout.HUD.Retro.Colors.Acrobatics.BLUE", 0.75);
  145. archery_r = readDouble("Spout.HUD.Retro.Colors.Archery.RED", 0.3);
  146. archery_g = readDouble("Spout.HUD.Retro.Colors.Archery.GREEN", 0.3);
  147. archery_b = readDouble("Spout.HUD.Retro.Colors.Archery.BLUE", 0.75);
  148. axes_r = readDouble("Spout.HUD.Retro.Colors.Axes.RED", 0.3);
  149. axes_g = readDouble("Spout.HUD.Retro.Colors.Axes.GREEN", 0.3);
  150. axes_b = readDouble("Spout.HUD.Retro.Colors.Axes.BLUE", 0.75);
  151. excavation_r = readDouble("Spout.HUD.Retro.Colors.Excavation.RED", 0.3);
  152. excavation_g = readDouble("Spout.HUD.Retro.Colors.Excavation.GREEN", 0.3);
  153. excavation_b = readDouble("Spout.HUD.Retro.Colors.Excavation.BLUE", 0.75);
  154. herbalism_r = readDouble("Spout.HUD.Retro.Colors.Herbalism.RED", 0.3);
  155. herbalism_g = readDouble("Spout.HUD.Retro.Colors.Herbalism.GREEN", 0.3);
  156. herbalism_b = readDouble("Spout.HUD.Retro.Colors.Herbalism.BLUE", 0.75);
  157. mining_r = readDouble("Spout.HUD.Retro.Colors.Mining.RED", 0.3);
  158. mining_g = readDouble("Spout.HUD.Retro.Colors.Mining.GREEN", 0.3);
  159. mining_b = readDouble("Spout.HUD.Retro.Colors.Mining.BLUE", 0.75);
  160. repair_r = readDouble("Spout.HUD.Retro.Colors.Repair.RED", 0.3);
  161. repair_g = readDouble("Spout.HUD.Retro.Colors.Repair.GREEN", 0.3);
  162. repair_b = readDouble("Spout.HUD.Retro.Colors.Repair.BLUE", 0.75);
  163. swords_r = readDouble("Spout.HUD.Retro.Colors.Swords.RED", 0.3);
  164. swords_g = readDouble("Spout.HUD.Retro.Colors.Swords.GREEN", 0.3);
  165. swords_b = readDouble("Spout.HUD.Retro.Colors.Swords.BLUE", 0.75);
  166. taming_r = readDouble("Spout.HUD.Retro.Colors.Taming.RED", 0.3);
  167. taming_g = readDouble("Spout.HUD.Retro.Colors.Taming.GREEN", 0.3);
  168. taming_b = readDouble("Spout.HUD.Retro.Colors.Taming.BLUE", 0.75);
  169. unarmed_r = readDouble("Spout.HUD.Retro.Colors.Unarmed.RED", 0.3);
  170. unarmed_g = readDouble("Spout.HUD.Retro.Colors.Unarmed.GREEN", 0.3);
  171. unarmed_b = readDouble("Spout.HUD.Retro.Colors.Unarmed.BLUE", 0.75);
  172. woodcutting_r = readDouble("Spout.HUD.Retro.Colors.Woodcutting.RED", 0.3);
  173. woodcutting_g = readDouble("Spout.HUD.Retro.Colors.Woodcutting.GREEN", 0.3);
  174. woodcutting_b = readDouble("Spout.HUD.Retro.Colors.Woodcutting.BLUE", 0.75);
  175. fishing_r = readDouble("Spout.HUD.Retro.Colors.Fishing.RED", 0.3);
  176. fishing_g = readDouble("Spout.HUD.Retro.Colors.Fishing.GREEN", 0.3);
  177. fishing_b = readDouble("Spout.HUD.Retro.Colors.Fishing.BLUE", 0.75);
  178. xpborder_r = readDouble("Spout.HUD.Retro.Colors.Border.RED", 0.0);
  179. xpborder_g = readDouble("Spout.HUD.Retro.Colors.Border.GREEN", 0.0);
  180. xpborder_b = readDouble("Spout.HUD.Retro.Colors.Border.BLUE", 0.0);
  181. xpbackground_r = readDouble("Spout.HUD.Retro.Colors.Background.RED", 0.75);
  182. xpbackground_g = readDouble("Spout.HUD.Retro.Colors.Background.GREEN", 0.75);
  183. xpbackground_b = readDouble("Spout.HUD.Retro.Colors.Background.BLUE", 0.75);
  184. mbase = readInteger("Experience.Excavation.Base", 40);
  185. msugar = readInteger("Experience.Herbalism.Sugar_Cane", 30);
  186. mwheat = readInteger("Experience.Herbalism.Wheat", 50);
  187. mcactus = readInteger("Experience.Herbalism.Cactus", 30);
  188. mpumpkin = readInteger("Experience.Herbalism.Pumpkin", 20);
  189. mflower = readInteger("Experience.Herbalism.Flowers", 100);
  190. mmushroom = readInteger("Experience.Herbalism.Mushrooms", 150);
  191. mmelon = readInteger("Experience.Herbalism.Melon", 20);
  192. mnetherwart = readInteger("Experience.Herbalism.Nether_Wart", 50);
  193. mlilypad = readInteger("Experience.Herbalism.Lily_Pads", 100);
  194. mvines = readInteger("Experience.Herbalism.Vines", 10);
  195. herbalismHungerBonus = readBoolean("Skills.Herbalism.Hunger_Bonus", true);
  196. moak = readInteger("Experience.Woodcutting.Oak", 70);
  197. mbirch = readInteger("Experience.Woodcutting.Birch", 90);
  198. mspruce = readInteger("Experience.Woodcutting.Spruce", 80);
  199. mjungle = readInteger("Experience.Woodcutting.Jungle", 100);
  200. mgold = readInteger("Experience.Mining.Gold", 250);
  201. mdiamond = readInteger("Experience.Mining.Diamond", 750);
  202. miron = readInteger("Experience.Mining.Iron", 250);
  203. mredstone = readInteger("Experience.Mining.Redstone", 150);
  204. mlapis = readInteger("Experience.Mining.Lapis", 400);
  205. mobsidian = readInteger("Experience.Mining.Obsidian", 150);
  206. mnetherrack = readInteger("Experience.Mining.Netherrack", 30);
  207. mglowstone = readInteger("Experience.Mining.Glowstone", 30);
  208. mcoal = readInteger("Experience.Mining.Coal", 100);
  209. mstone = readInteger("Experience.Mining.Stone", 30);
  210. msandstone = readInteger("Experience.Mining.Sandstone", 30);
  211. mendstone = readInteger("Experience.Mining.End_Stone", 150);
  212. mmossstone = readInteger("Experience.Mining.Moss_Stone", 30);
  213. mtameWolf = readInteger("Experience.Taming.Animal_Taming.Wolf", 250);
  214. mfishing = readInteger("Experience.Fishing.Base", 800);
  215. enableOnlyActivateWhenSneaking = readBoolean("Abilities.Activation.Only_Activate_When_Sneaking", false);
  216. greenTerraCooldown = readInteger("Abilities.Cooldowns.Green_Terra", 240);
  217. superBreakerCooldown = readInteger("Abilities.Cooldowns.Super_Breaker", 240);
  218. gigaDrillBreakerCooldown = readInteger("Abilities.Cooldowns.Giga_Drill_Breaker", 240);
  219. treeFellerThreshold = readInteger("Abilities.Limits.Tree_Feller_Threshold", 500);
  220. treeFellerCooldown = readInteger("Abilities.Cooldowns.Tree_Feller", 240);
  221. berserkCooldown = readInteger("Abilities.Cooldowns.Berserk", 240);
  222. serratedStrikeCooldown = readInteger("Abilities.Cooldowns.Serrated_Strikes", 240);
  223. skullSplitterCooldown = readInteger("Abilities.Cooldowns.Skull_Splitter", 240);
  224. blastMiningCooldown = readInteger("Abilities.Cooldowns.Blast_Mining", 60);
  225. MySQLserverName = readString("MySQL.Server.Address", "localhost");
  226. if (readString("MySQL.Database.User.Password", null) != null)
  227. MySQLdbPass = readString("MySQL.Database.User.Password", null);
  228. else
  229. MySQLdbPass = "";
  230. MySQLdbName = readString("MySQL.Database.Name", "DatabaseName");
  231. MySQLuserName = readString("MySQL.Database.User.Name", "UserName");
  232. MySQLtablePrefix = readString("MySQL.Database.TablePrefix", "mcmmo_");
  233. MySQLport = readInteger("MySQL.Server.Port", 3306);
  234. useMySQL = readBoolean("MySQL.Enabled", false);
  235. locale = readString("General.Locale", "en_us");
  236. enableMotd = readBoolean("General.MOTD.Enabled", true);
  237. saveInterval = readInteger("General.Save_Interval", 10);
  238. statsTracking = readBoolean("General.Stats_Tracking", true);
  239. eventCallback = readBoolean("General.Event_Callback", true);
  240. enableCobbleToMossy = readBoolean("Skills.Herbalism.Green_Thumb.Cobble_To_Mossy", true);
  241. enableSmoothToMossy = readBoolean("Skills.Herbalism.Green_Thumb.SmoothBrick_To_MossyBrick", true);
  242. enableDirtToGrass = readBoolean("Skills.Herbalism.Green_Thumb.Dirt_To_Grass", true);
  243. xpGainMultiplier = readInteger("Experience.Gains.Multiplier.Global", 1);
  244. toolsLoseDurabilityFromAbilities = readBoolean("Abilities.Tools.Durability_Loss_Enabled", true);
  245. abilityDurabilityLoss = readInteger("Abilities.Tools.Durability_Loss", 2);
  246. feathersConsumedByChimaeraWing = readInteger("Items.Chimaera_Wing.Feather_Cost", 10);
  247. chimaeraId = readInteger("Items.Chimaera_Wing.Item_ID", 288);
  248. chimaeraWingEnable = readBoolean("Items.Chimaera_Wing.Enabled", true);
  249. pvpxp = readBoolean("Experience.PVP.Rewards", true);
  250. pvpxprewardmodifier = readDouble("Experience.Gains.Multiplier.PVP", 1.0);
  251. miningrequirespickaxe = readBoolean("Skills.Mining.Requires_Pickaxe", true);
  252. excavationRequiresShovel = readBoolean("Skills.Excavation.Requires_Shovel", true);
  253. woodcuttingrequiresaxe = readBoolean("Skills.Woodcutting.Requires_Axe", true);
  254. repairArmor = readBoolean("Skills.Repair.Can_Repair_Armor", true);
  255. repairTools = readBoolean("Skills.Repair.Can_Repair_Tools", true);
  256. repairdiamondlevel = readInteger("Skills.Repair.Diamond.Level_Required", 50);
  257. repairIronLevel = readInteger("Skills.Repair.Iron.Level_Required", 0);
  258. repairGoldLevel = readInteger("Skills.Repair.Gold.Level_Required", 0);
  259. repairStoneLevel = readInteger("Skills.Repair.Stone.Level_Required", 0);
  260. tamingxpmodifier = readDouble("Experience.Formula.Multiplier.Taming", 1.0);
  261. miningxpmodifier = readDouble("Experience.Formula.Multiplier.Mining", 1.0);
  262. repairxpmodifier = readDouble("Experience.Formula.Multiplier.Repair", 1.0);
  263. woodcuttingxpmodifier = readDouble("Experience.Formula.Multiplier.Woodcutting", 1.0);
  264. unarmedxpmodifier = readDouble("Experience.Formula.Multiplier.Unarmed", 1.0);
  265. herbalismxpmodifier = readDouble("Experience.Formula.Multiplier.Herbalism", 1.0);
  266. excavationxpmodifier = readDouble("Experience.Formula.Multiplier.Excavation", 1.0);
  267. archeryxpmodifier = readDouble("Experience.Formula.Multiplier.Archery", 1.0);
  268. swordsxpmodifier = readDouble("Experience.Formula.Multiplier.Swords", 1.0);
  269. axesxpmodifier = readDouble("Experience.Formula.Multiplier.Axes", 1.0);
  270. acrobaticsxpmodifier = readDouble("Experience.Formula.Multiplier.Acrobatics", 1.0);
  271. fishingxpmodifier = readDouble("Experience.Forumla.Multiplier.Fishing", 1.0);
  272. anvilmessages = readBoolean("Skills.Repair.Anvil_Messages", true);
  273. anvilID = readInteger("Skills.Repair.Anvil_ID", 42);
  274. rGold = readInteger("Skills.Repair.Gold.ID", 266);
  275. nGold = readString("Skills.Repair.Gold.Name", "Gold Bars");
  276. rStone = readInteger("Skills.Repair.Stone.ID", 4);
  277. nStone = readString("Skills.Repair.Stone.Name", "Cobblestone");
  278. rWood = readInteger("Skills.Repair.Wood.ID", 5);
  279. nWood = readString("Skills.Repair.Wood.Name", "Wood Planks");
  280. rDiamond = readInteger("Skills.Repair.Diamond.ID", 264);
  281. nDiamond = readString("Skills.Repair.Diamond.Name", "Diamond");
  282. rIron = readInteger("Skills.Repair.Iron.ID", 265);
  283. nIron = readString("Skills.Repair.Iron.Name", "Iron Bars");
  284. rString = readInteger("Skills.Repair.String.ID", 287);
  285. nString = readString("Skills.Repair.String.Name", "String");
  286. rLeather = readInteger("Skills.Repair.Leather.ID", 334);
  287. nLeather = readString("Skills.Repair.Leather.Name", "Leather");
  288. levelCapAcrobatics = readInteger("Skills.Acrobatics.Level_Cap", 0);
  289. levelCapArchery = readInteger("Skills.Archery.Level_Cap", 0);
  290. levelCapAxes = readInteger("Skills.Axes.Level_Cap", 0);
  291. levelCapExcavation = readInteger("Skills.Excavation.Level_Cap", 0);
  292. levelCapFishing = readInteger("Skills.Fishing.Level_Cap", 0);
  293. levelCapHerbalism = readInteger("Skills.Herbalism.Level_Cap", 0);
  294. levelCapMining = readInteger("Skills.Mining.Level_Cap", 0);
  295. levelCapRepair = readInteger("Skills.Repair.Level_Cap", 0);
  296. levelCapSwords = readInteger("Skills.Swords.Level_Cap", 0);
  297. levelCapTaming = readInteger("Skills.Taming.Level_Cap", 0);
  298. levelCapUnarmed = readInteger("Skills.Unarmed.Level_Cap", 0);
  299. levelCapWoodcutting = readInteger("Skills.Woodcutting.Level_Cap", 0);
  300. mayDowngradeEnchants = readBoolean("Arcane_Forging.Downgrades.Enabled", true);
  301. downgradeRank1 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_1", 75);
  302. downgradeRank2 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_2", 50);
  303. downgradeRank3 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_3", 25);
  304. downgradeRank4 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_4", 15);
  305. mayLoseEnchants = readBoolean("Arcane_Forging.May_Lose_Enchants", true);
  306. keepEnchantsRank1 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_1", 10);
  307. keepEnchantsRank2 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_2", 20);
  308. keepEnchantsRank3 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30);
  309. keepEnchantsRank4 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40);
  310. arcaneRank1 = readInteger("Arcane_Forging.Rank_Levels.Rank_1", 100);
  311. arcaneRank2 = readInteger("Arcane_Forging.Rank_Levels.Rank_2", 250);
  312. arcaneRank3 = readInteger("Arcane_Forging.Rank_Levels.Rank_3", 500);
  313. arcaneRank4 = readInteger("Arcane_Forging.Rank_Levels.Rank_4", 750);
  314. fishingDrops = readBoolean("Fishing.Drops_Enabled", true);
  315. fishingTier1 = readInteger("Fishing.Tier_Levels.Tier1", 0);
  316. fishingTier2 = readInteger("Fishing.Tier_Levels.Tier2", 200);
  317. fishingTier3 = readInteger("Fishing.Tier_Levels.Tier3", 400);
  318. fishingTier4 = readInteger("Fishing.Tier_Levels.Tier4", 600);
  319. fishingTier5 = readInteger("Fishing.Tier_Levels.Tier5", 800);
  320. xplockEnable = readBoolean("Commands.xplock.Enabled", true);
  321. xprateEnable = readBoolean("Commands.xprate.Enabled", true);
  322. mctopEnable = readBoolean("Commands.mctop.Enabled", true);
  323. addxpEnable = readBoolean("Commands.addxp.Enabled", true);
  324. addlevelsEnable = readBoolean("Commands.addlevels.Enabled", true);
  325. mcabilityEnable = readBoolean("Commands.mcability.Enabled", true);
  326. mcrefreshEnable = readBoolean("Commands.mcrefresh.Enabled", true);
  327. mcmmoEnable = readBoolean("Commands.mcmmo.Enabled", true);
  328. mccEnable = readBoolean("Commands.mcc.Enabled", true);
  329. mcgodEnable = readBoolean("Commands.mcgod.Enabled", true);
  330. mcstatsEnable = readBoolean("Commands.mcstats.Enabled", true);
  331. mmoeditEnable = readBoolean("Commands.mmoedit.Enabled", true);
  332. mcremoveEnable = readBoolean("Commands.mcremove.Enable", true);
  333. ptpEnable = readBoolean("Commands.ptp.Enabled", true);
  334. partyEnable = readBoolean("Commands.party.Enabled", true);
  335. inspectEnable = readBoolean("Commands.inspect.Enabled", true);
  336. inviteEnable = readBoolean("Commands.invite.Enabled", true);
  337. acceptEnable = readBoolean("Commands.accept.Enabled", true);
  338. aEnable = readBoolean("Commands.a.Enabled", true);
  339. pEnable = readBoolean("Commands.p.Enabled", true);
  340. aDisplayNames = readBoolean("Commands.a.Display_Names", true);
  341. pDisplayNames = readBoolean("Commands.p.Display_Names", true);
  342. animalXP = readDouble("Experience.Combat.Multiplier.Animals", 1.0);
  343. creeperXP = readDouble("Experience.Combat.Multiplier.Creeper", 4.0);
  344. skeletonXP = readDouble("Experience.Combat.Multiplier.Skeleton", 2.0);
  345. spiderXP = readDouble("Experience.Combat.Multiplier.Spider", 3.0);
  346. ghastXP = readDouble("Experience.Combat.Multiplier.Ghast", 3.0);
  347. slimeXP = readDouble("Experience.Combat.Multiplier.Slime", 2.0);
  348. zombieXP = readDouble("Experience.Combat.Multiplier.Zombie", 2.0);
  349. pigzombieXP = readDouble("Experience.Combat.Multiplier.Pig_Zombie", 3.0);
  350. endermanXP = readDouble("Experience.Combat.Multiplier.Enderman", 2.0);
  351. cavespiderXP = readDouble("Experience.Combat.Multiplier.Cave_Spider", 3.0);
  352. silverfishXP = readDouble("Experience.Combat.Multiplier.Silverfish", 3.0);
  353. blazeXP = readDouble("Experience.Combat.Multiplier.Blaze", 3.0);
  354. magmacubeXP = readDouble("Experience.Combat.Multiplier.Magma_Cube", 2.0);
  355. enderdragonXP = readDouble("Experience.Combat.Multiplier.Ender_Dragon", 8.0);
  356. detonatorID = readInteger("Skills.Mining.Detonator_ID", 259);
  357. }
  358. }