diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/ItemGeneratorManager.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/ItemGeneratorManager.java index 5cc4c40b..6cfed6e2 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/ItemGeneratorManager.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/ItemGeneratorManager.java @@ -190,6 +190,7 @@ public class GeneratorItem extends LimitedItem { private Map materialModifiers; private Map, String>> materialBonuses; private Map, String>> classBonuses; + private Map, String>> rarityBonuses; private TreeMap reqUserLvl; private TreeMap reqUserClass; @@ -414,6 +415,62 @@ public GeneratorItem(@NotNull Divinity plugin, @NotNull JYML cfg) { this.classBonuses.put(group, statMap); } + // Load Rarity bonuses + path = "generator.bonuses.rarity."; + this.rarityBonuses = new HashMap<>(); + for (String group : cfg.getSection("generator.bonuses.rarity")) { + Map, String> statMap = new HashMap<>(); + + String path2 = path + group + ".damage-types"; + for (String id : cfg.getSection(path2)) { + DamageAttribute dt = ItemStats.getDamageById(id); + if (dt == null) continue; + + String sVal = cfg.getString(path2 + "." + id); + if (sVal == null) continue; + + String[] split = sVal.split("%", 2); + boolean perc = split.length == 2 && split[1].isEmpty(); + double val = StringUT.getDouble(split[0], 0, true); + + statMap.put(dt, val + (perc ? "%" : "")); + } + + path2 = path + group + ".defense-types"; + for (String id : cfg.getSection(path2)) { + DefenseAttribute dt = ItemStats.getDefenseById(id); + if (dt == null) continue; + + String sVal = cfg.getString(path2 + "." + id); + if (sVal == null) continue; + + String[] split = sVal.split("%", 2); + boolean perc = split.length == 2 && split[1].isEmpty(); + double val = StringUT.getDouble(split[0], 0, true); + + statMap.put(dt, val + (perc ? "%" : "")); + } + + path2 = path + group + ".item-stats"; + for (String id : cfg.getSection(path2)) { + SimpleStat.Type dt = TypedStat.Type.getByName(id); + if (dt == null) continue; + + ItemLoreStat mainStat = (ItemLoreStat) ItemStats.getStat(dt); + + String sVal = cfg.getString(path2 + "." + id); + if (sVal == null) continue; + + String[] split = sVal.split("%", 2); + boolean perc = split.length == 2 && split[1].isEmpty(); + double val = StringUT.getDouble(split[0], 0, true); + + statMap.put(mainStat, val + (perc ? "%" : "")); + } + + this.rarityBonuses.put(group, statMap); + } + // Load User Requirements. path = "generator.user-requirements-by-level."; if (ItemRequirements.isRegisteredUser(LevelRequirement.class)) { @@ -671,6 +728,23 @@ public Collection getClassBonuses(ItemLoreStat stat) { return list; } + public Collection getRarityBonuses(ItemLoreStat stat) { + List list = new ArrayList<>(); + for (Map.Entry, String>> entry : this.rarityBonuses.entrySet()) { + for (Map.Entry, String> entry1 : entry.getValue().entrySet()) { + if (entry1.getKey().equals(stat)) { + String sVal = entry1.getValue(); + String[] split = sVal.split("%", 2); + list.add(new StatBonus( + new double[]{Double.parseDouble(split[0])}, + split.length == 2 && split[1].isEmpty(), + new StatBonus.Condition<>())); + } + } + } + return list; + } + @NotNull public Set getAttributeGenerators() { return attributeGenerators; diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/AmmoTypesGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/AmmoTypesGUI.java index e62107dd..ac370142 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/AmmoTypesGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/AmmoTypesGUI.java @@ -11,7 +11,7 @@ public class AmmoTypesGUI extends AbstractEditorGUI { public AmmoTypesGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.AMMO_TYPES.getTitle(), + "Editor/" + EditorGUI.ItemType.AMMO_TYPES.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/EditorGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/EditorGUI.java index a89be14d..8f2640b8 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/EditorGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/EditorGUI.java @@ -30,7 +30,7 @@ public class EditorGUI extends AbstractEditorGUI { public EditorGUI(Player player, ItemGeneratorReference itemGenerator) { - super(player, 5, "[&d" + itemGenerator.getId() + "&r] editor", itemGenerator); + super(player, 5, "Editor", itemGenerator); } @Override diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/HandTypesGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/HandTypesGUI.java index fd017890..6f74ae7e 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/HandTypesGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/HandTypesGUI.java @@ -11,7 +11,7 @@ public class HandTypesGUI extends AbstractEditorGUI { public HandTypesGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.HAND_TYPES.getTitle(), + "Editor/" + EditorGUI.ItemType.HAND_TYPES.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/ItemFlagsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/ItemFlagsGUI.java index 454f6ba4..2e6ca7c1 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/ItemFlagsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/ItemFlagsGUI.java @@ -17,7 +17,7 @@ public class ItemFlagsGUI extends AbstractEditorGUI { public ItemFlagsGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ITEM_FLAGS.getTitle(), + "Editor/" + EditorGUI.ItemType.ITEM_FLAGS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/TierGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/TierGUI.java index 39f8f670..20de6585 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/TierGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/TierGUI.java @@ -11,7 +11,7 @@ public class TierGUI extends AbstractEditorGUI { public TierGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.TIER.getTitle(), + "Editor/" + EditorGUI.ItemType.TIER.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/UsesByLevelGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/UsesByLevelGUI.java index ef58fae9..42ca0678 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/UsesByLevelGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/UsesByLevelGUI.java @@ -18,7 +18,7 @@ public class UsesByLevelGUI extends AbstractEditorGUI { public UsesByLevelGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.USES_BY_LEVEL.getTitle(), + "Editor/" + EditorGUI.ItemType.USES_BY_LEVEL.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusCategoryGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusCategoryGUI.java index dcf8c66c..70d41ffa 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusCategoryGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusCategoryGUI.java @@ -29,7 +29,7 @@ public class BonusCategoryGUI extends AbstractEditorGUI { public BonusCategoryGUI(Player player, ItemGeneratorReference itemGenerator, MainBonusesGUI.ItemType category) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.BONUSES.getTitle(), + "Editor/" + EditorGUI.ItemType.BONUSES.getTitle(), itemGenerator); this.category = category; } @@ -89,7 +89,8 @@ public void setContents() { // Only permanent bonuses should handle these (i.e. class bonuses are applied dynamically) switch (this.category) { case MATERIAL_MODIFIERS: - case MATERIAL: { + case MATERIAL: + case RARITY:{ section = bonusesSection.getConfigurationSection(key + '.' + ItemType.FABLED_ATTRIBUTE.getPath()); if (section != null) { diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusStatTypeGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusStatTypeGUI.java index 2c8f3715..82932631 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusStatTypeGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusStatTypeGUI.java @@ -12,7 +12,7 @@ public class BonusStatTypeGUI extends AbstractEditorGUI { public BonusStatTypeGUI(Player player, ItemGeneratorReference itemGenerator, String path) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.BONUSES.getTitle(), + "Editor/" + EditorGUI.ItemType.BONUSES.getTitle(), itemGenerator); this.path = path; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusesGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusesGUI.java index 5b637387..18d5d5be 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusesGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/BonusesGUI.java @@ -19,7 +19,7 @@ public class BonusesGUI extends AbstractEditorGUI { public BonusesGUI(Player player, ItemGeneratorReference itemGenerator, String path) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.BONUSES.getTitle(), + "Editor/" + EditorGUI.ItemType.BONUSES.getTitle(), itemGenerator); this.path = path; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/MainBonusesGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/MainBonusesGUI.java index efa0ba08..6c50d03f 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/MainBonusesGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/MainBonusesGUI.java @@ -11,7 +11,7 @@ public class MainBonusesGUI extends AbstractEditorGUI { public MainBonusesGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.BONUSES.getTitle(), + "Editor/" + EditorGUI.ItemType.BONUSES.getTitle(), itemGenerator); } @@ -19,7 +19,9 @@ public MainBonusesGUI(Player player, ItemGeneratorReference itemGenerator) { public void setContents() { setSlot(0, new Slot(createItem(Material.IRON_ORE, "&eMaterial Modifiers", - "&7Modify the base value of the stat, based on the material group of the item", + "&7Modify the base value of the stat,", + "&7based on the material group of the ", + "&7item.", "&6Left-Click: &eModify")) { @Override public void onLeftClick() { @@ -42,12 +44,21 @@ public void onLeftClick() { openSubMenu(new BonusCategoryGUI(player, itemGenerator, ItemType.CLASS)); } }); + /*setSlot(3, new Slot(createItem(Material.DIAMOND, + "&eRarity bonuses", + "&6Left-Click: &eModify")) { + @Override + public void onLeftClick() { + openSubMenu(new BonusCategoryGUI(player, itemGenerator, ItemType.RARITY)); + } + });*/ } public enum ItemType { MATERIAL_MODIFIERS("material or group"), MATERIAL("material or group"), CLASS("class"), + RARITY("rarity"), ; private final String description; @@ -56,8 +67,12 @@ public enum ItemType { this.description = description; } - public String getPath() {return "generator.bonuses." + name().toLowerCase().replace('_', '-');} + public String getPath() { + return "generator.bonuses." + name().toLowerCase().replace('_', '-'); + } - public String getDescription() {return description;} + public String getDescription() { + return description; + } } } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/NewBonusStatGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/NewBonusStatGUI.java index bac10b74..e0f5d9df 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/NewBonusStatGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/bonuses/NewBonusStatGUI.java @@ -29,7 +29,7 @@ public NewBonusStatGUI(Player player, BonusCategoryGUI.ItemType statType) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), + "Editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), itemGenerator); this.path = path; this.statType = statType; diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentListGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentListGUI.java index 3c5d66ee..bf9f7819 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentListGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentListGUI.java @@ -18,7 +18,7 @@ public class EnchantmentListGUI extends AbstractEditorGUI { public EnchantmentListGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ENCHANTMENTS.getTitle(), + "Editor/" + EditorGUI.ItemType.ENCHANTMENTS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentsGUI.java index 4df77912..bed468fb 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/EnchantmentsGUI.java @@ -11,7 +11,7 @@ public class EnchantmentsGUI extends AbstractEditorGUI { public EnchantmentsGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ENCHANTMENTS.getTitle(), + "Editor/" + EditorGUI.ItemType.ENCHANTMENTS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/NewEnchantmentGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/NewEnchantmentGUI.java index d68b77fe..e2f5a88c 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/NewEnchantmentGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/enchantments/NewEnchantmentGUI.java @@ -14,7 +14,7 @@ public class NewEnchantmentGUI extends AbstractEditorGUI { public NewEnchantmentGUI(Player player, ItemGeneratorReference itemGenerator, List missingList) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ENCHANTMENTS.getTitle(), + "Editor/" + EditorGUI.ItemType.ENCHANTMENTS.getTitle(), itemGenerator); this.list = missingList; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainMaterialsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainMaterialsGUI.java index 96d6d4b6..958d8c6d 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainMaterialsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainMaterialsGUI.java @@ -21,7 +21,7 @@ public class MainMaterialsGUI extends AbstractEditorGUI { public MainMaterialsGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), + "Editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainModelDataGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainModelDataGUI.java index 30a3b86c..87a5407f 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainModelDataGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MainModelDataGUI.java @@ -19,7 +19,7 @@ public class MainModelDataGUI extends AbstractEditorGUI { public MainModelDataGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), + "Editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MaterialListGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MaterialListGUI.java index f1cf9c2f..21e6ff3a 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MaterialListGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/MaterialListGUI.java @@ -14,7 +14,7 @@ public class MaterialListGUI extends AbstractEditorGUI { public MaterialListGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), + "Editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/ModelDataGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/ModelDataGUI.java index 0748f874..ab21c78b 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/ModelDataGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/materials/ModelDataGUI.java @@ -16,7 +16,7 @@ public class ModelDataGUI extends AbstractEditorGUI { public ModelDataGUI(Player player, ItemGeneratorReference itemGenerator, String material) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), + "Editor/" + EditorGUI.ItemType.MATERIALS.getTitle(), itemGenerator); this.id = material; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/MainRequirementsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/MainRequirementsGUI.java index d56a304e..3f19d9eb 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/MainRequirementsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/MainRequirementsGUI.java @@ -11,7 +11,7 @@ public class MainRequirementsGUI extends AbstractEditorGUI { public MainRequirementsGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.REQUIREMENTS.getTitle(), + "Editor/" + EditorGUI.ItemType.REQUIREMENTS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/RequirementsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/RequirementsGUI.java index 424954af..8786226f 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/RequirementsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/requirements/RequirementsGUI.java @@ -22,7 +22,7 @@ public class RequirementsGUI extends AbstractEditorGUI { public RequirementsGUI(Player player, ItemGeneratorReference itemGenerator, String path, Material material) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.REQUIREMENTS.getTitle(), + "Editor/" + EditorGUI.ItemType.REQUIREMENTS.getTitle(), itemGenerator); this.path = path; this.material = material; diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/MainSkillsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/MainSkillsGUI.java index 108133c1..c0249c82 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/MainSkillsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/MainSkillsGUI.java @@ -11,7 +11,7 @@ public class MainSkillsGUI extends AbstractEditorGUI { public MainSkillsGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SKILLS.getTitle(), + "Editor/" + EditorGUI.ItemType.SKILLS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/NewSkillGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/NewSkillGUI.java index b9cf706f..92818a0b 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/NewSkillGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/NewSkillGUI.java @@ -20,7 +20,7 @@ public class NewSkillGUI extends AbstractEditorGUI { public NewSkillGUI(Player player, ItemGeneratorReference itemGenerator, List missingSkills) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SKILLS.getTitle(), + "Editor/" + EditorGUI.ItemType.SKILLS.getTitle(), itemGenerator); this.list = missingSkills; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillGUI.java index b40a3eef..5183c7ec 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillGUI.java @@ -16,7 +16,7 @@ public class SkillGUI extends AbstractEditorGUI { public SkillGUI(Player player, ItemGeneratorReference itemGenerator, String path) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SKILLS.getTitle(), + "Editor/" + EditorGUI.ItemType.SKILLS.getTitle(), itemGenerator); this.path = path; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillListGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillListGUI.java index 9191d8af..3b761bc1 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillListGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/skills/SkillListGUI.java @@ -23,7 +23,7 @@ public class SkillListGUI extends AbstractEditorGUI { public SkillListGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SKILLS.getTitle(), + "Editor/" + EditorGUI.ItemType.SKILLS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/MainSocketsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/MainSocketsGUI.java index ad3c44af..3d850898 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/MainSocketsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/MainSocketsGUI.java @@ -14,7 +14,7 @@ public class MainSocketsGUI extends AbstractEditorGUI { public MainSocketsGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SOCKETS.getTitle(), + "Editor/" + EditorGUI.ItemType.SOCKETS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketGUI.java index 1a7e8125..e5700eb4 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketGUI.java @@ -19,7 +19,7 @@ public class SocketGUI extends AbstractEditorGUI { public SocketGUI(Player player, ItemGeneratorReference itemGenerator, String name) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SOCKETS.getTitle(), + "Editor/" + EditorGUI.ItemType.SOCKETS.getTitle(), itemGenerator); this.name = name; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketListGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketListGUI.java index 944050ac..72be9849 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketListGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/sockets/SocketListGUI.java @@ -18,7 +18,7 @@ public class SocketListGUI extends AbstractEditorGUI { public SocketListGUI(Player player, ItemGeneratorReference itemGenerator, String name) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.SOCKETS.getTitle(), + "Editor/" + EditorGUI.ItemType.SOCKETS.getTitle(), itemGenerator); this.name = name; this.path = EditorGUI.ItemType.SOCKETS.getPath() + '.' + this.name + ".list."; diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/MainStatsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/MainStatsGUI.java index 110a152f..456ab784 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/MainStatsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/MainStatsGUI.java @@ -12,7 +12,7 @@ public class MainStatsGUI extends AbstractEditorGUI { private final EditorGUI.ItemType itemType; public MainStatsGUI(Player player, ItemGeneratorReference itemGenerator, EditorGUI.ItemType itemType) { - super(player, 1, "[&d" + itemGenerator.getId() + "&r] editor/" + itemType.getTitle(), itemGenerator); + super(player, 1, "Editor/" + itemType.getTitle(), itemGenerator); this.itemType = itemType; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatGUI.java index 08e3c2e3..e963b508 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatGUI.java @@ -11,7 +11,7 @@ public class StatGUI extends AbstractEditorGUI { private final String path; public StatGUI(Player player, ItemGeneratorReference itemGenerator, EditorGUI.ItemType itemType, String path) { - super(player, 1, "[&d" + itemGenerator.getId() + "&r] editor/" + itemType.getTitle(), itemGenerator); + super(player, 1, "Editor/" + itemType.getTitle(), itemGenerator); this.itemType = itemType; this.path = path; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatListGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatListGUI.java index 924ae6bb..7515440b 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatListGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/stats/StatListGUI.java @@ -19,7 +19,7 @@ public class StatListGUI extends AbstractEditorGUI { private final EditorGUI.ItemType itemType; public StatListGUI(Player player, ItemGeneratorReference itemGenerator, EditorGUI.ItemType itemType) { - super(player, 6, "[&d" + itemGenerator.getId() + "&r] editor/" + itemType.getTitle(), itemGenerator); + super(player, 6, "Editor/" + itemType.getTitle(), itemGenerator); this.itemType = itemType; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingGUI.java index e356d864..4d673385 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingGUI.java @@ -14,7 +14,7 @@ public class TrimmingGUI extends AbstractEditorGUI { public TrimmingGUI(Player player, ItemGeneratorReference itemGenerator, TrimmingListGUI.TrimmingEntry entry) { super(player, 1, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), + "Editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), itemGenerator); this.entry = entry; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingListGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingListGUI.java index c80ab138..eafc0b3a 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingListGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingListGUI.java @@ -23,7 +23,7 @@ public class TrimmingListGUI extends AbstractEditorGUI { public TrimmingListGUI(Player player, ItemGeneratorReference itemGenerator) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), + "Editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), itemGenerator); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingMaterialGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingMaterialGUI.java index 8c127ba1..df1831b2 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingMaterialGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingMaterialGUI.java @@ -16,7 +16,7 @@ public TrimmingMaterialGUI(Player player, TrimmingListGUI.TrimmingEntry entry) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), + "Editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), itemGenerator); this.entry = entry; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingPatternsGUI.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingPatternsGUI.java index d2de6448..79ea32db 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingPatternsGUI.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/editor/trimmings/TrimmingPatternsGUI.java @@ -16,7 +16,7 @@ public TrimmingPatternsGUI(Player player, TrimmingListGUI.TrimmingEntry entry) { super(player, 6, - "[&d" + itemGenerator.getId() + "&r] editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), + "Editor/" + EditorGUI.ItemType.ARMOR_TRIMINGS.getTitle(), itemGenerator); this.entry = entry; } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/AttributeGenerator.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/AttributeGenerator.java index d09d26b6..f0c6ae0c 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/AttributeGenerator.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/AttributeGenerator.java @@ -270,6 +270,10 @@ public void generate(@NotNull ItemStack item, int itemLevel) { ((ItemLoreStat) stat).add(item, statBonus, -1); } + for (StatBonus statBonus : generatorItem.getRarityBonuses(stat)) { + ((ItemLoreStat) stat).add(item, statBonus, -1); + } + for (StatBonus statBonus : generatorItem.getMaterialBonuses(item, stat)) { ((ItemLoreStat) stat).add(item, statBonus, -1); } diff --git a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/TypedStatGenerator.java b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/TypedStatGenerator.java index 2db81f41..aa8b3bcb 100644 --- a/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/TypedStatGenerator.java +++ b/src/main/java/studio/magemonkey/divinity/modules/list/itemgenerator/generators/TypedStatGenerator.java @@ -239,6 +239,10 @@ public void generate(@NotNull ItemStack item, int itemLevel) { ((ItemLoreStat) stat).add(item, statBonus, -1); } + for (StatBonus statBonus : generatorItem.getRarityBonuses((ItemLoreStat) stat)) { + ((ItemLoreStat) stat).add(item, statBonus, -1); + } + for (StatBonus statBonus : generatorItem.getMaterialBonuses(item, (ItemLoreStat) stat)) { ((ItemLoreStat) stat).add(item, statBonus, -1); }