TowerDefence Plugin 1.9.4- komme nicht weiter

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

TowerDefence Plugin 1.9.4- komme nicht weiter

Beitragvon CertamenHD » So 7. Jan 2018, 14:46

Ja wie es schon im Betreff steht habe ich gerade ein kleines Problem.. bei mir ist schon alles soweit fertig aber ich komme mit den Monstern nicht so richtig zurecht.

Ich spawne als Beispiel ein Zombie (das hab ich gemacht mit CitizensAPI, da ich anscheinend zu blöd dafür sonst bin) und will ihn halt zu verschiedennen Locations laufen lassen. z.b. von Location 1 zu 2 und dann zu 3 usw
Habe es geschafft das er auf jedenfall zu einer Location läuft aber dann weiß ich einfach nicht weiter.

Hier ist meine Methode mit dem ich die Monster laufen lasse:
Code: Alles auswählen
  1. package td.methoden;
  2. import org.bukkit.Location;
  3. import net.minecraft.server.v1_9_R2.EntityInsentient;
  4. import net.minecraft.server.v1_9_R2.NavigationAbstract;
  5. import net.minecraft.server.v1_9_R2.PathEntity;
  6. public class EnemyMovement {
  7.    public static void walk (EntityInsentient entity, Location loc, double speed) {
  8.       NavigationAbstract navigation = entity.getNavigation();   
  9.       PathEntity pathEntity = navigation.a(loc.getX(), loc.getY(), loc.getZ());
  10.       navigation.a(pathEntity, speed);
  11.    }
  12. }


Und hier ist die SpawnMob Methode die ich begonnen hatte:
Code: Alles auswählen
  1. package td.methoden;
  2. import java.util.ArrayList;
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.Location;
  5. import org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity;
  6. import org.bukkit.entity.EntityType;
  7. import org.bukkit.entity.LivingEntity;
  8. import net.citizensnpcs.api.CitizensAPI;
  9. import net.citizensnpcs.api.npc.NPC;
  10. import net.citizensnpcs.api.npc.NPCRegistry;
  11. import net.minecraft.server.v1_9_R2.EntityInsentient;
  12. import td.main.main;
  13. public class EnemyManager {
  14.    public static ArrayList<NPC> enemies1 = new ArrayList<NPC>();
  15.     
  16.    public static void spawnMob(){
  17.       
  18.       final Location loc = new Location(Bukkit.getServer().getWorld("world"), -1238.500D, 4D, 46.500D);
  19.                
  20.       final Location loc1 = new Location(Bukkit.getServer().getWorld("world"), 1238D, 4D, 70.5D);      
  21.             
  22.             NPCRegistry registry = CitizensAPI.getNPCRegistry();
  23.             NPC npc = registry.createNPC(EntityType.ZOMBIE, "testNPC");
  24.             
  25.             npc.setProtected(false);
  26.             
  27.             Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(main.getPlugin(), new Runnable(){
  28.                @Override
  29.                public void run() {
  30.                   
  31.                   if(npc.getEntity().isValid()){
  32.                      ((LivingEntity) npc.getEntity()).setMaxHealth(40D);
  33.                      ((LivingEntity)npc.getEntity()).setHealth(40D);
  34.                   }
  35.                }
  36.                
  37.             } ,3L);
  38.             
  39.             npc.spawn(loc);
  40.             
  41.             EntityInsentient ei = ((EntityInsentient)((CraftEntity) npc.getEntity()).getHandle());
  42.             EnemyMovement.walk(ei, loc1, 1.0D);
  43.             
  44.             enemies1.add(npc);
  45.             
  46.    }
  47. }

Meine Idee war es Anfangs die Monster in eine Arraylist<NPC> zu packen aber wenn ich dann versuche alle zu erfassen geht es nicht.
Kann ja leider auch nicht immer bei jedem MobSpawn einen Scheduler starten der Abfragt ob das Mob bei einer gewissen Location ist, da die Spieler biszu 10 Monster gleichzeitig losschicken können und irgentwann das einwenig zuviel Leistung ziehen würde.

Würde mich freuen wenn jemand mir helfen könnte, sei es mit Ideen oder Schnipsel
Mfg Certamen
Benutzeravatar
CertamenHD
 
Beiträge: 1
Registriert: So 7. Jan 2018, 14:09

Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste