Update classes to use DSM over CM

This commit is contained in:
nossr50
2019-05-13 01:27:48 -07:00
parent 80163c0d8f
commit 2c8b8658a3
29 changed files with 61 additions and 466 deletions

View File

@@ -143,11 +143,6 @@ public class AdvancedConfig extends ConfigValidated {
return mcMMO.getConfigManager().getAdvancedConfig();
}
@Override
public void unload() {
//do nothing
}
/**
* The version of this config
*

View File

@@ -18,7 +18,7 @@ import java.util.List;
/**
* Handles loading and cacheing configuration settings from a configurable compatible config file
*/
public abstract class Config implements VersionedConfig, Unload {
public abstract class Config implements VersionedConfig {
public static final String HOCON_FILE_EXTENSION = ".conf";
public final File DIRECTORY_DATA_FOLDER; //Directory that the file is in
@@ -95,18 +95,9 @@ public abstract class Config implements VersionedConfig, Unload {
}
//Cleanup and backup registers
registerUnload();
registerFileBackup();
}
/**
* Registers with the config managers unloader
* The unloader runs when the plugin gets disabled which cleans up registries to make reloading safe
*/
private void registerUnload() {
mcMMO.getConfigManager().registerUnloadable(this);
}
/**
* Registers with the config managers file list
* Used for backing up configs with our zip library

View File

@@ -39,11 +39,6 @@ public class CoreSkillsConfig extends Config {
return 1;
}
@Override
public void unload() {
//Nothing to do
}
/*
* Skill Settings
*/

View File

@@ -218,11 +218,6 @@ public class MainConfig extends ConfigValidated {
return mcMMO.getConfigManager().getMainConfig();
}
@Override
public void unload() {
//do nothing
}
/**
* The version of this config
*

View File

@@ -33,11 +33,6 @@ public class RankConfig extends ConfigValidated {
return mcMMO.getConfigManager().getRankConfig();
}
@Override
public void unload() {
//Do nothing
}
/**
* The version of this config
*

View File

@@ -34,11 +34,6 @@ public class SoundConfig extends ConfigValidated {
return mcMMO.getConfigManager().getSoundConfig();
}
@Override
public void unload() {
}
/**
* The version of this config
*

View File

@@ -106,11 +106,6 @@ public class ExperienceConfig extends ConfigValidated {
return 1;
}
@Override
public void unload() {
}
@Override
public List<String> validateKeys() {
List<String> reason = new ArrayList<>();

View File

@@ -14,7 +14,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class ExcavationTreasureConfig extends Config implements UnsafeValueValidation, Registers {
public class ExcavationTreasureConfig extends Config implements UnsafeValueValidation {
public static final String EXCAVATION = "Archaeology";
public static final String AMOUNT = "Amount";
public static final String XP = "XP";
@@ -26,7 +26,6 @@ public class ExcavationTreasureConfig extends Config implements UnsafeValueValid
public ExcavationTreasureConfig() {
super("excavation_drops", mcMMO.p.getDataFolder().getAbsoluteFile(), ConfigConstants.RELATIVE_PATH_CONFIG_DIR, true, false, true, false);
register();
}
/**
@@ -42,115 +41,6 @@ public class ExcavationTreasureConfig extends Config implements UnsafeValueValid
return mcMMO.getConfigManager().getExcavationTreasureConfig();
}
/**
* Register stuff
*/
@Override
public void register() {
ConfigurationNode excavationTreasureNode = getUserRootNode().getNode(EXCAVATION);
if (excavationTreasureNode == null) {
mcMMO.p.getLogger().info("Excavation treasures in treasures config not defined");
return;
}
try {
for (ConfigurationNode treasureNode : excavationTreasureNode.getChildrenList()) {
String treasureName = treasureNode.getString();
//Treasure Material Definition
Material treasureMaterial = Material.matchMaterial(treasureName.toUpperCase());
if (treasureMaterial != null) {
ConfigurationNode currentTreasure = excavationTreasureNode.getNode(treasureName);
//TODO: Rewrite the entire treasure system because it sucks
/*
* TREASURE PARAMETERS
*/
int amount = currentTreasure.getNode(AMOUNT).getInt();
int xp = currentTreasure.getNode(XP).getInt();
double dropChance = currentTreasure.getNode(DROP_CHANCE).getDouble();
int dropLevel = currentTreasure.getNode(DROP_LEVEL).getInt();
String customName = null;
/*
* PARAMETER INIT
*/
ArrayList<String> dropsFrom = new ArrayList(currentTreasure.getNode("Drops_From").getList(TypeToken.of(String.class)));
//VALIDATE AMOUNT
if (amount <= 0) {
mcMMO.p.getLogger().severe("Excavation Treasure named " + treasureName + " in the config has an amount of 0 or below, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
//VALIDATE XP
if (xp <= 0) {
mcMMO.p.getLogger().info("Excavation Treasure named " + treasureName + " in the config has xp set to 0 or below, is this intentional?");
xp = 0;
}
//VALIDATE DROP CHANCE
if (dropChance <= 0) {
mcMMO.p.getLogger().severe("Excavation Treasure named " + treasureName + " in the config has a drop chance of 0 or below, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
//VALIDATE DROP LEVEL
if (dropLevel < 0) {
mcMMO.p.getLogger().info("Excavation Treasure named " + treasureName + " in the config has a drop level below 0, is this intentional?");
dropLevel = 0;
}
//VALIDATE DROP SOURCES
if (dropsFrom == null || dropsFrom.isEmpty()) {
mcMMO.p.getLogger().severe("Excavation Treasure named " + treasureName + " in the config has no drop targets, which would make it impossible to obtain, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
/* OPTIONAL PARAMETERS */
//Custom Name
if (currentTreasure.getNode(CUSTOM_NAME) != null && !currentTreasure.getNode(CUSTOM_NAME).getString().equalsIgnoreCase("ChangeMe")) {
customName = currentTreasure.getNode(CUSTOM_NAME).getString();
}
/*
* REGISTER TREASURE
*/
ExcavationTreasure excavationTreasure = TreasureFactory.makeExcavationTreasure(treasureMaterial, amount, xp, dropChance, dropLevel, customName, currentTreasure.getNode(LORE));
/*
* Add to map
*/
for (String dropBlock : dropsFrom) {
excavationMap.computeIfAbsent(dropBlock, k -> new ArrayList<>());
excavationMap.get(dropBlock).add(excavationTreasure);
}
} else {
mcMMO.p.getLogger().severe("Excavation Treasure Config - Material named " + treasureName + " does not match any known material.");
}
}
} catch (ObjectMappingException e) {
e.printStackTrace();
}
}
@Override
public void unload() {
excavationMap.clear();
}
@Override
public List<String> validateKeys() {
return null;

View File

@@ -20,7 +20,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class FishingTreasureConfig extends Config implements UnsafeValueValidation, Registers {
public class FishingTreasureConfig extends Config implements UnsafeValueValidation {
public static final String PLAYER = "PLAYER";
public static final String INVENTORY = "INVENTORY";
public static final String WHOLE_STACKS = "Whole_Stacks";
@@ -45,7 +45,6 @@ public class FishingTreasureConfig extends Config implements UnsafeValueValidati
public FishingTreasureConfig() {
super("fishing_drops", mcMMO.p.getDataFolder().getAbsoluteFile(), ConfigConstants.RELATIVE_PATH_CONFIG_DIR, true, false, true, false);
register();
}
/**
@@ -61,121 +60,6 @@ public class FishingTreasureConfig extends Config implements UnsafeValueValidati
return mcMMO.getConfigManager().getFishingTreasureConfig();
}
/**
* Register stuff
*/
@Override
public void register() {
/* FISHING TREASURES */
ConfigurationNode fishingTreasureNode = getUserRootNode().getNode(FISHING);
if (fishingTreasureNode == null) {
mcMMO.p.getLogger().info("Fishing treasures in treasures config not defined");
return;
}
// Initialize fishing HashMap
for (Rarity rarity : Rarity.values()) {
if (!fishingRewards.containsKey(rarity)) {
fishingRewards.put(rarity, (new ArrayList<>()));
}
}
try {
for (ConfigurationNode treasureNode : fishingTreasureNode.getChildrenList()) {
String treasureName = treasureNode.getString();
//Treasure Material Definition
Material treasureMaterial = Material.matchMaterial(treasureName.toUpperCase());
if (treasureMaterial != null) {
ConfigurationNode currentTreasure = fishingTreasureNode.getNode(treasureName);
//TODO: Rewrite the entire treasure system because it sucks
/*
* TREASURE PARAMETERS
*/
int amount = currentTreasure.getNode(AMOUNT).getInt();
int xp = currentTreasure.getNode(XP).getInt();
String customName = null;
/*
* PARAMETER INIT
*/
ArrayList<String> dropsFrom = new ArrayList(currentTreasure.getNode(DROPS_FROM).getList(TypeToken.of(String.class)));
//VALIDATE AMOUNT
if (amount <= 0) {
mcMMO.p.getLogger().severe("Excavation Treasure named " + treasureName + " in the config has an amount of 0 or below, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
//VALIDATE XP
if (xp <= 0) {
mcMMO.p.getLogger().info("Excavation Treasure named " + treasureName + " in the config has xp set to 0 or below, is this intentional?");
xp = 0;
}
//VALIDATE DROP SOURCES
if (dropsFrom == null || dropsFrom.isEmpty()) {
mcMMO.p.getLogger().severe("Excavation Treasure named " + treasureName + " in the config has no drop targets, which would make it impossible to obtain, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
/* OPTIONAL PARAMETERS */
//Custom Name
if (currentTreasure.getNode(CUSTOM_NAME) != null && !currentTreasure.getNode(CUSTOM_NAME).getString().equalsIgnoreCase("ChangeMe")) {
customName = currentTreasure.getNode(CUSTOM_NAME).getString();
}
/*
* REGISTER TREASURE
*/
FishingTreasure fishingTreasure = TreasureFactory.makeFishingTreasure(treasureMaterial, amount, xp, customName, currentTreasure.getNode(LORE));
/*
* Add to map
*/
String configRarity = currentTreasure.getNode(RARITY).getString();
for (Rarity rarity : Rarity.values()) {
if (rarity.toString().equalsIgnoreCase(configRarity)) {
/*if(fishingRewards.get(rarity) == null)
fishingRewards.put(rarity, new ArrayList<>());*/
fishingRewards.get(rarity).add(fishingTreasure);
}
}
} else {
mcMMO.p.getLogger().severe("Excavation Treasure Config - Material named " + treasureName + " does not match any known material.");
}
}
} catch (ObjectMappingException e) {
e.printStackTrace();
}
//Shake
for (EntityType entity : EntityType.values()) {
if (entity.isAlive()) {
loadShake(entity);
}
}
//Enchantments
loadEnchantments();
}
private void loadShake(EntityType entityType) {
ConfigurationNode shakeTreasureNode = getUserRootNode().getNode(SHAKE, entityType.toString());
@@ -306,13 +190,6 @@ public class FishingTreasureConfig extends Config implements UnsafeValueValidati
}
}
@Override
public void unload() {
shakeMap.clear();
fishingRewards.clear();
fishingEnchantments.clear();
}
@Override
public List<String> validateKeys() {
// Validate all the settings!

View File

@@ -16,7 +16,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class HerbalismTreasureConfig extends Config implements UnsafeValueValidation, Registers {
public class HerbalismTreasureConfig extends Config implements UnsafeValueValidation {
public static final String HYLIAN_LUCK = "Hylian_Luck";
public static final String AMOUNT = "Amount";
public static final String XP = "XP";
@@ -29,7 +29,6 @@ public class HerbalismTreasureConfig extends Config implements UnsafeValueValida
public HerbalismTreasureConfig() {
super("hylian_luck_drops", mcMMO.p.getDataFolder().getAbsoluteFile(), ConfigConstants.RELATIVE_PATH_CONFIG_DIR, true, false, true, false);
register();
}
/**
@@ -45,141 +44,6 @@ public class HerbalismTreasureConfig extends Config implements UnsafeValueValida
return mcMMO.getConfigManager().getHerbalismTreasureConfig();
}
/**
* Register stuff
*/
@Override
public void register() {
ConfigurationNode herbalismTreasureNode = getUserRootNode().getNode(HYLIAN_LUCK);
if (herbalismTreasureNode == null) {
mcMMO.p.getLogger().info("Excavation treasures in treasures config not defined");
return;
}
try {
for (ConfigurationNode treasureNode : herbalismTreasureNode.getChildrenList()) {
String treasureName = treasureNode.getString();
//Treasure Material Definition
Material treasureMaterial = Material.matchMaterial(treasureName.toUpperCase());
if (treasureMaterial != null) {
ConfigurationNode currentTreasure = herbalismTreasureNode.getNode(treasureName);
//TODO: Rewrite the entire treasure system because it sucks
/*
* TREASURE PARAMETERS
*/
int amount = currentTreasure.getNode(AMOUNT).getInt();
int xp = currentTreasure.getNode(XP).getInt();
double dropChance = currentTreasure.getNode(DROP_CHANCE).getDouble();
int dropLevel = currentTreasure.getNode(DROP_LEVEL).getInt();
String customName = null;
/*
* PARAMETER INIT
*/
ArrayList<String> dropsFrom = new ArrayList(currentTreasure.getNode("Drops_From").getList(TypeToken.of(String.class)));
//VALIDATE AMOUNT
if (amount <= 0) {
mcMMO.p.getLogger().severe("Herbalism Hylian Luck Treasure named " + treasureName + " in the config has an amount of 0 or below, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
//VALIDATE XP
if (xp <= 0) {
mcMMO.p.getLogger().info("Herbalism Hylian Luck Treasure named " + treasureName + " in the config has xp set to 0 or below, is this intentional?");
xp = 0;
}
//VALIDATE DROP CHANCE
if (dropChance <= 0) {
mcMMO.p.getLogger().severe("Herbalism Hylian Luck Treasure named " + treasureName + " in the config has a drop chance of 0 or below, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
//VALIDATE DROP LEVEL
if (dropLevel < 0) {
mcMMO.p.getLogger().info("Herbalism Hylian Luck Treasure named " + treasureName + " in the config has a drop level below 0, is this intentional?");
dropLevel = 0;
}
//VALIDATE DROP SOURCES
if (dropsFrom == null || dropsFrom.isEmpty()) {
mcMMO.p.getLogger().severe("Herbalism Hylian Luck Treasure named " + treasureName + " in the config has no drop targets, which would make it impossible to obtain, is this intentional?");
mcMMO.p.getLogger().severe("Skipping " + treasureName + " for being invalid");
continue;
}
/* OPTIONAL PARAMETERS */
//Custom Name
if (currentTreasure.getNode(CUSTOM_NAME) != null && !currentTreasure.getNode(CUSTOM_NAME).getString().equalsIgnoreCase("ChangeMe")) {
customName = currentTreasure.getNode(CUSTOM_NAME).getString();
}
/*
* REGISTER TREASURE
*/
HylianTreasure hylianTreasure = TreasureFactory.makeHylianTreasure(treasureMaterial, amount, xp, dropChance, dropLevel, customName, currentTreasure.getNode(LORE));
/*
* Add to map
*/
for (String dropBlock : dropsFrom) {
if (dropBlock.equals("Bushes")) {
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.FERN), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.TALL_GRASS), hylianTreasure);
for (Material species : Tag.SAPLINGS.getValues())
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(species), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.DEAD_BUSH), hylianTreasure);
continue;
}
if (dropBlock.equals("Flowers")) {
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.POPPY), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.DANDELION), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.BLUE_ORCHID), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.ALLIUM), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.AZURE_BLUET), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.ORANGE_TULIP), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.PINK_TULIP), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.RED_TULIP), hylianTreasure);
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(Material.WHITE_TULIP), hylianTreasure);
continue;
}
if (dropBlock.equals("Pots")) {
for (Material species : Tag.FLOWER_POTS.getValues())
addHylianTreasure(StringUtils.getFriendlyConfigMaterialString(species), hylianTreasure);
continue;
}
addHylianTreasure(dropBlock, hylianTreasure);
}
} else {
mcMMO.p.getLogger().severe("Excavation Treasure Config - Material named " + treasureName + " does not match any known material.");
}
}
} catch (ObjectMappingException e) {
e.printStackTrace();
}
}
@Override
public void unload() {
hylianMap.clear();
}
@Override
public List<String> validateKeys() {
return null;