mirror of
https://github.com/trainerlord/WorldSystem.git
synced 2024-10-02 04:57:43 +02:00
Added WorldRemoveMemberEvent + Changed WorldConfig in SystemWorld,
WSAddmemberCommand, WSDelmemberCommand, WSFireCommand, WSTnTCommand. Config looks like it is working
This commit is contained in:
parent
ee8d79e159
commit
ce19aad211
@ -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();
|
||||
}
|
@ -6,6 +6,7 @@ package de.butzlabben.world.command;
|
||||
*/
|
||||
public class TabCompleter {
|
||||
|
||||
// TODO TabCompleter like on SeaGiants
|
||||
private TabCompleter() {
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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()));
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user