Added WorldRemoveMemberEvent + Changed WorldConfig in SystemWorld,

WSAddmemberCommand, WSDelmemberCommand, WSFireCommand, WSTnTCommand.
Config looks like it is working
This commit is contained in:
BuildTools 2018-05-14 16:25:30 +02:00
parent ee8d79e159
commit ce19aad211
9 changed files with 382 additions and 247 deletions

View File

@ -0,0 +1,43 @@
package de.butzlabben.event;
import java.util.UUID;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
/**
* @author Butzlabben
* @since 09.05.2018
*/
public class WorldRemovememberEvent extends WorldEvent {
private final String worldname;
private final UUID uuid;
private Player remover;
public WorldRemovememberEvent(UUID uuid, String worldname, Player remover) {
this.uuid = uuid;
this.worldname = worldname;
this.remover = remover;
}
public Player getRemoving() {
return remover;
}
public UUID getUUID() {
return uuid;
}
public String getWorldname() {
return worldname;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public final static HandlerList handlers = new HandlerList();
}

View File

@ -6,6 +6,7 @@ package de.butzlabben.world.command;
*/
public class TabCompleter {
// TODO TabCompleter like on SeaGiants
private TabCompleter() {
}

View File

@ -1,5 +1,7 @@
package de.butzlabben.world.command;
import java.io.IOException;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
@ -7,10 +9,12 @@ import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import de.butzlabben.event.WorldAddmemberEvent;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.config.PluginConfig;
import de.butzlabben.world.config.WorldConfig;
public class WSAddmemberCommand implements CommandExecutor{
@ -31,14 +35,26 @@ public class WSAddmemberCommand implements CommandExecutor{
}
@SuppressWarnings("deprecation")
OfflinePlayer a = Bukkit.getOfflinePlayer(args[1]);
WorldConfig wc = WorldConfig.getWorldConfig(dc.getWorldname());
if (a == null) {
p.sendMessage(MessageConfig.getNotRegistered());
return true;
} else if (WorldConfig2.isMember(a, new DependenceConfig(p).getWorldname())) {
} else if (wc.isMember(a.getUniqueId())) {
p.sendMessage(MessageConfig.getAlreadyMember());
return true;
}
WorldConfig2.addMember(p, a);
WorldAddmemberEvent event = new WorldAddmemberEvent(a.getUniqueId(), dc.getWorldname(), p);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
return true;
wc.addMember(a.getUniqueId());
try {
wc.save();
} catch (IOException e) {
p.sendMessage(PluginConfig.getPrefix() + "§cSomething went wrong");
e.printStackTrace();
}
p.sendMessage(MessageConfig.getMemberAdded().replaceAll("%player", a.getName()));
return true;
}

View File

@ -1,5 +1,7 @@
package de.butzlabben.world.command;
import java.io.IOException;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
@ -7,11 +9,12 @@ import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import de.butzlabben.event.WorldRemovememberEvent;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.config.PluginConfig;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.config.WorldConfig;
public class WSDelmemberCommand implements CommandExecutor {
@ -20,9 +23,10 @@ public class WSDelmemberCommand implements CommandExecutor {
if (!(cs instanceof Player))
return true;
Player p = (Player) cs;
if(args.length != 2) {
p.sendMessage(MessageConfig.getWrongUsage().replaceAll("%usage", WorldSystem.getInstance().getCommand("ws delmember").getUsage()));
return true;
if (args.length != 2) {
p.sendMessage(MessageConfig.getWrongUsage().replaceAll("%usage",
WorldSystem.getInstance().getCommand("ws delmember").getUsage()));
return true;
}
DependenceConfig dc = new DependenceConfig(p);
if (!dc.hasWorld()) {
@ -31,20 +35,32 @@ public class WSDelmemberCommand implements CommandExecutor {
}
@SuppressWarnings("deprecation")
OfflinePlayer a = Bukkit.getOfflinePlayer(args[1]);
WorldConfig wc = WorldConfig.getWorldConfig(dc.getWorldname());
if (a == null) {
p.sendMessage(MessageConfig.getNotRegistered());
return true;
} else if (!WorldConfig2.isMember(a, new DependenceConfig(p).getWorldname()) && !WorldConfig2.isMember(a, new DependenceConfig(p).getWorldname())) {
} else if (!wc.isMember(a.getUniqueId())) {
p.sendMessage(MessageConfig.getNoMemberOwn());
return true;
}
WorldConfig2.delMember(p, a);
if(a.isOnline()) {
WorldRemovememberEvent event = new WorldRemovememberEvent(a.getUniqueId(), dc.getWorldname(), p);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
return true;
wc.removeMember(a.getUniqueId());
if (a.isOnline()) {
Player t = (Player) a;
if(t.getWorld().getName().equals(new DependenceConfig(p).getWorldname())) {
if (t.getWorld().getName().equals(new DependenceConfig(p).getWorldname())) {
t.teleport(PluginConfig.getSpawn());
t.setGameMode(PluginConfig.getSpawnGamemode());
}
}
}
try {
wc.save();
} catch (IOException e) {
p.sendMessage(PluginConfig.getPrefix() + "§cSomething went wrong");
e.printStackTrace();
}
p.sendMessage(MessageConfig.getMemberRemoved().replaceAll("%player", a.getName()));
return true;

View File

@ -1,24 +1,52 @@
package de.butzlabben.world.command;
import java.io.IOException;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import de.butzlabben.event.WorldToggleFireEvent;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.config.PluginConfig;
import de.butzlabben.world.config.WorldConfig;
import de.butzlabben.world.wrapper.SystemWorld;
public class WSFireCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender cs, Command cmd, String label, String[] args) {
Player p = (Player) cs;
if(args.length > 1) {
p.sendMessage(MessageConfig.getWrongUsage().replaceAll("%usage", WorldSystem.getInstance().getCommand("ws fire").getUsage()));
if (args.length > 1) {
p.sendMessage(MessageConfig.getWrongUsage().replaceAll("%usage",
WorldSystem.getInstance().getCommand("ws fire").getUsage()));
return true;
}
WorldConfig2.changeFireDamage(p);
}
DependenceConfig dc = new DependenceConfig(p);
WorldConfig wc = WorldConfig.getWorldConfig(dc.getWorldname());
boolean fire = wc.isFire();
WorldToggleFireEvent event = new WorldToggleFireEvent(p, SystemWorld.getSystemWorld(dc.getWorldname()), fire);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
return true;
wc.setFire(p.getUniqueId(), !fire);
try {
wc.save();
} catch (IOException e) {
p.sendMessage(PluginConfig.getPrefix() + "§cSomething went wrong");
e.printStackTrace();
}
fire = wc.isFire();
if (fire) {
p.sendMessage(MessageConfig.getToggleFireEnabled());
} else {
p.sendMessage(MessageConfig.getToggleFireDisabled());
}
return true;
}
}

View File

@ -1,13 +1,20 @@
package de.butzlabben.world.command;
import java.io.IOException;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import de.butzlabben.event.WorldToggleTntEvent;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.config.PluginConfig;
import de.butzlabben.world.config.WorldConfig;
import de.butzlabben.world.wrapper.SystemWorld;
public class WSTnTCommand implements CommandExecutor {
@ -18,7 +25,28 @@ public class WSTnTCommand implements CommandExecutor {
p.sendMessage(MessageConfig.getWrongUsage().replaceAll("%usage", WorldSystem.getInstance().getCommand("ws tnt").getUsage()));
return true;
}
WorldConfig2.changeTnTDamage(p);
DependenceConfig dc = new DependenceConfig(p);
WorldConfig wc = WorldConfig.getWorldConfig(dc.getWorldname());
boolean tnt = wc.isTnt();
WorldToggleTntEvent event = new WorldToggleTntEvent(p, SystemWorld.getSystemWorld(dc.getWorldname()), tnt);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
return true;
wc.setTnt(p.getUniqueId(), !tnt);
try {
wc.save();
} catch (IOException e) {
p.sendMessage(PluginConfig.getPrefix() + "§cSomething went wrong");
e.printStackTrace();
}
tnt = wc.isTnt();
if (tnt) {
p.sendMessage(MessageConfig.getToggleTntEnabled());
} else {
p.sendMessage(MessageConfig.getToggleTntDisabled());
}
return true;
}
}

View File

@ -400,6 +400,7 @@ public class WorldConfig {
fire = cfg.getBoolean("Settings.Fire", true);
if (membersOldFormatted(cfg)) {
System.out.println("sfdjkl");
for (String s : cfg.getConfigurationSection("Members").getKeys(false)) {
HashSet<WorldPerm> perms = new HashSet<>();
perms.add(WorldPerm.MEMBER);
@ -437,7 +438,7 @@ public class WorldConfig {
if (cfg.getConfigurationSection("Members") == null)
return false;
String name = cfg.getString(
"Members." + cfg.getConfigurationSection("Members").getKeys(false).iterator().next() + ".ActualName");
"Members." + cfg.getConfigurationSection("Members").getKeys(false).iterator().next() + ".Actualname");
return name != null;
}
@ -460,7 +461,7 @@ public class WorldConfig {
/**
* Allow or Disallow Fire Damage on this world
* @param player
* @param tnt if tnt is enabled
* @param fire if fire is enabled
* @return if the player has the permissions to change the value
*/
public boolean setFire(UUID player, boolean fire) {

View File

@ -18,228 +18,228 @@ import de.butzlabben.world.wrapper.SystemWorld;
public class WorldConfig2 {
public static File getWorldFile(String worldname) {
File worldconfig = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!worldconfig.exists()) {
worldconfig = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
}
return worldconfig;
}
public static void saveConfig(YamlConfiguration cfg, File file) {
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public static HashMap<UUID, String> getMembersWithNames(String worldname) {
File file = getWorldFile(worldname);
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
if (cfg.getConfigurationSection("Members") == null)
return null;
HashMap<UUID, String> map = new HashMap<>();
for (String s : cfg.getConfigurationSection("Members").getKeys(false)) {
map.put(UUID.fromString(s), cfg.getString("Members." + s + ".Actualname"));
}
return map;
}
public static UUID[] getMembers(String worldname) {
File file = getWorldFile(worldname);
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
Set<String> players = cfg.getConfigurationSection("Members").getKeys(false);
UUID[] uuids = new UUID[players.size()];
int i = 0;
for (String s : players) {
uuids[i] = UUID.fromString(s);
i++;
}
return uuids;
}
public static boolean isMember(OfflinePlayer op, String worldname) {
File worldconfig = getWorldFile(worldname);
if (!worldconfig.exists())
return false;
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(worldconfig);
UUID uuid1 = UUID.fromString(cfg.getString("Informations.Owner.PlayerUUID"));
cfg.set("Informations.Owner.Actualname", Bukkit.getOfflinePlayer(uuid1).getName());
String uuid = op.getUniqueId().toString();
if (uuid.equals(cfg.getString("Members." + uuid + ".PlayerUUID"))) {
cfg.set("Members." + uuid + ".Actualname", op.getName());
saveConfig(cfg, worldconfig);
return true;
}
saveConfig(cfg, worldconfig);
return false;
}
public void createConfig(Player p) {
String uuid = p.getUniqueId().toString();
DependenceConfig dc = new DependenceConfig(p);
File file = new File(PluginConfig.getWorlddir() + "ID" + dc.getID() + "-" + uuid + "/worldconfig.yml");
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
System.err.println("Error while creating worldconfig for " + p.getName());
}
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
cfg.set("Informations.ID", dc.getID());
cfg.set("Informations.Owner.PlayerUUID", uuid);
cfg.set("Informations.Owner.Actualname", p.getName());
cfg.set("Settings.TNTDamage", false);
cfg.set("Settings.Fire", false);
cfg.set("Members", null);
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
System.err.println("Error while saving worldconfig for " + p.getName());
}
}
public static boolean hasPermission(UUID setter, UUID world, String permission) {
return true;
}
public static void addMember(Player owner, OfflinePlayer target) {
DependenceConfig dc = new DependenceConfig(owner);
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getWorldname();
file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
}
if (!file.exists())
throw new IllegalArgumentException("This World does not exist");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
String uuid = target.getUniqueId().toString();
cfg.set("Members." + uuid + ".PlayerUUID", uuid);
cfg.set("Members." + uuid + ".Actualname", target.getName());
cfg.set("Members." + uuid + ".Permissions.ChangeGM", true);
cfg.set("Members." + uuid + ".Permissions.CanBuild", true);
cfg.set("Members." + uuid + ".Permissions.CanTP", false);
saveConfig(cfg, file);
}
public static void delMember(Player owner, OfflinePlayer target) {
DependenceConfig dc = new DependenceConfig(owner);
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getWorldname();
file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
}
if (!file.exists())
throw new IllegalArgumentException("This world does not exist");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
String uuid = target.getUniqueId().toString();
cfg.set("Members." + uuid, null);
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void changeTnTDamage(Player p) {
DependenceConfig dc = new DependenceConfig(p);
if (!dc.hasWorld()) {
p.sendMessage(MessageConfig.getNoWorldOwn());
return;
}
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getWorldname();
file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
}
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
WorldToggleTntEvent event = new WorldToggleTntEvent(p, SystemWorld.getSystemWorld(worldname),
cfg.getBoolean("Settings.TNTDamage"));
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
return;
if (cfg.getBoolean("Settings.TNTDamage")) {
cfg.set("Settings.TNTDamage", false);
p.sendMessage(MessageConfig.getToggleTntDisabled());
} else {
cfg.set("Settings.TNTDamage", true);
p.sendMessage(MessageConfig.getToggleTntEnabled());
}
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void changeFireDamage(Player p) {
DependenceConfig dc = new DependenceConfig(p);
if (!dc.hasWorld()) {
p.sendMessage(MessageConfig.getNoWorldOwn());
return;
}
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getWorldname();
file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
}
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
WorldToggleFireEvent event = new WorldToggleFireEvent(p, SystemWorld.getSystemWorld(worldname),
cfg.getBoolean("Settings.TNTDamage"));
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
return;
if (cfg.getBoolean("Settings.Fire")) {
cfg.set("Settings.Fire", false);
p.sendMessage(MessageConfig.getToggleFireDisabled());
} else {
cfg.set("Settings.Fire", true);
p.sendMessage(MessageConfig.getToggleFireEnabled());
}
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void getInfos(Player p, String worldname) {
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists())
return;
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
p.sendMessage(MessageConfig.getInfoOwner().replaceAll("%data", cfg.getString("Informations.Owner.Actualname")));
p.sendMessage(MessageConfig.getInfoId().replaceAll("%data", String.valueOf(cfg.getInt("Informations.ID"))));
p.sendMessage(MessageConfig.getInfoTnt().replaceAll("%data", cfg.getBoolean("Settings.TNTDamage")
? MessageConfig.getInfoEnabled() : MessageConfig.getInfoDisabled()));
p.sendMessage(MessageConfig.getInfoFire().replaceAll("%data",
cfg.getBoolean("Settings.Fire") ? MessageConfig.getInfoEnabled() : MessageConfig.getInfoDisabled()));
StringBuilder sb = new StringBuilder();
if (cfg.getConfigurationSection("Members") != null) {
for (String s : cfg.getConfigurationSection("Members").getKeys(false)) {
if (s == null)
continue;
UUID uuid = UUID.fromString(s);
OfflinePlayer op = Bukkit.getOfflinePlayer(uuid);
if (op == null || op.getName() == null) {
try {
GameProfile prof = de.butzlabben.world.GameProfileBuilder.fetch(uuid);
sb.append(prof.getName()).append(" ");
} catch (IOException e) {
e.printStackTrace();
}
} else
sb.append(op.getName()).append(" ");
}
p.sendMessage(MessageConfig.getInfoMember().replaceAll("%data", sb.toString().trim()));
}
}
// public static File getWorldFile(String worldname) {
// File worldconfig = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
// if (!worldconfig.exists()) {
// worldconfig = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
// }
// return worldconfig;
// }
//
// public static void saveConfig(YamlConfiguration cfg, File file) {
// try {
// cfg.save(file);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//
// public static HashMap<UUID, String> getMembersWithNames(String worldname) {
// File file = getWorldFile(worldname);
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// if (cfg.getConfigurationSection("Members") == null)
// return null;
// HashMap<UUID, String> map = new HashMap<>();
// for (String s : cfg.getConfigurationSection("Members").getKeys(false)) {
// map.put(UUID.fromString(s), cfg.getString("Members." + s + ".Actualname"));
// }
// return map;
// }
//
// public static UUID[] getMembers(String worldname) {
// File file = getWorldFile(worldname);
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// Set<String> players = cfg.getConfigurationSection("Members").getKeys(false);
// UUID[] uuids = new UUID[players.size()];
// int i = 0;
// for (String s : players) {
// uuids[i] = UUID.fromString(s);
// i++;
// }
// return uuids;
// }
//
// public static boolean isMember(OfflinePlayer op, String worldname) {
// File worldconfig = getWorldFile(worldname);
// if (!worldconfig.exists())
// return false;
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(worldconfig);
// UUID uuid1 = UUID.fromString(cfg.getString("Informations.Owner.PlayerUUID"));
// cfg.set("Informations.Owner.Actualname", Bukkit.getOfflinePlayer(uuid1).getName());
// String uuid = op.getUniqueId().toString();
// if (uuid.equals(cfg.getString("Members." + uuid + ".PlayerUUID"))) {
// cfg.set("Members." + uuid + ".Actualname", op.getName());
// saveConfig(cfg, worldconfig);
// return true;
// }
// saveConfig(cfg, worldconfig);
// return false;
// }
//
// public void createConfig(Player p) {
// String uuid = p.getUniqueId().toString();
// DependenceConfig dc = new DependenceConfig(p);
// File file = new File(PluginConfig.getWorlddir() + "ID" + dc.getID() + "-" + uuid + "/worldconfig.yml");
// try {
// file.createNewFile();
// } catch (IOException e1) {
// e1.printStackTrace();
// System.err.println("Error while creating worldconfig for " + p.getName());
// }
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// cfg.set("Informations.ID", dc.getID());
// cfg.set("Informations.Owner.PlayerUUID", uuid);
// cfg.set("Informations.Owner.Actualname", p.getName());
// cfg.set("Settings.TNTDamage", false);
// cfg.set("Settings.Fire", false);
// cfg.set("Members", null);
// try {
// cfg.save(file);
// } catch (IOException e) {
// e.printStackTrace();
// System.err.println("Error while saving worldconfig for " + p.getName());
// }
// }
//
// public static boolean hasPermission(UUID setter, UUID world, String permission) {
//
// return true;
// }
//
// public static void addMember(Player owner, OfflinePlayer target) {
// DependenceConfig dc = new DependenceConfig(owner);
// String worldname = dc.getWorldname();
// File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
// if (!file.exists()) {
// worldname = dc.getWorldname();
// file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
// }
// if (!file.exists())
// throw new IllegalArgumentException("This World does not exist");
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// String uuid = target.getUniqueId().toString();
// cfg.set("Members." + uuid + ".PlayerUUID", uuid);
// cfg.set("Members." + uuid + ".Actualname", target.getName());
// cfg.set("Members." + uuid + ".Permissions.ChangeGM", true);
// cfg.set("Members." + uuid + ".Permissions.CanBuild", true);
// cfg.set("Members." + uuid + ".Permissions.CanTP", false);
// saveConfig(cfg, file);
// }
//
// public static void delMember(Player owner, OfflinePlayer target) {
// DependenceConfig dc = new DependenceConfig(owner);
// String worldname = dc.getWorldname();
// File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
// if (!file.exists()) {
// worldname = dc.getWorldname();
// file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
// }
// if (!file.exists())
// throw new IllegalArgumentException("This world does not exist");
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// String uuid = target.getUniqueId().toString();
// cfg.set("Members." + uuid, null);
// try {
// cfg.save(file);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//
// public static void changeTnTDamage(Player p) {
// DependenceConfig dc = new DependenceConfig(p);
// if (!dc.hasWorld()) {
// p.sendMessage(MessageConfig.getNoWorldOwn());
// return;
// }
// String worldname = dc.getWorldname();
// File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
// if (!file.exists()) {
// worldname = dc.getWorldname();
// file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
// }
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// WorldToggleTntEvent event = new WorldToggleTntEvent(p, SystemWorld.getSystemWorld(worldname),
// cfg.getBoolean("Settings.TNTDamage"));
// Bukkit.getPluginManager().callEvent(event);
// if (event.isCancelled())
// return;
// if (cfg.getBoolean("Settings.TNTDamage")) {
// cfg.set("Settings.TNTDamage", false);
// p.sendMessage(MessageConfig.getToggleTntDisabled());
// } else {
// cfg.set("Settings.TNTDamage", true);
// p.sendMessage(MessageConfig.getToggleTntEnabled());
// }
// try {
// cfg.save(file);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//
// public static void changeFireDamage(Player p) {
// DependenceConfig dc = new DependenceConfig(p);
// if (!dc.hasWorld()) {
// p.sendMessage(MessageConfig.getNoWorldOwn());
// return;
// }
// String worldname = dc.getWorldname();
// File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
// if (!file.exists()) {
// worldname = dc.getWorldname();
// file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
// }
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// WorldToggleFireEvent event = new WorldToggleFireEvent(p, SystemWorld.getSystemWorld(worldname),
// cfg.getBoolean("Settings.TNTDamage"));
// Bukkit.getPluginManager().callEvent(event);
// if (event.isCancelled())
// return;
// if (cfg.getBoolean("Settings.Fire")) {
// cfg.set("Settings.Fire", false);
// p.sendMessage(MessageConfig.getToggleFireDisabled());
// } else {
// cfg.set("Settings.Fire", true);
// p.sendMessage(MessageConfig.getToggleFireEnabled());
// }
// try {
// cfg.save(file);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//
// public static void getInfos(Player p, String worldname) {
// File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
// if (!file.exists())
// return;
// YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
// p.sendMessage(MessageConfig.getInfoOwner().replaceAll("%data", cfg.getString("Informations.Owner.Actualname")));
// p.sendMessage(MessageConfig.getInfoId().replaceAll("%data", String.valueOf(cfg.getInt("Informations.ID"))));
// p.sendMessage(MessageConfig.getInfoTnt().replaceAll("%data", cfg.getBoolean("Settings.TNTDamage")
// ? MessageConfig.getInfoEnabled() : MessageConfig.getInfoDisabled()));
// p.sendMessage(MessageConfig.getInfoFire().replaceAll("%data",
// cfg.getBoolean("Settings.Fire") ? MessageConfig.getInfoEnabled() : MessageConfig.getInfoDisabled()));
// StringBuilder sb = new StringBuilder();
// if (cfg.getConfigurationSection("Members") != null) {
// for (String s : cfg.getConfigurationSection("Members").getKeys(false)) {
// if (s == null)
// continue;
// UUID uuid = UUID.fromString(s);
// OfflinePlayer op = Bukkit.getOfflinePlayer(uuid);
// if (op == null || op.getName() == null) {
// try {
// GameProfile prof = de.butzlabben.world.GameProfileBuilder.fetch(uuid);
// sb.append(prof.getName()).append(" ");
// } catch (IOException e) {
// e.printStackTrace();
// }
// } else
// sb.append(op.getName()).append(" ");
//
// }
// p.sendMessage(MessageConfig.getInfoMember().replaceAll("%data", sb.toString().trim()));
// }
// }
}

View File

@ -21,6 +21,7 @@ import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.config.PluginConfig;
import de.butzlabben.world.config.WorldConfig;
import de.butzlabben.world.config.WorldConfig2;
/**
@ -281,8 +282,9 @@ public class SystemWorld {
System.err.println("Couldn't create world for " + p.getName());
e.printStackTrace();
}
WorldConfig2 wc2 = new WorldConfig2();
wc2.createConfig(p);
WorldConfig.create(p);
if (PluginConfig.getExampleWorldName() == null || PluginConfig.getExampleWorldName().equals("")
|| !exampleworld.exists()) {
// Move World into Server dir