• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Minecraft spawner Plugin?

Biberbau_99

Minecrafter
Registriert
11 März 2018
Beiträge
8
Alter
35
Diamanten
300
Hallo Leute,

ich habe verzweifelt daran gesucht, dass wenn man ein Skeleton Spawner abbaut, dass man ihn wieder griegt und zwar ein Skeleton Spawner nicht ein normaler Spawner.

Ich habe schon versucht:

Javascript:
ItemStack item = new ItemStack(Material.MOB_SPAWNER, 1);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("Skeleton Spawner");
item.setItemMeta(meta);
ItemStack item2 = new ItemStack(Material.MOB_SPAWNER, 1,(byte) 51);
if(e.getBlock().getType().equals(item2)) {
e.setExpToDrop(0);
Location loc = e.getBlock().getLocation();
loc.getWorld().dropItem(loc, item);
}

Ich lasse ihn so spawnen:


Javascript:
public void setSpawner(Block block, EntityType ent) {
BlockState blockState = block.getState();
CreatureSpawner spawner = ((CreatureSpawner) blockState);
spawner.setSpawnedType(ent);
blockState.update();
}

//Dean: Logs, Code & Configs bitte entweder als Code einfügen oder als Dateianhang, bzw.auf pastebin.com hochladen! Danke!
 
Zuletzt bearbeitet von einem Moderator:

moinless

Schafhirte
Registriert
4 Oktober 2013
Beiträge
103
Diamanten
302
Du könntest dem gedroppten Item einen NBT-Tag hinzufügen, welcher den Namen des zu spawnenden Entities enthält. Beim PlaceEvent schaust du dann einfach, ob der gesetzte ItemStack diesen NBT-Tag enthält und falls ja, setzt du den Spawner auf den gewünschten Mob-Typ.
(Eine mögliche, jedoch unschöne Variante ist den Mob-Typ in den Titel oder in die Lore des Items zu setzen und dann von dort abzufragen.)
 

moinless

Schafhirte
Registriert
4 Oktober 2013
Beiträge
103
Diamanten
302
Dann könntest du dir ein Enum mit den möglichen Datawerten des Spawners und den dazugehörigen Entities machen. Beim Abbauen schaust du dann einfach, welcher Datawert zu dem Entity passt und setzt dem ItemStack den Datenwert.
 

Biberbau_99

Minecrafter
Registriert
11 März 2018
Beiträge
8
Alter
35
Diamanten
300
Ich habe es geschafft:D
Code:

Javascript:
if(e.getBlock().getType() == Material.MOB_SPAWNER) {
       BlockState blockState = e.getBlock().getState();     
       CreatureSpawner spawner = (CreatureSpawner) blockState;     
       if(spawner.getSpawnedType() == EntityType.SKELETON) {       
         e.setExpToDrop(0);       
         Location loc = e.getBlock().getLocation();       
         loc.getWorld().dropItem(loc, item);
       }
     }
 
Zuletzt bearbeitet von einem Moderator:
Oben