1. 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!

Mobs nicht Bewegen?

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


  1. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    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
     
  2. Werbung
    Online

    Werbung

  3. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    631
    Geschlecht:
    männlich
    Minecraft:
    jens1o
    Zuletzt bearbeitet: 23. Mai 2016
  4. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    Danke
     
  5. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    muss ich dass in einem Event machen?
     
  6. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    631
    Geschlecht:
    männlich
    Minecraft:
    jens1o
    da, wo du das Entity spawnst.
     
  7. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    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?
     
  8. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    631
    Geschlecht:
    männlich
    Minecraft:
    jens1o
    durch
    Code (Text):
    1. g.setAI(false);
    ersetzen
     
  9. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Geschlecht:
    männlich
    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.
     
  10. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    863
    Geschlecht:
    männlich
    Minecraft:
    JTK222
    Nein NoAi Mobs können nicht weg geschoben werden, eben im singleplayer getestet.
     
  11. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    Danke probiere es mal morgen aus
     
  12. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Geschlecht:
    männlich
    Minecraft:
    MrPyro13
    Alles klar @JTK222.
    Danke für den Hinweis ;)
     
  13. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    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.
     
    Zuletzt bearbeitet: 23. Mai 2016
  14. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    863
    Geschlecht:
    männlich
    Minecraft:
    JTK222
    Ups... hatte noch von einem server 1.8 drinnen sorry.
     
  15. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Geschlecht:
    männlich
    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 ;)
     
  16. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    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.     }
     
  17. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    631
    Geschlecht:
    männlich
    Minecraft:
    jens1o
    Funktioniert meine Lösung denn nicht?

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

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    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
     
  19. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    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.
     
  20. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    34
    Geschlecht:
    männlich
    aber wie soll ich den Golem auf den ArmorStand setzen?
     
  21. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    826
    Geschlecht:
    männlich
    Minecraft:
    MrPyro13
    ArmorStand.setPassenger(g)