New world has ever the spawn x 0 z 0

Discussion in 'Plugin Development' started by Hausbauer, Jan 1, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    Hausbauer

    Hey guys,

    on coding a Bukkit Plugin I want to re-create a world. With this code i want to delete the existing world and creating a new world with the same name in the onEnable part:
    Code:
    if(Bukkit.getWorld("ABW") != null) {
           for(Player p : Bukkit.getWorld("ABW").getPlayers()){
             p.kickPlayer(serverprefix + "§cre-creating the world. Please wait");
           }   
           Bukkit.unloadWorld(Bukkit.getWorld("ABW"), false);
           if(Bukkit.getWorld("ABW") == null){
             System.out.println("MINECRAFT LEBEN: World ABW is unloaded. Creatining a new World");
           } else {
             System.out.println("MINECRAFT LEBEN: Error: World ABW is not unloaded");
           }
           
           deleteDir(new File("ABW"));
           if(Bukkit.getWorld("ABW") == null){
             System.out.println("MINECRAFT LEBEN: World ABW is unloaded. Creatining a new World(2)");
           } else {
             System.out.println("MINECRAFT LEBEN: Error: World ABW was not deleted(2)");
           }
         } else {
           System.out.println("MINECRAFT LEBEN: World ABW does not exists");
         }
         World w = Bukkit.createWorld(new WorldCreator("ABW").type(WorldType.NORMAL).environment(Environment.NORMAL));
         getConfig().set("Options.ABWSeed", w.getSeed());
         saveConfig();
      
    The deleting and creating works fine, but I ever get as spawn x=0 and z=0. Even if i remove all plugins, delete the world ABW and creating the world ABW2, I have ever the same issuses. If I use Multiverse, it says something like
    Bukkit Version: Spigot 1.8.7
    Maybe somebody has the same issuses and can help me.

    Thanks in advance

    Hausbauer20



    My complete code (open)
    Code:
    package me.hausbauer.leben;
    
    import java.io.File;
    import java.util.HashMap;
    
    import org.bukkit.Bukkit;
    import org.bukkit.DyeColor;
    import org.bukkit.GameMode;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.World.Environment;
    import org.bukkit.WorldCreator;
    import org.bukkit.WorldType;
    import org.bukkit.block.Block;
    import org.bukkit.block.Sign;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.block.BlockBreakEvent;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.event.block.SignChangeEvent;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerPortalEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
    import org.bukkit.event.server.ServerListPingEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.material.Wool;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import de.inventivegames.nickname.Nicks;
    
    public class Intern extends JavaPlugin implements Listener {
       ////////////VARIABLEN/////////////////
       String prefix = "§7[§5Minecraft Leben§7]§3 ";
       String bankprefix = "§8[§4Spar hier Bank§8] §3";
       String bahnprefix = "§8[§cDeutsche Bahn AG§8] §3";
       String serverprefix = "§8[§2Server§8] §3";
       String nickprefix = "§8[§5Nick§8] §3";
       HashMap<String, Boolean> everbuild = new HashMap<>();
       Bank bank = new Bank(this);
       ////////////DEFAULTMETHODEN/////////////////
       @Override
       public void onEnable() {
         load();
         Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
           int i = 0;
           @Override
           public void run() {
             i+= 1;
             if(i==0){
               Bukkit.broadcastMessage(serverprefix + "Du hast Fragen? Wende dich an einen Admin");
             } else if(i==1){
               Bukkit.broadcastMessage(bankprefix + "Du möchtest auf dein Konto zugreifen? Mit §6/bank§3 kannst du bequem alle Geschäfte erledigen");
             } else if(i==2){
               Bukkit.broadcastMessage(bahnprefix + "Mit uns kommst du ohne Verspätungen von A nach B");
             } else{
               Bukkit.broadcastMessage(prefix + "Jeden Sasmtag um 18Uhr gibt es ein PVP Event in der Hauptstadt");
               i = 0;
             }
             
           }
         }, 20*180,20*180);
         if(Bukkit.getWorld("ABW") != null) {
           for(Player p : Bukkit.getWorld("ABW").getPlayers()){
             p.kickPlayer(serverprefix + "§cDie Abbau Welt wird gerade neugeneriert. Bitte warte einen Augenblick");
           }   
           Bukkit.unloadWorld(Bukkit.getWorld("ABW"), false);
           if(Bukkit.getWorld("ABW") == null){
             System.out.println("MINECRAFT LEBEN: World ABW is unloaded. Creatining a new World");
           } else {
             System.out.println("MINECRAFT LEBEN: Error: World ABW was not deleted");
           }
           
           deleteDir(new File("ABW"));
           if(Bukkit.getWorld("ABW") == null){
             System.out.println("MINECRAFT LEBEN: World ABW is unloaded. Creatining a new World(2)");
           } else {
             System.out.println("MINECRAFT LEBEN: Error: World ABW was not deleted(2)");
           }
         } else {
           System.out.println("MINECRAFT LEBEN: World ABW does not exists");
         }
         World w = Bukkit.createWorld(new WorldCreator("ABW").type(WorldType.NORMAL).environment(Environment.NORMAL));
         getConfig().set("Options.ABWSeed", w.getSeed());
         saveConfig();
         if(Bukkit.getWorld("Leben1")==null) {
           System.out.println("MINECRAFT LEBEN: World Leben1 does not exits. Creating one and copy the files in to them");
           Bukkit.createWorld(new WorldCreator("Leben1"));
         } else {
           System.out.println("MINECRAFT LEBEN: World Leben1 is fine");
         }
       }
         
       @Override
       public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
         if(cmd.getName().equalsIgnoreCase("bank")){
           if(args.length >= 1){
             
           } else {
             if(sender instanceof Player){
               Player p = (Player) sender;
               String s = Double.toString(bank.getMoney(p));
               s = s.replace(".", ",");
               p.sendMessage(bankprefix + "§3Du hast aktuell §5" + s + "€");
             } else {
               sender.sendMessage("§4Dieser Befehl kann nur von Spielern ausgeführt werden");
             }
           }
           
         } else if(cmd.getName().equalsIgnoreCase("toogleEveryBuild")) {
           if(sender.hasPermission("Leben.MapBuild.BuilAll")){
             if(args.length==0){
               
               if(everbuild.get(sender.getName())==null){
                 everbuild.put(sender.getName(), true);
                 sender.sendMessage(prefix + "§2Du kannst nun überall bauen");
               } else if(everbuild.get(sender.getName())==false){
                 everbuild.put(sender.getName(), true);
                 sender.sendMessage(prefix + "§3Du kannst nun überall bauen");
               } else {
                 everbuild.put(sender.getName(), false);
                 sender.sendMessage(prefix + "§cDu kannst nun NICHT mehr überall bauen");
               }
               
               
             } else if(args.length==1){
               if(everbuild.get(args[0])==null){
                 everbuild.put(args[0], true);
                 sender.sendMessage(prefix + "§6" + args[0] +"§2 kann nun überall bauen");
               } else if(everbuild.get(args[0])==false) {
                 everbuild.put(args[0], true);
                 sender.sendMessage(prefix + "§6" + args[0] +"§2 kann nun überall bauen");
               }else{
                 everbuild.put(args[0], false);
                 sender.sendMessage(prefix + "§6" + args[0] +"§c kann nun NICHT mehr überall bauen");
               }
             } else {
               sender.sendMessage(prefix + "§cEs sind maximal 2 Argumente erlaubt");
             }
           } else{
             sender.sendMessage("§cDu hast keine Berechtigungen dafür");
           }
         } else if(cmd.getName().equalsIgnoreCase("spawn")){
           Player p = (Player) sender;
           p.teleport(new Location(Bukkit.getWorld("Leben1"), 97 , 75 ,-154));
           p.sendMessage(prefix + "Du bist nun am Spawn");
         } else if(cmd.getName().equalsIgnoreCase("bauen")){
           
         }
         return true;
         
       }
       ////////////EVENTS/////////////////
       @EventHandler
       public void PlayerJoin(PlayerJoinEvent e){
         checkPlayerStatus(e.getPlayer());
         e.setJoinMessage("");
         getConfig().addDefault("Players." + e.getPlayer().getName() + ".Nick", false);
         saveConfig();
         if(getConfig().getBoolean("Players." + e.getPlayer().getName() + ".Nick")) {
           String nick = getNickList();
           Nicks.setNick(e.getPlayer().getUniqueId(), nick);
           e.getPlayer().sendMessage(nickprefix + "§7Du spielst als §e" + nick);
           Nicks.setSkin(e.getPlayer().getUniqueId(), "GommeHD");
           Bukkit.broadcastMessage(prefix + "§2↠ §6" + nick);
         } else {
           Bukkit.broadcastMessage(prefix + "§2↠ §6" + e.getPlayer().getName());
         }
         if(e.getPlayer().getLocation().getWorld().getName().equalsIgnoreCase("ABW")){
           if(getConfig().getString("Players." + e.getPlayer().getName() + ".ABWSeed").equalsIgnoreCase(getConfig().getString("Options.ABWSeed"))){
             
           } else {
             e.getPlayer().teleport(new Location(Bukkit.getWorld("Leben1"), 97 , 75 ,-154));
             e.getPlayer().sendMessage(serverprefix + "Du wurdest zum Spawn entsendet, da die Abbauwelt neu generiert wurde");
           }
         } else if(e.getPlayer().getLocation().getWorld().getName().equalsIgnoreCase("world")){
           e.getPlayer().teleport(new Location(Bukkit.getWorld("Leben1"), 97 , 75 ,-154));
           e.getPlayer().sendMessage(serverprefix + "Du wurdest zum Spawn entsendet, da die Abbauwelten neu generiert wurden");
         }
       }
       @EventHandler
       public void PlayerInteractEvent(org.bukkit.event.player.PlayerInteractEvent e) {
         Player p = e.getPlayer();
         if(e.getPlayer().getItemInHand()==null){
           
         } else if(e.getPlayer().getItemInHand().getType() == Material.BLAZE_ROD){
           if(p.hasPermission("Leben.Admin.isAdmin")) {
             e.setCancelled(true);
             Inventory inv = p.getServer().createInventory(null, 27, "Admin Tools");
             
             Wool w = new Wool();
             w.setColor(DyeColor.RED);
             ItemStack item = w.toItemStack(1);
             ItemMeta meta = item.getItemMeta();
             meta.setDisplayName("Alle Spieler ohne Rang kicken");
             item.setItemMeta(meta);
             inv.setItem(9, item);
             
             ItemStack item2 = new ItemStack(Material.WATCH);
             ItemMeta meta2 = item2.getItemMeta();
             meta2.setDisplayName("Auf Tag umstellen");
             item2.setItemMeta(meta2);
             inv.setItem(17, item2);
             
             ItemStack item3 = new ItemStack(Material.ARROW);
             ItemMeta meta3 = item3.getItemMeta();
             meta3.setDisplayName("Abbauwelt neugenerieren");
             item3.setItemMeta(meta3);
             inv.setItem(13, item3);
             
             ItemStack item4 = new ItemStack(Material.GOLDEN_APPLE);
             ItemMeta meta4 = item4.getItemMeta();
             meta4.setDisplayName("Herzen und Hunger heilen");
             item4.setItemMeta(meta4);
             inv.setItem(11, item4);
             
             ItemStack item5 = new ItemStack(Material.ENCHANTMENT_TABLE);
             ItemMeta meta5 = item5.getItemMeta();
             meta5.setDisplayName("Gamemode wechseln");
             item5.setItemMeta(meta5);
             inv.setItem(15, item5);
             
             ItemStack item6 = new ItemStack(Material.ENDER_PORTAL_FRAME);
             ItemMeta meta6 = item6.getItemMeta();
             meta6.setDisplayName("Teleporter öffnen");
             item6.setItemMeta(meta6);
             inv.setItem(10, item6);
             
             ItemStack item7 = new ItemStack(Material.DIAMOND_PICKAXE);
             ItemMeta meta7 = item7.getItemMeta();
             meta7.setDisplayName("Abbauregel umstellen");
             item7.setItemMeta(meta7);
             inv.setItem(16, item7);
             
             ItemStack item8 = new ItemStack(Material.EMERALD_ORE);
             ItemMeta meta8 = item8.getItemMeta();
             meta8.setDisplayName("Zu einer Welt teleportieren");
             item8.setItemMeta(meta8);
             inv.setItem(18, item8);
             
             ItemStack item9 = new ItemStack(Material.REDSTONE_ORE);
             ItemMeta meta9 = item9.getItemMeta();
             meta9.setDisplayName("Eine Welt löschen");
             item9.setItemMeta(meta9);
             inv.setItem(19, item9);
             
             if(getConfig().getBoolean("Players." + p.getName() + ".Nick")){
               ItemStack item10 = new ItemStack(Material.BARRIER);
               ItemMeta meta10 = item10.getItemMeta();
               meta10.setDisplayName("Auto Nick deaktivieren");
               item10.setItemMeta(meta10);
               inv.setItem(26, item10);
             } else {
               ItemStack item10 = new ItemStack(Material.NAME_TAG);
               ItemMeta meta10 = item10.getItemMeta();
               meta10.setDisplayName("Auto Nick aktivieren");
               item10.setItemMeta(meta10);
               inv.setItem(26, item10);
             }
             
             
             p.openInventory(inv);
           }
         }
         if(e.getAction() == (Action.RIGHT_CLICK_BLOCK) || e.getAction() == (Action.LEFT_CLICK_BLOCK)){
           if(e.getClickedBlock().getState() instanceof Sign){
             Sign s = (Sign) e.getClickedBlock().getState();
             if(s.getLine(0).equalsIgnoreCase("§8[§4Spar hier Bank§8]")){
               bank.pay(p, s);
             } else {
               
             }
           }
         }
       }
       @EventHandler
       public void onItemInvClick(InventoryClickEvent e){
         Player p = (Player) e.getWhoClicked();
         if(e.getInventory().getName().equalsIgnoreCase("Teleporter")){
           e.setCancelled(true);
           if(e.getCurrentItem().getType() == Material.WOOL){
             p.sendMessage(prefix + "Du wirst zum Spawn entsendet");
             p.teleport(new Location(Bukkit.getWorld("Leben1"), 97 , 75 ,-154));
           }else if(e.getCurrentItem().getType() == Material.GRASS){
             p.sendMessage(prefix + "Du bist nun in der Abbauwelt");
             getConfig().set("Players." +p.getName() + ".ABWSeed", Bukkit.getWorld("ABW").getSeed());
             //p.getLocation().setWorld(Bukkit.getWorld("ABW"));
             p.teleport(new Location(Bukkit.getWorld("ABW"), Bukkit.getWorld("ABW").getSpawnLocation().getX(), Bukkit.getWorld("ABW").getSpawnLocation().getY(), Bukkit.getWorld("ABW").getSpawnLocation().getZ()));
           } else if(e.getCurrentItem().getType() == Material.NETHER_BRICK){
             p.sendMessage(prefix + "Du bist nun in der §cNether §3Abbauwelt");
             p.teleport(new Location(Bukkit.getWorld("ABWNether"), Bukkit.getWorld("ABWNether").getSpawnLocation().getX(), Bukkit.getWorld("ABWNether").getSpawnLocation().getY(), Bukkit.getWorld("ABWNether").getSpawnLocation().getZ()));
           }
           saveConfig();
         } else if(e.getInventory().getName().equalsIgnoreCase("Admin Tools")){
           e.setCancelled(true);
           if(e.getCurrentItem().getType() == Material.WOOL){
             for(Player player : Bukkit.getOnlinePlayers()) {
               if(player.hasPermission("Leben.Admin.isAdmin")==false){
                 player.kickPlayer("§cEin Admin hat den Server geschlossen");
               }
             }
             p.sendMessage(serverprefix + "Aktion erfolgreich ausgeführt");
           }else if(e.getCurrentItem().getType() == Material.WATCH){
             p.getWorld().setTime(0);
             p.sendMessage(serverprefix + "Die Zeit in §6" + p.getWorld().getName() + "§3 wurde auf Tag gestellt");
           } else if(e.getCurrentItem().getType() == Material.ARROW){
             Bukkit.broadcastMessage(serverprefix + "§cDie Abbauwelt wird nun neu generiert. Das kann kurze Laags verursachen");
             if(Bukkit.getWorld("ABW") != null) {
               for(Player pp : Bukkit.getWorld("ABW").getPlayers()){
                 pp.kickPlayer(serverprefix + "§cDie Abbau Welt wird gerade neugeneriert. Bitte warte einen Augenblick");
               }   
               Bukkit.unloadWorld(Bukkit.getWorld("ABW"), false);
               if(Bukkit.getWorld("ABW") == null){
                 System.out.println("MINECRAFT LEBEN: World ABW is unloaded. Creatining a new World");
               } else {
                 System.out.println("MINECRAFT LEBEN: Error: World ABW was not deleted");
               }
               
               deleteDir(new File("ABW"));
               if(Bukkit.getWorld("ABW") == null){
                 System.out.println("MINECRAFT LEBEN: World ABW is unloaded. Creatining a new World(2)");
               } else {
                 System.out.println("MINECRAFT LEBEN: Error: World ABW was not deleted(2)");
               }
             } else {
               System.out.println("MINECRAFT LEBEN: World ABW does not exists");
             }
             World w = Bukkit.createWorld(new WorldCreator("ABW").type(WorldType.NORMAL).environment(Environment.NORMAL));
             getConfig().set("Options.ABWSeed", w.getSeed());
             saveConfig();
             Bukkit.broadcastMessage(serverprefix + "Die Abbauwelt wurde neuerstellt");
           } else if(e.getCurrentItem().getType() == Material.GOLDEN_APPLE){
             p.setHealth(20);
             p.setSaturation(20);
             p.setFoodLevel(20);
             p.sendMessage(prefix + "Du wurdest geheilt");
           } else if(e.getCurrentItem().getType() == Material.ENCHANTMENT_TABLE){
             if(p.getGameMode() == GameMode.SURVIVAL) {
               p.setGameMode(GameMode.CREATIVE);
               p.sendMessage(prefix + "Du bist nun im Kreativ Modus");
             } else {
               p.setGameMode(GameMode.SURVIVAL);
               p.sendMessage(prefix + "Du bist nun im Survival Modus");
             }
             p.closeInventory();
           } else if(e.getCurrentItem().getType() == Material.ENDER_PORTAL_FRAME) {
             p.closeInventory();
             Inventory inv = p.getServer().createInventory(null, 9, "Teleporter");
             Wool w = new Wool();
             w.setColor(DyeColor.RED);
             ItemStack item = w.toItemStack(1);
             ItemMeta meta = item.getItemMeta();
             meta.setDisplayName("Zum Spawn");
             item.setItemMeta(meta);
             inv.setItem(0, item);
             ItemStack item2 = new ItemStack(Material.NETHER_BRICK);
             ItemMeta meta2 = item2.getItemMeta();
             meta2.setDisplayName("Zum Nether");
             item2.setItemMeta(meta2);
             inv.setItem(4, item2);
             ItemStack item3 = new ItemStack(Material.GRASS);
             ItemMeta meta3 = item3.getItemMeta();
             meta3.setDisplayName("Zur Abbauwelt");
             item3.setItemMeta(meta3);
             inv.setItem(8, item3);
             //e.getPlayer().teleport(new Location(Bukkit.getWorld("Leben1"), 0,10,0));
             p.openInventory(inv);
           } else if(e.getCurrentItem().getType() == Material.DIAMOND_PICKAXE) {
             if(everbuild.get(p.getName())==null){
               everbuild.put(p.getName(), true);
               p.sendMessage(prefix + "§2Du kannst nun überall bauen");
             } else if(everbuild.get(p.getName())==false){
               everbuild.put(p.getName(), true);
               p.sendMessage(prefix + "§2Du kannst nun überall bauen");
             } else {
               everbuild.put(p.getName(), false);
               p.sendMessage(prefix + "§cDu kannst nun NICHT mehr überall bauen");
             }
           } else if(e.getCurrentItem().getType() == Material.EMERALD_ORE) {
             p.closeInventory();
             Inventory inv = p.getServer().createInventory(null, 27, "Welten betrachter");
             int i = 0;
             for(World w : Bukkit.getWorlds()){
               ItemStack item = new ItemStack(Material.DIAMOND);
               ItemMeta meta = item.getItemMeta();
               meta.setDisplayName(w.getName());
               item.setItemMeta(meta);
               inv.setItem(i, item);
               i += 1;
             }
             p.openInventory(inv);
               
           } else if(e.getCurrentItem().getType() == Material.REDSTONE_ORE) {
             p.closeInventory();
             Inventory inv = p.getServer().createInventory(null, 27, "Welten entfernen");
             int i = 0;
             for(World w : Bukkit.getWorlds()){
               ItemStack item = new ItemStack(Material.REDSTONE);
               ItemMeta meta = item.getItemMeta();
               meta.setDisplayName(w.getName());
               item.setItemMeta(meta);
               inv.setItem(i, item);
               i += 1;
             }
             p.openInventory(inv);
               
           }else if(e.getCurrentItem().getType() == Material.NAME_TAG)  {
             getConfig().set("Players." + p.getName() + ".Nick", true);
             p.sendMessage(nickprefix + "§2Du bist nun genickt, wenn du auf den Server joinst");
             saveConfig();
           }else if(e.getCurrentItem().getType() == Material.BARRIER)  {
             getConfig().set("Players." + p.getName() + ".Nick", false);
             p.sendMessage(nickprefix + "§cDu hast nun nie einen Nick");
             saveConfig();
           }
             
         } else if(e.getInventory().getName().equalsIgnoreCase("Welten betrachter")){
           e.setCancelled(true);
           World w = Bukkit.getWorld(e.getCurrentItem().getItemMeta().getDisplayName());
           p.teleport(new Location(w, w.getSpawnLocation().getX(), w.getSpawnLocation().getY(), w.getSpawnLocation().getZ()));
           p.sendMessage(serverprefix + "Du bist nun in §6" + w.getName());
         }else if(e.getInventory().getName().equalsIgnoreCase("Welten entfernen")){
           e.setCancelled(true);
           Inventory inv = p.getServer().createInventory(null, 27, "Bestätigung Welt Löschen");
           
           ItemStack item = new ItemStack(Material.SIGN);
           ItemMeta meta = item.getItemMeta();
           meta.setDisplayName(e.getCurrentItem().getItemMeta().getDisplayName());
           item.setItemMeta(meta);
           inv.setItem(4, item);
           
           Wool w = new Wool();
           w.setColor(DyeColor.GREEN);
           ItemStack item2 = w.toItemStack(1);
           ItemMeta meta2 = item2.getItemMeta();
           meta2.setDisplayName("Ja");
           item2.setItemMeta(meta2);
           inv.setItem(18, item2);
           
           Wool w2 = new Wool();
           w2.setColor(DyeColor.RED);
           ItemStack item3 = w2.toItemStack(1);
           ItemMeta meta3 = item3.getItemMeta();
           meta3.setDisplayName("Nein");
           item3.setItemMeta(meta3);
           inv.setItem(26, item3);
           p.closeInventory();
           p.openInventory(inv);
         } else if(e.getInventory().getName().equalsIgnoreCase("Bestätigung Welt Löschen")) {
           e.setCancelled(true);
           if(e.getCurrentItem().getType() == Material.WOOL) {
        ItemMeta meta = e.getCurrentItem().getItemMeta();
        if(meta.getDisplayName().equalsIgnoreCase("Ja")) {
           World w = Bukkit.getWorld(e.getInventory().getItem(4).getItemMeta().getDisplayName());
           for(Player pp : w.getPlayers()){
             pp.kickPlayer(serverprefix + "§cDeine aktuelle Welt wurde gelöscht. Bitte warte einen Augenblick");
           }
           if (w != null) {
             Bukkit.unloadWorld(w, false);
             this.deleteDir(new File(w.getName()));
           }
           p.closeInventory();
           p.sendMessage(serverprefix + "§cDie Welt §6" + w.getName() + "§c wurde gelöscht");
        } else if (meta.getDisplayName().equalsIgnoreCase("Nein")) {
           p.closeInventory();
        }
             
           }
           
         }
         
       }
       @EventHandler
       public void BlockBreak(BlockBreakEvent e){
         Block b = e.getPlayer().getLocation().getWorld().getBlockAt(e.getBlock().getX(), 2, e.getBlock().getZ());
         if(b.getState() instanceof Sign){
           Sign s = (Sign) b.getState();
           if(s.getLine(1).equalsIgnoreCase(e.getPlayer().getName())){
             
           } else {
             if(everbuild.get(e.getPlayer().getName())==null){
               e.setCancelled(true);
               e.getPlayer().sendMessage(prefix + "§cDas ist nicht dein Grundstück");
             } else if(everbuild.get(e.getPlayer().getName())==false){
               e.setCancelled(true);
               e.getPlayer().sendMessage(prefix + "§cDas ist nicht dein Grundstück");
             } else {
               e.getPlayer().sendMessage(prefix + "§cAchtung: §3Du baust auf fremdem Grundstück");
             }
             
           }
         } else {
           if(everbuild.get(e.getPlayer().getName())==null){
             e.setCancelled(true);
             //e.getPlayer().sendMessage(prefix + "§cDu kannst hier nichs platzieren");
           } else if(everbuild.get(e.getPlayer().getName())==false){
             e.setCancelled(true);
             //e.getPlayer().sendMessage(prefix + "§cDu kannst hier nichs platzieren");
           }
         }
         if(e.getPlayer().getLocation().getWorld().getName().equalsIgnoreCase("ABW")){
           e.setCancelled(false);
         }
         if(e.getPlayer().getLocation().getWorld().getName().equalsIgnoreCase("ABWNether")){
           e.setCancelled(false);
         }
       }
       @EventHandler
       public void BlockPlace(BlockPlaceEvent e){
         Block b = e.getPlayer().getLocation().getWorld().getBlockAt(e.getBlock().getX(), 2, e.getBlock().getZ());
         if(b.getState() instanceof Sign){
           Sign s = (Sign) b.getState();
           if(s.getLine(1).equalsIgnoreCase(e.getPlayer().getName())){
             
           } else {
             if(everbuild.get(e.getPlayer().getName())==null){
               e.setCancelled(true);
               e.getPlayer().sendMessage(prefix + "§cDas ist nicht dein Grundstück");
             } else if(everbuild.get(e.getPlayer().getName())==false){
               e.setCancelled(true);
               e.getPlayer().sendMessage(prefix + "§cDas ist nicht dein Grundstück");
             } else {
               e.getPlayer().sendMessage(prefix + "§cAchtung: §3Du baust auf fremdem Grundstück");
             }
             
           }
         } else {
           if(everbuild.get(e.getPlayer().getName())==null){
             e.setCancelled(true);
             //e.getPlayer().sendMessage(prefix + "§cDu kannst hier nichs platzieren");
           } else if(everbuild.get(e.getPlayer().getName())==false){
             e.setCancelled(true);
             //e.getPlayer().sendMessage(prefix + "§cDu kannst hier nichs platzieren");
           }
         }
         if(e.getPlayer().getLocation().getWorld().getName().equalsIgnoreCase("ABW")){
           e.setCancelled(false);
         }
         if(e.getPlayer().getLocation().getWorld().getName().equalsIgnoreCase("ABWNether")){
           e.setCancelled(false);
         }
       }
       @EventHandler
       public void PortalEnter(PlayerPortalEvent e) {
         if(e.getFrom().getWorld().getName().equalsIgnoreCase("Leben1")){
           if(e.getCause() == TeleportCause.END_PORTAL) {
             e.setCancelled(true);
             //e.getPlayer().sendMessage("Inevntory Name: " + e.getPlayer().getOpenInventory().getTopInventory().getName());
             if(e.getPlayer().getOpenInventory().getTopInventory().getName().equalsIgnoreCase("Teleporter")){
             
             } else {
               Inventory inv = e.getPlayer().getServer().createInventory(null, 9, "Teleporter");
               Wool w = new Wool();
               w.setColor(DyeColor.RED);
               ItemStack item = w.toItemStack(1);
               ItemMeta meta = item.getItemMeta();
               meta.setDisplayName("Zum Spawn");
               item.setItemMeta(meta);
               inv.setItem(0, item);
               ItemStack item2 = new ItemStack(Material.NETHER_BRICK);
               ItemMeta meta2 = item2.getItemMeta();
               meta2.setDisplayName("Zum Nether");
               item2.setItemMeta(meta2);
               inv.setItem(4, item2);
               ItemStack item3 = new ItemStack(Material.GRASS);
               ItemMeta meta3 = item3.getItemMeta();
               meta3.setDisplayName("Zur Abbauwelt");
               item3.setItemMeta(meta3);
               inv.setItem(8, item3);
               //e.getPlayer().teleport(new Location(Bukkit.getWorld("Leben1"), 0,10,0));
               e.getPlayer().openInventory(inv);   
             }
             
               
         
           }
           
         }
       }
       ////////////METHODEN/////////////////
       void checkPlayerStatus(Player p){
         
         if(getConfig().getString("Players." + p.getName() + ".Name")==null){
           getConfig().set("Players." + p.getName() + ".Name", p.getName());
           getConfig().set("Players." + p.getName() + ".FPS", 1100.00);
           p.sendMessage(prefix + "Wilkommen auf dem Leben Server");
           p.sendMessage(prefix + "Nutze §5/info§3 und§5 /help§3 für Informationen");
         }else if(getConfig().getString("Players." + p.getName() + ".Name").equalsIgnoreCase(p.getName())){
           p.sendMessage(prefix + "Wilkommen zurück §6" + p.getName());
         } else {
           getConfig().set("Players." + p.getName() + ".UUID", p.getName());
           getConfig().set("Players." + p.getName() + ".FPS", 1100.00);
           p.sendMessage(prefix + "Wilkommen auf dem Leben Server");
           p.sendMessage(prefix + "Nutze §5/info§3 und§5 /help§3 für Informationen");
           
         }
         saveConfig();
       }
      private void deleteDir(File dir) {
      for (File f : dir.listFiles()) {
      if (f.isDirectory()) {
      deleteDir(f);
      }
      f.delete();
      }
      dir.delete();
      }
      public String getNickList(){
         
         return "Notch";
         
      }
       ////////////STRUKTUR/////////////////
       public void load() {
         getServer().getPluginManager().registerEvents(this, this);
         
         getConfig().options().copyDefaults(true);
         getConfig().addDefault("Whitelist", false);
         saveConfig();
       }
       
    }
    
    
     
  2. Offline

    87pen

    Correct me if I am wrong but you just want to have spawn set at 0, 60, 0. Just write a method that teleports then to 0, 60, 0 if it's their first time joining. Since firstjoin is saved in the maps PlayerData folder.
     
  3. Offline

    Hausbauer

    If you create a new world in Singleplayer, the spawn location is for example x 156 z -452, or x -95 and z 89. But the spawn is every time I create a new world with my plugin at x 0 and z 0. So sometimes I spawn in the ocean or in a cave. Usually Minecraft is looking for a safe spawn to protect the player from spawning in a ocean, cava or lava. But that isn't working.
    And the y 60 is because Bukkit will never spawn you in a block, so y is the highest block. 2016-01-02_10.57.02.png
    Thats the location I get with
    Code:
    p.teleport(new Location(Bukkit.getWorld("ABW"), Bukkit.getWorld("ABW").getSpawnLocation().getX(), Bukkit.getWorld("ABW").getSpawnLocation().getY(), Bukkit.getWorld("ABW").getSpawnLocation().getZ()));
    
    Sry for my expression.

    Hausbauer
     
  4. Offline

    timtower Administrator Administrator Moderator

    @Hausbauer 1. p.teleport(Bukkit.getWorld("ABW").getSpawnLocation())
    2. That is because minecraft itself changes the spawn location, bukkit doesn't do that as you can see.
     
  5. Offline

    Hausbauer

    Hey guys,

    I tried to change the code, but it doesn´t changed anything. Even If I create a new world with Multivers Core, it has ever the spawn x 0 and z 0. So the issuses are by Bukkit/Spigot and not from my code.
    I also tried to change the Spigot Version. I tested Spigot 1.8.8, 1.8.7. The issuses are ever the same.
    Also the Java Version 8 is not the problem. With Java 7 there are the same issuses, but I need Java 8 for my plugin.

    More I don´t know. The Server is hosted at Nitrado.
    Even a complete reset of the server changed nothing.
    The default world 'world' has a normal spawn at x 133 and z 256

    Thank you for your help.

    Hausbauer20
     
Thread Status:
Not open for further replies.

Share This Page