Fixed up the menus

This commit is contained in:
Gijs B 2019-08-07 21:13:07 +00:00 committed by Brianna O'Keefe
parent 5ea15e5525
commit 4dce526860
29 changed files with 746 additions and 236 deletions

View File

@ -8,10 +8,7 @@ import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File; import java.io.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files; import java.nio.file.Files;
import java.util.*; import java.util.*;
@ -23,15 +20,15 @@ public class FileManager extends Manager<String, FileConfiguration> {
private final String directory; private final String directory;
private final LinkedHashSet<FileLocation> files = new LinkedHashSet<>(asList( private final LinkedHashSet<FileLocation> files = new LinkedHashSet<>(asList(
of("menus/main-info-menu.yml", true), of("menus/main-info-menu.yml", true, true),
of("menus/enchanter-menu.yml", true, true), of("menus/enchanter-menu.yml", true, true),
of("menus/tinkerer-menu.yml", true, true), of("menus/tinkerer-menu.yml", true, true),
of("menus/alchemist-menu.yml", true, true), of("menus/alchemist-menu.yml", true, true),
of("menus/groups/simple-menu.yml", false), of("menus/groups/simple-menu.yml", true, true),
of("menus/groups/unique-menu.yml", false), of("menus/groups/unique-menu.yml", true, true),
of("menus/groups/elite-menu.yml", false), of("menus/groups/elite-menu.yml", true, true),
of("menus/groups/ultimate-menu.yml", false), of("menus/groups/ultimate-menu.yml", true, true),
of("menus/groups/legendary-menu.yml", false), of("menus/groups/legendary-menu.yml", true, true),
of("enchants/elite/AntiGravity.yml", false), of("enchants/elite/AntiGravity.yml", false),
of("enchants/elite/Frozen.yml", false), of("enchants/elite/Frozen.yml", false),
@ -96,7 +93,7 @@ public class FileManager extends Manager<String, FileConfiguration> {
Bukkit.getConsoleSender().sendMessage("Creating file: " + fileLocation.getPath()); Bukkit.getConsoleSender().sendMessage("Creating file: " + fileLocation.getPath());
try { try {
System.out.println(fileLocation.getResourcePath(directory) + " : " + file.toPath()); // System.out.println(fileLocation.getResourcePath(directory) + " : " + file.toPath());
copy(instance.getResource(fileLocation.getResourcePath(directory)), Files.newOutputStream(file.toPath())); copy(instance.getResource(fileLocation.getResourcePath(directory)), Files.newOutputStream(file.toPath()));
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -18,10 +18,8 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import static com.songoda.epicenchants.objects.Placeholder.of; import static com.songoda.epicenchants.objects.Placeholder.of;
import static com.songoda.epicenchants.utils.single.Experience.changeExp; import static com.songoda.epicenchants.utils.single.Experience.*;
import static com.songoda.epicenchants.utils.single.Experience.getExp; import static com.songoda.epicenchants.utils.single.GeneralUtils.*;
import static com.songoda.epicenchants.utils.single.GeneralUtils.color;
import static com.songoda.epicenchants.utils.single.GeneralUtils.getSlots;
public class AlchemistMenu extends FastInv { public class AlchemistMenu extends FastInv {
private final EpicEnchants instance; private final EpicEnchants instance;
@ -58,7 +56,7 @@ public class AlchemistMenu extends FastInv {
.filter(s -> !filter.contains(s)) .filter(s -> !filter.contains(s))
.map(s -> "contents." + s) .map(s -> "contents." + s)
.map(config::getConfigurationSection) .map(config::getConfigurationSection)
.forEach(section -> addItem(getSlots(config.getString("slot")), new ItemBuilder(section).build())); .forEach(section -> addItem(getSlots(section.getString("slot")), new ItemBuilder(section).build()));
clear(RIGHT_SLOT); clear(RIGHT_SLOT);
clear(LEFT_SLOT); clear(LEFT_SLOT);

View File

@ -13,10 +13,8 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
import static com.songoda.epicenchants.objects.Placeholder.of; import static com.songoda.epicenchants.objects.Placeholder.of;
import static com.songoda.epicenchants.utils.single.Experience.changeExp; import static com.songoda.epicenchants.utils.single.Experience.*;
import static com.songoda.epicenchants.utils.single.Experience.getExp; import static com.songoda.epicenchants.utils.single.GeneralUtils.*;
import static com.songoda.epicenchants.utils.single.GeneralUtils.color;
import static com.songoda.epicenchants.utils.single.GeneralUtils.getSlots;
public class EnchanterMenu extends FastInv { public class EnchanterMenu extends FastInv {
private final Map<UUID, Long> DELAY = new HashMap<>(); private final Map<UUID, Long> DELAY = new HashMap<>();
@ -32,6 +30,7 @@ public class EnchanterMenu extends FastInv {
.stream() .stream()
.map(s -> "contents." + s) .map(s -> "contents." + s)
.map(config::getConfigurationSection) .map(config::getConfigurationSection)
.filter(s -> s.get("group") != null)
.forEach(section -> { .forEach(section -> {
int expCost = section.getInt("exp-cost"); int expCost = section.getInt("exp-cost");
int ecoCost = section.getInt("eco-cost"); int ecoCost = section.getInt("eco-cost");
@ -69,6 +68,13 @@ public class EnchanterMenu extends FastInv {
DELAY.put(event.getPlayer().getUniqueId(), System.currentTimeMillis() + 120); DELAY.put(event.getPlayer().getUniqueId(), System.currentTimeMillis() + 120);
}); });
}); });
config.getConfigurationSection("contents").getKeys(false)
.stream()
.map(s -> "contents." + s)
.map(config::getConfigurationSection)
.filter(s -> s.get("group") == null)
.forEach(section -> addItem(getSlots(section.getString("slot")), new ItemBuilder(section).build()));
} }
} }

View File

@ -14,7 +14,7 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream; import java.util.stream.IntStream;
import static com.songoda.epicenchants.objects.Placeholder.of; import static com.songoda.epicenchants.objects.Placeholder.of;
import static com.songoda.epicenchants.utils.single.GeneralUtils.color; import static com.songoda.epicenchants.utils.single.GeneralUtils.*;
import static java.util.Arrays.stream; import static java.util.Arrays.stream;
public class InfoMenu extends FastInv { public class InfoMenu extends FastInv {
@ -32,6 +32,18 @@ public class InfoMenu extends FastInv {
slots = stream(split, 0, split.length).filter(StringUtils::isNumeric).map(Integer::parseInt).collect(Collectors.toSet()); slots = stream(split, 0, split.length).filter(StringUtils::isNumeric).map(Integer::parseInt).collect(Collectors.toSet());
} }
if (config.isConfigurationSection("contents"))
config.getConfigurationSection("contents").getKeys(false)
.stream()
.map(s -> "contents." + s)
.map(config::getConfigurationSection)
.forEach(section -> addItem(getSlots(section.getString("slot")), new ItemBuilder(section).build(), event -> {
if (section.getName().contains("back")) {
instance.getInfoManager().getMainInfoMenu().open(event.getPlayer());
}
}));
Iterator<Enchant> enchantIterator = instance.getEnchantManager().getEnchants(group).iterator(); Iterator<Enchant> enchantIterator = instance.getEnchantManager().getEnchants(group).iterator();
slots.stream().filter(slot -> enchantIterator.hasNext()).forEach(slot -> { slots.stream().filter(slot -> enchantIterator.hasNext()).forEach(slot -> {
Enchant enchant = enchantIterator.next(); Enchant enchant = enchantIterator.next();
@ -49,12 +61,5 @@ public class InfoMenu extends FastInv {
of("enchant", enchant.getIdentifier()), of("enchant", enchant.getIdentifier()),
of("description", enchant.getDescription().stream().map(s -> config.getString("enchant-item.description-color") + s).collect(Collectors.toList()))).build()); of("description", enchant.getDescription().stream().map(s -> config.getString("enchant-item.description-color") + s).collect(Collectors.toList()))).build());
}); });
if (config.isConfigurationSection("contents"))
config.getConfigurationSection("contents").getKeys(false)
.stream()
.map(s -> "contents." + s)
.map(config::getConfigurationSection)
.forEach(section -> addItem(section.getInt("slot"), new ItemBuilder(section).build()));
} }
} }

View File

@ -7,7 +7,7 @@ import com.songoda.epicenchants.utils.objects.ItemBuilder;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import static com.songoda.epicenchants.utils.single.GeneralUtils.color; import static com.songoda.epicenchants.utils.single.GeneralUtils.*;
public class MainInfoMenu extends FastInv implements Listener { public class MainInfoMenu extends FastInv implements Listener {
@ -17,7 +17,7 @@ public class MainInfoMenu extends FastInv implements Listener {
.stream() .stream()
.map(s -> "contents." + s) .map(s -> "contents." + s)
.map(config::getConfigurationSection) .map(config::getConfigurationSection)
.forEach(section -> addItem(section.getInt("slot"), new ItemBuilder(section).build(), event -> { .forEach(section -> addItem(getSlots(section.getString("slot")), new ItemBuilder(section).build(), event -> {
Group group = instance.getGroupManager().getValue(section.getString("group")) Group group = instance.getGroupManager().getValue(section.getString("group"))
.orElseThrow(() -> new IllegalArgumentException("Invalid group: " + section.getString("group"))); .orElseThrow(() -> new IllegalArgumentException("Invalid group: " + section.getString("group")));
instance.getInfoManager().getMenu(group).ifPresent(menu -> menu.open(event.getPlayer())); instance.getInfoManager().getMenu(group).ifPresent(menu -> menu.open(event.getPlayer()));

View File

@ -1,18 +0,0 @@
title: "Elite enchants"
rows: 1
#Slots that you want enchants to be displayed on
slots: "ALL_SLOTS"
#The group of the enchants to be displayed
group: ELITE
enchant-item:
description-color: "&f"
material: "PAPER"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"

View File

@ -1,18 +0,0 @@
title: "Legendary enchants"
rows: 1
#Slots that you want enchants to be displayed on
slots: "ALL_SLOTS"
#The group of the enchants to be displayed
group: LEGENDARY
enchant-item:
description-color: "&f"
material: "PAPER"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"

View File

@ -1,18 +0,0 @@
title: "Simple enchants"
rows: 1
#Slots that you want enchants to be displayed on
slots: "ALL_SLOTS"
#The group of the enchants to be displayed
group: SIMPLE
enchant-item:
description-color: "&f"
material: "PAPER"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"

View File

@ -1,18 +0,0 @@
title: "Ultimate enchants"
rows: 1
#Slots that you want enchants to be displayed on
slots: "ALL_SLOTS"
#The group of the enchants to be displayed
group: ULTIMATE
enchant-item:
description-color: "&f"
material: "PAPER"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"

View File

@ -1,18 +0,0 @@
title: "Unique enchants"
rows: 1
#Slots that you want enchants to be displayed on
slots: "ALL_SLOTS"
#The group of the enchants to be displayed
group: UNIQUE
enchant-item:
description-color: "&f"
material: "PAPER"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"

View File

@ -1,29 +0,0 @@
title: "Main info menu"
rows: 1
contents:
1:
material: "PAPER"
display-name: "&f&lSimple Enchantments"
group: SIMPLE
slot: 2
2:
material: "PAPER"
display-name: "&a&lUnique Enchantments"
group: UNIQUE
slot: 3
3:
material: "PAPER"
display-name: "&b&lElite Enchantments"
group: ELITE
slot: 4
4:
material: "PAPER"
display-name: "&e&lUltimate Enchantments"
group: ULTIMATE
slot: 5
5:
material: "PAPER"
display-name: "&6&lLegendary Enchantments"
group: LEGENDARY
slot: 6

View File

@ -1,15 +1,15 @@
title: "Alchemist" title: "Alchemist"
rows: 3 rows: 5
fill: fill:
material: STAINED_GLASS_PANE material: STAINED_GLASS_PANE
data: 7 data: 0
display-name: "&r" display-name: "&r"
left-slot: 3 left-slot: 11
right-slot: 5 right-slot: 15
preview-slot: 13 preview-slot: 22
accept-slot: 22 accept-slot: 31
book: book:
success-rate-formula: "({left_success_rate} + {right_success_rate}) / 4" success-rate-formula: "({left_success_rate} + {right_success_rate}) / 4"
@ -25,14 +25,15 @@ dust:
contents: contents:
preview: preview:
material: STAINED_GLASS_PANE material: STAINED_GLASS_PANE
data: 7
display-name: "&eITEM PREVIEW" display-name: "&eITEM PREVIEW"
lore: lore:
- "&7A preview of the item that you" - "&7A preview of the item that you"
- "&7will receive from the alchemist" - "&7will receive from the alchemist"
- "&7will be displayed here." - "&7will be displayed here."
accept-before: accept-before:
material: STAINED_GLASS_PANE material: INK_SACK
data: 14 data: 1
display-name: "&8[&eThe Alchemist&8]" display-name: "&8[&eThe Alchemist&8]"
lore: lore:
- "&7The alchemist will exchange:" - "&7The alchemist will exchange:"
@ -47,8 +48,8 @@ contents:
- "&fthe same dust" - "&fthe same dust"
- "&7(of a higher percentage)" - "&7(of a higher percentage)"
accept-after: accept-after:
material: STAINED_GLASS_PANE material: INK_SACK
data: 5 data: 1
display-name: "&eClick to confirm" display-name: "&eClick to confirm"
lore: lore:
- "&cCost: {exp_cost} EXP" - "&cCost: {exp_cost} EXP"
@ -56,3 +57,16 @@ contents:
- "&7Click to confirm the exchange" - "&7Click to confirm the exchange"
- "&7after which you will receive" - "&7after which you will receive"
- "&7the item displayed above." - "&7the item displayed above."
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "0,1,7,8,9,17,27,35,36,37,43,44"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,38,39,40,41,42"

View File

@ -1,5 +1,5 @@
title: "Enchanter" title: "Enchanter"
rows: 1 rows: 3
#You can choose to fill the entire inventory with this material #You can choose to fill the entire inventory with this material
#fill: #fill:
@ -8,8 +8,8 @@ rows: 1
contents: contents:
1: 1:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 0 data: 15
display-name: "&f&lSimple Enchantment &7(Right Click)" display-name: "&f&lSimple Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -22,10 +22,10 @@ contents:
group: SIMPLE group: SIMPLE
exp-cost: 400 exp-cost: 400
eco-cost: 0 eco-cost: 0
slot: 2 slot: 11
2: 2:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 5 data: 10
display-name: "&a&lUnique Enchantment &7(Right Click)" display-name: "&a&lUnique Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -38,10 +38,10 @@ contents:
group: UNIQUE group: UNIQUE
exp-cost: 800 exp-cost: 800
eco-cost: 0 eco-cost: 0
slot: 3 slot: 12
3: 3:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 9 data: 12
display-name: "&b&lElite Enchantment &7(Right Click)" display-name: "&b&lElite Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -54,10 +54,10 @@ contents:
group: ELITE group: ELITE
exp-cost: 2500 exp-cost: 2500
eco-cost: 0 eco-cost: 0
slot: 4 slot: 13
4: 4:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 4 data: 11
display-name: "&e&lUltimate Enchantment &7(Right Click)" display-name: "&e&lUltimate Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -66,14 +66,14 @@ contents:
- "&fUse &e/ee list simple &7to view a list" - "&fUse &e/ee list simple &7to view a list"
- "&fof possible enchants you could unlock!" - "&fof possible enchants you could unlock!"
- "" - ""
- "&b&lCOST &r&f {exp_cost} EXP" - "&b&lCOST &r&f{exp_cost} EXP"
group: ULTIMATE group: ULTIMATE
exp-cost: 5000 exp-cost: 5000
eco-cost: 0 eco-cost: 0
slot: 5 slot: 14
5: 5:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 1 data: 14
display-name: "&6&lLegendary Enchantment &7(Right Click)" display-name: "&6&lLegendary Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -86,4 +86,21 @@ contents:
group: LEGENDARY group: LEGENDARY
exp-cost: 25000 exp-cost: 25000
eco-cost: 0 eco-cost: 0
slot: 6 slot: 15
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "0,1,7,8,9,17,18,19,25,26"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,20,21,22,23,24"
whites:
material: STAINED_GLASS_PANE
display-name: "&r"
slot: "10,16"

View File

@ -0,0 +1,46 @@
title: "Elite enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: ELITE
enchant-item:
description-color: "&f"
material: "INK_SACK"
data: 12
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,46 @@
title: "Legendary enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: LEGENDARY
enchant-item:
description-color: "&f"
material: "INK_SACK"
data: 14
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,46 @@
title: "Simple enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: SIMPLE
enchant-item:
description-color: "&f"
material: "INK_SACK"
data: 15
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,46 @@
title: "Ultimate enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: ULTIMATE
enchant-item:
description-color: "&f"
material: "INK_SACK"
data: 11
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,46 @@
title: "Unique enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: UNIQUE
enchant-item:
description-color: "&f"
material: "INK_SACK"
data: 10
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,48 @@
title: "Main info menu"
rows: 3
contents:
1:
material: "INK_SACK"
data: 15
display-name: "&f&lSimple Enchantments"
group: SIMPLE
slot: 11
2:
material: "INK_SACK"
data: 10
display-name: "&a&lUnique Enchantments"
group: UNIQUE
slot: 12
3:
material: "INK_SACK"
data: 12
display-name: "&b&lElite Enchantments"
group: ELITE
slot: 13
4:
material: "INK_SACK"
data: 11
display-name: "&e&lUltimate Enchantments"
group: ULTIMATE
slot: 14
5:
material: "INK_SACK"
data: 14
display-name: "&6&lLegendary Enchantments"
group: LEGENDARY
slot: 15
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "0,1,7,8,9,17,18,19,25,26"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,4,5,6,20,21,22,23,24"
whites:
material: STAINED_GLASS_PANE
display-name: "&r"
slot: "10,16"

View File

@ -1,39 +1,49 @@
title: "Tinkerer" title: "Tinkerer"
rows: 6 rows: 6
player-slots: "1,2,3,9,10,11,12,18,19,20,21,27,28,29,30,36,37,38,39,45,46,47,48" player-slots: "9,10,11,12,18,19,20,21,27,28,29,30,36,37,38,39"
tinkerer-slots: "5,6,7,14,15,16,17,23,24,25,26,32,33,34,35,41,42,43,44,50,51,52,53" tinkerer-slots: "14,15,16,17,23,24,25,26,32,33,34,35,41,42,43,44"
slots: "(1,5) (2,6) (3,7) (9,14) slots: "(9,14) (10,15) (11,16) (12,17)
(10,15) (11,16) (12,17) (18,23) (18,23) (19,24) (20,25) (21,26)
(19,24) (20,25) (21,26) (27,32) (27,32) (28,33) (29,34) (30,35)
(28,33) (29,34) (30,35) (36,41) (36,41) (37,42) (38,43) (39,44)"
(37,42) (38,43) (39,44) (45,50)
(46,51) (47,52) (48,53)"
contents: contents:
1:
material: "STAINED_GLASS_PANE"
display-name: " "
slot: "4,13,22,31,40"
accept-left: accept-left:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 4 data: 10
display-name: "&eClick to accept trade" display-name: "&eClick to accept trade"
slot: 0 slot: 45
accept-right: accept-right:
material: "STAINED_GLASS_PANE" material: "INK_SACK"
data: 4 data: 10
display-name: "&eClick to accept trade" display-name: "&eClick to accept trade"
slot: 8 slot: 53
deposit-all: deposit-all:
material: "STAINED_GLASS_PANE" material: "DOUBLE_PLANT"
data: 4
display-name: "&l&eDeposit All" display-name: "&l&eDeposit All"
lore: lore:
- "&7Click to deposit all tinkerable items." - "&7Click to deposit all tinkerable items."
slot: "49" slot: 49
explanation:
material: PAINTING
slot: 4
corners:
material: STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "0,1,7,8,46,52"
edge:
material: STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,47,48,50,51"
line:
material: STAINED_GLASS_PANE
display-name: "&r"
slot: "13,22,31,40"
exp-table-per-level: exp-table-per-level:
DEFAULT: 10 DEFAULT: 10

View File

@ -1,14 +1,14 @@
title: "Alchemist" title: "Alchemist"
rows: 3 rows: 5
fill: fill:
material: GRAY_STAINED_GLASS_PANE material: WHITE_STAINED_GLASS_PANE
display-name: "&r" display-name: "&r"
left-slot: 3 left-slot: 11
right-slot: 5 right-slot: 15
preview-slot: 13 preview-slot: 22
accept-slot: 22 accept-slot: 31
book: book:
success-rate-formula: "({left_success_rate} + {right_success_rate}) / 4" success-rate-formula: "({left_success_rate} + {right_success_rate}) / 4"
@ -23,14 +23,14 @@ dust:
contents: contents:
preview: preview:
material: WHITE_STAINED_GLASS_PANE material: GRAY_STAINED_GLASS_PANE
display-name: "&eITEM PREVIEW" display-name: "&eITEM PREVIEW"
lore: lore:
- "&7A preview of the item that you" - "&7A preview of the item that you"
- "&7will receive from the alchemist" - "&7will receive from the alchemist"
- "&7will be displayed here." - "&7will be displayed here."
accept-before: accept-before:
material: RED_STAINED_GLASS_PANE material: MAGENTA_DYE
display-name: "&8[&eThe Alchemist&8]" display-name: "&8[&eThe Alchemist&8]"
lore: lore:
- "&7The alchemist will exchange:" - "&7The alchemist will exchange:"
@ -45,7 +45,7 @@ contents:
- "&fthe same dust" - "&fthe same dust"
- "&7(of a higher percentage)" - "&7(of a higher percentage)"
accept-after: accept-after:
material: LIME_STAINED_GLASS_PANE material: MAGENTA_DYE
display-name: "&eClick to confirm" display-name: "&eClick to confirm"
lore: lore:
- "&cCost: {exp_cost} EXP" - "&cCost: {exp_cost} EXP"
@ -53,3 +53,14 @@ contents:
- "&7Click to confirm the exchange" - "&7Click to confirm the exchange"
- "&7after which you will receive" - "&7after which you will receive"
- "&7the item displayed above." - "&7the item displayed above."
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "0,1,7,8,9,17,27,35,36,37,43,44"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "2,3,5,6,18,26,38,39,40,41,42"

View File

@ -1,5 +1,5 @@
title: "Enchanter" title: "Enchanter"
rows: 1 rows: 3
#You can choose to fill the entire inventory with this material #You can choose to fill the entire inventory with this material
#fill: #fill:
@ -8,7 +8,7 @@ rows: 1
contents: contents:
1: 1:
material: "WHITE_STAINED_GLASS_PANE" material: "BONE_MEAL"
display-name: "&f&lSimple Enchantment &7(Right Click)" display-name: "&f&lSimple Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -21,9 +21,9 @@ contents:
group: SIMPLE group: SIMPLE
exp-cost: 400 exp-cost: 400
eco-cost: 0 eco-cost: 0
slot: 2 slot: 11
2: 2:
material: "LIME_STAINED_GLASS_PANE" material: "LIME_DYE"
display-name: "&a&lUnique Enchantment &7(Right Click)" display-name: "&a&lUnique Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -36,9 +36,9 @@ contents:
group: UNIQUE group: UNIQUE
exp-cost: 800 exp-cost: 800
eco-cost: 0 eco-cost: 0
slot: 3 slot: 12
3: 3:
material: "CYAN_STAINED_GLASS_PANE" material: "LIGHT_BLUE_DYE"
display-name: "&b&lElite Enchantment &7(Right Click)" display-name: "&b&lElite Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -51,9 +51,9 @@ contents:
group: ELITE group: ELITE
exp-cost: 2500 exp-cost: 2500
eco-cost: 0 eco-cost: 0
slot: 4 slot: 13
4: 4:
material: "YELLOW_STAINED_GLASS_PANE" material: "PURPLE_DYE"
display-name: "&e&lUltimate Enchantment &7(Right Click)" display-name: "&e&lUltimate Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -62,13 +62,13 @@ contents:
- "&fUse &e/ee list simple &7to view a list" - "&fUse &e/ee list simple &7to view a list"
- "&fof possible enchants you could unlock!" - "&fof possible enchants you could unlock!"
- "" - ""
- "&b&lCOST &r&f {exp_cost} EXP" - "&b&lCOST &r&f{exp_cost} EXP"
group: ULTIMATE group: ULTIMATE
exp-cost: 5000 exp-cost: 5000
eco-cost: 0 eco-cost: 0
slot: 5 slot: 14
5: 5:
material: "ORANGE_STAINED_GLASS_PANE" material: "ORANGE_DYE"
display-name: "&6&lLegendary Enchantment &7(Right Click)" display-name: "&6&lLegendary Enchantment &7(Right Click)"
lore: lore:
- "&7Examine to receive a random" - "&7Examine to receive a random"
@ -81,4 +81,19 @@ contents:
group: LEGENDARY group: LEGENDARY
exp-cost: 25000 exp-cost: 25000
eco-cost: 0 eco-cost: 0
slot: 6 slot: 15
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "0,1,7,8,9,17,18,19,25,26"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "2,3,5,6,20,21,22,23,24"
whites:
material: WHITE_STAINED_GLASS_PANE
display-name: "&r"
slot: "10,16"

View File

@ -0,0 +1,45 @@
title: "Elite enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: ELITE
enchant-item:
description-color: "&f"
material: LIGHT_BLUE_DYE
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: OAK_FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 37
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 43

View File

@ -0,0 +1,45 @@
title: "Legendary enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: LEGENDARY
enchant-item:
description-color: "&f"
material: "ORANGE_DYE"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: OAK_FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,46 @@
title: "Simple enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: SIMPLE
enchant-item:
description-color: "&f"
material: "BONE_MEAL"
data: 15
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: OAK_FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,46 @@
title: "Ultimate enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: ULTIMATE
enchant-item:
description-color: "&f"
material: "PURPLE_DYE"
data: 11
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: OAK_FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,45 @@
title: "Unique enchants"
rows: 6
#Slots that you want enchants to be displayed on
slots: "10,11,12,13,14,15,16,19,20,21,22,23,24,25,28,29,30,31,32,33,34,38,39,40,41,42"
#The group of the enchants to be displayed
group: UNIQUE
enchant-item:
description-color: "&f"
material: "LIME_DYE"
display-name: "{group_color}{enchant}"
lore:
- "&7Max level: &f{max_level}"
- "&7Applicable to: &f{applicable_to}"
- "&7Description:"
- "{description}"
contents:
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
data: 11
display-name: "&r"
slot: "1,7,9,17,36,44,45,46,52,53"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
data: 3
display-name: "&r"
slot: "2,3,5,6,18,26,27,35,47,48,49,50,51"
back:
material: OAK_FENCE_GATE
display-name: "&cBack to main"
slot: "0,8"
next-page:
material: MAP
display-name: "&cNext page"
slot: 43
previous-page:
material: MAP
display-name: "&cPrevious page"
slot: 37

View File

@ -0,0 +1,41 @@
title: "Main info menu"
rows: 3
contents:
1:
material: "BONE_MEAL"
display-name: "&f&lSimple Enchantments"
group: SIMPLE
slot: 11
2:
material: "LIME_DYE"
display-name: "&a&lUnique Enchantments"
group: UNIQUE
slot: 12
3:
material: "LIGHT_BLUE_DYE"
display-name: "&b&lElite Enchantments"
group: ELITE
slot: 13
4:
material: "PURPLE_DYE"
display-name: "&e&lUltimate Enchantments"
group: ULTIMATE
slot: 14
5:
material: "ORANGE_DYE"
display-name: "&6&lLegendary Enchantments"
group: LEGENDARY
slot: 15
corners:
material: BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "0,1,7,8,9,17,18,19,25,26"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "2,3,4,5,6,20,21,22,23,24"
whites:
material: WHITE_STAINED_GLASS_PANE
display-name: "&r"
slot: "10,16"

View File

@ -1,36 +1,46 @@
title: "Tinkerer" title: "Tinkerer"
rows: 6 rows: 6
player-slots: "1,2,3,9,10,11,12,18,19,20,21,27,28,29,30,36,37,38,39,45,46,47,48" player-slots: "9,10,11,12,18,19,20,21,27,28,29,30,36,37,38,39"
tinkerer-slots: "5,6,7,14,15,16,17,23,24,25,26,32,33,34,35,41,42,43,44,50,51,52,53" tinkerer-slots: "14,15,16,17,23,24,25,26,32,33,34,35,41,42,43,44"
slots: "(1,5) (2,6) (3,7) (9,14) slots: "(9,14) (10,15) (11,16) (12,17)
(10,15) (11,16) (12,17) (18,23) (18,23) (19,24) (20,25) (21,26)
(19,24) (20,25) (21,26) (27,32) (27,32) (28,33) (29,34) (30,35)
(28,33) (29,34) (30,35) (36,41) (36,41) (37,42) (38,43) (39,44)"
(37,42) (38,43) (39,44) (45,50)
(46,51) (47,52) (48,53)"
contents: contents:
1:
material: "WHITE_STAINED_GLASS_PANE"
display-name: " "
slot: "4,13,22,31,40"
accept-left: accept-left:
material: "LIME_STAINED_GLASS_PANE" material: "LIME_DYE"
display-name: "&eClick to accept trade" display-name: "&eClick to accept trade"
slot: 0 slot: 45
accept-right: accept-right:
material: "LIME_STAINED_GLASS_PANE" material: "LIME_DYE"
data: 10
display-name: "&eClick to accept trade" display-name: "&eClick to accept trade"
slot: 8 slot: 53
deposit-all: deposit-all:
material: "LIME_STAINED_GLASS_PANE" material: "SUNFLOWER"
display-name: "&l&eDeposit All" display-name: "&l&eDeposit All"
lore: lore:
- "&7Click to deposit all tinkerable items." - "&7Click to deposit all tinkerable items."
slot: "49" slot: 49
explanation:
material: PAINTING
slot: 4
corners:
material: BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "0,1,7,8,46,52"
edge:
material: LIGHT_BLUE_STAINED_GLASS_PANE
display-name: "&r"
slot: "2,3,5,6,47,48,50,51"
line:
material: WHITE_STAINED_GLASS_PANE
display-name: "&r"
slot: "13,22,31,40"
exp-table-per-level: exp-table-per-level:
DEFAULT: 10 DEFAULT: 10