Mobs nicht Bewegen?

Dieses Thema im Forum "Programmierung" wurde erstellt von CrackRudi, 23. Mai 2016.

  1. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Hallo,
    Ich will ein Plugin programmieren wo ein Mob gespawnt wird !
    Dass habe ich auch schon geschafft aber jetzt gibt es ein Problem!
    Ich will es so machen dass wenn ich gegen diesen Mob laufe dass er trotzdem stehen Bleibt!
    könnt ihr mir helfen ?

    Liebe grüße Leon
     
    #1
  2. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
  3. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Danke
     
    #3
  4. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    muss ich dass in einem Event machen?
     
    #4
  5. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    da, wo du das Entity spawnst.
     
    #5
  6. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Code (Javascript):
    1. public void spawnMobs() {
    2.         Location loc = new Location(Bukkit.getWorld(world), -1042.77, 114.00000, 434.700);
    3.        
    4.         Golem g = (Golem) loc.getWorld().spawnCreature(loc, EntityType.IRON_GOLEM);
    5.         g.setCustomName("§7Jeff §7(§eDealer§7)");
    6.         g.setCustomNameVisible(true);
    7.         g.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 356000, 356000));
    8.        
    9.     }
    Wo?
     
    #6
  7. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    durch
    Code (Text):
    1. g.setAI(false);
    ersetzen
     
    #7
  8. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    Ja, aber wenn man dagegen läuft müsste er trotzdem weg geschoben werden. Spawne einfach 0.5 Blöcke weiter unten einen ArmorStand und setzte den Golem drauf. Anschließend machst du den Armorstand unsichtbar.
     
    #8
  9. JTK222
    Offline

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Nein NoAi Mobs können nicht weg geschoben werden, eben im singleplayer getestet.
     
    #9
  10. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Danke probiere es mal morgen aus
     
    #10
  11. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    Alles klar @JTK222.
    Danke für den Hinweis ;)
     
    #11
  12. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Komisch... Ich kann sie wegschieben (benutze 1.9)

    Zur Lösung des Problems fallen mir 2 Wege ein:

    1: Du machst das man mit dem LivingEntity nicht Kollidieren kann mit https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/LivingEntity.html#setCollidable(boolean)
    Nachteil: Beide LivingEntities die Kollidieren müssen nicht kollidierbar sein. Du müsstest also alle Spieler nicht Kollidierbar machen.

    2: Du speicherst alle LivingEntities in einer HashMap mit ihren Locations und lässt ein Scheduler laufen der die Mobs zurückteleportiert.
     
    #12
  13. JTK222
    Offline

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Ups... hatte noch von einem server 1.8 drinnen sorry.
     
    #13
  14. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    Also geht es doch nicht ^^
    Alternativ kannst du es auch mit dem ArmorStand (wie oben beschrieben) machen. Ist auf jedenfall besser als das Teleportieren ;)
     
    #14
  15. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    wie bekomme ich den alle in die hashmap ?
    Code (Javascript):
    1. public void spawnMobs() {
    2.         Location loc = new Location(Bukkit.getWorld(world), -1042.77, 114.00000, 434.700);
    3.  
    4.         Golem g = (Golem) loc.getWorld().spawnCreature(loc, EntityType.IRON_GOLEM);
    5.  
    6.         g.setCustomName("§7Jeff §7(§eDealer§7)");
    7.         g.setCustomNameVisible(true);
    8.         g.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 356000, 356000));
    9.        
    10.     }
    Code (Javascript):
    1. @EventHandler
    2.     public void onDamage(EntityDamageEvent e) {
    3.         if(e.getEntityType() == EntityType.IRON_GOLEM) {
    4.             Golem g = (Golem) e.getEntity();
    5.             if(g.getCustomName().equalsIgnoreCase("§7Jeff §7(§eDealer§7)")) {
    6.                 e.setCancelled(true);
    7.                 e.setDamage(0D);
    8.             }
    9.         }
    10.        
    11.     }
     
    #15
  16. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Funktioniert meine Lösung denn nicht?

    Ansonsten das Event onCreatureSpawn nutzen und in die Hashmap den Namen und die Spawnlocation reinmachen.
     
    #16
  17. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    nein nein aber bin zu dumm dass zu machen !

    is n bisschen peinlich aber egal :)

    hashmap kriege ich ja noch hin aber dass andre nicht
     
    #17
  18. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Das haben wir doch oben besprochen
    Das kann ich nicht beurteilen.... Aber du scheinst einfach zu faul zu sein dich vorher mit Java auseinander zusetzen und denkst dir das du einfach mal so Bukkit plugin coden kannst nachdem du ein paar tutorials gesehen hast.

    Ist wahrscheinlich die beste Lösung von denen die gepostet wurden.
     
    #18
  19. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    aber wie soll ich den Golem auf den ArmorStand setzen?
     
    #19
  20. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    ArmorStand.setPassenger(g)
     
    #20