Add minimum quantity back to the repair config

This commit is contained in:
nossr50
2019-06-11 03:50:13 -07:00
parent 97c98969ff
commit 9062dbcaae
5 changed files with 42 additions and 4 deletions

View File

@ -14,8 +14,15 @@ public class RepairableFactory {
return getRepairable(itemMaterial, repairMaterial, null, minimumLevel, maximumDurability, repairItemType, repairMaterialType, xpMultiplier);
}
public static Repairable getRepairable(Material itemMaterial, Material repairMaterial, String repairMaterialPrettyName, int minimumLevel, short maximumDurability, ItemType repairItemType, MaterialType repairMaterialType, double xpMultiplier) {
public static Repairable getRepairable(Material itemMaterial, Material repairMaterial, String repairMaterialPrettyName,
int minimumLevel, short maximumDurability, ItemType repairItemType, MaterialType repairMaterialType, double xpMultiplier) {
// TODO: Add in loading from config what type of repairable we want.
return new SimpleRepairable(itemMaterial, repairMaterial, repairMaterialPrettyName, minimumLevel, maximumDurability, repairItemType, repairMaterialType, xpMultiplier);
}
public static Repairable getRepairable(Material itemMaterial, Material repairMaterial, String repairMaterialPrettyName,
int minimumLevel, short maximumDurability, ItemType repairItemType, MaterialType repairMaterialType, double xpMultiplier, int minQuantity) {
// TODO: Add in loading from config what type of repairable we want.
return new SimpleRepairable(itemMaterial, repairMaterial, repairMaterialPrettyName, minimumLevel, maximumDurability, repairItemType, repairMaterialType, xpMultiplier, minQuantity);
}
}

View File

@ -15,6 +15,7 @@ public class SimpleRepairable implements Repairable {
private final ItemType repairItemType;
private final MaterialType repairMaterialType;
private final double xpMultiplier;
private int minQuantity = -1;
protected SimpleRepairable(Material type, Material repairMaterial, String repairMaterialPrettyName, int minimumLevel, short maximumDurability, ItemType repairItemType, MaterialType repairMaterialType, double xpMultiplier) {
this.itemMaterial = type;
@ -27,6 +28,18 @@ public class SimpleRepairable implements Repairable {
this.xpMultiplier = xpMultiplier;
}
protected SimpleRepairable(Material type, Material repairMaterial, String repairMaterialPrettyName, int minimumLevel, short maximumDurability, ItemType repairItemType, MaterialType repairMaterialType, double xpMultiplier, int minQuantity) {
this.itemMaterial = type;
this.repairMaterial = repairMaterial;
this.repairMaterialPrettyName = repairMaterialPrettyName;
this.repairItemType = repairItemType;
this.repairMaterialType = repairMaterialType;
this.minimumLevel = minimumLevel;
this.maximumDurability = maximumDurability;
this.xpMultiplier = xpMultiplier;
this.minQuantity = minQuantity;
}
@Override
public Material getItemMaterial() {
return itemMaterial;
@ -54,7 +67,10 @@ public class SimpleRepairable implements Repairable {
@Override
public int getMinimumQuantity() {
return Math.max(SkillUtils.getRepairAndSalvageQuantities(itemMaterial, repairMaterial), 2);
if(minQuantity != -1)
return Math.max(SkillUtils.getRepairAndSalvageQuantities(itemMaterial, repairMaterial), 2);
else
return minQuantity;
}
@Override