use of me.RockinChaos.itemjoin.utils.interfaces.Button in project ItemJoin by RockinChaos.
the class Menu method modifyLorePane.
/**
* Opens the Pane for the Player.
* This Pane is for modifying animated lore.
*
* @param player - The Player to have the Pane opened.
* @param itemMap - The ItemMap currently being modified.
*/
private static void modifyLorePane(final Player player, final ItemMap itemMap, final int position) {
Interface modifyLorePane = new Interface(false, 2, GUIName, player);
SchedulerUtils.runAsync(() -> {
modifyLorePane.addButton(new Button(fillerPaneGItem), 3);
modifyLorePane.addButton(new Button(ItemHandler.getItem("WRITABLE_BOOK", 1, false, "&a&l&nLore", "&7", "&7*Change the animated lore line.", "&9&lLore: &a" + ItemHandler.cutDelay(itemMap.getDynamicLores().get(position))), event -> {
player.closeInventory();
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "ANIMATED LORE";
placeHolders[15] = "&bThis is line 1, &cThis is line 2, &6This is line 3";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputType", player, placeHolders);
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputExample", player, placeHolders);
}, event -> {
List<List<String>> lores = itemMap.getDynamicLores();
lores.set(position, StringUtils.split("<delay:" + StringUtils.returnInteger(ItemHandler.getDelayFormat(lores.get(position).get(0))) + ">" + ChatColor.stripColor(event.getMessage())));
itemMap.setDynamicLores(lores);
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "ANIMATED LORE";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputSet", player, placeHolders);
modifyLorePane(event.getPlayer(), itemMap, position);
}));
modifyLorePane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CLOCK" : "347"), 1, false, "&e&l&nDuration", "&7", "&7*Change the duration of the animation.", "&9&lAnimation Ticks: &a" + StringUtils.returnInteger(ItemHandler.getDelayFormat(itemMap.getDynamicLores().get(position).get(0)))), event -> durationLorePane(player, itemMap, position, false, "")));
modifyLorePane.addButton(new Button(ItemHandler.getItem("REDSTONE", 1, false, "&c&l&nDelete", "&7", "&7*Delete this animated lore."), event -> {
List<List<String>> lores = itemMap.getDynamicLores();
lores.remove(position);
itemMap.setDynamicLores(lores);
animatedLorePane(player, itemMap);
}));
modifyLorePane.addButton(new Button(fillerPaneGItem), 3);
modifyLorePane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the animated lore menu."), event -> animatedLorePane(player, itemMap)));
modifyLorePane.addButton(new Button(fillerPaneBItem), 7);
modifyLorePane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the animated lore menu."), event -> animatedLorePane(player, itemMap)));
});
modifyLorePane.open(player);
}
use of me.RockinChaos.itemjoin.utils.interfaces.Button in project ItemJoin by RockinChaos.
the class Menu method slotPane.
/**
* Opens the Pane for the Player.
* This Pane is for setting the an items slot.
*
* @param player - The Player to have the Pane opened.
* @param itemMap - The ItemMap currently being modified.
* @param stage - The stage in the modification.
* @param type - The type of slot being defined, single or multiple.
*/
private static void slotPane(final Player player, final ItemMap itemMap, final int stage, final int type) {
Interface slotPane = new Interface(false, 6, GUIName, player);
Interface craftingPane = new Interface(false, 4, GUIName, player);
SchedulerUtils.runAsync(() -> {
craftingPane.addButton(new Button(fillerPaneGItem), 3);
craftingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[1]") : false), "&9&lSlot: &7&lCRAFTING&a&l[1]", "&7", "&7*Click to set the custom item", "&7to appear in the &lCRAFTING &7slot &a&l[1]&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[1]") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("CRAFTING[1]");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[1]")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("CRAFTING[1]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("CRAFTING[1]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
}
}
}));
craftingPane.addButton(new Button(fillerPaneGItem));
craftingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 2, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[2]") : false), "&9&lSlot: &7&lCRAFTING&a&l[2]", "&7", "&7*Click to set the custom item", "&7to appear in the &lCRAFTING &7slot &a&l[2]&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[2]") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("CRAFTING[2]");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[2]")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("CRAFTING[2]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("CRAFTING[2]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
}
}
}));
craftingPane.addButton(new Button(fillerPaneGItem), 10);
craftingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[0]") : false), "&9&lSlot: &7&lCRAFTING&a&l[0]", "&7", "&7*Click to set the custom item", "&7to appear in the &lCRAFTING &7slot &a&l[0]&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[0]") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("CRAFTING[0]");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[0]")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("CRAFTING[0]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("CRAFTING[0]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
}
}
}));
craftingPane.addButton(new Button(fillerPaneGItem), 4);
craftingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 3, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[3]") : false), "&9&lSlot: &7&lCRAFTING&a&l[3]", "&7", "&7*Click to set the custom item", "&7to appear in the &lCRAFTING &7slot &a&l[3]&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[3]") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("CRAFTING[3]");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[3]")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("CRAFTING[3]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("CRAFTING[3]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
}
}
}));
craftingPane.addButton(new Button(fillerPaneGItem));
craftingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 4, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[4]") : false), "&9&lSlot: &7&lCRAFTING&a&l[4]", "&7", "&7*Click to set the custom item", "&7to appear in the &lCRAFTING &7slot &a&l[4]&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[4]") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("CRAFTING[4]");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "CRAFTING[4]")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("CRAFTING[4]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("CRAFTING[4]");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 2);
}
}
}));
craftingPane.addButton(new Button(fillerPaneGItem), 3);
craftingPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you back to", "&7the main slot selection menu"), event -> slotPane.open(player)));
if (type > 0) {
craftingPane.addButton(new Button(fillerPaneBItem), 3);
craftingPane.addButton(new Button(ItemHandler.getItem("EMERALD", 1, false, "&a&lFinish Selecting", "&7", "&7*Saves the chosen slots", "&7to the item definition."), event -> creatingPane(player, itemMap)));
craftingPane.addButton(new Button(fillerPaneBItem), 3);
} else {
craftingPane.addButton(new Button(fillerPaneBItem), 7);
}
craftingPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you back to", "&7the main slot selection menu"), event -> slotPane.open(player)));
slotPane.addButton(new Button(fillerPaneGItem));
slotPane.addButton(new Button(ItemHandler.getItem("SUGAR", 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "ARBITRARY") : false), "&9&lSlot: &a&lARBITRARY", "&7", "&7*Click to set the custom item", "&7to appear in slot &a&lArbitrary&7", "&7", "&7*Arbitrary is defined as giving the", "&7item in the first available slot.", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "ARBITRARY") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("ARBITRARY");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "ARBITRARY")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("ARBITRARY");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("ARBITRARY");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
slotPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 1, false, "&9&lSlot: &a&lCRAFTING", "&7", "&7*Click to see a list of crafting slots"), event -> craftingPane.open(player)));
slotPane.addButton(new Button(ItemHandler.getItem("LEATHER_HELMET", 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "HELMET") : false), "&9&lSlot: &a&lHELMET", "&7", "&7*Click to set the custom item", "&7to appear in slot &a&lHELMET&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "HELMET") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("HELMET");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "HELMET")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("HELMET");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("HELMET");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
slotPane.addButton(new Button(ItemHandler.getItem("LEATHER_CHESTPLATE", 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "CHESTPLATE") : false), "&9&lSlot: &a&lCHESTPLATE", "&7", "&7*Click to set the custom item", "&7to appear in slot &a&lCHESTPLATE&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "CHESTPLATE") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("CHESTPLATE");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "CHESTPLATE")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("CHESTPLATE");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("CHESTPLATE");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
slotPane.addButton(new Button(ItemHandler.getItem("LEATHER_LEGGINGS", 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "LEGGINGS") : false), "&9&lSlot: &a&lLEGGINGS", "&7", "&7*Click to set the custom item", "&7to appear in slot &a&lLEGGINGS&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "LEGGINGS") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("LEGGINGS");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "LEGGINGS")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("LEGGINGS");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("LEGGINGS");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
slotPane.addButton(new Button(ItemHandler.getItem("LEATHER_BOOTS", 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "BOOTS") : false), "&9&lSlot: &a&lBOOTS", "&7", "&7*Click to set the custom item", "&7to appear in slot &a&lBOOTS&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "BOOTS") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("BOOTS");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "BOOTS")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("BOOTS");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("BOOTS");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
if (ServerUtils.hasSpecificUpdate("1_9")) {
slotPane.addButton(new Button(ItemHandler.getItem("SHIELD", 1, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), "OFFHAND") : false), "&9&lSlot: &a&lOFFHAND", "&7", "&7*Click to set the custom item", "&7to appear in slot &a&lOFFHAND&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), "OFFHAND") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot("OFFHAND");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), "OFFHAND")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove("OFFHAND");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add("OFFHAND");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
} else {
slotPane.addButton(new Button(fillerPaneGItem));
}
slotPane.addButton(new Button(fillerPaneGItem));
for (int i = 9; i < 36; i++) {
final int slot = i;
slotPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "LIGHT_BLUE_STAINED_GLASS_PANE" : "STAINED_GLASS_PANE:3"), i, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), slot + "") : false), "&9&lSlot: &a&l" + i, "&7", "&7*Click to set the custom item", "&7to appear in slot &a&l" + i + "&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), slot + "") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot(slot + "");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), slot + "")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove(slot + "");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add(slot + "");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
}
for (int j = 0; j < 9; j++) {
final int slot = j;
int count = j;
if (slot == 0) {
count = 1;
}
slotPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "BLUE_STAINED_GLASS_PANE" : "STAINED_GLASS_PANE:11"), count, (type > 0 ? StringUtils.containsValue(itemMap.getMultipleSlots(), slot + "") : false), "&9&lSlot: &a&l" + j, "&7", "&7*Click to set the custom item", "&7to appear in slot &a&l" + j + "&7", (type > 0 && StringUtils.containsValue(itemMap.getMultipleSlots(), slot + "") ? "&9&lENABLED: &aTRUE" : "")), event -> {
if (type == 0) {
itemMap.setSlot(slot + "");
itemMap.setMultipleSlots(new ArrayList<String>());
creatingPane(player, itemMap);
} else {
if (StringUtils.containsValue(itemMap.getMultipleSlots(), slot + "")) {
List<String> slots = itemMap.getMultipleSlots();
slots.remove(slot + "");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
} else {
List<String> slots = itemMap.getMultipleSlots();
slots.add(slot + "");
itemMap.setMultipleSlots(slots);
slotPane(player, itemMap, stage, 1);
}
}
}));
}
slotPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you back to", "&7the slot(s) selection menu."), event -> switchPane(player, itemMap, stage)));
if (type > 0) {
slotPane.addButton(new Button(fillerPaneBItem), 3);
slotPane.addButton(new Button(ItemHandler.getItem("EMERALD", 1, false, "&a&lFinish Selecting", "&7", "&7*Saves the chosen slots", "&7to the item definition."), event -> creatingPane(player, itemMap)));
slotPane.addButton(new Button(fillerPaneBItem), 3);
} else {
slotPane.addButton(new Button(fillerPaneBItem), 7);
}
slotPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you back to", "&7the slot(s) selection menu."), event -> switchPane(player, itemMap, stage)));
});
if (type == 2) {
craftingPane.open(player);
} else {
slotPane.open(player);
}
}
use of me.RockinChaos.itemjoin.utils.interfaces.Button in project ItemJoin by RockinChaos.
the class Menu method choicePane.
/**
* Opens the Pane for the Player.
* This Pane is for selecting item modification or deletion.
*
* @param player - The Player to have the Pane opened.
* @param itemMap - The ItemMap currently being modified.
* @param item - The ItemStack currently being modified.
*/
private static void choicePane(final Player player, final ItemMap itemMap, final ItemStack item) {
Interface choicePane = new Interface(false, 3, GUIName, player);
SchedulerUtils.runAsync(() -> {
choicePane.addButton(new Button(fillerPaneBItem), 4);
choicePane.addButton(new Button(item));
choicePane.addButton(new Button(fillerPaneBItem), 4);
choicePane.addButton(new Button(fillerPaneBItem), 3);
choicePane.addButton(new Button(ItemHandler.getItem("SUGAR", 1, true, "&b&lSettings", "&7", "&7*Change the settings for this item.", "&7Make changes to the item name, lore,", "&7permissions, enabled-worlds, and more."), event -> {
creatingPane(player, itemMap);
}));
choicePane.addButton(new Button(fillerPaneBItem));
choicePane.addButton(new Button(ItemHandler.getItem("REDSTONE", 1, true, "&c&lDelete", "&7", "&7*Delete this item.", "&7This will remove the item from the", "&7items.yml and will no longer be useable.", "&c&lWARNING: &7This &lCANNOT &7be undone!"), event -> {
itemMap.removeFromConfig();
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[3] = itemMap.getConfigName();
LanguageAPI.getLang(false).sendLangMessage("commands.menu.itemRemoved", player, placeHolders);
ConfigHandler.getConfig().reloadConfigs(true);
SchedulerUtils.runLater(6L, () -> {
startModify(player, null, 0);
});
}));
choicePane.addButton(new Button(fillerPaneBItem), 3);
choicePane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the modify menu"), event -> startModify(player, null, 0)));
choicePane.addButton(new Button(fillerPaneBItem), 7);
choicePane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the modify menu"), event -> startModify(player, null, 0)));
});
choicePane.open(player);
}
use of me.RockinChaos.itemjoin.utils.interfaces.Button in project ItemJoin by RockinChaos.
the class Menu method switchPane.
/**
* Opens the Pane for the Player.
* This Pane is for setting single or multiple slots for an item.
*
* @param player - The Player to have the Pane opened.
* @param itemMap - The ItemMap currently being modified.
* @param stage - The stage in the modification.
*/
private static void switchPane(final Player player, final ItemMap itemMap, final int stage) {
Interface switchPane = new Interface(false, 1, GUIName, player);
SchedulerUtils.runAsync(() -> {
if (stage == 0) {
switchPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you back to", "&7the material selection menu."), event -> materialPane(player, itemMap, 0, 0)));
} else {
switchPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the item definition menu."), event -> creatingPane(player, itemMap)));
}
switchPane.addButton(new Button(fillerPaneBItem), 2);
switchPane.addButton(new Button(ItemHandler.getItem("GLASS", 1, false, "&a&lSingle Slot", "&7", "&7*Define a single dedicated", "&7 slot for the item."), event -> slotPane(player, itemMap, stage, 0)));
switchPane.addButton(new Button(fillerPaneBItem), 1);
switchPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "DISPENSER" : "23"), 1, false, "&b&lMultiple Slots", "&7", "&7*Define multiple slots for the item."), event -> slotPane(player, itemMap, stage, 1)));
switchPane.addButton(new Button(fillerPaneBItem), 2);
if (stage == 0) {
switchPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you back to", "&7the material selection menu."), event -> materialPane(player, itemMap, 0, 0)));
} else {
switchPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the item definition menu."), event -> creatingPane(player, itemMap)));
}
});
switchPane.open(player);
}
use of me.RockinChaos.itemjoin.utils.interfaces.Button in project ItemJoin by RockinChaos.
the class Menu method creatingPane.
/**
* Opens the Pane for the Player.
* This Pane is for Creating a NEW custom item.
*
* @param player - The Player to have the Pane opened.
* @param itemMap - The ItemMap currently being modified.
*/
private static void creatingPane(final Player player, final ItemMap itemMap) {
Interface creatingPane = new Interface(false, 5, GUIName, player);
SchedulerUtils.runAsync(() -> {
String slotList = "";
String slotString = "";
if (StringUtils.nullCheck(itemMap.getMultipleSlots().toString()) != "NONE") {
for (String slot : itemMap.getMultipleSlots()) {
slotString += slot + ", ";
}
for (String split : StringUtils.softSplit(StringUtils.nullCheck(slotString.substring(0, slotString.length())))) {
slotList += "&a" + split + " /n ";
}
}
String itemflagsList = "";
if (StringUtils.nullCheck(itemMap.getItemFlags()) != "NONE") {
for (String split : StringUtils.softSplit(itemMap.getItemFlags())) {
itemflagsList += "&a" + split + " /n ";
}
}
String triggersList = "";
if (StringUtils.nullCheck(itemMap.getTriggers()) != "NONE") {
for (String split : StringUtils.softSplit(itemMap.getTriggers())) {
triggersList += "&a" + split + " /n ";
}
}
String disabledList = "";
if (StringUtils.nullCheck(itemMap.getDisabledWorlds().toString()) != "NONE") {
for (String split : StringUtils.softSplit(StringUtils.nullCheck(itemMap.getDisabledWorlds().toString()))) {
disabledList += "&a" + split + " /n ";
}
}
String enabledList = "";
if (StringUtils.nullCheck(itemMap.getEnabledWorlds().toString()) != "NONE") {
for (String split : StringUtils.softSplit(StringUtils.nullCheck(itemMap.getEnabledWorlds().toString()))) {
enabledList += "&a" + split + " /n ";
}
}
String regionList = "";
if (StringUtils.nullCheck(itemMap.getEnabledRegions().toString()) != "NONE") {
for (String split : StringUtils.softSplit(StringUtils.nullCheck(itemMap.getEnabledRegions().toString()))) {
regionList += "&a" + split + " /n ";
}
}
String enchantList = "";
if (StringUtils.nullCheck(itemMap.getEnchantments().toString()) != "NONE") {
for (String split : StringUtils.softSplit(StringUtils.nullCheck(itemMap.getEnchantments().toString()))) {
enchantList += "&a" + split + " /n ";
}
}
String potionList = "";
String potionString = "";
if (StringUtils.nullCheck(itemMap.getPotionEffect().toString()) != "NONE") {
for (PotionEffect potions : itemMap.getPotionEffect()) {
potionString += potions.getType().getName().toUpperCase() + ":" + potions.getAmplifier() + ":" + potions.getDuration() + ", ";
}
for (String split : StringUtils.softSplit(StringUtils.nullCheck(potionString.substring(0, potionString.length())))) {
potionList += "&a" + split + " /n ";
}
}
String attributeList = "";
String attributeString = "";
if (StringUtils.nullCheck(itemMap.getAttributes().toString()) != "NONE") {
for (String attribute : itemMap.getAttributes().keySet()) {
attributeString += attribute + ":" + itemMap.getAttributes().get(attribute) + ", ";
}
for (String split : StringUtils.softSplit(StringUtils.nullCheck(attributeString.substring(0, attributeString.length())))) {
attributeList += "&a" + split + " /n ";
}
}
String patternList = "";
String patternString = "";
if (StringUtils.nullCheck(itemMap.getBannerPatterns().toString()) != "NONE") {
for (Pattern patterns : itemMap.getBannerPatterns()) {
patternString += patterns.getColor() + ":" + patterns.getPattern().name().toUpperCase() + ", ";
}
for (String split : StringUtils.softSplit(StringUtils.nullCheck(patternString.substring(0, patternString.length())))) {
patternList += "&a" + split + " /n ";
}
}
creatingPane.addButton(new Button(fillerPaneGItem), 4);
creatingPane.addButton(new Button(headerStack(player, itemMap)));
creatingPane.addButton(new Button(fillerPaneGItem), 4);
creatingPane.addButton(new Button(ItemHandler.getItem(itemMap.getMaterial().toString() + ((itemMap.getDataValue() != null && itemMap.getDataValue() != 0) ? ":" + itemMap.getDataValue() : ""), 1, false, "&c&lMaterial", "&7", "&7*Set the material of the item.", "&9&lMATERIAL: &a" + itemMap.getMaterial().toString() + ((itemMap.getDataValue() != null && itemMap.getDataValue() != 0) ? ":" + itemMap.getDataValue() : "")), event -> {
if (itemMap.getDynamicMaterials() != null && !itemMap.getDynamicMaterials().isEmpty()) {
animateMaterialPane(player, itemMap);
} else {
materialPane(player, itemMap, 1, 0);
}
}));
creatingPane.addButton(new Button(ItemHandler.getItem("GLASS", 1, false, "&c&lSlot", "&7", "&7*Set the slot that the", "&7item will be given in.", (itemMap.getMultipleSlots() != null && !itemMap.getMultipleSlots().isEmpty() ? "&9&lSlot(s): &a" + slotList : "&9&lSLOT: &a" + itemMap.getSlot().toUpperCase())), event -> switchPane(player, itemMap, 1)));
creatingPane.addButton(new Button(ItemHandler.getItem("DIAMOND", itemMap.getCount(player), false, "&b&lCount", "&7", "&7*Set the amount of the", "&7item to be given.", "&9&lCOUNT: &a" + itemMap.getCount(player)), event -> countPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem("NAME_TAG", 1, false, "&b&lName", "&7", "&7*Set the name of the item.", "&9&lNAME: &f" + StringUtils.nullCheck(itemMap.getCustomName())), event -> {
if (itemMap.getDynamicNames() != null && !itemMap.getDynamicNames().isEmpty()) {
animatedNamePane(player, itemMap);
} else {
if (StringUtils.nullCheck(itemMap.getCustomName()) != "NONE") {
itemMap.setCustomName(null);
creatingPane(player, itemMap);
} else {
player.closeInventory();
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "NAME";
placeHolders[15] = "&bUltimate Sword";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputType", player, placeHolders);
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputExample", player, placeHolders);
}
}
}, event -> {
itemMap.setCustomName(ChatColor.stripColor(event.getMessage()));
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "NAME";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputSet", player, placeHolders);
creatingPane(event.getPlayer(), itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "WRITABLE_BOOK" : "386"), 1, false, "&b&lLore", "&7", "&7*Set the lore of the item.", "&9&lLORE: &f" + StringUtils.nullCheck(itemMap.getCustomLore().toString())), event -> {
if (itemMap.getDynamicLores() != null && !itemMap.getDynamicLores().isEmpty()) {
animatedLorePane(player, itemMap);
} else {
lorePane(player, itemMap);
}
}, event -> {
itemMap.setCustomLore(StringUtils.split(ChatColor.stripColor(event.getMessage())));
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "LORE";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputSet", player, placeHolders);
creatingPane(event.getPlayer(), itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.setDurability(ItemHandler.getItem("DIAMOND_BOOTS", 1, false, "&e&lData", "&7", "&7*Set the damage or the", "&7custom texture of the item."), 160), event -> {
dataPane(player, itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.getItem("BOOK", 1, false, "&e&lCommand Settings", "&7", "&7*Define commands for the item", "&7which execute upon being", "&7interacted with."), event -> commandPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem("ENCHANTED_BOOK", 1, false, "&b&lEnchantments", "&7", "&7*Add enchants to make the", "&7item sparkle and powerful.", "&9&lENCHANTMENTS: &a" + (StringUtils.nullCheck(itemMap.getEnchantments().toString()) != "NONE" ? "&a" + enchantList : "NONE")), event -> enchantPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem("CHEST", 1, false, "&b&lItemflags", "&7", "&7*Special flags that will give", "&7the item abilities and", "&7custom features.", "&9&lITEMFLAGS: &a" + (StringUtils.nullCheck(itemMap.getItemFlags()) != "NONE" ? "&a" + itemflagsList : "NONE")), event -> flagPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem("REDSTONE", 1, false, "&b&lTriggers", "&7", "&7*When the players act upon these", "&7events, the item will be given.", "&9&lTRIGGERS: &a" + (StringUtils.nullCheck(itemMap.getTriggers()) != "NONE" ? "&a" + triggersList : "NONE")), event -> triggerPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "REDSTONE_TORCH" : "76"), 1, false, "&b&lPermission Node", "&7", "&7*Custom permission node that", "&7will be required by a permission", "&7plugin to receive the item.", "&7&lNote: &7Do NOT include", "&7any spaces or special characters", "&9&lPERMISSION-NODE: &a" + StringUtils.nullCheck(itemMap.getPermissionNode())), event -> {
if (StringUtils.nullCheck(itemMap.getPermissionNode()) != "NONE") {
itemMap.setPerm(null);
creatingPane(player, itemMap);
} else {
player.closeInventory();
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "CUSTOM PERMISSION";
placeHolders[15] = "itemjoin.ultra";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputType", player, placeHolders);
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputExample", player, placeHolders);
}
}, event -> {
itemMap.setPerm(ChatColor.stripColor(event.getMessage()));
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "CUSTOM PERMISSION";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputSet", player, placeHolders);
creatingPane(event.getPlayer(), itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "BEDROCK" : "7"), 1, false, "&b&lDisabled Worlds", "&7", "&7*Define the world(s) that the", "&7item will &l&nNOT&7 be given in.", "&9&lDISABLED-WORLDS: &a" + (StringUtils.nullCheck(itemMap.getDisabledWorlds().toString()) != "NONE" ? "&a" + disabledList : "NONE")), event -> worldPane(player, itemMap, 0)));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "GRASS_BLOCK" : "2"), 1, false, "&b&lEnabled Worlds", "&7", "&7*Define the world(s) that the", "&7item will be given in.", "&9&lENABLED-WORLDS: &a" + (StringUtils.nullCheck(itemMap.getEnabledWorlds().toString()) != "NONE" ? "&a" + enabledList : "NONE")), event -> worldPane(player, itemMap, 1)));
creatingPane.addButton(new Button(ItemHandler.getItem("GOLD_BLOCK", 1, true, "&b&lEnabled Regions", "&7", "&7*Define the region(s) that the", "&7item will be given in.", (DependAPI.getDepends(false).getGuard().guardEnabled() ? "&9&lENABLED-REGIONS: &a" + (StringUtils.nullCheck(itemMap.getEnabledRegions().toString()) != "NONE" ? "&a" + regionList : "NONE") : ""), (DependAPI.getDepends(false).getGuard().guardEnabled() ? "" : "&7"), (DependAPI.getDepends(false).getGuard().guardEnabled() ? "" : "&c&lERROR: &7WorldGuard was NOT found."), (DependAPI.getDepends(false).getGuard().guardEnabled() ? "" : "&7This button will do nothing...")), event -> {
if (DependAPI.getDepends(false).getGuard().guardEnabled()) {
regionPane(player, itemMap);
}
}));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "STICKY_PISTON" : "29"), 1, false, "&e&lAnimation Settings", "&7", "&7*Define animations for the item", "&7Example: Custom iterations for the", "&7items name, lore, and material type"), event -> animationPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "OAK_FENCE" : "FENCE"), 1, false, "&b&lLimit-Modes", "&7", "&7*Define the gamemode(s) that the", "&7item will be limited to.", "&9&lLIMIT-MODES: &a" + StringUtils.nullCheck(itemMap.getLimitModes())), event -> limitPane(player, itemMap)));
creatingPane.addButton(new Button(ItemHandler.getItem("NETHER_STAR", 1, false, "&b&lProbability", "&7", "&7*Define the chance that the", "&7item will be given to the player.", "&7", "&c&lNOTICE:&7 Only ONE item defined with", "&7a probability value will be selected.", "&7Probability is the same as a dice roll.", "&7", "&9&lPROBABILITY: &a" + StringUtils.nullCheck(itemMap.getProbability() + "&a%")), event -> {
if (StringUtils.nullCheck(itemMap.getProbability() + "&a%") != "NONE") {
itemMap.setProbability(-1);
creatingPane(player, itemMap);
} else {
probabilityPane(player, itemMap);
}
}));
creatingPane.addButton(new Button(ItemHandler.getItem("ICE", 1, false, "&b&lUsage Cooldown", "&7", "&7*Define the cooldown for", "&7interacting with the item.", "&9&lUSE-COOLDOWN: &a" + StringUtils.nullCheck(itemMap.getInteractCooldown() + "&7")), event -> {
if (StringUtils.nullCheck(itemMap.getInteractCooldown() + "&7") != "NONE") {
itemMap.setInteractCooldown(0);
creatingPane(player, itemMap);
} else {
usePane(player, itemMap);
}
}));
creatingPane.addButton(new Button(fillerPaneGItem));
creatingPane.addButton(new Button(ItemHandler.getItem("LAVA_BUCKET", 1, false, "&b&lConditions", "&7", "&7*Define conditions for triggers,", "&7commands, and the disposable itemflag.", "&9Enabled: &a" + ((itemMap.getTriggerConditions() != null && !itemMap.getTriggerConditions().isEmpty()) || (itemMap.getDisposableConditions() != null && !itemMap.getDisposableConditions().isEmpty()) || (itemMap.getCommandConditions() != null && !itemMap.getCommandConditions().isEmpty()) ? "YES" : "NONE")), event -> {
conditionsPane(player, itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "REPEATER" : "356"), 1, false, "&b&lToggle", "&7", "&7*Specify command(s) players can", "&7execute to enable or disable the", "&7custom item for themselves.", "&9Enabled: &a" + (itemMap.getToggleCommands() != null && !itemMap.getToggleCommands().isEmpty() ? "YES" : "NONE")), event -> {
togglePane(player, itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "CRAFTING_TABLE" : "58"), 1, false, "&b&lRecipe", "&7", "&7*Define the recipe to be", "&7able to craft this item.", "&9Enabled: &a" + (itemMap.getIngredients() != null && !itemMap.getIngredients().isEmpty() ? "YES" : "NONE")), event -> {
recipePane(player, itemMap);
}));
creatingPane.addButton(new Button(fillerPaneGItem));
creatingPane.addButton(new Button(ItemHandler.getItem("GOLD_INGOT", 1, false, "&e&lDrop Chances", "&7", "&7*Define the drop chance for receiving", "&7this item from mobs or breaking blocks."), event -> {
dropsPane(player, itemMap);
}));
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "COMMAND_BLOCK" : "137"), 1, false, "&c&lNBT Properties", "&7", "&7*Define specific NBT Properties", "&7to be set to the item.", "&9Enabled: &a" + (itemMap.getNBTValues() != null && !itemMap.getNBTValues().isEmpty() ? "YES" : "NONE")), event -> {
nbtPane(player, itemMap);
}));
if (itemMap.getMaterial().toString().contains("MAP")) {
creatingPane.addButton(new Button(ItemHandler.getItem("FEATHER", 1, false, "&e&lMap Image", "&7", "&7*Adds a custom map image that", "&7will be displayed when held.", "&7", "&7Place the custom map image", "&7in the MAIN ItemJoin folder.", "&7", "&7The map CAN be a GIF but", "&7must be a 128x128 pixel image.", "&9&lImage: &a" + StringUtils.nullCheck(itemMap.getMapImage())), event -> {
if (StringUtils.nullCheck(itemMap.getMapImage()) != "NONE") {
itemMap.setMapImage(null);
creatingPane(player, itemMap);
} else {
player.closeInventory();
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "MAP IMAGE";
placeHolders[15] = "minecraft.png OR minecraft-dance.gif";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputType", player, placeHolders);
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputExample", player, placeHolders);
}
}, event -> {
itemMap.setMapImage(ChatColor.stripColor(event.getMessage()));
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[16] = "MAP IMAGE";
LanguageAPI.getLang(false).sendLangMessage("commands.menu.inputSet", player, placeHolders);
creatingPane(event.getPlayer(), itemMap);
}));
} else if (itemMap.getMaterial().toString().contains("ARROW") && !itemMap.getMaterial().toString().contains("TIPPED_ARROW")) {
creatingPane.addButton(new Button(ItemHandler.getItem("ENDER_PEARL", 1, false, "&e&lTeleport", "&7", "&7*Set the arrow to teleport", "&7the player upon landing.", "&9&lEnabled: &a" + String.valueOf(itemMap.isTeleport()).toUpperCase()), event -> teleportPane(player, itemMap, 0)));
} else if (itemMap.getMaterial().toString().contains("CHARGE") || itemMap.getMaterial().toString().equalsIgnoreCase("FIREWORK_STAR")) {
Interface colorPane = new Interface(true, 6, GUIName, player);
colorPane.setReturnButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nReturn", "&7", "&7*Returns you to the item definition menu"), event -> creatingPane(player, itemMap)));
for (DyeColor color : DyeColor.values()) {
colorPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "GRAY_DYE" : "351:8"), 1, false, "&f" + color.name(), "&7", "&7*This will be the color", "&7of your firework charge."), event -> {
itemMap.setChargeColor(color);
creatingPane(player, itemMap);
}));
}
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "PINK_DYE" : "351:9"), 1, false, "&e&lCharge Color", "&7", "&7*Set the color of", "&7the firework star.", "&9&lColor: &a" + StringUtils.nullCheck(itemMap.getChargeColor() + "")), event -> {
if (StringUtils.nullCheck(itemMap.getChargeColor() + "") != "NONE") {
itemMap.setChargeColor(null);
creatingPane(player, itemMap);
} else {
colorPane.open(player);
}
}));
} else if (itemMap.getMaterial().isEdible() || itemMap.getMaterial().toString().equalsIgnoreCase("POTION")) {
creatingPane.addButton(new Button(ItemHandler.getItem("POTION", 1, false, "&e&lEffects", "&7", "&7*Add custom effects after", "&7consuming the item.", "&9&lPotion-Effects: &a" + StringUtils.nullCheck(potionList)), event -> potionPane(player, itemMap, 0)));
} else if (itemMap.getMaterial().toString().contains("BANNER")) {
creatingPane.addButton(new Button(ItemHandler.getItem("CLAY_BALL", 1, false, "&e&lBanner Patterns", "&7", "&7*Set custom patterns that", "&7will appear on the item.", "&9&lBanner-Meta: &a" + StringUtils.nullCheck(patternList)), event -> bannerPane(player, itemMap)));
} else if (!ItemHandler.getDesignatedSlot(itemMap.getMaterial()).equalsIgnoreCase("noslot") && !itemMap.getMaterial().toString().contains("LEATHER_")) {
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "ENCHANTED_GOLDEN_APPLE" : "322:1"), 1, false, "&a&lAttributes", "&7", "&7*Add a custom attribute to", "&7your armor or weapon.", (StringUtils.nullCheck(attributeList) != "NONE" ? "&9&lAttributes: &a" + attributeList : "")), event -> {
attributePane(player, itemMap, false);
}));
} else if (itemMap.getMaterial().toString().contains("SHULKER")) {
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "PURPLE_SHULKER_BOX" : "229"), 1, false, "&a&lContents", "&7", "&7*Add existing custom items into", "&7the contents of this box.", "&9Enabled: &a" + (itemMap.getContents() != null && !itemMap.getContents().isEmpty() ? "YES" : "NONE")), event -> {
Interface contentsPane = new Interface(true, 6, GUIName, player);
SchedulerUtils.runAsync(() -> {
setPage(player, contentsPane, ItemUtilities.getUtilities().copyItems(), itemMap, null, 0);
});
contentsPane.open(player);
}));
} else {
creatingPane.addButton(new Button(ItemHandler.getItem("MAGMA_CREAM", 1, false, "&e&lOther Settings", "&7", "&7*Settings that are specific", "&7to the item's material type.", (specialItem(itemMap) ? "" : "&7"), (specialItem(itemMap) ? "" : "&c&lERROR: &7A " + itemMap.getMaterial().name() + " &7is NOT"), (specialItem(itemMap) ? "" : "&7a special material type.")), event -> {
if (specialItem(itemMap)) {
otherPane(player, itemMap);
}
}));
}
creatingPane.addButton(new Button(fillerPaneGItem));
creatingPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nMain Menu", "&7", "&7*Cancel and return to the main menu.", "&7", "&c&lWARNING: &7This item has NOT been saved!"), event -> returnConfirm(player, itemMap)));
creatingPane.addButton(new Button(fillerPaneBItem), 3);
creatingPane.addButton(new Button(ItemHandler.getItem((ServerUtils.hasSpecificUpdate("1_13") ? "LIME_WOOL" : "WOOL:5"), 1, false, "&a&l&nSave to Config", "&7", "&7*Saves the custom item", "&7settings to the items.yml file."), event -> {
itemMap.saveToConfig();
String[] placeHolders = LanguageAPI.getLang(false).newString();
placeHolders[3] = itemMap.getConfigName();
LanguageAPI.getLang(false).sendLangMessage("commands.menu.itemSaved", player, placeHolders);
ConfigHandler.getConfig().reloadConfigs(true);
player.closeInventory();
}));
creatingPane.addButton(new Button(fillerPaneBItem), 3);
creatingPane.addButton(new Button(ItemHandler.getItem("BARRIER", 1, false, "&c&l&nMain Menu", "&7", "&7*Cancel and return you to the main menu.", "&7", "&c&lWARNING: &7This item has NOT been saved!"), event -> returnConfirm(player, itemMap)));
});
creatingPane.open(player);
}
Aggregations