diordrip Geschrieben 6. Juli 2023 Share Geschrieben 6. Juli 2023 Hey, ich bin gerade dabei mich ins Plugin Programmieren rein zu Arbeiten und jetzt habe ich mit Hilfe von ChatGPT folgenden Code erstellt, das Problem bei dem Code ist jedoch das ich nur einen normalen Spawner gedroppt bekomme statt des Mob-Spezifischen. Wäre echt hilfreich wenn einer weiß warum dies so ist und wie ich das ändern kann. Mit freundlichen Grüßen diordrip package de.diordrip.silkspawner; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.CreatureSpawner; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.BlockStateMeta; import org.bukkit.plugin.java.JavaPlugin; public final class Silkspawner extends JavaPlugin implements Listener { @Override public void onEnable() { getServer().getPluginManager().registerEvents(this, this); } @EventHandler public void onBlockBreak(BlockBreakEvent event){ Block block = event.getBlock(); if (block.getType() == Material.SPAWNER && hasSilkTouch(event.getPlayer().getItemInHand())){ CreatureSpawner spawner = (CreatureSpawner) block.getState(); EntityType spawnedType = spawner.getSpawnedType(); ItemStack spawnerItem = new ItemStack(Material.SPAWNER); BlockStateMeta meta = (BlockStateMeta) spawnerItem.getItemMeta(); CreatureSpawner spawnerState = (CreatureSpawner) meta.getBlockState(); spawnerState.setSpawnedType(spawnedType); meta.setBlockState(spawnerState); spawnerItem.setItemMeta(meta); block.getWorld().dropItem(block.getLocation(), new ItemStack(Material.SPAWNER)); block.setType(Material.AIR); } } private boolean hasSilkTouch(ItemStack item){ return item != null && item.containsEnchantment(Enchantment.SILK_TOUCH); } @Override public void onDisable() { // Plugin shutdown logic } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
boomer41 Geschrieben 7. Juli 2023 Share Geschrieben 7. Juli 2023 Am 6.7.2023 um 16:24 schrieb diordrip: spawnerItem.setItemMeta(meta); block.getWorld().dropItem(block.getLocation(), new ItemStack(Material.SPAWNER)); Das zu droppende Item wird zwar hergerichtet, aber effektiv gedroppt wird ein komplett anderes... => block.getWorld().dropItem(block.getLocation(), spawnerItem); 1 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden