mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2025-01-09 07:37:34 +01:00
!Rolled back API changes
This commit is contained in:
parent
050a44addd
commit
1150685c35
@ -3,6 +3,7 @@ package net.Indyuce.mmoitems.gui.edition;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -20,7 +21,6 @@ import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
|||||||
import net.Indyuce.mmoitems.api.item.template.TemplateModifier;
|
import net.Indyuce.mmoitems.api.item.template.TemplateModifier;
|
||||||
import net.Indyuce.mmoitems.api.player.PlayerData;
|
import net.Indyuce.mmoitems.api.player.PlayerData;
|
||||||
import net.Indyuce.mmoitems.gui.PluginInventory;
|
import net.Indyuce.mmoitems.gui.PluginInventory;
|
||||||
import net.Indyuce.mmoitems.stat.data.EmptyData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
@ -82,14 +82,15 @@ public abstract class EditionInventory extends PluginInventory {
|
|||||||
* @param stat The stat which data we are looking for
|
* @param stat The stat which data we are looking for
|
||||||
* @return Optional which contains the corresponding random stat data
|
* @return Optional which contains the corresponding random stat data
|
||||||
*/
|
*/
|
||||||
public RandomStatData getEventualStatData(ItemStat stat) {
|
public Optional<RandomStatData> getEventualStatData(ItemStat stat) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The item data map used to display what the player is currently
|
* The item data map used to display what the player is currently
|
||||||
* editing. If he is editing a stat modifier, use the modifier item data
|
* editing. If he is editing a stat modifier, use the modifier item data
|
||||||
* map. Otherwise, use the base item data map
|
* map. Otherwise, use the base item data map
|
||||||
*/
|
*/
|
||||||
Map<ItemStat, RandomStatData> map = editedModifier != null ? editedModifier.getItemData() : template.getBaseItemData();
|
Map<ItemStat, RandomStatData> map = editedModifier != null ? editedModifier.getItemData() : template.getBaseItemData();
|
||||||
return map.getOrDefault(stat, new EmptyData());
|
return map.containsKey(stat) ? Optional.of(map.get(stat)) : Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerTemplateEdition() {
|
public void registerTemplateEdition() {
|
||||||
|
@ -20,6 +20,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public class ElementsEdition extends EditionInventory {
|
public class ElementsEdition extends EditionInventory {
|
||||||
private static final int[] slots = { 19, 25, 20, 24, 28, 34, 29, 33, 30, 32, 37, 43, 38, 42, 39, 41 };
|
private static final int[] slots = { 19, 25, 20, 24, 28, 34, 29, 33, 30, 32, 37, 43, 38, 42, 39, 41 };
|
||||||
@ -38,10 +39,10 @@ public class ElementsEdition extends EditionInventory {
|
|||||||
ItemMeta attackMeta = attack.getItemMeta();
|
ItemMeta attackMeta = attack.getItemMeta();
|
||||||
attackMeta.setDisplayName(ChatColor.GREEN + element.getName() + " Damage");
|
attackMeta.setDisplayName(ChatColor.GREEN + element.getName() + " Damage");
|
||||||
List<String> attackLore = new ArrayList<>();
|
List<String> attackLore = new ArrayList<>();
|
||||||
RandomStatData statData = getEventualStatData(ItemStats.ELEMENTS);
|
Optional<RandomStatData> statData = getEventualStatData(ItemStats.ELEMENTS);
|
||||||
attackLore.add(ChatColor.GRAY + "Current Value: " + ChatColor.GREEN
|
attackLore.add(ChatColor.GRAY + "Current Value: " + ChatColor.GREEN
|
||||||
+ (statData.isPresent() && ((RandomElementListData) statData).hasDamage(element)
|
+ (statData.isPresent() && ((RandomElementListData) statData.get()).hasDamage(element)
|
||||||
? ((RandomElementListData) statData).getDamage(element) + " (%)"
|
? ((RandomElementListData) statData.get()).getDamage(element) + " (%)"
|
||||||
: "---"));
|
: "---"));
|
||||||
attackLore.add("");
|
attackLore.add("");
|
||||||
attackLore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
attackLore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
||||||
@ -54,8 +55,8 @@ public class ElementsEdition extends EditionInventory {
|
|||||||
defenseMeta.setDisplayName(ChatColor.GREEN + element.getName() + " Defense");
|
defenseMeta.setDisplayName(ChatColor.GREEN + element.getName() + " Defense");
|
||||||
List<String> defenseLore = new ArrayList<>();
|
List<String> defenseLore = new ArrayList<>();
|
||||||
defenseLore.add(ChatColor.GRAY + "Current Value: " + ChatColor.GREEN
|
defenseLore.add(ChatColor.GRAY + "Current Value: " + ChatColor.GREEN
|
||||||
+ (statData.isPresent() && ((RandomElementListData) statData).hasDefense(element)
|
+ (statData.isPresent() && ((RandomElementListData) statData.get()).hasDefense(element)
|
||||||
? ((RandomElementListData) statData).getDefense(element) + " (%)"
|
? ((RandomElementListData) statData.get()).getDefense(element) + " (%)"
|
||||||
: "---"));
|
: "---"));
|
||||||
defenseLore.add("");
|
defenseLore.add("");
|
||||||
defenseLore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
defenseLore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
||||||
|
@ -3,6 +3,7 @@ package net.Indyuce.mmoitems.stat;
|
|||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -130,9 +131,9 @@ public class Abilities extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.GRAY + "Current Abilities: " + ChatColor.GOLD
|
lore.add(ChatColor.GRAY + "Current Abilities: " + ChatColor.GOLD
|
||||||
+ (statData.isPresent() ? ((RandomAbilityListData) statData).getAbilities().size() : 0));
|
+ (statData.isPresent() ? ((RandomAbilityListData) statData.get()).getAbilities().size() : 0));
|
||||||
lore.add("");
|
lore.add("");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to edit the item abilities.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to edit the item abilities.");
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,18 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Particle;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -18,13 +28,6 @@ import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Particle;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ArrowParticles extends ItemStat {
|
public class ArrowParticles extends ItemStat {
|
||||||
public ArrowParticles() {
|
public ArrowParticles() {
|
||||||
@ -124,9 +127,9 @@ public class ArrowParticles extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
ArrowParticlesData cast = (ArrowParticlesData) statData;
|
ArrowParticlesData cast = (ArrowParticlesData) statData.get();
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
|
|
||||||
lore.add(ChatColor.GRAY + "* Particle: " + ChatColor.GOLD
|
lore.add(ChatColor.GRAY + "* Particle: " + ChatColor.GOLD
|
||||||
@ -140,8 +143,8 @@ public class ArrowParticles extends ItemStat {
|
|||||||
"&7* Color: &c&l" + cast.getRed() + "&7 - &a&l" + cast.getGreen() + "&7 - &9&l" + cast.getBlue()));
|
"&7* Color: &c&l" + cast.getRed() + "&7 - &a&l" + cast.getGreen() + "&7 - &9&l" + cast.getBlue()));
|
||||||
else
|
else
|
||||||
lore.add(ChatColor.GRAY + "* Speed: " + ChatColor.WHITE + cast.getSpeed());
|
lore.add(ChatColor.GRAY + "* Speed: " + ChatColor.WHITE + cast.getSpeed());
|
||||||
}
|
} else
|
||||||
else lore.add(ChatColor.GRAY + "Current Value: " + ChatColor.RED + "None");
|
lore.add(ChatColor.GRAY + "Current Value: " + ChatColor.RED + "None");
|
||||||
|
|
||||||
lore.add("");
|
lore.add("");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to edit.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to edit.");
|
||||||
|
@ -1,8 +1,24 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -20,19 +36,6 @@ import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|||||||
import net.mmogroup.mmolib.MMOLib;
|
import net.mmogroup.mmolib.MMOLib;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class ArrowPotionEffects extends ItemStat {
|
public class ArrowPotionEffects extends ItemStat {
|
||||||
private final DecimalFormat durationFormat = new DecimalFormat("0.#");
|
private final DecimalFormat durationFormat = new DecimalFormat("0.#");
|
||||||
@ -95,10 +98,10 @@ public class ArrowPotionEffects extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
RandomPotionEffectListData data = (RandomPotionEffectListData) statData;
|
RandomPotionEffectListData data = (RandomPotionEffectListData) statData.get();
|
||||||
for (RandomPotionEffectData effect : data.getEffects())
|
for (RandomPotionEffectData effect : data.getEffects())
|
||||||
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().toLowerCase().replace("_", " "))
|
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().toLowerCase().replace("_", " "))
|
||||||
+ ChatColor.GRAY + " Level: " + ChatColor.GREEN + effect.getAmplifier() + ChatColor.GRAY + " Duration: " + ChatColor.GREEN
|
+ ChatColor.GRAY + " Level: " + ChatColor.GREEN + effect.getAmplifier() + ChatColor.GRAY + " Duration: " + ChatColor.GREEN
|
||||||
|
@ -1,9 +1,19 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -19,13 +29,6 @@ import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Commands extends ItemStat {
|
public class Commands extends ItemStat {
|
||||||
private static final int max = 15;
|
private static final int max = 15;
|
||||||
@ -108,9 +111,9 @@ public class Commands extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.GRAY + "Current Commands: " + ChatColor.RED
|
lore.add(ChatColor.GRAY + "Current Commands: " + ChatColor.RED
|
||||||
+ (statData.isPresent() ? ((CommandListData) statData).getCommands().size() : "0"));
|
+ (statData.isPresent() ? ((CommandListData) statData.get()).getCommands().size() : "0"));
|
||||||
lore.add("");
|
lore.add("");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to edit item commands.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to edit item commands.");
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,17 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -15,13 +25,6 @@ import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class CompatibleTypes extends ItemStat {
|
public class CompatibleTypes extends ItemStat {
|
||||||
public CompatibleTypes() {
|
public CompatibleTypes() {
|
||||||
@ -67,11 +70,11 @@ public class CompatibleTypes extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
((StringListData) statData).getList().forEach(str -> lore.add(ChatColor.GRAY + str));
|
((StringListData) statData.get()).getList().forEach(str -> lore.add(ChatColor.GRAY + str));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
lore.add(ChatColor.GRAY + "Current Value: " + ChatColor.RED + "Compatible with any item.");
|
lore.add(ChatColor.GRAY + "Current Value: " + ChatColor.RED + "Compatible with any item.");
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -40,7 +41,7 @@ public class Crafting extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to access the crafting edition menu.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to access the crafting edition menu.");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to remove all crafting recipes.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to remove all crafting recipes.");
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -16,14 +26,6 @@ import net.Indyuce.mmoitems.stat.type.GemStoneStat;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class CustomSounds extends ItemStat implements GemStoneStat {
|
public class CustomSounds extends ItemStat implements GemStoneStat {
|
||||||
public CustomSounds() {
|
public CustomSounds() {
|
||||||
@ -80,11 +82,11 @@ public class CustomSounds extends ItemStat implements GemStoneStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
SoundListData data = (SoundListData) statData;
|
SoundListData data = (SoundListData) statData.get();
|
||||||
data.mapData()
|
data.mapData()
|
||||||
.forEach((sound,
|
.forEach((sound,
|
||||||
soundData) -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN
|
soundData) -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -12,14 +22,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class DyeColor extends ItemStat {
|
public class DyeColor extends ItemStat {
|
||||||
public DyeColor() {
|
public DyeColor() {
|
||||||
@ -62,8 +64,8 @@ public class DyeColor extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value: " + (statData.isPresent() ? ChatColor.GREEN + statData.toString() : ChatColor.RED + "None"));
|
lore.add(ChatColor.GRAY + "Current Value: " + (statData.isPresent() ? ChatColor.GREEN + statData.get().toString() : ChatColor.RED + "None"));
|
||||||
lore.add("");
|
lore.add("");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to remove the dye color.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to remove the dye color.");
|
||||||
|
@ -1,9 +1,25 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -21,19 +37,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class Effects extends ItemStat {
|
public class Effects extends ItemStat {
|
||||||
private final DecimalFormat durationFormat = new DecimalFormat("0.#");
|
private final DecimalFormat durationFormat = new DecimalFormat("0.#");
|
||||||
@ -88,11 +91,11 @@ public class Effects extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
RandomPotionEffectListData data = (RandomPotionEffectListData) statData;
|
RandomPotionEffectListData data = (RandomPotionEffectListData) statData.get();
|
||||||
for (RandomPotionEffectData effect : data.getEffects())
|
for (RandomPotionEffectData effect : data.getEffects())
|
||||||
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().toLowerCase().replace("_", " "))
|
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().toLowerCase().replace("_", " "))
|
||||||
+ ChatColor.GRAY + " Level: " + ChatColor.GREEN + effect.getAmplifier() + ChatColor.GRAY + " Duration: " + ChatColor.GREEN
|
+ ChatColor.GRAY + " Level: " + ChatColor.GREEN + effect.getAmplifier() + ChatColor.GRAY + " Duration: " + ChatColor.GREEN
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -17,14 +27,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Elements extends ItemStat {
|
public class Elements extends ItemStat {
|
||||||
public Elements() {
|
public Elements() {
|
||||||
@ -74,11 +76,11 @@ public class Elements extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
RandomElementListData data = (RandomElementListData) statData;
|
RandomElementListData data = (RandomElementListData) statData.get();
|
||||||
data.getDamageElements().forEach(
|
data.getDamageElements().forEach(
|
||||||
element -> lore.add(ChatColor.GRAY + "* " + element.getName() + " Damage: " + ChatColor.RED + data.getDamage(element) + " (%)"));
|
element -> lore.add(ChatColor.GRAY + "* " + element.getName() + " Damage: " + ChatColor.RED + data.getDamage(element) + " (%)"));
|
||||||
data.getDefenseElements().forEach(
|
data.getDefenseElements().forEach(
|
||||||
|
@ -1,5 +1,19 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.NamespacedKey;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -14,18 +28,6 @@ import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
|||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.NamespacedKey;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.enchantments.Enchantment;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class Enchants extends ItemStat {
|
public class Enchants extends ItemStat {
|
||||||
public Enchants() {
|
public Enchants() {
|
||||||
@ -81,11 +83,11 @@ public class Enchants extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
RandomEnchantListData data = (RandomEnchantListData) statData;
|
RandomEnchantListData data = (RandomEnchantListData) statData.get();
|
||||||
data.getEnchants().forEach(enchant -> lore.add(ChatColor.GRAY + "* " + MMOUtils.caseOnWords(enchant.getKey().getKey().replace("_", " "))
|
data.getEnchants().forEach(enchant -> lore.add(ChatColor.GRAY + "* " + MMOUtils.caseOnWords(enchant.getKey().getKey().replace("_", " "))
|
||||||
+ " " + data.getLevel(enchant).toString()));
|
+ " " + data.getLevel(enchant).toString()));
|
||||||
|
|
||||||
|
@ -1,9 +1,20 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -17,14 +28,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class GemSockets extends ItemStat {
|
public class GemSockets extends ItemStat {
|
||||||
public GemSockets() {
|
public GemSockets() {
|
||||||
@ -105,11 +108,11 @@ public class GemSockets extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
GemSocketsData data = (GemSocketsData) statData;
|
GemSocketsData data = (GemSocketsData) statData.get();
|
||||||
data.getEmptySlots().forEach(socket -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + socket + " Gem Socket"));
|
data.getEmptySlots().forEach(socket -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + socket + " Gem Socket"));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
@ -1,7 +1,18 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -16,18 +27,11 @@ import net.Indyuce.mmoitems.stat.type.StringListStat;
|
|||||||
import net.mmogroup.mmolib.MMOLib;
|
import net.mmogroup.mmolib.MMOLib;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class GrantedPermissions extends StringListStat implements GemStoneStat {
|
public class GrantedPermissions extends StringListStat implements GemStoneStat {
|
||||||
public GrantedPermissions() {
|
public GrantedPermissions() {
|
||||||
super("GRANTED_PERMISSIONS", Material.NAME_TAG, "Granted Permissions", new String[] { "A list of permissions that will,", "be granted by the item." }, new String[] { "all" });
|
super("GRANTED_PERMISSIONS", Material.NAME_TAG, "Granted Permissions",
|
||||||
|
new String[] { "A list of permissions that will,", "be granted by the item." }, new String[] { "all" });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -66,11 +70,11 @@ public class GrantedPermissions extends StringListStat implements GemStoneStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(element -> lore.add(ChatColor.GRAY + MMOLib.plugin.parseColors(element)));
|
data.getList().forEach(element -> lore.add(ChatColor.GRAY + MMOLib.plugin.parseColors(element)));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
@ -91,8 +95,8 @@ public class GrantedPermissions extends StringListStat implements GemStoneStat {
|
|||||||
@Override
|
@Override
|
||||||
public void whenLoaded(ReadMMOItem mmoitem) {
|
public void whenLoaded(ReadMMOItem mmoitem) {
|
||||||
if (mmoitem.getNBT().hasTag(getNBTPath())) {
|
if (mmoitem.getNBT().hasTag(getNBTPath())) {
|
||||||
mmoitem.setData(ItemStats.GRANTED_PERMISSIONS, new StringListData(
|
mmoitem.setData(ItemStats.GRANTED_PERMISSIONS,
|
||||||
new JsonParser().parse(mmoitem.getNBT().getString(getNBTPath())).getAsJsonArray()));
|
new StringListData(new JsonParser().parse(mmoitem.getNBT().getString(getNBTPath())).getAsJsonArray()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,17 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Particle;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -17,13 +27,6 @@ import net.Indyuce.mmoitems.stat.type.ItemStat;
|
|||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Particle;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ItemParticles extends ItemStat {
|
public class ItemParticles extends ItemStat {
|
||||||
public ItemParticles() {
|
public ItemParticles() {
|
||||||
@ -48,7 +51,7 @@ public class ItemParticles extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to setup the item particles.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to setup the item particles.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
@ -13,14 +23,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.StringStat;
|
import net.Indyuce.mmoitems.stat.type.StringStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ItemTypeRestriction extends StringStat {
|
public class ItemTypeRestriction extends StringStat {
|
||||||
public ItemTypeRestriction() {
|
public ItemTypeRestriction() {
|
||||||
@ -100,11 +102,11 @@ public class ItemTypeRestriction extends StringStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(el -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + el));
|
data.getList().forEach(el -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + el));
|
||||||
} else
|
} else
|
||||||
lore.add(ChatColor.GRAY + "Current Value: " + ChatColor.RED + "Compatible with any type.");
|
lore.add(ChatColor.GRAY + "Current Value: " + ChatColor.RED + "Compatible with any type.");
|
||||||
|
@ -1,7 +1,17 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -17,13 +27,6 @@ import net.mmogroup.mmolib.MMOLib;
|
|||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Lore extends StringListStat implements GemStoneStat {
|
public class Lore extends StringListStat implements GemStoneStat {
|
||||||
public Lore() {
|
public Lore() {
|
||||||
@ -66,11 +69,11 @@ public class Lore extends StringListStat implements GemStoneStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(element -> lore.add(ChatColor.GRAY + MMOLib.plugin.parseColors(element)));
|
data.getList().forEach(element -> lore.add(ChatColor.GRAY + MMOLib.plugin.parseColors(element)));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -18,12 +25,6 @@ import net.md_5.bungee.api.chat.ComponentBuilder;
|
|||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.api.util.EnumUtils;
|
import net.mmogroup.mmolib.api.util.EnumUtils;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
public class MaterialStat extends ItemStat {
|
public class MaterialStat extends ItemStat {
|
||||||
public MaterialStat() {
|
public MaterialStat() {
|
||||||
@ -69,10 +70,10 @@ public class MaterialStat extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value: "
|
lore.add(ChatColor.GRAY + "Current Value: "
|
||||||
+ (statData.isPresent()
|
+ (statData.isPresent()
|
||||||
? ChatColor.GREEN + MMOUtils.caseOnWords(((MaterialData) statData).getMaterial().name().toLowerCase().replace("_", " "))
|
? ChatColor.GREEN + MMOUtils.caseOnWords(((MaterialData) statData.get()).getMaterial().name().toLowerCase().replace("_", " "))
|
||||||
: ChatColor.RED + "None"));
|
: ChatColor.RED + "None"));
|
||||||
|
|
||||||
lore.add("");
|
lore.add("");
|
||||||
|
@ -1,7 +1,18 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -14,14 +25,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.StringListStat;
|
import net.Indyuce.mmoitems.stat.type.StringListStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class NBTTags extends StringListStat {
|
public class NBTTags extends StringListStat {
|
||||||
public NBTTags() {
|
public NBTTags() {
|
||||||
@ -69,10 +72,10 @@ public class NBTTags extends StringListStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(str -> lore.add(ChatColor.GRAY + str));
|
data.getList().forEach(str -> lore.add(ChatColor.GRAY + str));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
@ -1,8 +1,22 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -20,22 +34,15 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class has not been updated for the item generation update!!! The potion
|
||||||
|
* amplifier and duration are not numeric formulas but flat values.... TODO
|
||||||
|
*/
|
||||||
public class PermanentEffects extends ItemStat {
|
public class PermanentEffects extends ItemStat {
|
||||||
public PermanentEffects() {
|
public PermanentEffects() {
|
||||||
super("PERM_EFFECTS", Material.POTION, "Permanent Effects",
|
super("PERM_EFFECTS", Material.POTION, "Permanent Effects", new String[] { "The potion effects your", "item grants to the holder." },
|
||||||
new String[] { "The potion effects your", "item grants to the holder." }, new String[] { "!miscellaneous", "!block", "all" });
|
new String[] { "!miscellaneous", "!block", "all" });
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -69,7 +76,7 @@ public class PermanentEffects extends ItemStat {
|
|||||||
inv.getEditedSection().set("perm-effects", null);
|
inv.getEditedSection().set("perm-effects", null);
|
||||||
inv.registerTemplateEdition();
|
inv.registerTemplateEdition();
|
||||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Successfully removed " + last.substring(0, 1).toUpperCase()
|
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Successfully removed " + last.substring(0, 1).toUpperCase()
|
||||||
+ last.substring(1).toLowerCase() + "<EFBFBD>7.");
|
+ last.substring(1).toLowerCase() + ".");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,10 +99,10 @@ public class PermanentEffects extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
RandomPotionEffectListData data = (RandomPotionEffectListData) statData;
|
RandomPotionEffectListData data = (RandomPotionEffectListData) statData.get();
|
||||||
for (RandomPotionEffectData effect : data.getEffects())
|
for (RandomPotionEffectData effect : data.getEffects())
|
||||||
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().replace("_", " ").toLowerCase())
|
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().replace("_", " ").toLowerCase())
|
||||||
+ " " + effect.getAmplifier().toString());
|
+ " " + effect.getAmplifier().toString());
|
||||||
@ -115,8 +122,8 @@ public class PermanentEffects extends ItemStat {
|
|||||||
|
|
||||||
String permEffectFormat = ItemStat.translate("perm-effect");
|
String permEffectFormat = ItemStat.translate("perm-effect");
|
||||||
((PotionEffectListData) data).getEffects().forEach(effect -> {
|
((PotionEffectListData) data).getEffects().forEach(effect -> {
|
||||||
lore.add(permEffectFormat.replace("#", MMOItems.plugin.getLanguage().getPotionEffectName(effect.getType())
|
lore.add(permEffectFormat.replace("#",
|
||||||
+ " " + MMOUtils.intToRoman(effect.getLevel())));
|
MMOItems.plugin.getLanguage().getPotionEffectName(effect.getType()) + " " + MMOUtils.intToRoman(effect.getLevel())));
|
||||||
object.addProperty(effect.getType().getName(), effect.getLevel());
|
object.addProperty(effect.getType().getName(), effect.getLevel());
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -131,12 +138,12 @@ public class PermanentEffects extends ItemStat {
|
|||||||
|
|
||||||
JsonElement element = new JsonParser().parse(mmoitem.getNBT().getString("MMOITEMS_PERM_EFFECTS"));
|
JsonElement element = new JsonParser().parse(mmoitem.getNBT().getString("MMOITEMS_PERM_EFFECTS"));
|
||||||
if (!element.isJsonObject()) {
|
if (!element.isJsonObject()) {
|
||||||
MMOItems.plugin.getLogger().warning("Couldn't load perm effects from " + mmoitem.getType()
|
MMOItems.plugin.getLogger().warning(
|
||||||
+ "." + mmoitem.getId() + ", the NBTData isn't a json object!");
|
"Couldn't load perm effects from " + mmoitem.getType() + "." + mmoitem.getId() + ", the NBTData isn't a json object!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
element.getAsJsonObject().entrySet().forEach(entry ->
|
element.getAsJsonObject().entrySet()
|
||||||
effects.add(new PotionEffectData(PotionEffectType.getByName(entry.getKey()), entry.getValue().getAsInt())));
|
.forEach(entry -> effects.add(new PotionEffectData(PotionEffectType.getByName(entry.getKey()), entry.getValue().getAsInt())));
|
||||||
|
|
||||||
mmoitem.setData(ItemStats.PERM_EFFECTS, effects);
|
mmoitem.setData(ItemStats.PERM_EFFECTS, effects);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -18,15 +29,6 @@ import net.mmogroup.mmolib.api.item.ItemTag;
|
|||||||
import net.mmogroup.mmolib.api.item.NBTItem;
|
import net.mmogroup.mmolib.api.item.NBTItem;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Permission extends StringListStat implements ItemRestriction, GemStoneStat {
|
public class Permission extends StringListStat implements ItemRestriction, GemStoneStat {
|
||||||
public Permission() {
|
public Permission() {
|
||||||
@ -72,11 +74,11 @@ public class Permission extends StringListStat implements ItemRestriction, GemSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(el -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + el));
|
data.getList().forEach(el -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + el));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -10,14 +20,6 @@ import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
|||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.StringStat;
|
import net.Indyuce.mmoitems.stat.type.StringStat;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.inventory.meta.PotionMeta;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class PotionColor extends StringStat {
|
public class PotionColor extends StringStat {
|
||||||
public PotionColor() {
|
public PotionColor() {
|
||||||
@ -61,9 +63,9 @@ public class PotionColor extends StringStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
lore.add(statData.isPresent() ? ChatColor.GREEN + statData.toString() : ChatColor.RED + "Uncolored");
|
lore.add(statData.isPresent() ? ChatColor.GREEN + statData.get().toString() : ChatColor.RED + "Uncolored");
|
||||||
|
|
||||||
lore.add("");
|
lore.add("");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to change this value.");
|
||||||
|
@ -1,5 +1,20 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
@ -15,19 +30,6 @@ import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
|||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.inventory.meta.PotionMeta;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class PotionEffects extends ItemStat {
|
public class PotionEffects extends ItemStat {
|
||||||
private final DecimalFormat durationFormat = new DecimalFormat("0.#");
|
private final DecimalFormat durationFormat = new DecimalFormat("0.#");
|
||||||
@ -88,11 +90,11 @@ public class PotionEffects extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
PotionEffectListData data = (PotionEffectListData) statData;
|
PotionEffectListData data = (PotionEffectListData) statData.get();
|
||||||
for (PotionEffectData effect : data.getEffects())
|
for (PotionEffectData effect : data.getEffects())
|
||||||
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().toLowerCase().replace("_", " "))
|
lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + MMOUtils.caseOnWords(effect.getType().getName().toLowerCase().replace("_", " "))
|
||||||
+ " " + MMOUtils.intToRoman(effect.getLevel()) + " " + ChatColor.GRAY + "(" + ChatColor.GREEN
|
+ " " + MMOUtils.intToRoman(effect.getLevel()) + " " + ChatColor.GRAY + "(" + ChatColor.GREEN
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
||||||
@ -17,15 +28,6 @@ import net.mmogroup.mmolib.api.item.ItemTag;
|
|||||||
import net.mmogroup.mmolib.api.item.NBTItem;
|
import net.mmogroup.mmolib.api.item.NBTItem;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import net.mmogroup.mmolib.version.VersionMaterial;
|
import net.mmogroup.mmolib.version.VersionMaterial;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
public class RequiredClass extends StringListStat implements ItemRestriction, GemStoneStat {
|
public class RequiredClass extends StringListStat implements ItemRestriction, GemStoneStat {
|
||||||
public RequiredClass() {
|
public RequiredClass() {
|
||||||
@ -77,11 +79,11 @@ public class RequiredClass extends StringListStat implements ItemRestriction, Ge
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(el -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + el));
|
data.getList().forEach(el -> lore.add(ChatColor.GRAY + "* " + ChatColor.GREEN + el));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.ReadMMOItem;
|
import net.Indyuce.mmoitems.api.item.mmoitem.ReadMMOItem;
|
||||||
import net.Indyuce.mmoitems.api.util.NumericStatFormula;
|
import net.Indyuce.mmoitems.api.util.NumericStatFormula;
|
||||||
@ -10,12 +18,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RevisionID extends ItemStat {
|
public class RevisionID extends ItemStat {
|
||||||
public RevisionID() {
|
public RevisionID() {
|
||||||
@ -60,9 +62,9 @@ public class RevisionID extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
NumericStatFormula data = (NumericStatFormula) statData;
|
NumericStatFormula data = (NumericStatFormula) statData.get();
|
||||||
lore.add(ChatColor.GRAY + "Current Revision ID: " + ChatColor.GREEN + ((int) data.getBase()));
|
lore.add(ChatColor.GRAY + "Current Revision ID: " + ChatColor.GREEN + ((int) data.getBase()));
|
||||||
} else
|
} else
|
||||||
lore.add(ChatColor.GRAY + "Current Revision ID: " + ChatColor.GREEN + "1");
|
lore.add(ChatColor.GRAY + "Current Revision ID: " + ChatColor.GREEN + "1");
|
||||||
|
@ -1,17 +1,10 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.ItemStats;
|
import java.util.ArrayList;
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import java.util.List;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import java.util.Optional;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import java.util.Set;
|
||||||
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
|
||||||
import net.Indyuce.mmoitems.api.item.mmoitem.ReadMMOItem;
|
|
||||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.ShieldPatternData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|
||||||
import net.Indyuce.mmoitems.stat.type.StringStat;
|
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
@ -25,9 +18,18 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
|||||||
import org.bukkit.inventory.ItemFlag;
|
import org.bukkit.inventory.ItemFlag;
|
||||||
import org.bukkit.inventory.meta.BlockStateMeta;
|
import org.bukkit.inventory.meta.BlockStateMeta;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import net.Indyuce.mmoitems.ItemStats;
|
||||||
import java.util.List;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import java.util.Set;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
|
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
||||||
|
import net.Indyuce.mmoitems.api.item.mmoitem.ReadMMOItem;
|
||||||
|
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.ShieldPatternData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||||
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
|
import net.Indyuce.mmoitems.stat.type.StringStat;
|
||||||
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
|
|
||||||
public class ShieldPatternStat extends StringStat {
|
public class ShieldPatternStat extends StringStat {
|
||||||
public ShieldPatternStat() {
|
public ShieldPatternStat() {
|
||||||
@ -126,11 +128,11 @@ public class ShieldPatternStat extends StringStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
ShieldPatternData data = (ShieldPatternData) statData;
|
ShieldPatternData data = (ShieldPatternData) statData.get();
|
||||||
lore.add(ChatColor.GRAY + "* Base Color: "
|
lore.add(ChatColor.GRAY + "* Base Color: "
|
||||||
+ (data.getBaseColor() != null
|
+ (data.getBaseColor() != null
|
||||||
? ChatColor.GREEN + MMOUtils.caseOnWords(data.getBaseColor().name().toLowerCase().replace("_", " "))
|
? ChatColor.GREEN + MMOUtils.caseOnWords(data.getBaseColor().name().toLowerCase().replace("_", " "))
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package net.Indyuce.mmoitems.stat;
|
package net.Indyuce.mmoitems.stat;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
@ -116,7 +117,7 @@ public class UpgradeStat extends ItemStat implements ConsumableItemInteraction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Left click to setup upgrading.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Left click to setup upgrading.");
|
||||||
lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to reset.");
|
lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to reset.");
|
||||||
}
|
}
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
package net.Indyuce.mmoitems.stat.data;
|
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.api.item.build.MMOItemBuilder;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|
||||||
|
|
||||||
public class EmptyData implements RandomStatData {
|
|
||||||
@Override
|
|
||||||
public StatData randomize(MMOItemBuilder builder) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isPresent() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
@ -17,8 +17,4 @@ public interface RandomStatData {
|
|||||||
* base item template
|
* base item template
|
||||||
*/
|
*/
|
||||||
StatData randomize(MMOItemBuilder builder);
|
StatData randomize(MMOItemBuilder builder);
|
||||||
|
|
||||||
default boolean isPresent() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
package net.Indyuce.mmoitems.stat.type;
|
package net.Indyuce.mmoitems.stat.type;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.MMOUtils;
|
import net.Indyuce.mmoitems.MMOUtils;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
@ -12,14 +22,6 @@ import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
|||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class BooleanStat extends ItemStat {
|
public class BooleanStat extends ItemStat {
|
||||||
private static final DecimalFormat digit = new DecimalFormat("0.#");
|
private static final DecimalFormat digit = new DecimalFormat("0.#");
|
||||||
@ -78,10 +80,10 @@ public class BooleanStat extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
|
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
double chance = ((RandomBooleanData) statData).getChance();
|
double chance = ((RandomBooleanData) statData.get()).getChance();
|
||||||
lore.add(ChatColor.GRAY + "Current Value: " + (chance >= 1 ? ChatColor.GREEN + "True"
|
lore.add(ChatColor.GRAY + "Current Value: " + (chance >= 1 ? ChatColor.GREEN + "True"
|
||||||
: chance <= 0 ? ChatColor.RED + "False" : ChatColor.GREEN + digit.format(chance * 100) + "% Chance"));
|
: chance <= 0 ? ChatColor.RED + "False" : ChatColor.GREEN + digit.format(chance * 100) + "% Chance"));
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package net.Indyuce.mmoitems.stat.type;
|
|||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
@ -140,9 +141,9 @@ public class DoubleStat extends ItemStat implements Upgradable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
NumericStatFormula data = (NumericStatFormula) statData;
|
NumericStatFormula data = (NumericStatFormula) statData.get();
|
||||||
lore.add(ChatColor.GRAY + "Base Value: " + ChatColor.GREEN + digit.format(data.getBase())
|
lore.add(ChatColor.GRAY + "Base Value: " + ChatColor.GREEN + digit.format(data.getBase())
|
||||||
+ (data.getScale() != 0 ? ChatColor.GRAY + " (+" + ChatColor.GREEN + digit.format(data.getScale()) + ChatColor.GRAY + ")" : ""));
|
+ (data.getScale() != 0 ? ChatColor.GRAY + " (+" + ChatColor.GREEN + digit.format(data.getScale()) + ChatColor.GRAY + ")" : ""));
|
||||||
if (data.getSpread() > 0)
|
if (data.getSpread() > 0)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package net.Indyuce.mmoitems.stat.type;
|
package net.Indyuce.mmoitems.stat.type;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
@ -36,7 +37,7 @@ public abstract class InternalStat extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
// not supported
|
// not supported
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
package net.Indyuce.mmoitems.stat.type;
|
package net.Indyuce.mmoitems.stat.type;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.Type;
|
import net.Indyuce.mmoitems.api.Type;
|
||||||
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
||||||
@ -7,13 +16,6 @@ import net.Indyuce.mmoitems.api.item.mmoitem.ReadMMOItem;
|
|||||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public abstract class ItemStat {
|
public abstract class ItemStat {
|
||||||
private final String id, name;
|
private final String id, name;
|
||||||
@ -79,10 +81,10 @@ public abstract class ItemStat {
|
|||||||
public abstract void whenClicked(EditionInventory inv, InventoryClickEvent event);
|
public abstract void whenClicked(EditionInventory inv, InventoryClickEvent event);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When inputing data using chat or anvil input in order to edit the edit in
|
* When inputing data using chat or anvil input in order to edit the item
|
||||||
* the GUI editor. IAE are handled and exception messages are sent back to
|
* using the GUI editor. IAE are handled and exception messages are sent
|
||||||
* the player. Stat edition is not canceled until a right input is given or
|
* back to the player. Stat edition is not canceled until a right input is
|
||||||
* the player inputs 'cancel'
|
* given or the player inputs 'cancel'
|
||||||
*
|
*
|
||||||
* @param inv Previously opened edition menu
|
* @param inv Previously opened edition menu
|
||||||
* @param message Player input
|
* @param message Player input
|
||||||
@ -109,7 +111,7 @@ public abstract class ItemStat {
|
|||||||
* @param statData Stat data being displayed, optional is empty if there is
|
* @param statData Stat data being displayed, optional is empty if there is
|
||||||
* no stat data
|
* no stat data
|
||||||
*/
|
*/
|
||||||
public abstract void whenDisplayed(List<String> lore, RandomStatData statData);
|
public abstract void whenDisplayed(List<String> lore, Optional<RandomStatData> statData);
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
|
@ -1,7 +1,18 @@
|
|||||||
package net.Indyuce.mmoitems.stat.type;
|
package net.Indyuce.mmoitems.stat.type;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.Validate;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
||||||
@ -13,14 +24,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.mmogroup.mmolib.MMOLib;
|
import net.mmogroup.mmolib.MMOLib;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.apache.commons.lang.Validate;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class StringListStat extends ItemStat {
|
public class StringListStat extends ItemStat {
|
||||||
public StringListStat(String id, Material mat, String name, String[] lore, String[] types, Material... materials) {
|
public StringListStat(String id, Material mat, String name, String[] lore, String[] types, Material... materials) {
|
||||||
@ -77,10 +80,10 @@ public class StringListStat extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
lore.add(ChatColor.GRAY + "Current Value:");
|
lore.add(ChatColor.GRAY + "Current Value:");
|
||||||
StringListData data = (StringListData) statData;
|
StringListData data = (StringListData) statData.get();
|
||||||
data.getList().forEach(element -> lore.add(ChatColor.GRAY + MMOLib.plugin.parseColors(element)));
|
data.getList().forEach(element -> lore.add(ChatColor.GRAY + MMOLib.plugin.parseColors(element)));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
package net.Indyuce.mmoitems.stat.type;
|
package net.Indyuce.mmoitems.stat.type;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryAction;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
|
||||||
import net.Indyuce.mmoitems.MMOItems;
|
import net.Indyuce.mmoitems.MMOItems;
|
||||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||||
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
|
||||||
@ -11,12 +19,6 @@ import net.Indyuce.mmoitems.stat.data.type.StatData;
|
|||||||
import net.mmogroup.mmolib.MMOLib;
|
import net.mmogroup.mmolib.MMOLib;
|
||||||
import net.mmogroup.mmolib.api.item.ItemTag;
|
import net.mmogroup.mmolib.api.item.ItemTag;
|
||||||
import net.mmogroup.mmolib.api.util.AltChar;
|
import net.mmogroup.mmolib.api.util.AltChar;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.event.inventory.InventoryAction;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class StringStat extends ItemStat {
|
public class StringStat extends ItemStat {
|
||||||
public StringStat(String id, Material mat, String name, String[] lore, String[] types, Material... materials) {
|
public StringStat(String id, Material mat, String name, String[] lore, String[] types, Material... materials) {
|
||||||
@ -59,7 +61,7 @@ public class StringStat extends ItemStat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void whenDisplayed(List<String> lore, RandomStatData statData) {
|
public void whenDisplayed(List<String> lore, Optional<RandomStatData> statData) {
|
||||||
if (statData.isPresent()) {
|
if (statData.isPresent()) {
|
||||||
String value = MMOLib.plugin.parseColors(statData.toString());
|
String value = MMOLib.plugin.parseColors(statData.toString());
|
||||||
value = value.length() > 40 ? value.substring(0, 40) + "..." : value;
|
value = value.length() > 40 ? value.substring(0, 40) + "..." : value;
|
||||||
|
Loading…
Reference in New Issue
Block a user