Added ES + fixed SettingsConfig Bug + Added toggle bug prevention +

Removed old Worldname Support
This commit is contained in:
BuildTools 2018-04-30 15:42:00 +02:00
parent dc43044613
commit 89883777db
19 changed files with 112 additions and 94 deletions

View File

@ -11,3 +11,4 @@
/plugin.yml
/settings.yml
/pl.yml
/es.yml

View File

@ -21,7 +21,6 @@ import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.mojang.authlib.GameProfile;
@ -64,9 +63,7 @@ public class GameProfileBuilder {
if ((!forceNew) && (cache.containsKey(uuid))) {
return ((CachedProfile) cache.get(uuid)).profile;
}
JsonObject error = (JsonObject) new JsonParser()
.parse(new BufferedReader(new InputStreamReader(connection.getErrorStream())).readLine());
throw new IOException(error.get("error").getAsString() + ": " + error.get("errorMessage").getAsString());
throw new IOException("Could not connect to mojang servers for unknown player: " + uuid.toString());
}
public static GameProfile getProfile(UUID uuid, String name, String skin) {

View File

@ -171,6 +171,7 @@ public class WorldSystem extends JavaPlugin {
MessageConfig.checkConfig(new File(languages, "hu.yml"));
MessageConfig.checkConfig(new File(languages, "nl.yml"));
MessageConfig.checkConfig(new File(languages, "pl.yml"));
MessageConfig.checkConfig(new File(languages, "es.yml"));
MessageConfig.checkConfig(new File(languages, PluginConfig.getLanguage() + ".yml"));
if (!dconfig.exists()) {
try {

View File

@ -34,7 +34,7 @@ public class WSAddmemberCommand implements CommandExecutor{
if (a == null) {
p.sendMessage(MessageConfig.getNotRegistered());
return true;
} else if (WorldConfig2.isMember(a, new DependenceConfig(p).getWorldname()) || WorldConfig2.isMember(a, new DependenceConfig(p).getOldWorldname())) {
} else if (WorldConfig2.isMember(a, new DependenceConfig(p).getWorldname())) {
p.sendMessage(MessageConfig.getAlreadyMember());
return true;
}

View File

@ -133,7 +133,7 @@ public class WSCommand implements CommandExecutor, TabCompleter {
List<String> cmdHelp = MessageConfig.getCommandHelp();
cmdHelp.forEach(s -> cs.sendMessage(prefix + s));
if (cs.hasPermission("ws.delete"))
cs.sendMessage(prefix + "/ws delete §8- §7Will delete a World");
cs.sendMessage(MessageConfig.getDeleteCommandHelp());
return true;
}

View File

@ -41,7 +41,7 @@ public class WSDelmemberCommand implements CommandExecutor {
WorldConfig2.delMember(p, a);
if(a.isOnline()) {
Player t = (Player) a;
if(t.getWorld().getName().equals(new DependenceConfig(p).getWorldname()) || t.getWorld().getName().equals(new DependenceConfig(p).getOldWorldname())) {
if(t.getWorld().getName().equals(new DependenceConfig(p).getWorldname())) {
t.teleport(PluginConfig.getSpawn());
t.setGameMode(PluginConfig.getSpawnGamemode());
}

View File

@ -35,8 +35,6 @@ public class WSHomeCommand implements CommandExecutor {
SystemWorld.tryUnloadLater(Bukkit.getWorld(worldname));
}
SystemWorld sw = SystemWorld.getSystemWorld(dc.getWorldname());
if (sw == null)
sw = SystemWorld.getSystemWorld(dc.getOldWorldname());
if(sw == null) {
p.sendMessage(MessageConfig.getNoWorldOwn());
return true;

View File

@ -32,11 +32,6 @@ public class WSResetCommand implements CommandExecutor {
DependenceConfig dc = new DependenceConfig(p);
String worldname = dc.getWorldname();
SystemWorld sw = SystemWorld.getSystemWorld(worldname);
if(sw == null) {
worldname = dc.getOldWorldname();
sw = SystemWorld.getSystemWorld(worldname);
}
if (!dc.hasWorld()) {
p.sendMessage(MessageConfig.getNoWorldOwn());
return true;

View File

@ -31,10 +31,6 @@ public class WSTPCommand implements CommandExecutor {
return true;
}
SystemWorld sw = SystemWorld.getSystemWorld(worldname);
if(sw == null) {
worldname = dc.getOldWorldNamebyOfflinePlayer();
sw = SystemWorld.getSystemWorld(worldname);
}
WorldPlayer wp1 = new WorldPlayer(p, p.getWorld().getName());
WorldPlayer wp = new WorldPlayer(p, worldname);
if (p.getWorld().getName().equals(worldname)) {

View File

@ -10,7 +10,7 @@ import org.bukkit.entity.Player;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.wrapper.SystemWorld;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.wrapper.WorldPlayer;
public class WSToggleBuildCommand implements CommandExecutor {
@ -32,10 +32,11 @@ public class WSToggleBuildCommand implements CommandExecutor {
}
@SuppressWarnings("deprecation")
OfflinePlayer a = Bukkit.getOfflinePlayer(args[1]);
SystemWorld sw = SystemWorld.getSystemWorld(dc.getWorldname());
if (!WorldConfig2.isMember(a, dc.getWorldname())) {
p.sendMessage(MessageConfig.getNoMemberOwn());
return true;
}
WorldPlayer wp = new WorldPlayer(a, dc.getWorldname());
if(sw == null)
wp = new WorldPlayer(a, dc.getOldWorldname());
if (wp.toggleBuild()) {
p.sendMessage(MessageConfig.getToggleBuildEnabled().replaceAll("%player", a.getName()));
} else {

View File

@ -10,7 +10,7 @@ import org.bukkit.entity.Player;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.wrapper.SystemWorld;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.wrapper.WorldPlayer;
public class WSToggleGMCommand implements CommandExecutor {
@ -31,10 +31,11 @@ public class WSToggleGMCommand implements CommandExecutor {
}
@SuppressWarnings("deprecation")
OfflinePlayer a = Bukkit.getOfflinePlayer(args[1]);
SystemWorld sw = SystemWorld.getSystemWorld(dc.getWorldname());
if (!WorldConfig2.isMember(a, dc.getWorldname())) {
p.sendMessage(MessageConfig.getNoMemberOwn());
return true;
}
WorldPlayer wp = new WorldPlayer(a, dc.getWorldname());
if(sw == null)
wp = new WorldPlayer(a, dc.getOldWorldname());
if (wp.toggleGamemode()) {
p.sendMessage(MessageConfig.getToggleGameModeEnabled().replaceAll("%player", a.getName()));
} else {

View File

@ -10,7 +10,7 @@ import org.bukkit.entity.Player;
import de.butzlabben.world.WorldSystem;
import de.butzlabben.world.config.DependenceConfig;
import de.butzlabben.world.config.MessageConfig;
import de.butzlabben.world.wrapper.SystemWorld;
import de.butzlabben.world.config.WorldConfig2;
import de.butzlabben.world.wrapper.WorldPlayer;
public class WSToggleTPCommand implements CommandExecutor {
@ -32,10 +32,11 @@ public class WSToggleTPCommand implements CommandExecutor {
}
@SuppressWarnings("deprecation")
OfflinePlayer a = Bukkit.getOfflinePlayer(args[1]);
SystemWorld sw = SystemWorld.getSystemWorld(dc.getWorldname());
if (!WorldConfig2.isMember(a, dc.getWorldname())) {
p.sendMessage(MessageConfig.getNoMemberOwn());
return true;
}
WorldPlayer wp = new WorldPlayer(a, dc.getWorldname());
if(sw == null)
wp = new WorldPlayer(a, dc.getOldWorldname());
if (wp.toggleTeleport()) {
p.sendMessage(MessageConfig.getToggleTeleportEnabled().replaceAll("%player", a.getName()));
} else {

View File

@ -100,28 +100,6 @@ public class DependenceConfig {
String worldname = "ID" + id + "-" + uuid;
return worldname;
}
public String getOldWorldname() {
File dconfig = new File("plugins//WorldSystem//dependence.yml");
YamlConfiguration dcfg = YamlConfiguration.loadConfiguration(dconfig);
String uuid = op.getUniqueId().toString();
int id = dcfg.getInt("Dependences." + uuid + ".ID");
String worldname = "ID" + id + " " + uuid;
return worldname;
}
public String getOldWorldNamebyOfflinePlayer() {
String name = "";
String uuid = op.getUniqueId().toString();
File dconfig = new File("plugins//WorldSystem//dependence.yml");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(dconfig);
if (cfg.getString("Dependences." + uuid + ".ActualName") == null) {
name = "n";
} else {
name = "ID" + cfg.getInt("Dependences." + uuid + ".ID") + "-" + uuid;
}
return name;
}
public String getWorldNamebyOfflinePlayer() {
String name = "";
@ -131,7 +109,7 @@ public class DependenceConfig {
if (cfg.getString("Dependences." + uuid + ".ActualName") == null) {
name = "n";
} else {
name = "ID" + cfg.getInt("Dependences." + uuid + ".ID") + " " + uuid;
name = "ID" + cfg.getInt("Dependences." + uuid + ".ID") + "-" + uuid;
}
return name;
}

View File

@ -246,7 +246,7 @@ public class MessageConfig {
}
public static String getDeleteCommandHelp() {
return getMessage("command_help.delete", "/ws delete §8- §7Will delete a World");
return getMessage("command_help.delete_command", "/ws delete §8- §7Will delete a World");
}
public static List<String> getCommandHelp() {

View File

@ -32,7 +32,7 @@ public class SettingsConfig {
String worldname = w.getName();
UUID uuid = UUID.fromString(worldname.substring(worldname.length() - 36));
Player p = Bukkit.getPlayer(uuid);
if (p.isOnline()) {
if (p != null && p.isOnline()) {
if (p.hasPermission("ws.large")) {
size = cfg.getDouble("worldborder.large", 5000);
} else if (p.hasPermission("ws.big"))

View File

@ -120,24 +120,16 @@ public class WorldConfig2 {
DependenceConfig dc = new DependenceConfig(owner);
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getOldWorldname();
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()) {
worldname = dc.getOldWorldname();
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 + ".Actualname", target.getName());
cfg.set("Members." + uuid + ".Permissions.ChangeGM", true);
cfg.set("Members." + uuid + ".Permissions.CanBuild", true);
cfg.set("Members." + uuid + ".Permissions.CanTP", false);
@ -148,20 +140,12 @@ public class WorldConfig2 {
DependenceConfig dc = new DependenceConfig(owner);
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getOldWorldname();
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()) {
worldname = dc.getOldWorldname();
file = new File(PluginConfig.getWorlddir() + "/" + worldname + "/worldconfig.yml");
}
if (!file.exists())
throw new IllegalArgumentException("This World does not exist");
throw new IllegalArgumentException("This world does not exist");
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
String uuid = target.getUniqueId().toString();
cfg.set("Members." + uuid, null);
@ -180,19 +164,10 @@ public class WorldConfig2 {
}
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getOldWorldname();
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()) {
worldname = dc.getOldWorldname();
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"));
@ -221,18 +196,10 @@ public class WorldConfig2 {
}
String worldname = dc.getWorldname();
File file = new File(Bukkit.getWorldContainer(), worldname + "/worldconfig.yml");
if (!file.exists()) {
worldname = dc.getOldWorldname();
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()) {
worldname = dc.getOldWorldname();
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"));
@ -267,7 +234,9 @@ public class WorldConfig2 {
StringBuilder sb = new StringBuilder();
if (cfg.getConfigurationSection("Members") != null) {
for (String s : cfg.getConfigurationSection("Members").getKeys(false)) {
UUID uuid = UUID.fromString(cfg.getString("Members." + s + ".PlayerUUID"));
if (s == null)
continue;
UUID uuid = UUID.fromString(s);
OfflinePlayer op = Bukkit.getOfflinePlayer(uuid);
if (op == null || op.getName() == null) {
try {

View File

@ -26,7 +26,7 @@ public class PlayerOptionsGUI extends OrcInventory {
public final static HashMap<UUID, String> data = new HashMap<>();
public PlayerOptionsGUI() {
super("Player Options", GuiConfig.getRows("options.player"), false);
super("Player Options", GuiConfig.getRows("options.player"), true);
loadItem("build", "/ws togglebuild %data", new BuildStatus());
loadItem("gamemode", "/ws togglegm %data", new GamemodeStatus());
loadItem("teleport", "/ws toggletp %data", new TeleportStatus());

View File

@ -150,7 +150,7 @@ public class WorldPlayer {
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(worldconfig);
String uuid = p.getUniqueId().toString();
if (uuid.equals(cfg.getString("Members." + uuid + ".PlayerUUID"))) {
cfg.set("Members." + uuid + ".ActualName", p.getName());
cfg.set("Members." + uuid + ".Actualname", p.getName());
try {
cfg.save(worldconfig);
} catch (IOException e) {
@ -201,7 +201,7 @@ public class WorldPlayer {
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(worldconfig);
if (p.getUniqueId().toString().equals(cfg.getString("Informations.Owner.PlayerUUID"))) {
String playerName = p.getName();
cfg.set("Informations.Owner.ActualName", playerName);
cfg.set("Informations.Owner.Actualname", playerName);
try {
cfg.save(worldconfig);
} catch (IOException e) {

80
WorldSystem/src/es.yml Normal file
View File

@ -0,0 +1,80 @@
nopermission: "&cNo tienes permiso."
unknown_error: "&cAlgo salio mal..."
lagdetection: "Deteccion de lag en el mundo: &c%world"
wrong_usage: "&c%usage"
not_registered: "&cEse jugador no existe."
world:
reseted: "Tu mundo ha sido reiniciado."
still_loaded: "&cTu mundo aun esta cargando."
not_on: "&cNo estas en un mundo."
created: "Tu mundo esta listo. Ve a el con &a/ws home&6."
already_exists: "&cYa tienes un mundo."
delete:
own: "&cTu mundo ha sido eliminado"
other: "Has eliminado el mundo de &c%player&6."
does_not_exists:
own: "&cNo tienes un mundo."
other: "&cEse jugador no tiene un mundo."
setting_up: "&aConfigurando el mundo..."
playerlist: "Jugadores en este mundo: %players"
member:
removed: "Has eliminado a &c%player&6 de tu mundo."
added: "Has agregado a &c%player&6 a tu mundo."
already_added: "&cEse jugador ya es miembro de tu mundo."
not_added:
own: "&cEse jugador no es miembro de tu mundo."
other: "&cNo estas agregado a este mundo."
request:
expired: "&cTu solicitud ha expirado."
confirm: "&cPor favor confirma el reinicio de tu mundo con: %command"
until_expire: "&cTu solicitud expira en %time segundos."
already_sent: "&cYa has enviado una solicitud."
not_sent: "&cNo has enviado una solicitud."
invalid_input: "&c%input no es una entrada valida."
toggle:
gamemode:
enabled: "&a%player&6 ahora puede cambiar su modo de juego."
disabled: "&c%player&6 ya no puede cambiar su modo de juego."
teleport:
enabled: "&a%player&6 ahora puede teletransportarse."
disabled: "&c%player&6 ya no puede teletransportarse."
build:
enabled: "&a%player&6 ahora puede construir."
disabled: "&c%player&6 ya no puede construir"
fire:
enabled: "&aHas activado el fuego."
disabled: "&cHas desactivado el fuego."
tnt:
enabled: "&aHas activado la TNT."
disabled: "&cHas desactivado la TNT."
info:
owner: "Propietario: %data"
id: "ID: %data"
member: "Miembros: %data"
tnt: "TNT: %data"
fire: "Fuego: %data"
enabled: "&aSi"
disabled: "&cNo"
command_help:
list:
- "/ws get &8- &7Obten tu mundo"
- "/ws home &8- &7Ve a tu mundo"
- "/ws gui &8- &7Abre el menu de tu mundo"
- "/ws tp &8- &7Ve a un mundo especifico"
- "/ws addmember &8- &7Agrega jugadores a tu mundo"
- "/ws delmember &8- &7Elimina jugadores de tu mundo"
- "/ws leave &8- &7Salir de un mundo"
- "/ws tnt &8- &7Activa/Desactiva la TNT en tu mundo"
- "/ws fire &8- &7Activa/Desactiva el FUEGO en tu mundo"
- "/ws togglegm &8- &7Activa/Desactiva el cambio de modo"
- "/ws togglebuild &8- &7Activa/Desactiva la construccion"
- "/ws toggletp &8- &7Activa/Desactiva la teletransportacion"
- "/ws info &8- &7Muestra informacion del mundo"
- "/ws reset &8- &7Reinicia tu mundo"
delete_command: "/ws delete &8- &7Elimina tu mundo"