50 lines
1.9 KiB
Java
50 lines
1.9 KiB
Java
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).");
|
|
}
|
|
} |