src/main/java/de/mviper/adventskalender/AdventInventory.java aktualisiert
This commit is contained in:
@@ -1,120 +1,118 @@
|
|||||||
package de.mviper.adventskalender;
|
package de.mviper.adventskalender;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemFlag;
|
import org.bukkit.inventory.ItemFlag;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.Month;
|
import java.time.Month;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class AdventInventory {
|
public class AdventInventory {
|
||||||
|
|
||||||
public static void openCalendar(org.bukkit.entity.Player player) {
|
public static void openCalendar(org.bukkit.entity.Player player) {
|
||||||
// KORREKTUR: Wir lesen den Titel direkt aus der Sprachdatei.
|
String title = LanguageManager.getString("gui.title");
|
||||||
// Der Pfad "gui.title" entspricht der Struktur in deiner messages_de.yml
|
Inventory inv = Bukkit.createInventory(null, 54, title);
|
||||||
String title = LanguageManager.getString("gui.title");
|
|
||||||
Inventory inv = Bukkit.createInventory(null, 54, title);
|
for (int i = 0; i < 24; i++) {
|
||||||
|
int day = i + 1;
|
||||||
for (int i = 0; i < 24; i++) {
|
ItemStack item = getCalendarItem(player, day);
|
||||||
int day = i + 1;
|
inv.setItem(i, item);
|
||||||
ItemStack item = getCalendarItem(player, day);
|
}
|
||||||
inv.setItem(i, item);
|
|
||||||
}
|
ItemStack filler = new ItemStack(Material.GRAY_STAINED_GLASS_PANE);
|
||||||
|
ItemMeta fillerMeta = filler.getItemMeta();
|
||||||
ItemStack filler = new ItemStack(Material.GRAY_STAINED_GLASS_PANE);
|
fillerMeta.setDisplayName(" ");
|
||||||
ItemMeta fillerMeta = filler.getItemMeta();
|
filler.setItemMeta(fillerMeta);
|
||||||
fillerMeta.setDisplayName(" ");
|
for (int i = 24; i < 54; i++) {
|
||||||
filler.setItemMeta(fillerMeta);
|
inv.setItem(i, filler);
|
||||||
for (int i = 24; i < 54; i++) {
|
}
|
||||||
inv.setItem(i, filler);
|
|
||||||
}
|
player.openInventory(inv);
|
||||||
|
}
|
||||||
player.openInventory(inv);
|
|
||||||
}
|
public static ItemStack getCalendarItem(org.bukkit.entity.Player player, int day) {
|
||||||
|
LocalDate today = LocalDate.now();
|
||||||
public static ItemStack getCalendarItem(org.bukkit.entity.Player player, int day) {
|
String prefix = LanguageManager.getString("prefix");
|
||||||
LocalDate today = LocalDate.now();
|
|
||||||
String prefix = LanguageManager.getString("prefix");
|
if (today.getMonth() != Month.DECEMBER || today.getDayOfMonth() < day) {
|
||||||
|
ItemStack item = new ItemStack(Material.BARRIER);
|
||||||
if (today.getMonth() != Month.DECEMBER || today.getDayOfMonth() < day) {
|
ItemMeta meta = item.getItemMeta();
|
||||||
ItemStack item = new ItemStack(Material.BARRIER);
|
meta.setDisplayName(prefix + "§cTag " + day);
|
||||||
ItemMeta meta = item.getItemMeta();
|
List<String> lore = new ArrayList<>();
|
||||||
meta.setDisplayName(prefix + "§cTag " + day);
|
lore.add(prefix + "§7Noch nicht verfügbar.");
|
||||||
List<String> lore = new ArrayList<>();
|
lore.add(prefix + "§7Komme am " + day + ". Dezember wieder.");
|
||||||
lore.add(prefix + "§7Noch nicht verfügbar.");
|
meta.setLore(lore);
|
||||||
lore.add(prefix + "§7Komme am " + day + ". Dezember wieder.");
|
item.setItemMeta(meta);
|
||||||
meta.setLore(lore);
|
return item;
|
||||||
item.setItemMeta(meta);
|
}
|
||||||
return item;
|
|
||||||
}
|
if (CalendarData.hasClaimed(player, day)) {
|
||||||
|
ItemStack item = new ItemStack(Material.GREEN_STAINED_GLASS_PANE);
|
||||||
if (CalendarData.hasClaimed(player, day)) {
|
ItemMeta meta = item.getItemMeta();
|
||||||
ItemStack item = new ItemStack(Material.GREEN_STAINED_GLASS_PANE);
|
meta.setDisplayName(prefix + "§aTag " + day + " - Geöffnet");
|
||||||
ItemMeta meta = item.getItemMeta();
|
List<String> lore = new ArrayList<>();
|
||||||
meta.setDisplayName(prefix + "§aTag " + day + " - Geöffnet");
|
lore.add(prefix + LanguageManager.getString("messages.day_already_claimed"));
|
||||||
List<String> lore = new ArrayList<>();
|
meta.setLore(lore);
|
||||||
lore.add(prefix + LanguageManager.getString("messages.day_already_claimed"));
|
item.setItemMeta(meta);
|
||||||
meta.setLore(lore);
|
return item;
|
||||||
item.setItemMeta(meta);
|
}
|
||||||
return item;
|
|
||||||
}
|
ItemStack item = new ItemStack(Material.CHEST);
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
ItemStack item = new ItemStack(Material.CHEST);
|
meta.setDisplayName(prefix + "§eTag " + day + " - Noch zu holen!");
|
||||||
ItemMeta meta = item.getItemMeta();
|
List<String> lore = new ArrayList<>();
|
||||||
meta.setDisplayName(prefix + "§eTag " + day + " - Noch zu holen!");
|
lore.add(prefix + "§7Klicke, um dein Geschenk zu erhalten.");
|
||||||
List<String> lore = new ArrayList<>();
|
meta.setLore(lore);
|
||||||
lore.add(prefix + "§7Klicke, um dein Geschenk zu erhalten.");
|
item.setItemMeta(meta);
|
||||||
meta.setLore(lore);
|
return item;
|
||||||
item.setItemMeta(meta);
|
}
|
||||||
return item;
|
|
||||||
}
|
public static ItemStack getRewardItem(int day) {
|
||||||
|
String path = "rewards." + day;
|
||||||
public static ItemStack getRewardItem(int day) {
|
if (!Adventskalender.getInstance().getConfig().contains(path)) {
|
||||||
String path = "rewards." + day;
|
return new ItemStack(Material.AIR);
|
||||||
if (!Adventskalender.getInstance().getConfig().contains(path)) {
|
}
|
||||||
return new ItemStack(Material.AIR);
|
|
||||||
}
|
String materialName = Adventskalender.getInstance().getConfig().getString(path + ".material");
|
||||||
|
int amount = Adventskalender.getInstance().getConfig().getInt(path + ".amount");
|
||||||
String materialName = Adventskalender.getInstance().getConfig().getString(path + ".material");
|
String key = Adventskalender.getInstance().getConfig().getString(path + ".key");
|
||||||
int amount = Adventskalender.getInstance().getConfig().getInt(path + ".amount");
|
|
||||||
String key = Adventskalender.getInstance().getConfig().getString(path + ".key");
|
Material material = Material.getMaterial(materialName);
|
||||||
|
if (material == null) {
|
||||||
Material material = Material.getMaterial(materialName);
|
Adventskalender.getInstance().getLogger().warning("Material '" + materialName + "' für Tag " + day + " nicht gefunden!");
|
||||||
if (material == null) {
|
return new ItemStack(Material.BARRIER);
|
||||||
Adventskalender.getInstance().getLogger().warning("Material '" + materialName + "' für Tag " + day + " nicht gefunden!");
|
}
|
||||||
return new ItemStack(Material.BARRIER);
|
|
||||||
}
|
ItemStack item = new ItemStack(material, amount);
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
ItemStack item = new ItemStack(material, amount);
|
|
||||||
ItemMeta meta = item.getItemMeta();
|
String namePath = key + ".name";
|
||||||
|
String lorePath = key + ".lore";
|
||||||
String namePath = key + ".name";
|
|
||||||
String lorePath = key + ".lore";
|
meta.setDisplayName(LanguageManager.getString(namePath));
|
||||||
|
meta.setLore(LanguageManager.getStringList(lorePath));
|
||||||
meta.setDisplayName(LanguageManager.getString(namePath));
|
|
||||||
meta.setLore(LanguageManager.getStringList(lorePath));
|
List<Map<?, ?>> enchantmentList = Adventskalender.getInstance().getConfig().getMapList(path + ".enchantments");
|
||||||
|
if (enchantmentList != null) {
|
||||||
List<Map<?, ?>> enchantmentList = Adventskalender.getInstance().getConfig().getMapList(path + ".enchantments");
|
for (Map<?, ?> enchantmentMap : enchantmentList) {
|
||||||
if (enchantmentList != null) {
|
String enchantName = (String) enchantmentMap.get("type");
|
||||||
for (Map<?, ?> enchantmentMap : enchantmentList) {
|
int level = (int) enchantmentMap.get("level");
|
||||||
String enchantName = (String) enchantmentMap.get("type");
|
Enchantment enchantment = Enchantment.getByName(enchantName);
|
||||||
int level = (int) enchantmentMap.get("level");
|
if (enchantment != null) {
|
||||||
Enchantment enchantment = Enchantment.getByName(enchantName);
|
meta.addEnchant(enchantment, level, true);
|
||||||
if (enchantment != null) {
|
}
|
||||||
meta.addEnchant(enchantment, level, true);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||||
|
item.setItemMeta(meta);
|
||||||
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
return item;
|
||||||
item.setItemMeta(meta);
|
}
|
||||||
return item;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user