finished default repairables, diamond armor gives less xp by default

This commit is contained in:
nossr50
2019-03-22 16:04:31 -07:00
parent 968636b8d4
commit e232bb3699
20 changed files with 122 additions and 252 deletions

View File

@ -4,7 +4,7 @@ package com.gmail.nossr50.config.collectionconfigs;
import com.gmail.nossr50.config.ConfigCollection;
import com.gmail.nossr50.config.ConfigConstants;
import com.gmail.nossr50.datatypes.skills.ItemType;
import com.gmail.nossr50.datatypes.skills.MaterialType;
import com.gmail.nossr50.datatypes.skills.ItemMaterialCategory;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.skills.repair.repairables.Repairable;
import com.gmail.nossr50.skills.repair.repairables.RepairableFactory;
@ -28,7 +28,7 @@ public class RepairConfig extends ConfigCollection {
public static final String REPAIRABLES = "Repairables";
public static final String ITEM_ID = "ItemId";
public static final String MATERIAL_TYPE = "MaterialType";
public static final String MATERIAL_TYPE = "ItemMaterialCategory";
public static final String REPAIR_MATERIAL = "RepairMaterial";
public static final String MAXIMUM_DURABILITY = "MaximumDurability";
public static final String ITEM_TYPE = "ItemType";
@ -88,38 +88,38 @@ public class RepairConfig extends ConfigCollection {
* Determine Repair Material Type
*//*
MaterialType repairMaterialType = MaterialType.OTHER;
ItemMaterialCategory repairMaterialType = ItemMaterialCategory.OTHER;
String repairMaterialTypeString = getRepairMaterialTypeString(repairChildNodeName);
if (hasNode(REPAIRABLES, repairChildNodeName, MATERIAL_TYPE)) {
ItemStack repairItem = new ItemStack(itemMaterial);
if (ItemUtils.isWoodTool(repairItem)) {
repairMaterialType = MaterialType.WOOD;
repairMaterialType = ItemMaterialCategory.WOOD;
}
else if (ItemUtils.isStoneTool(repairItem)) {
repairMaterialType = MaterialType.STONE;
repairMaterialType = ItemMaterialCategory.STONE;
}
else if (ItemUtils.isStringTool(repairItem)) {
repairMaterialType = MaterialType.STRING;
repairMaterialType = ItemMaterialCategory.STRING;
}
else if (ItemUtils.isLeatherArmor(repairItem)) {
repairMaterialType = MaterialType.LEATHER;
repairMaterialType = ItemMaterialCategory.LEATHER;
}
else if (ItemUtils.isIronArmor(repairItem) || ItemUtils.isIronTool(repairItem)) {
repairMaterialType = MaterialType.IRON;
repairMaterialType = ItemMaterialCategory.IRON;
}
else if (ItemUtils.isGoldArmor(repairItem) || ItemUtils.isGoldTool(repairItem)) {
repairMaterialType = MaterialType.GOLD;
repairMaterialType = ItemMaterialCategory.GOLD;
}
else if (ItemUtils.isDiamondArmor(repairItem) || ItemUtils.isDiamondTool(repairItem)) {
repairMaterialType = MaterialType.DIAMOND;
repairMaterialType = ItemMaterialCategory.DIAMOND;
}
}
else {
//If a material cannot be matched, try matching the material to its repair material type string from the config
try {
repairMaterialType = MaterialType.valueOf(repairMaterialTypeString.toUpperCase());
repairMaterialType = ItemMaterialCategory.valueOf(repairMaterialTypeString.toUpperCase());
}
catch (IllegalArgumentException ex) {
errorMessages.add("Repair Config: " + repairChildNodeName + " has an invalid " + MATERIAL_TYPE + " of " + repairMaterialTypeString);

View File

@ -2,8 +2,8 @@ package com.gmail.nossr50.config.collectionconfigs;
import com.gmail.nossr50.config.ConfigCollection;
import com.gmail.nossr50.config.ConfigConstants;
import com.gmail.nossr50.datatypes.skills.ItemMaterialCategory;
import com.gmail.nossr50.datatypes.skills.ItemType;
import com.gmail.nossr50.datatypes.skills.MaterialType;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.skills.salvage.salvageables.Salvageable;
import com.gmail.nossr50.skills.salvage.salvageables.SalvageableFactory;
@ -21,7 +21,7 @@ import java.util.List;
public class SalvageConfig extends ConfigCollection {
public static final String SALVAGEABLES = "Salvageables";
public static final String MATERIAL_TYPE = "MaterialType";
public static final String MATERIAL_TYPE = "ItemMaterialCategory";
public static final String SALVAGE_MATERIAL = "SalvageMaterial";
public static final String MAXIMUM_DURABILITY = "MaximumDurability";
public static final String ITEM_TYPE = "ItemType";
@ -65,7 +65,7 @@ public class SalvageConfig extends ConfigCollection {
}
// Salvage Material Type
MaterialType salvageMaterialType = MaterialType.OTHER;
ItemMaterialCategory salvageItemMaterialCategory = ItemMaterialCategory.OTHER;
String salvageMaterialTypeString;
@ -78,31 +78,31 @@ public class SalvageConfig extends ConfigCollection {
ItemStack salvageItem = new ItemStack(itemMaterial);
if (ItemUtils.isWoodTool(salvageItem)) {
salvageMaterialType = MaterialType.WOOD;
salvageItemMaterialCategory = ItemMaterialCategory.WOOD;
} else if (ItemUtils.isStoneTool(salvageItem)) {
salvageMaterialType = MaterialType.STONE;
salvageItemMaterialCategory = ItemMaterialCategory.STONE;
} else if (ItemUtils.isStringTool(salvageItem)) {
salvageMaterialType = MaterialType.STRING;
salvageItemMaterialCategory = ItemMaterialCategory.STRING;
} else if (ItemUtils.isLeatherArmor(salvageItem)) {
salvageMaterialType = MaterialType.LEATHER;
salvageItemMaterialCategory = ItemMaterialCategory.LEATHER;
} else if (ItemUtils.isIronArmor(salvageItem) || ItemUtils.isIronTool(salvageItem)) {
salvageMaterialType = MaterialType.IRON;
salvageItemMaterialCategory = ItemMaterialCategory.IRON;
} else if (ItemUtils.isGoldArmor(salvageItem) || ItemUtils.isGoldTool(salvageItem)) {
salvageMaterialType = MaterialType.GOLD;
salvageItemMaterialCategory = ItemMaterialCategory.GOLD;
} else if (ItemUtils.isDiamondArmor(salvageItem) || ItemUtils.isDiamondTool(salvageItem)) {
salvageMaterialType = MaterialType.DIAMOND;
salvageItemMaterialCategory = ItemMaterialCategory.DIAMOND;
}
} else {
try {
salvageMaterialType = MaterialType.valueOf(salvageMaterialTypeString.replace(" ", "_").toUpperCase());
salvageItemMaterialCategory = ItemMaterialCategory.valueOf(salvageMaterialTypeString.replace(" ", "_").toUpperCase());
} catch (IllegalArgumentException ex) {
errorMessages.add("Salvage Config: " + salvageChildNodeName + " has an invalid MaterialType of " + salvageMaterialTypeString);
errorMessages.add("Salvage Config: " + salvageChildNodeName + " has an invalid ItemMaterialCategory of " + salvageMaterialTypeString);
}
}
// Salvage Material
String salvageMaterialName = getStringValue(SALVAGEABLES, salvageChildNodeName, SALVAGE_MATERIAL);
Material salvageMaterial = (salvageMaterialName == null ? salvageMaterialType.getDefaultMaterial() : Material.matchMaterial(salvageMaterialName));
Material salvageMaterial = (salvageMaterialName == null ? salvageItemMaterialCategory.getDefaultMaterial() : Material.matchMaterial(salvageMaterialName));
if (salvageMaterial == null) {
errorMessages.add(salvageChildNodeName + " has an invalid salvage material: " + salvageMaterialName);
@ -169,7 +169,7 @@ public class SalvageConfig extends ConfigCollection {
if(xpMultiplier < 0)
xpMultiplier = 0;
Salvageable salvageable = SalvageableFactory.getSalvageable(itemMaterial, salvageMaterial, salvageMetadata, minimumLevel, maximumQuantity, maximumDurability, salvageItemType, salvageMaterialType, xpMultiplier);
Salvageable salvageable = SalvageableFactory.getSalvageable(itemMaterial, salvageMaterial, salvageMetadata, minimumLevel, maximumQuantity, maximumDurability, salvageItemType, salvageItemMaterialCategory, xpMultiplier);
genericCollection.add(salvageable);
for (String issue : errorMessages) {

View File

@ -3,7 +3,7 @@ package com.gmail.nossr50.config.experience;
import com.gmail.nossr50.config.ConfigConstants;
import com.gmail.nossr50.config.ConfigValidated;
import com.gmail.nossr50.datatypes.experience.FormulaType;
import com.gmail.nossr50.datatypes.skills.MaterialType;
import com.gmail.nossr50.datatypes.skills.ItemMaterialCategory;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.alchemy.PotionStage;
import com.gmail.nossr50.mcMMO;
@ -438,8 +438,8 @@ public class ExperienceConfig extends ConfigValidated {
return getDoubleValue(EXPERIENCE, REPAIR, BASE1);
}
public double getRepairXP(MaterialType repairMaterialType) {
return getDoubleValue(EXPERIENCE, REPAIR, StringUtils.getCapitalized(repairMaterialType.toString()));
public double getRepairXP(ItemMaterialCategory repairItemMaterialCategory) {
return getDoubleValue(EXPERIENCE, REPAIR, StringUtils.getCapitalized(repairItemMaterialCategory.toString()));
}
/* Taming */

View File

@ -26,178 +26,48 @@ public class ConfigRepair {
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(WOODEN_AXE, Arrays.asList(PLANKS), 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(WOODEN_HOE, Arrays.asList(PLANKS), 1, 0, .25D));
/*
Repairables:
#
# Wooden repairables
###
# Tools
WOODEN_SWORD:
MinimumLevel: 0
XpMultiplier: .25
WOODEN_SHOVEL:
MinimumLevel: 0
XpMultiplier: .16
WOODEN_PICKAXE:
MinimumLevel: 0
XpMultiplier: .5
WOODEN_AXE:
MinimumLevel: 0
XpMultiplier: .5
WOODEN_HOE:
MinimumLevel: 0
XpMultiplier: .25
#
# Stone repairables
###
# Tools
STONE_SWORD:
MinimumLevel: 0
XpMultiplier: .25
STONE_SHOVEL:
MinimumLevel: 0
XpMultiplier: .16
STONE_PICKAXE:
MinimumLevel: 0
XpMultiplier: .5
STONE_AXE:
MinimumLevel: 0
XpMultiplier: .5
STONE_HOE:
MinimumLevel: 0
XpMultiplier: .25
#
# Iron repairables
###
# Tools
IRON_SWORD:
MinimumLevel: 0
XpMultiplier: .5
IRON_SHOVEL:
MinimumLevel: 0
XpMultiplier: .3
IRON_PICKAXE:
MinimumLevel: 0
XpMultiplier: 1
IRON_AXE:
MinimumLevel: 0
XpMultiplier: 1
IRON_HOE:
MinimumLevel: 0
XpMultiplier: .5
SHEARS:
MinimumLevel: 0
XpMultiplier: .5
FLINT_AND_STEEL:
MinimumLevel: 0
XpMultiplier: .3
# Armor
IRON_HELMET:
MinimumLevel: 0
XpMultiplier: 2
IRON_CHESTPLATE:
MinimumLevel: 0
XpMultiplier: 2
IRON_LEGGINGS:
MinimumLevel: 0
XpMultiplier: 2
IRON_BOOTS:
MinimumLevel: 0
XpMultiplier: 2
#
# Gold repairables
###
# Tools
GOLDEN_SWORD:
MinimumLevel: 0
XpMultiplier: 4
GOLDEN_SHOVEL:
MinimumLevel: 0
XpMultiplier: 2.6
GOLDEN_PICKAXE:
MinimumLevel: 0
XpMultiplier: 8
GOLDEN_AXE:
MinimumLevel: 0
XpMultiplier: 8
GOLDEN_HOE:
MinimumLevel: 0
XpMultiplier: 4
# Armor
GOLDEN_HELMET:
MinimumLevel: 0
XpMultiplier: 4
GOLDEN_CHESTPLATE:
MinimumLevel: 0
XpMultiplier: 4
GOLDEN_LEGGINGS:
MinimumLevel: 0
XpMultiplier: 4
GOLDEN_BOOTS:
MinimumLevel: 0
XpMultiplier: 4
#
# Diamond repairables
###
# Tools
DIAMOND_SWORD:
MinimumLevel: 50
XpMultiplier: .5
DIAMOND_SHOVEL:
MinimumLevel: 50
XpMultiplier: .3
DIAMOND_PICKAXE:
MinimumLevel: 50
XpMultiplier: 1
DIAMOND_AXE:
MinimumLevel: 50
XpMultiplier: 1
DIAMOND_HOE:
MinimumLevel: 50
XpMultiplier: .5
# Armor
DIAMOND_HELMET:
MinimumLevel: 50
XpMultiplier: 6
DIAMOND_CHESTPLATE:
MinimumLevel: 50
XpMultiplier: 6
DIAMOND_LEGGINGS:
MinimumLevel: 50
XpMultiplier: 6
DIAMOND_BOOTS:
MinimumLevel: 50
XpMultiplier: 6
#
# Leather repairables
###
# Armor
LEATHER_HELMET:
MinimumLevel: 0
XpMultiplier: 1
LEATHER_CHESTPLATE:
MinimumLevel: 0
XpMultiplier: 1
LEATHER_LEGGINGS:
MinimumLevel: 0
XpMultiplier: 1
LEATHER_BOOTS:
MinimumLevel: 0
XpMultiplier: 1
#
# String repairables
###
# Tools
FISHING_ROD:
MinimumLevel: 0
XpMultiplier: .5
BOW:
MinimumLevel: 0
XpMultiplier: .5
CARROT_ON_A_STICK:
MinimumLevel: 0
XpMultiplier: .5
*/
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(STONE_SWORD, COBBLESTONE, 1, 0, .25D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(STONE_SHOVEL, COBBLESTONE, 1, 0, .15D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(STONE_PICKAXE, COBBLESTONE, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(STONE_AXE, COBBLESTONE, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(STONE_HOE, COBBLESTONE, 1, 0, .25D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_SWORD, IRON_INGOT, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_SHOVEL, IRON_INGOT, 1, 0, .3D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_PICKAXE, IRON_INGOT, 1, 0, 1D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_AXE, IRON_INGOT, 1, 0, 1D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_HOE, IRON_INGOT, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_HELMET, IRON_INGOT, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_CHESTPLATE, IRON_INGOT, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_LEGGINGS, IRON_INGOT, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(IRON_BOOTS, IRON_INGOT, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(SHEARS, IRON_INGOT, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(FLINT_AND_STEEL, IRON_INGOT, 1, 0, .3D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_SWORD, GOLD_INGOT, 1, 0, 4D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_SHOVEL, GOLD_INGOT, 1, 0, 2.6D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_PICKAXE, GOLD_INGOT, 1, 0, 8D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_AXE, GOLD_INGOT, 1, 0, 8D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_HOE, GOLD_INGOT, 1, 0, 4D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_HELMET, GOLD_INGOT, 1, 0, 4D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_CHESTPLATE, GOLD_INGOT, 1, 0, 4D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_LEGGINGS, GOLD_INGOT, 1, 0, 4D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(GOLDEN_BOOTS, GOLD_INGOT, 1, 0, 4D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_SWORD, DIAMOND, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_SHOVEL, DIAMOND, 1, 0, .3D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_PICKAXE, DIAMOND, 1, 0, 1D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_AXE, DIAMOND, 1, 0, 1D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_HOE, DIAMOND, 1, 0, .5D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_HELMET, DIAMOND, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_CHESTPLATE, DIAMOND, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_LEGGINGS, DIAMOND, 1, 0, 2D));
CONFIG_REPAIRABLES_DEFAULTS.add(new SimpleRepairable(DIAMOND_BOOTS, DIAMOND, 1, 0, 2D));
}

View File

@ -1,7 +1,7 @@
//package com.gmail.nossr50.config.mods;
//
//import com.gmail.nossr50.config.ConfigCollection;
//import com.gmail.nossr50.datatypes.skills.MaterialType;
//import com.gmail.nossr50.datatypes.skills.ItemMaterialCategory;
//import com.gmail.nossr50.mcMMO;
//import com.gmail.nossr50.skills.repair.repairables.Repairable;
//import com.gmail.nossr50.skills.repair.repairables.RepairableFactory;
@ -102,7 +102,7 @@
// durability = (short) getIntValue(armorType + "." + armorName + ".Durability", 70);
// }
//
// repairables.add(RepairableFactory.getRepairable(armorMaterial, repairMaterial, repairData, repairItemName, repairMinimumLevel, repairQuantity, durability, ConfigItemCategory.ARMOR, MaterialType.OTHER, repairXpMultiplier));
// repairables.add(RepairableFactory.getRepairable(armorMaterial, repairMaterial, repairData, repairItemName, repairMinimumLevel, repairQuantity, durability, ConfigItemCategory.ARMOR, ItemMaterialCategory.OTHER, repairXpMultiplier));
// }
//
// materialList.add(armorMaterial);

View File

@ -86,7 +86,7 @@ public class CustomToolConfig extends Config {
durability = (short) getIntValue(toolType + "." + toolName + ".Durability", 60);
}
repairables.add(RepairableFactory.getRepairable(toolMaterial, repairMaterial, repairData, repairItemName, repairMinimumLevel, repairQuantity, durability, ItemType.TOOL, MaterialType.OTHER, repairXpMultiplier));
repairables.add(RepairableFactory.getRepairable(toolMaterial, repairMaterial, repairData, repairItemName, repairMinimumLevel, repairQuantity, durability, ItemType.TOOL, ItemMaterialCategory.OTHER, repairXpMultiplier));
}
double multiplier = getDoubleValue(toolType + "." + toolName + ".XP_Modifier", 1.0);