diff --git a/src/main/java/de/mviper/elevator/Elevator.java b/src/main/java/de/mviper/elevator/Elevator.java index d854151..dac32de 100644 --- a/src/main/java/de/mviper/elevator/Elevator.java +++ b/src/main/java/de/mviper/elevator/Elevator.java @@ -28,24 +28,76 @@ public class Elevator extends JavaPlugin { registerElevatorRecipe(); } + /** + * Registriert das Elevator-Modul Rezept basierend auf der Config-Einstellung. + * Unterstützte Rezept-Typen: "standard", "expensive" + */ private void registerElevatorRecipe() { + // Erstelle das Elevator-Modul Item ItemStack item = new ItemStack(Material.DAYLIGHT_DETECTOR); ItemMeta meta = item.getItemMeta(); if (meta != null) { meta.setDisplayName("§b§lAufzug-Modul"); - meta.setLore(Arrays.asList("§7Platziere dies als Etage.", "§eRechtsklick: §fMenü öffnen", "§eSpringen/Sneaken: §fReisen")); + meta.setLore(Arrays.asList( + "§7Platziere dies als Etage.", + "§eRechtsklick: §fMenü öffnen", + "§eSpringen/Sneaken: §fReisen" + )); meta.addEnchant(Enchantment.LUCK, 1, true); meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); item.setItemMeta(meta); } + + // Lese Rezept-Typ aus der Config (Standard: "standard") + String recipeType = getConfig().getString("recipe.type", "standard").toLowerCase(); + + // Erstelle das ShapedRecipe ShapedRecipe recipe = new ShapedRecipe(new NamespacedKey(this, "elevator_module"), item); - recipe.shape("S.S", ".I.", "S.S"); - recipe.setIngredient('S', Material.DAYLIGHT_DETECTOR); - recipe.setIngredient('I', Material.IRON_BLOCK); - getServer().addRecipe(recipe); + + // Wähle das Rezept basierend auf dem Config-Wert + switch (recipeType) { + case "expensive": + // Teures Rezept: + // D E D D = DIAMOND + // E I E E = ENDER_PEARL + // D E D I = IRON_BLOCK + recipe.shape("DED", "EIE", "DED"); + recipe.setIngredient('D', Material.DIAMOND); + recipe.setIngredient('E', Material.ENDER_PEARL); + recipe.setIngredient('I', Material.IRON_BLOCK); + getLogger().info("§aElevator-Rezept aktiviert: §eExpensive (Diamanten + Enderperlen)"); + break; + + case "standard": + default: + // Standard-Rezept: + // S . S S = DAYLIGHT_DETECTOR + // . I . I = IRON_BLOCK + // S . S + recipe.shape("S.S", ".I.", "S.S"); + recipe.setIngredient('S', Material.DAYLIGHT_DETECTOR); + recipe.setIngredient('I', Material.IRON_BLOCK); + getLogger().info("§aElevator-Rezept aktiviert: §eStandard (Daylight Detector + Iron Block)"); + break; + } + + // Rezept zum Server hinzufügen + try { + getServer().addRecipe(recipe); + } catch (Exception e) { + getLogger().warning("§cKonnte Elevator-Rezept nicht registrieren: " + e.getMessage()); + } } - public static Elevator getInstance() { return instance; } - public DatabaseManager getDatabaseManager() { return databaseManager; } - public HologramManager getHologramManager() { return hologramManager; } + public static Elevator getInstance() { + return instance; + } + + public DatabaseManager getDatabaseManager() { + return databaseManager; + } + + public HologramManager getHologramManager() { + return hologramManager; + } } \ No newline at end of file diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 426ab43..019fb80 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -35,4 +35,23 @@ sounds: messages: prefix: "&8[&bElevator&8] " registered: "&aModul erfolgreich registriert!" - no-target: "&cKeine weitere Etage gefunden." \ No newline at end of file + no-target: "&cKeine weitere Etage gefunden." + +# ============================================ +# REZEPT-AUSWAHL +# ============================================ +# Hier kannst du zwischen verschiedenen Crafting-Rezepten wählen. +# Mögliche Werte: "standard", "expensive" +# +Standard-Rezept: + S.S S = DAYLIGHT_DETECTOR + .I. I = IRON_BLOCK + S.S +# +Teures Rezept (Expensive): + DED D = DIAMOND + EIE E = ENDER_PEARL + DED I = IRON_BLOCK + +recipe: + type: "standard" \ No newline at end of file