ServerPlugin Spawner abbauen und ...

Dieses Thema im Forum "Programmierung" wurde erstellt von DarkPrincess, 15. Februar 2015.

  1. DarkPrincess
    Offline

    DarkPrincess

    Registriert seit:
    31. August 2013
    Beiträge:
    52
    ... Spawner Type als SpawnEi Dropen lassen.

    So schaut mein bisheriger versuch aus, allerdings bekommt man hier nur unbrauchbare Spawneier bei heraus.

    Code (Text):
    1. public class BreakSpawner implements Listener {
    2.     @EventHandler(priority = EventPriority.HIGH)
    3.     public void onPlayerInteract(PlayerInteractEvent e) {
    4.         if(e.getClickedBlock() == null || !e.hasItem())
    5.             return;
    6.        
    7.         if(!e.getItem().getType().equals(Material.DIAMOND_PICKAXE))
    8.             return;
    9.        
    10.         if(!(e.getClickedBlock().getState() instanceof CreatureSpawner))
    11.             return;
    12.        
    13.         if(!_p.getWG().canBuild(e.getPlayer(), e.getClickedBlock()))
    14.             return;
    15.        
    16.         CreatureSpawner csp = (CreatureSpawner)e.getClickedBlock().getState();
    17.         ItemStack item = new ItemStack(Material.MONSTER_EGG, 10);
    18.         item.setData(csp.getData());
    19.         e.getClickedBlock().breakNaturally(new ItemStack(Material.MOB_SPAWNER, 1));
    20.         e.getClickedBlock().getWorld().dropItem(e.getClickedBlock().getLocation(), item);
    21.     }
    22. }
     
    #1
  2. DarkPrincess
    Offline

    DarkPrincess

    Registriert seit:
    31. August 2013
    Beiträge:
    52
    Schade das keiner eine Idee zu scheinen hat.
     
    #2
  3. Kronos197
    Offline

    Kronos197

    Registriert seit:
    20. Dezember 2013
    Beiträge:
    153
    Ort:
    Frankfurt
    Minecraft:
    Kronos197
    Ich hatte es versucht aber auch nicht hinbekommen.
    Vielleicht hohlst du dir die sub-id und fragst sie für jedes mob ab und gibst dir dann direkt das richtige Monsterei
     
    #3
  4. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    Du möchtest, dass man wenn man einen Spawner abbaut, das Spawn-Ei von dem jeweiligen Type bekommt?
     
    #4
  5. Kronos197
    Offline

    Kronos197

    Registriert seit:
    20. Dezember 2013
    Beiträge:
    153
    Ort:
    Frankfurt
    Minecraft:
    Kronos197
    Jep das will er :D
     
    #5
  6. Die Daten eines Mobspawners sind offensichtlich nicht kompatibel. Die einfachste Möglichkeit wäre es ein Ei droppen zu lassen und in der Lore (Item Meta) den Namen der Entity zu speichern und dann einfach damit das Wesen beim Rechtsklick spawnen. [Oder eine Methode schreiben, die die entsprechende Daten konvertiert. Hierzu wäre es sicherlich sinnvoll getData mit Rekursion zu analysieren.
     
    #6
    DerDr4g0n gefällt das.
  7. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    654
    Oder einfach die beiden Daten kurz angucken und dann ne festkodierte Liste mit nem switch machen, die einfach das korrekte Item dropt. Ist ja jetzt nicht so, dass Mojang jeden Tag neue Mobs implementiert.
     
    #7
    AnonymusChaotic gefällt das.
  8. Hamsterboy
    Offline

    Hamsterboy

    Registriert seit:
    13. März 2012
    Beiträge:
    55
    Ort:
    player.getHome()
    Minecraft:
    Hamsterboy
    So funktioniert das :)
     
    #8