diff --git a/WorldSystem/pom.xml b/WorldSystem/pom.xml index 62b8afb..fcc39dc 100644 --- a/WorldSystem/pom.xml +++ b/WorldSystem/pom.xml @@ -3,7 +3,7 @@ 4.0.0 de.butzlabben.world WorldSystem - 2.4.0.1 + 2.4.0.3 UTF-8 - diff --git a/WorldSystem/src/main/java/de/butzlabben/world/command/WSGetCommand.java b/WorldSystem/src/main/java/de/butzlabben/world/command/WSGetCommand.java index 37f085b..b3df24c 100644 --- a/WorldSystem/src/main/java/de/butzlabben/world/command/WSGetCommand.java +++ b/WorldSystem/src/main/java/de/butzlabben/world/command/WSGetCommand.java @@ -25,7 +25,7 @@ public class WSGetCommand implements CommandExecutor { return true; } Bukkit.getScheduler().runTask(WorldSystem.getInstance(), () -> { - if(SystemWorld.create(p)) + if (SystemWorld.create(p)) p.sendMessage(MessageConfig.getSettingUpWorld()); }); return true; diff --git a/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java b/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java index 95561ee..c05d0ca 100644 --- a/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java +++ b/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java @@ -26,9 +26,6 @@ public class DependenceConfig { } if (op == null) { op = Bukkit.getOfflinePlayer(s); - if (op == null) - return; - } this.op = op; } @@ -88,10 +85,10 @@ public class DependenceConfig { File dconfig = new File("plugins//WorldSystem//dependence.yml"); YamlConfiguration cfg = YamlConfiguration.loadConfiguration(dconfig); String uuid = op.getUniqueId().toString(); - String entry = cfg.getString("Dependences." + uuid + ".ActualName"); - if (entry != null) { + + //Fix for #40 + if (cfg.isInt("Dependences." + uuid + ".ID")) return true; - } return false; } diff --git a/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java b/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java index 516d745..6b1701f 100644 --- a/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java +++ b/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java @@ -12,6 +12,8 @@ import org.bukkit.OfflinePlayer; import org.bukkit.World; import org.bukkit.WorldCreator; import org.bukkit.entity.Player; +import org.bukkit.scheduler.BukkitRunnable; + import com.google.common.base.Preconditions; import de.butzlabben.world.WorldSystem; @@ -318,16 +320,23 @@ public class SystemWorld { SystemWorld sw = SystemWorld.getSystemWorld(worldname); sw.setCreating(true); - // For #16 - WorldSystem.getInstance().getAdapter().create(event.getWorldCreator(), sw, () -> { - if (p != null && p.isOnline()) { - p.sendMessage(MessageConfig.getWorldCreated()); - SettingsConfig.getCommandsonGet().stream() - .map(s -> s.replace("%player", p.getName()).replace("%world", sw.getName()).replace("%uuid", - p.getUniqueId().toString())) - .forEach(s -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), s)); + + //Run in scheduler so method returns without delay + new BukkitRunnable() { + @Override + public void run() { + // For #16 + WorldSystem.getInstance().getAdapter().create(event.getWorldCreator(), sw, () -> { + if (p != null && p.isOnline()) { + p.sendMessage(MessageConfig.getWorldCreated()); + SettingsConfig.getCommandsonGet().stream() + .map(s -> s.replace("%player", p.getName()).replace("%world", sw.getName()).replace("%uuid", + p.getUniqueId().toString())) + .forEach(s -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), s)); + } + }); } - }); + }.runTaskLater(WorldSystem.getInstance(), 1); } return true; }