package de.viper.survivalplus.recipe;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.RecipeChoice;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class BackpackRecipe {

    public static void register(JavaPlugin plugin, org.bukkit.configuration.file.FileConfiguration langConfig) {
        // Ergebnis-Item: Truhe mit Namen "Rucksack"
        ItemStack backpack = new ItemStack(Material.CHEST);
        ItemMeta meta = backpack.getItemMeta();
        if (meta != null) {
            // Fallback falls der Key in der lang.yml fehlt
            String displayName = langConfig.getString("backpack.name", "&eRucksack");
            meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', displayName));
            backpack.setItemMeta(meta);
        }

        NamespacedKey key = new NamespacedKey(plugin, "backpack");

        // Rezept erstellen
        ShapedRecipe recipe = new ShapedRecipe(key, backpack);
        
        // Form festlegen
        recipe.shape(
            "S L", 
            " C ", 
            "S L"
        );

        // Zutaten festlegen (mit RecipeChoice für bessere Kompatibilität)
        recipe.setIngredient('S', new RecipeChoice.MaterialChoice(Material.STRING));
        recipe.setIngredient('L', new RecipeChoice.MaterialChoice(Material.LEATHER));
        recipe.setIngredient('C', new RecipeChoice.MaterialChoice(Material.CHEST));

        // WICHTIG: Setzt eine eigene Gruppe. 
        // Verhindert Konflikte mit Vanilla-Rezepten im Rezeptbuch.
        recipe.setGroup("survivalplus");

        Bukkit.addRecipe(recipe);
        plugin.getLogger().info("Backpack Rezept wurde erfolgreich registriert (Gruppe: survivalplus).");
    }
}