ServerPlugin [BukkitPlugin]: Alle Items in der Welt entfernen!

Dieses Thema im Forum "Programmierung" wurde erstellt von MineForce, 13. Dezember 2013.

  1. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Hallo Leute,

    Kann mir jemand sagen wie ich alle Items in der Welt entferne also lösche?

    Code (Text):
    1. p.getWorld().getEntities().remove(EntityType.DROPPED_ITEM);
    Aber da passiert nix garnix D:

    Heul* Wein* Trauer* xD

    danke für jeden der Antwortet!
     
    #1
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Könntest du bitte den gesamten Code posten...
     
    #2
  3. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    das ist er:

    Code (Text):
    1. package me.FranTv.DiscoverShop;
    2.  
    3. import org.bukkit.command.Command;
    4. import org.bukkit.command.CommandExecutor;
    5. import org.bukkit.command.CommandSender;
    6. import org.bukkit.entity.EntityType;
    7. import org.bukkit.entity.Player;
    8.  
    9. public class ClearLaggCommand implements CommandExecutor{
    10.  
    11.     @Override
    12.     public boolean onCommand(CommandSender cs, Command cmd, String label, String[] args) {
    13.         Player p = (Player)cs;
    14.  
    15.         if(!p.hasPermission("DiscoverZone.ClearLagg")){
    16.             p.sendMessage("§4Keine Permission!");
    17.             return true;
    18.         }
    19.         if(cmd.getName().equalsIgnoreCase("clearlagg")){
    20.                 if(!(cs instanceof Player)){
    21.                     p.sendMessage("§4Du bist kein Spieler!");
    22.                 }
    23.                 p.getWorld().getEntities().remove(EntityType.ARROW);
    24.                 p.getWorld().getEntities().remove(EntityType.DROPPED_ITEM);
    25.                 p.getWorld().getEntities().remove(EntityType.EXPERIENCE_ORB);
    26.                 p.getWorld().getEntities().remove(EntityType.BOAT);
    27.                 p.getWorld().getEntities().remove(EntityType.BAT);
    28.                 p.getWorld().getEntities().remove(EntityType.MINECART);
    29.                 p.getWorld().getEntities().remove(EntityType.MINECART_CHEST);
    30.                 p.getWorld().getEntities().remove(EntityType.MINECART_FURNACE);
    31.                 p.getWorld().getEntities().remove(EntityType.MINECART_HOPPER);
    32.                 p.getWorld().getEntities().remove(EntityType.MINECART_MOB_SPAWNER);
    33.                 p.getWorld().getEntities().remove(EntityType.MINECART_TNT);
    34.                 p.getWorld().getEntities().remove(EntityType.SILVERFISH);
    35.                 p.getWorld().getEntities().remove(EntityType.WITHER);
    36.                 p.getWorld().getEntities().remove(EntityType.SLIME);
    37.                 p.getWorld().getEntities().remove(EntityType.ENDER_DRAGON);
    38.                 p.sendMessage("§cAlle eingetragenen Enties wurden gelöscht!");
    39.  
    40.  
    41.  
    42.     }
    43.         return false;
    44.  
    45. }
    46. }
    47.  
     
    #3
  4. ThunderFlo
    Offline

    ThunderFlo

    Registriert seit:
    22. September 2013
    Beiträge:
    53
    Ich schreibe dir deinen Code jetzt mal um und dannach kannste ihn kopieren und ihn bei dir austauschen ;-)
     
    #4
  5. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Du benutzt p für den Spieler und später im Code verwendest du
    Code (Text):
    1. p.sendMessage("Du bist kein Spieler")
    Sieht nicht ganz logisch aus... Wird aber am eigentlichen Problem glaube ich nichts ändern.
     
    #5
  6. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    naja mir ist halt wichtig die zeile mit p.getworld usw.. die soll funktionieren und ich glaube das geht schon aber das Problem ist ich glaube das nur 1 Monster getötet also 1 Entity gelöscht wird nicht alle und bei removeall(Conditions) ka was Conditions sind D:
     
    #6
  7. delta242
    Offline

    delta242

    Registriert seit:
    28. Mai 2012
    Beiträge:
    90
    Per for-each Schleife alle Entities in deiner Welt durchgehen und schauen ob das Entity vom Typ Item ist. Wenn ja, dann entfern es. Folgender Code:
    Code (Text):
    1. for (Entity e : p.getWorld().getEntities()) {
    2.    if (e instanceof Item) {
    3.       e.remove();
    4.    }
    5. }
    p ist hierbei ein Player Objekt.
    Du kannst auch alle Items in allen Welten entfernen:
    Code (Text):
    1. for (World w : Bukkit.getWorlds()) {
    2.    for (Entity e : w.getEntities()) {
    3.      if (e instanceof Item) {
    4.        e.remove();
    5.      }
    6.    }
    7. }
     
    #7