• 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?

CrackRudi

Redstoneengineer
Registriert
18 April 2016
Beiträge
35
Alter
23
Diamanten
250
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
 

CrackRudi

Redstoneengineer
Registriert
18 April 2016
Beiträge
35
Alter
23
Diamanten
250
Javascript:
public void spawnMobs() {
        Location loc = new Location(Bukkit.getWorld(world), -1042.77, 114.00000, 434.700);
       
        Golem g = (Golem) loc.getWorld().spawnCreature(loc, EntityType.IRON_GOLEM);
        g.setCustomName("§7Jeff §7(§eDealer§7)");
        g.setCustomNameVisible(true);
        g.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 356000, 356000));
       
    }

Wo?
 

MrPyro13

Workaholic
Registriert
29 April 2013
Beiträge
826
Diamanten
250
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.
 

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
84
Diamanten
250
Minecraft
GPSforLEGENDS
Nein NoAi Mobs können nicht weg geschoben werden, eben im singleplayer getestet.
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:

CrackRudi

Redstoneengineer
Registriert
18 April 2016
Beiträge
35
Alter
23
Diamanten
250
wie bekomme ich den alle in die hashmap ?
Javascript:
public void spawnMobs() {
        Location loc = new Location(Bukkit.getWorld(world), -1042.77, 114.00000, 434.700);

        Golem g = (Golem) loc.getWorld().spawnCreature(loc, EntityType.IRON_GOLEM);

        g.setCustomName("§7Jeff §7(§eDealer§7)");
        g.setCustomNameVisible(true);
        g.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 356000, 356000));
       
    }

Javascript:
@EventHandler
    public void onDamage(EntityDamageEvent e) {
        if(e.getEntityType() == EntityType.IRON_GOLEM) {
            Golem g = (Golem) e.getEntity();
            if(g.getCustomName().equalsIgnoreCase("§7Jeff §7(§eDealer§7)")) {
                e.setCancelled(true);
                e.setDamage(0D);
            }
        }
       
    }
 

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
84
Diamanten
250
Minecraft
GPSforLEGENDS
Funktioniert meine Lösung denn nicht?
Das haben wir doch oben besprochen
nein nein aber bin zu dumm dass zu machen !
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.

Alternativ kannst du es auch mit dem ArmorStand (wie oben beschrieben) machen. Ist auf jedenfall besser als das Teleportieren ;)
Ist wahrscheinlich die beste Lösung von denen die gepostet wurden.
 
Oben