Added "Accessory Set" stat to only allow one accessory per set when using the new mmoinventory unique restriction.

This commit is contained in:
Ethan 2020-09-08 13:28:45 -04:00
parent aca9388af3
commit 0f1d0752cb
3 changed files with 48 additions and 1 deletions

View File

@ -23,6 +23,7 @@ import net.Indyuce.mmoitems.comp.inventory.RPGInventoryHook;
import net.Indyuce.mmoitems.comp.itemglow.ItemGlowListener;
import net.Indyuce.mmoitems.comp.itemglow.NoGlowListener;
import net.Indyuce.mmoitems.comp.mmocore.MMOCoreMMOLoader;
import net.Indyuce.mmoitems.comp.mmoinventory.MMOInventorySupport;
import net.Indyuce.mmoitems.comp.mythicmobs.MythicMobsLoader;
import net.Indyuce.mmoitems.comp.parse.IridescentParser;
import net.Indyuce.mmoitems.comp.parse.StringInputParser;
@ -111,7 +112,7 @@ public class MMOItems extends JavaPlugin {
typeManager.reload();
templateManager.loadCompatibility(); // explained why here in method
templateManager.loadCompatibility(); // explained why in method
if (Bukkit.getPluginManager().getPlugin("MMOCore") != null)
new MMOCoreMMOLoader();
@ -131,6 +132,12 @@ public class MMOItems extends JavaPlugin {
getLogger().log(Level.INFO, "Hooked onto MythicMobs");
}
if (Bukkit.getPluginManager().getPlugin("MMOInventory") != null) {
new MMOInventorySupport();
getLogger().log(Level.INFO, "Hooked onto MMOInventory");
}
findRpgPlugin();
templateManager.reload();

View File

@ -0,0 +1,10 @@
package net.Indyuce.mmoitems.comp.mmoinventory;
import net.Indyuce.mmoitems.MMOItems;
import net.Indyuce.mmoitems.comp.mmoinventory.stat.AccessorySet;
public class MMOInventorySupport {
public MMOInventorySupport() {
MMOItems.plugin.getStats().register(new AccessorySet());
}
}

View File

@ -0,0 +1,30 @@
package net.Indyuce.mmoitems.comp.mmoinventory.stat;
import net.Indyuce.mmoitems.MMOItems;
import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder;
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
import net.Indyuce.mmoitems.stat.data.type.StatData;
import net.Indyuce.mmoitems.stat.type.StringStat;
import net.mmogroup.mmolib.MMOLib;
import net.mmogroup.mmolib.api.item.ItemTag;
import net.mmogroup.mmolib.version.VersionMaterial;
import org.bukkit.ChatColor;
public class AccessorySet extends StringStat {
public AccessorySet() {
super("ACCESSORY_SET", VersionMaterial.OAK_SIGN.toItem(), "Accessory Set (MMOInventory)", new String[] { "Used with MMOInventory's unique", "restriction to only allow one", "accessory to be equipped per set." }, new String[] { "!block", "all" });
}
@Override
public void whenApplied(ItemStackBuilder item, StatData data) {
item.addItemTag(new ItemTag(getNBTPath(), data.toString()));
}
@Override
public void whenInput(EditionInventory inv, String message, Object... info) {
message = message.toLowerCase();
inv.getEditedSection().set(getPath(), message);
inv.registerTemplateEdition();
inv.getPlayer().sendMessage(
MMOItems.plugin.getPrefix() + getName() + " successfully changed to " + MMOLib.plugin.parseColors(message) + ChatColor.GRAY + ".");
}
}