diff --git a/src/de/anura/core/API/Inventories.java b/src/de/anura/core/API/Inventories.java index 161a7a0..0914c97 100644 --- a/src/de/anura/core/API/Inventories.java +++ b/src/de/anura/core/API/Inventories.java @@ -41,6 +41,8 @@ public class Inventories implements Listener { } private static final HashMap> invs = new HashMap<>(); + private static final HashMap invType = new HashMap<>(); + private static final HashMap invLang = new HashMap<>(); private static final HashMap>> invActions = new HashMap<>(); private static final HashMap invNames = new HashMap<>(); private static final HashMap> items = new HashMap<>(); @@ -57,10 +59,26 @@ public class Inventories implements Listener { invNames.put(nameColor + Core.getl(name, lang), type); } invs.put(type, langInvs); + invType.put(type, true); invActions.put(type, new HashMap>()); } - public static void buildInvItem(String type, Material m, String name, ChatColor nameColor, ChatColor loreColor, String... lores) { + public static void registerInventory(String type, String name, ChatColor nameColor, boolean multilang, String lang) { + if (multilang) { + registerInventory(type, name, nameColor); + return; + } + invType.put(type, false); + HashMap langInvs = new HashMap<>(); + Inventory inv = Bukkit.createInventory(null, 9, nameColor + Core.getl(name, lang)); + langInvs.put("global", inv); + invNames.put(nameColor + Core.getl(name, lang), type); + invs.put(type, langInvs); + invLang.put(type, lang); + invActions.put(type, new HashMap>()); + } + + public static void buildInvItem(String type, Material m, String name, ChatColor nameColor, ChatColor loreColor, String... lores) { //INV!! HashMap stacks = new HashMap<>(); for (String lang : Core.getAvailLangs()) { ItemStack stack = new ItemStack(m); @@ -76,7 +94,7 @@ public class Inventories implements Listener { itemNames.put(display, type); stack.setItemMeta(meta); stacks.put(lang, stack); - } + } items.put(type, stacks); } @@ -102,6 +120,26 @@ public class Inventories implements Listener { return stacks; } + public static HashMap buildItems(Material m, String name, ChatColor nameColor, String lang, ChatColor loreColor, String... lores) { + HashMap stacks = new HashMap<>(); + ItemStack stack = new ItemStack(m); + ItemMeta meta = stack.getItemMeta(); + meta.setDisplayName(nameColor + Core.getl(name, lang)); + if (loreColor != null) { + for (int i = 0; i < lores.length; i++) { + lores[i] = loreColor + Core.getl(lores[i], lang); + } + meta.setLore(Arrays.asList(lores)); + } + stack.setItemMeta(meta); + stacks.put(lang, stack); + return stacks; + } + + public static HashMap buildItems(Material m, String name, ChatColor nameColor, String lang) { + return buildItems(m, name, nameColor, lang, null, "none"); + } + public static HashMap buildItems(Material m, String name, ChatColor nameColor) { return buildItems(m, name, nameColor, null, "none"); } @@ -132,7 +170,11 @@ public class Inventories implements Listener { } public static Inventory getInventory(String type, Player P) { - return invs.get(type).get(Core.getPlayerLang(P)); + if (invType.get(type)) { + return invs.get(type).get(Core.getPlayerLang(P)); + } else { + return invs.get(type).get("global"); + } } public static ItemStack getItem(String type, Player P) {