diff --git a/.classpath b/.classpath deleted file mode 100644 index 32cc44bd..00000000 --- a/.classpath +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8383394b..e80b9dd8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ target/ release/ bin/ .vs/ +.idea/ deps/craftbukkit.jar *~ *.lock @@ -12,3 +13,6 @@ deps/craftbukkit.jar *.swp *.out !*.elt +*.iml +*.classpath +*.project \ No newline at end of file diff --git a/.project b/.project deleted file mode 100644 index 21d55bc5..00000000 --- a/.project +++ /dev/null @@ -1,14 +0,0 @@ - - - JSONAPI - NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. - - - - org.eclipse.jdt.core.javabuilder - - - - org.eclipse.jdt.core.javanature - - \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 7c3964fc..7e47e863 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ +dist: trusty language: java -jdk: - - oraclejdk7 +jdk: oraclejdk8 install: true -script: ./complete_build \ No newline at end of file diff --git a/SpigotBuildTools/BuildTools.jar b/SpigotBuildTools/BuildTools.jar deleted file mode 100644 index 94c21cc7..00000000 Binary files a/SpigotBuildTools/BuildTools.jar and /dev/null differ diff --git a/complete_build b/complete_build deleted file mode 100755 index bd4834c5..00000000 --- a/complete_build +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Generated with the command ./jsonapi build all - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR - -echo "Removing old builds" -rm -rf builds/* - - -echo "Building 1.11.2-R0.1-SNAPSHOT" -mvn clean install $@ -DmcPackage=v1_11_R1 -DspigotVersion=1.11.2-R0.1-SNAPSHOT -Dmc1120rNewer=no - -rc=$? -if [[ $rc != 0 ]] ; then - exit $rc -fi - -echo "Building 1.12-R0.1-SNAPSHOT" -mvn clean install $@ -DmcPackage=v1_12_R1 -DspigotVersion=1.12-R0.1-SNAPSHOT -Dmc1120rNewer=yes - -rc=$? -if [[ $rc != 0 ]] ; then - exit $rc -fi diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml deleted file mode 100644 index 1e55c738..00000000 --- a/dependency-reduced-pom.xml +++ /dev/null @@ -1,231 +0,0 @@ - - - 4.0.0 - com.alecgorge.minecraft.jsonapi - JSONAPI - JSONAPI - bleeding - http://github.com/alecgorge/jsonapi - - scm:git:git://github.com/alecgorge/jsonapi.git - scm:git:git@github.com:alecgorge/jsonapi.git - https://github.com/alecgorge/jsonapi/tree/master/ - - - Alec Gorge - http://alecgorge.com - - - src/main/java - - - src/resources - - plugin.yml - permission_nodes.yml - groups.json - users.yml - groups.yml - config.yml - config_rtk.yml - methods.json - methods/* - jsonapi4/methods/* - - - - JSONAPI - - - com.igormaznitsa - jcp - 5.3.2 - - - generate-sources - - preprocess - - - - - - - mcversion - ${mcPackage} - - - mc16OrNewer - ${mc16OrNewer} - - - mc17OrNewer - ${mc17OrNewer} - - - jsonapiDebug - ${jsonapiDebug} - - - - - - maven-compiler-plugin - 2.3.2 - - 1.6 - 1.6 - UTF-8 - true - lines,vars,source - - - - maven-dependency-plugin - - - install-test-jar - install - - copy - - - - - com.alecgorge.minecraft.jsonapi - JSONAPI - bleeding - - - test/plugins - true - - - - install-jar - install - - copy - - - - - com.alecgorge.minecraft.jsonapi - JSONAPI - bleeding - - - builds/Minecraft-${cbVersion} - true - - - - copy-dependencies - package - - copy-dependencies - - - ${basedir}/test - craftbukkit - true - - - - - - maven-resources-plugin - 2.3 - - - copy-prod-resources - process-resources - - copy-resources - - - false - ${basedir}/test/plugins/JSONAPI - - - src/resources - - config.yml - users.yml - groups.yml - groups.json - methods.json - methods/* - - - - - - - - - maven-shade-plugin - 2.2 - - - package - - shade - - - true - - - com.google.code.gson:gson - - - - - - - - - - - - always - - - always - - bukkit-repo - http://repo.bukkit.org/content/groups/public - - - vault-repo - http://ci.herocraftonline.com/plugin/repository/everything - - - - - bukkit-plugins - http://repo.bukkit.org/content/groups/public - - - - - org.bukkit - craftbukkit - 1.7.2-R0.3-SNAPSHOT - compile - - - com.igormaznitsa - jcp - 5.3.2 - compile - - - net.milkbowl.vault - Vault - 1.2.27 - compile - - - - diff --git a/eclipse_111 b/eclipse_111 deleted file mode 100755 index 2f012cf9..00000000 --- a/eclipse_111 +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -# Generated with the command ./jsonapi eclipse 1.11.2 - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR -mvn eclipse:eclipse $@ -DmcPackage=v1_11_R1 -DspigotVersion=1.11.2-R0.1-SNAPSHOT -Dmc1120rNewer=no diff --git a/eclipse_112 b/eclipse_112 deleted file mode 100755 index 76aa4c22..00000000 --- a/eclipse_112 +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -# Generated with the command ./jsonapi eclipse 1.12 - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR -mvn eclipse:eclipse $@ -DmcPackage=v1_12_R1 -DspigotVersion=1.12-R0.1-SNAPSHOT -Dmc1120rNewer=yes diff --git a/jsonapi b/jsonapi deleted file mode 100755 index 165c6dba..00000000 --- a/jsonapi +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/env coffee - -DEFAULT_VERSION = "1.6.4" - -usage = """ -USAGE: - -# List all available versions -jsonapi versions - -# This screen -jsonapi - -# Build all versions and put jars in builds/**/JSONAPI.jar -jsonapi build - -# Build a specific version -jsonapi build 1.6.4 - -# Test the default version -jsonapi test - -# Test a specific version -jsonapi test 1.6.2 -""" - -versions = {} - -# versions['1.4.7'] = package: 'v1_4_R1', cb_version: '1.4.7-R1.0' -# versions['1.5.2'] = package: 'v1_5_R3', cb_version: '1.5.2-R1.0' -# versions['1.6.2'] = package: 'v1_6_R2', cb_version: '1.6.2-R1.0' -# versions['1.6.4'] = package: 'v1_6_R3', cb_version: '1.6.4-R2.0' -# versions['1.7.2'] = package: 'v1_7_R1', cb_version: '1.7.2-R0.3' -# versions['1.7.5'] = package: 'v1_7_R2', cb_version: '1.7.5-R0.1-SNAPSHOT' -# versions['1.7.9'] = package: 'v1_7_R3', cb_version: '1.7.9-R0.2' -# versions['1.7.10'] = package: 'v1_7_R4', cb_version: '1.7.10-R0.1-SNAPSHOT' -# versions['1.8.0'] = package: 'v1_8_R1', cb_version: '1.8-R0.1-SNAPSHOT' -# versions['1.8.8'] = package: 'v1_8_R3', cb_version: '1.8.8-R0.1-SNAPSHOT' -# versions['1.9'] = package: 'v1_9_R1', cb_version: '1.9-SNAPSHOT' -# versions['1.9.2'] = package: 'v1_9_R1', cb_version: '1.9.2-R0.1-SNAPSHOT' -# versions['1.9.4'] = package: 'v1_9_R2', cb_version: '1.9.4-R0.1-SNAPSHOT' -# versions['1.10.2'] = package: 'v1_10_R1', cb_version: '1.10.2-R0.1-SNAPSHOT' -versions['1.11.2'] = package: 'v1_11_R1', cb_version: '1.11.2-R0.1-SNAPSHOT' -versions['1.12'] = package: 'v1_12_R1', cb_version: '1.12-R0.1-SNAPSHOT' - -# versions['1.4'] = versions['1.4.7'] -# versions['1.5'] = versions['1.5.2'] -# versions['1.6'] = versions['1.6.4'] -# versions['1.7'] = versions['1.7.10'] -# versions['1.8'] = versions['1.8.0'] -# versions['1.8.8'] = versions['1.8.8'] -# versions['1.9'] = versions['1.9'] -# versions['1.10'] = versions['1.10.2'] - -available_versions = Object.keys(versions) -build_cmd = (ver, cmd = "clean install") -> - v = ver.cb_version.split('-')[0].split('.').map (v) -> parseInt v - - mc16OrNewer = if v[0] >= 1 and v[1] >= 6 then "yes" else "no" - mc17OrNewer = if v[0] >= 1 and v[1] >= 7 then "yes" else "no" - mc179OrNewer = if v[0] >= 1 and v[1] >= 7 and v[2] >= 9 then "yes" else "no" - mc1120rNewer = if v[0] >= 1 and v[1] >= 12 then "yes" else "no" - return "mvn #{cmd} $@ -DmcPackage=#{ver.package} -DspigotVersion=#{ver.cb_version} -Dmc1120rNewer=#{mc1120rNewer}" -eclipse_cmd = (ver) -> - return build_cmd ver, "eclipse:eclipse" -build = (to_build) -> - return to_build.map (ver) -> - return """ - -echo "Building #{ver.cb_version}" -#{build_cmd(ver)} - -rc=$? -if [[ $rc != 0 ]] ; then - exit $rc -fi -""" - -command = process.argv[2] - -if command is "build" - version = process.argv[3] or "all" - - to_build = [] - if version is "all" - to_build = Object.keys(versions).filter((v) -> v.length > 3).map((v) -> return versions[v]) - else - to_build.push versions[version] - - if to_build.length > 0 - console.log """ -#!/usr/bin/env bash -# Generated with the command ./jsonapi build #{version} - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR - -echo "Removing old builds" -rm -rf builds/* - -""" - console.log build(to_build).join("\n") - else - console.error "#{version} doesn't exist. Available versions: #{available_versions.join(', ')}" -else if command is "test" - version = process.argv[3] or DEFAULT_VERSION - ver = versions[version] - - if not ver - console.error "#{version} doesn't exist. Available versions: #{available_versions.join(', ')}" - else - console.log """ -#!/usr/bin/env bash -# Generated with the command ./jsonapi test #{version} - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR -#{build_cmd(ver)} && cd test/ && java -Xmx256M -jar spigot-#{ver.cb_version}.jar -cd $DIR -""" -else if command is "eclipse" - version = process.argv[3] or DEFAULT_VERSION - ver = versions[version] - - if not ver - console.error "#{version} doesn't exist. Available versions: #{available_versions.join(', ')}" - else - console.log """ -#!/usr/bin/env bash -# Generated with the command ./jsonapi eclipse #{version} - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd $DIR -#{eclipse_cmd(ver)} -""" - -else if command is "versions" - console.log available_versions.join("\n") -else - console.error usage diff --git a/jsonapi/pom.xml b/jsonapi/pom.xml new file mode 100644 index 00000000..7047ff24 --- /dev/null +++ b/jsonapi/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + com.alecgorge.minecraft.jsonapi + jsonapi + jar + 5.10.0-mc1.15.2-R0.1-SNAPSHOT + JSONAPI + http://github.com/alecgorge/jsonapi + + + com.alecgorge.minecraft + jsonapi + 5.10.0-mc1.15.2-R0.1-SNAPSHOT + + + + 1.15.2-R0.1-SNAPSHOT + + + + + org.spigotmc + spigot-api + ${spigotVersion} + + + org.spigotmc + spigot + ${spigotVersion} + + + io.netty + netty-all + 4.1.49.Final + + + net.ess3 + EssentialsX + 2.16.1 + provided + + + com.igormaznitsa + jcp + 5.3.2 + + + net.milkbowl.vault + Vault + 1.7.3 + + + com.comphenix.protocol + ProtocolLib-API + 4.4.0 + + + + JSONAPI + src/main/java + + + src/resources + + plugin.yml + permission_nodes.yml + groups.json + users.yml + groups.yml + config.yml + config_rtk.yml + methods.json + methods/* + jsonapi4/methods/* + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + UTF-8 + true + lines,vars,source + + + + + diff --git a/src/main/java/com/alecgorge/java/http/HttpRequestSocketHandler.java b/jsonapi/src/main/java/com/alecgorge/java/http/HttpRequestSocketHandler.java similarity index 100% rename from src/main/java/com/alecgorge/java/http/HttpRequestSocketHandler.java rename to jsonapi/src/main/java/com/alecgorge/java/http/HttpRequestSocketHandler.java diff --git a/src/main/java/com/alecgorge/java/http/HttpResponse.java b/jsonapi/src/main/java/com/alecgorge/java/http/HttpResponse.java similarity index 100% rename from src/main/java/com/alecgorge/java/http/HttpResponse.java rename to jsonapi/src/main/java/com/alecgorge/java/http/HttpResponse.java diff --git a/src/main/java/com/alecgorge/java/http/HttpRoute.java b/jsonapi/src/main/java/com/alecgorge/java/http/HttpRoute.java similarity index 100% rename from src/main/java/com/alecgorge/java/http/HttpRoute.java rename to jsonapi/src/main/java/com/alecgorge/java/http/HttpRoute.java diff --git a/src/main/java/com/alecgorge/java/http/HttpServer.java b/jsonapi/src/main/java/com/alecgorge/java/http/HttpServer.java similarity index 100% rename from src/main/java/com/alecgorge/java/http/HttpServer.java rename to jsonapi/src/main/java/com/alecgorge/java/http/HttpServer.java diff --git a/src/main/java/com/alecgorge/java/http/MutableHttpRequest.java b/jsonapi/src/main/java/com/alecgorge/java/http/MutableHttpRequest.java similarity index 100% rename from src/main/java/com/alecgorge/java/http/MutableHttpRequest.java rename to jsonapi/src/main/java/com/alecgorge/java/http/MutableHttpRequest.java diff --git a/src/main/java/com/alecgorge/java/http/MutableHttpResponse.java b/jsonapi/src/main/java/com/alecgorge/java/http/MutableHttpResponse.java similarity index 100% rename from src/main/java/com/alecgorge/java/http/MutableHttpResponse.java rename to jsonapi/src/main/java/com/alecgorge/java/http/MutableHttpResponse.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/APIException.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/APIException.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/APIException.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/APIException.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPI.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPI.java similarity index 80% rename from src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPI.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPI.java index 494ca76a..43864d83 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPI.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPI.java @@ -81,6 +81,7 @@ public class JSONAPI extends JavaPlugin implements JSONAPIMethodProvider { public JSONWebSocketServer jsonWebSocketServer; public JSONWebSocketServer sslJsonWebSocketServer; public JSONAPIMessageListener jsonMessageListener = new JSONAPIMessageListener(this); + public boolean checkPortsForwading = false; private StreamManager streamManager = new StreamManager(); @@ -119,11 +120,8 @@ public class JSONAPI extends JavaPlugin implements JSONAPIMethodProvider { JSONAPINettyInjector injector = null; -//#if jsonapiDebug=="yes" -//$ public static boolean shouldDebug = true; -//#else public static boolean shouldDebug = false; -//#endif + public static void dbug(Object objects) { if(JSONAPI.shouldDebug) { System.out.println(objects); @@ -207,81 +205,7 @@ public ClassLoader myClassLoader() { } public void onEnable() { - /* - try { - int countI = 0, countB = 0; - JSONObject o = new JSONObject(); - for(Item i : Item.byId) { - if(i == null) continue; - countI++; - if(i.id < 256) continue; - - System.out.println(String.format("name: %25s id: %4s class: %s", i.getName(), i.id, i.getClass())); - - String[] names = null; - for(Field f : i.getClass().getDeclaredFields()) { - if(f.getType().isAssignableFrom(String[].class)) { - f.setAccessible(true); - names = (String[]) f.get(i); - if(names[0].contains("_")) { - names = null; - continue; - } - break; - } - } - if(i instanceof ItemCloth) { - names = ItemDye.a; - } - if(names == null) { - continue; - } - - //LocaleI18n.get(arg0) - - for(int j = 0; j < names.length; j++) { - System.out.println(String.format("\t%d: %s", j, names[j])); - } - - JSONObject obj = new JSONObject(); - obj.put(", value) - - o.put(String.valueOf(i.id), obj); - } - for(Block b : Block.byId) { - if(b == null) continue; - countB++; - System.out.println(String.format("name: %25s id: %4s materal: %s class: %s", b.getName(), b.id, b.material.getClass(), b.getClass())); - - String[] names = null; - for(Field f : b.getClass().getDeclaredFields()) { - if(f.getType().isAssignableFrom(String[].class)) { - f.setAccessible(true); - names = (String[]) f.get(b); - if(names[0].contains("_")) { - names = null; - continue; - } - break; - } - } - if(b instanceof BlockCloth) { - names = ItemDye.a; - } - if(names == null) { - continue; - } - - for(int j = 0; j < names.length; j++) { - System.out.println(String.format("\t%d: %s", j, names[j])); - } - } - System.out.println("items: " + countI + " blocks: " + countB); - } catch(Exception e) { - - } - */ - + // for minecraft forge, Logger.getLogger("JSONAPI"); doesn't output anything... try { Class.forName("net.minecraftforge.common.MinecraftForge"); @@ -432,7 +356,7 @@ public void onEnable() { startupDelay = yamlConfig.getInt("options.startup-delay", 2000); anyoneCanUseCallAdmin = yamlConfig.getBoolean("options.anyone-can-use-calladmin", false); allowSendingOldStreamMessages = yamlConfig.getBoolean("options.send-previous-stream-messages", true); - serverName = getServer().getServerName(); + serverName = getServer().getName(); adminiumEnabled = yamlConfig.getBoolean("options.adminium-push-enabled", true); if(yamlConfig.contains("options.use-new-api")) { useGroups = yamlConfig.getBoolean("options.use-new-api", false); @@ -450,6 +374,8 @@ public void onEnable() { } method_noauth_whitelist = yamlConfig.getStringList("method-whitelist"); + shouldDebug = yamlConfig.getBoolean("debug"); + checkPortsForwading = yamlConfig.getBoolean( "check-ports-forwarding"); File usersFile = new File(getDataFolder(), "users.yml"); if(usersFile.exists()) { @@ -580,7 +506,6 @@ public void onEnable() { } catch (Exception ioe) { log.severe("[JSONAPI] Couldn't start server!\n"); ioe.printStackTrace(); - // System.exit( -1 ); } } @@ -601,12 +526,6 @@ public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, jsonServer.connectionInfo(); return true; } - /* - * else if(!adminium.init && args.length > 1 && - * cmd.getName().equals("calladmin")) { - * System.out.println(sender.getName() + ": " + - * join(Arrays.asList(args), " ")); return true; } - */ } if (args.length >= 1 && cmd.getName().equals("calladmin")) { adminium3.calladmin(sender, join(Arrays.asList(args), " ")); @@ -658,13 +577,6 @@ public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, } else if (subCommand.equals("users")) { if (args.length == 1 || args[1].equals("list")) { List usernames = new ArrayList(); - try { -// for(JSONAPIUser u : getJSONServer().getLogins().getUsers()) { -// usernames.add(u.getUsername()); -// } - }catch(Exception e) { - e.printStackTrace(); - } sender.sendMessage("Usernames: " + join(usernames, ", ")); return true; } else if (args.length == 3 && args[2].equals("password")) { @@ -684,7 +596,6 @@ public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, List g = new ArrayList(); g.add("full_control"); -// getJSONServer().getLogins().getUsers().add(new JSONAPIUser(username, password, g)); yamlConfig.set("logins", getJSONServer().getLogins()); yamlConfig.save(yamlFile); @@ -697,70 +608,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, return true; } } - } /*else if (cmd.getName().equals("adminium")) { - if (!adminium.init) { - sender.sendMessage(ChatColor.RED + "You need Adminium for that."); - return true; - } - - if (args.length == 0) { - sender.sendMessage(ChatColor.RED + "/adminium [user (username)|create-user (username) (group name)|set-group (username) (group name)|list-groups]"); - return true; - } - - String sub = args[0]; - if (args.length == 2 && sub.equals("user")) { - String username = args[1]; - - if (!adminium.groupAssignments.containsKey(username)) { - sender.sendMessage(ChatColor.GREEN + username + " has access to everything and is not in a group."); - return true; - } - - sender.sendMessage(ChatColor.GREEN + username + " is in the group " + adminium.groupAssignments.get(username)); - return true; - } else if (args.length == 3 && (sub.equals("create-user") || sub.equals("set-group"))) { - try { - String username = args[1]; - String groupName = args[2]; - - if (!adminium.groupPerms.containsKey(groupName)) { - sender.sendMessage(ChatColor.RED + groupName + " is a non-existant group!"); - return true; - } - - String pass = ""; - if (!getJSONServer().getLogins().containsKey(username)) { - pass = genPassword(); - getJSONServer().getLogins().put(username, pass); - - yamlConfig.set("logins", getJSONServer().getLogins()); - yamlConfig.save(yamlFile); - } else { - pass = getJSONServer().getLogins().get(username); - } - - adminium.groupAssignments.put(username, groupName); - adminium.saveConfig(); - - sender.sendMessage(ChatColor.GREEN + "This user has the following information"); - sender.sendMessage(ChatColor.GREEN + "Username: " + username); - sender.sendMessage(ChatColor.GREEN + "Password: " + pass); - sender.sendMessage(ChatColor.GREEN + "Group name: " + groupName); - sender.sendMessage(ChatColor.GREEN + "Salt: " + salt); - } catch (IOException e) { - sender.sendMessage(ChatColor.RED + "Error: " + e.getMessage()); - e.printStackTrace(); - } - return true; - } else if (args.length == 1 && sub.equals("list-groups")) { - sender.sendMessage(ChatColor.GREEN + join(new ArrayList(adminium.groupPerms.keySet()), ", ")); - return true; - } - - return true; - }*/ - + } return false; } diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPIMessageListener.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPIMessageListener.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPIMessageListener.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONAPIMessageListener.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONServer.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONServer.java similarity index 96% rename from src/main/java/com/alecgorge/minecraft/jsonapi/JSONServer.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONServer.java index 5a144170..1ecc2789 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONServer.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONServer.java @@ -130,21 +130,30 @@ void connectionInfo() { outLog.info("[JSONAPI] Active and listening for requests."); + checkPortsForwarding(); + + outLog.info("[JSONAPI] -------------------------------------"); + } + + private void checkPortsForwarding() { + if( !inst.checkPortsForwading ) { + return; + } try { URL whatismyip = new URL("http://tools.alecgorge.com/ip.php"); BufferedReader in = new BufferedReader(new InputStreamReader(whatismyip.openStream())); String ip = in.readLine(); - + URL checkURL = new URL("http://tools.alecgorge.com/port_check.php"); - + outLog.info("[JSONAPI] External IP: " + ip); for(int i : new int[] { inst.port, inst.port + 1, inst.port + 2 }) { MutableHttpRequest reqReg = new MutableHttpRequest(checkURL); reqReg.addGetValue("host", ip); reqReg.addGetValue("port", String.valueOf(i)); - + if(reqReg.get().getStatusCode() == 200) { outLog.info("[JSONAPI] Port " + i + " is properly forwarded and is externally accessible."); } @@ -152,15 +161,13 @@ void connectionInfo() { outLog.info("[JSONAPI] Port " + i + " is not properly forwarded."); } } - + } catch (Exception e) { e.printStackTrace(); } - - outLog.info("[JSONAPI] -------------------------------------"); } - - + + public UsersConfig getLogins() { return logins; } diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONSocketServer.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONSocketServer.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/JSONSocketServer.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONSocketServer.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONTunneledWebSocket.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONTunneledWebSocket.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/JSONTunneledWebSocket.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONTunneledWebSocket.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/JSONWebSocketServer.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONWebSocketServer.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/JSONWebSocketServer.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/JSONWebSocketServer.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterface.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterface.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterface.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterface.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterfaceException.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterfaceException.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterfaceException.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/McRKit/api/RTKInterfaceException.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/NanoHTTPD.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/NanoHTTPD.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/NanoHTTPD.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/NanoHTTPD.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3.java similarity index 99% rename from src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3.java index dc7e1a00..a988ff4e 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3.java @@ -226,7 +226,7 @@ public String getPushNotification() { String messager = getMessage(); if (api.serverName != null && !api.serverName.isEmpty()) { - messager = (api.serverName.equals("default") ? api.getServer().getServerName() : api.serverName) + ": " + messager; + messager = (api.serverName.equals("default") ? api.getServer().getName() : api.serverName) + ": " + messager; } return messager.length() > 210 ? messager.substring(0, 208) + "\u2026" : messager; diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Config.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Config.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Config.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Config.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Methods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Methods.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Methods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/Adminium3Methods.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/PushNotificationDaemon.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/PushNotificationDaemon.java similarity index 96% rename from src/main/java/com/alecgorge/minecraft/jsonapi/adminium/PushNotificationDaemon.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/PushNotificationDaemon.java index 4485a0b4..9dcf34cb 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/PushNotificationDaemon.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/adminium/PushNotificationDaemon.java @@ -63,7 +63,7 @@ public String getPushNotification() { String messager = getMessage(); if (api.serverName != null && !api.serverName.isEmpty()) { - messager = (api.serverName.equals("default") ? api.getServer().getServerName() : api.serverName) + ": " + messager; + messager = (api.serverName.equals("default") ? api.getServer().getName() : api.serverName) + ": " + messager; } return messager.length() > 210 ? messager.substring(0, 208) + "\u2026" : messager; diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/APIMethodName.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/APIMethodName.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/APIMethodName.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/APIMethodName.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/BukGetAPIMethods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/BukGetAPIMethods.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/BukGetAPIMethods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/BukGetAPIMethods.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/CommandMethods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/CommandMethods.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/CommandMethods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/CommandMethods.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIAPIMethods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIAPIMethods.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIAPIMethods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIAPIMethods.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPICallHandler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPICallHandler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPICallHandler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPICallHandler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamListener.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamListener.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamListener.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamListener.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/JSONAPIStreamMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/StreamPusher.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/StreamPusher.java similarity index 96% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/StreamPusher.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/StreamPusher.java index 76ee4f01..45e39dd4 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/api/StreamPusher.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/StreamPusher.java @@ -134,7 +134,7 @@ public void run() { r.addPostValue("source", streamName); r.addPostValue("count", messages.size()); - r.addPostValue("server-name", JSONAPI.instance.getServer().getServerName()); + r.addPostValue("server-name", JSONAPI.instance.getServer().getName()); if(getPushTag() != null) { r.addPostValue("tag", getPushTag()); diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/APIv2Handler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/APIv2Handler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/APIv2Handler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/APIv2Handler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/EssentialsAPIMethods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/EssentialsAPIMethods.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/EssentialsAPIMethods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/EssentialsAPIMethods.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/JSONResponse.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/JSONResponse.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/JSONResponse.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/JSONResponse.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/StandardAPIMethods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/StandardAPIMethods.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/StandardAPIMethods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/api/v2/StandardAPIMethods.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitForgeRealisticChat.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitForgeRealisticChat.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitForgeRealisticChat.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitForgeRealisticChat.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitRealisticChat.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitRealisticChat.java similarity index 63% rename from src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitRealisticChat.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitRealisticChat.java index 6c06f307..c00ac137 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitRealisticChat.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/BukkitRealisticChat.java @@ -7,25 +7,17 @@ import org.bukkit.Bukkit; import org.bukkit.Server; import org.bukkit.entity.*; -import org.bukkit.entity.Entity; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerChatEvent; import com.alecgorge.minecraft.jsonapi.JSONAPI; import com.alecgorge.minecraft.jsonapi.util.OfflinePlayerLoader; -//#ifdefined mcversion -//$import net.minecraft.server./*$mcversion$*/.*; -//$import org.bukkit.craftbukkit./*$mcversion$*/.*; -//$import org.bukkit.craftbukkit./*$mcversion$*/.entity.*; -//$import org.bukkit.craftbukkit./*$mcversion$*/.util.*; -//#else -import net.minecraft.server.v1_12_R1.*; +import net.minecraft.server.v1_15_R1.*; +import org.bukkit.craftbukkit.v1_15_R1.*; +import org.bukkit.craftbukkit.v1_15_R1.entity.*; +import org.bukkit.craftbukkit.v1_15_R1.util.*; -import org.bukkit.craftbukkit.v1_12_R1.*; -import org.bukkit.craftbukkit.v1_12_R1.entity.*; -import org.bukkit.craftbukkit.v1_12_R1.util.*; -//#endif @SuppressWarnings("deprecation") public class BukkitRealisticChat implements IRealisticChat { @@ -68,105 +60,6 @@ public UUID getUniqueId() { } return super.getUniqueId(); } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @return damage taken since the last no damage ticks time period - */ - @Override - public int _INVALID_getLastDamage() { - return 0; - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @param damage amount of damage - */ - @Override - public void _INVALID_setLastDamage(int damage) { - - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @param amount Amount of damage to deal - */ - @Override - public void _INVALID_damage(int amount) { - - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @param amount Amount of damage to deal - * @param source Entity which to attribute this damage from - */ - @Override - public void _INVALID_damage(int amount, Entity source) { - - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @return Health represented from 0 to max - */ - @Override - public int _INVALID_getHealth() { - return 0; - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @param health New health represented from 0 to max - * @throws IllegalArgumentException Thrown if the health is {@literal < 0 or >} - * {@link #getMaxHealth()} - */ - @Override - public void _INVALID_setHealth(int health) { - - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @return Maximum health - */ - @Override - public int _INVALID_getMaxHealth() { - return 0; - } - - /** - * This method exists for legacy reasons to provide backwards - * compatibility. It will not exist at runtime and should not be used - * under any circumstances. - * - * @param health amount of health to set the maximum to - */ - @Override - public void _INVALID_setMaxHealth(int health) { - - } } public boolean chatWithNameForPlayer(String message, String name, String playerToExtend) { diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/chat/IRealisticChat.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/IRealisticChat.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/chat/IRealisticChat.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/chat/IRealisticChat.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/Config.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/Config.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/Config.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/Config.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/ConfigObject.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/ConfigObject.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/ConfigObject.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/ConfigObject.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/GroupsConfig.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/GroupsConfig.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/GroupsConfig.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/GroupsConfig.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIGroupConfigObject.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIGroupConfigObject.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIGroupConfigObject.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIGroupConfigObject.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIPermissionNode.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIPermissionNode.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIPermissionNode.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/JSONAPIPermissionNode.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/PermissionNodesConfig.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/PermissionNodesConfig.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/PermissionNodesConfig.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/PermissionNodesConfig.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/config/UsersConfig.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/UsersConfig.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/config/UsersConfig.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/config/UsersConfig.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/APIWrapperMethods.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/APIWrapperMethods.java similarity index 82% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/APIWrapperMethods.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/APIWrapperMethods.java index 4eb1363c..dd6a3b15 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/APIWrapperMethods.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/APIWrapperMethods.java @@ -18,14 +18,8 @@ import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.economy.Economy; -import org.bukkit.BanList; +import org.bukkit.*; import org.bukkit.BanList.Type; -import org.bukkit.Bukkit; -import org.bukkit.Difficulty; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.OfflinePlayer; -import org.bukkit.Server; import org.bukkit.block.BlockState; import org.bukkit.block.Chest; import org.bukkit.block.Sign; @@ -115,10 +109,10 @@ else if(o instanceof Collection) { return 0; } - public HashMap removePlayerInventoryItem(String playerName, int itemID) { + public HashMap removePlayerInventoryItem(String playerName, String itemName) { try { Player p = getPlayerExact(playerName); - HashMap c = p.getInventory().removeItem(new ItemStack(itemID, 64 * 64)); + HashMap c = p.getInventory().removeItem(new ItemStack(Material.valueOf(itemName.toUpperCase()), 64 * 64)); p.saveData(); return c; @@ -153,6 +147,35 @@ public boolean setPlayerFoodLevel(String playerName, int health) { return true; } +// public boolean removeEnchantmentsByNameFromPlayerInventorySlot(String playerName, int slot, List enchantments) { +// try { +// Player p = getPlayerExact(playerName); +// PlayerInventory inv = p.getInventory(); +// ItemStack it; +// +// if (slot == inv.getHeldItemSlot()) +// it = inv.getHelmet(); +// else if (slot == 102) +// it = inv.getChestplate(); +// else if (slot == 101) +// it = inv.getLeggings(); +// else if (slot == 100) +// it = inv.getBoots(); +// else +// it = inv.getItem(slot); +// +// for (Object o : enchantments) { +// it.removeEnchantment(Enchantment.getByName(String.valueOf(o).toUpperCase())); +// } +// +// p.saveData(); +// +// return true; +// } catch (NullPointerException e) { +// return false; +// } +// } + public boolean removeEnchantmentsFromPlayerInventorySlot(String playerName, int slot, List enchantments) { try { Player p = getPlayerExact(playerName); @@ -171,7 +194,7 @@ else if (slot == 100) it = inv.getItem(slot); for (Object o : enchantments) { - it.removeEnchantment(Enchantment.getById(Integer.valueOf(o.toString()))); + it.removeEnchantment(Enchantment.getByName(String.valueOf(o).toUpperCase())); } p.saveData(); @@ -182,7 +205,7 @@ else if (slot == 100) } } - public boolean addEnchantmentToPlayerInventorySlot(String playerName, int slot, int enchantmentID, int level) { + public boolean addEnchantmentToPlayerInventorySlot(String playerName, int slot, String enchantmentName, int level) { try { Player p = getPlayerExact(playerName); PlayerInventory inv = p.getInventory(); @@ -199,7 +222,7 @@ else if (slot == 100) else it = inv.getItem(slot); - it.addEnchantment(Enchantment.getById(enchantmentID), level); + it.addEnchantment(Enchantment.getByName(enchantmentName.toUpperCase()), level); p.saveData(); @@ -228,7 +251,7 @@ else if (slot == 100) for (int i = 0; i < enchantments.size(); i++) { JSONObject o = (JSONObject) enchantments.get(i); - it.addEnchantment(Enchantment.getById(Integer.valueOf(o.get("enchantment").toString())), Integer.valueOf(o.get("level").toString())); + it.addEnchantment(Enchantment.getByName(String.valueOf(o.get("enchantment")).toUpperCase()), Integer.valueOf(o.get("level").toString())); } p.saveData(); @@ -239,15 +262,15 @@ else if (slot == 100) } } - public boolean setPlayerInventorySlot(String playerName, int slot, int blockID, int quantity) { + public boolean setPlayerInventorySlot(String playerName, int slot, String blockName, int quantity) { try { - if (blockID == 0) { + if (Material.valueOf(blockName.toUpperCase()) == null) { return clearPlayerInventorySlot(playerName, slot); } Player p = getPlayerExact(playerName); PlayerInventory inv = p.getInventory(); - ItemStack it = new ItemStack(blockID, quantity); + ItemStack it = new ItemStack(Material.valueOf(blockName.toUpperCase()), quantity); if (slot == 103) inv.setHelmet(it); @@ -268,15 +291,15 @@ else if (slot == 100) } } - public boolean setPlayerInventorySlotWithData(String playerName, int slot, int blockID, final int data, int quantity) { + public boolean setPlayerInventorySlotWithData(String playerName, int slot, String blockName, final int data, int quantity) { try { - if (blockID == 0) { + if (Material.valueOf(blockName.toUpperCase()) == null) { return clearPlayerInventorySlot(playerName, slot); } Player p = getPlayerExact(playerName); PlayerInventory inv = p.getInventory(); - ItemStack it = (new MaterialData(blockID, (byte) data)).toItemStack(quantity); + ItemStack it = (new MaterialData(Material.valueOf(blockName.toUpperCase()), (byte) data)).toItemStack(quantity); if (slot == 103) inv.setHelmet(it); @@ -298,18 +321,18 @@ else if (slot == 100) } - public boolean setPlayerInventorySlotWithDataAndDamage(String playerName, int slot, int blockID, final int data, int damage, int quantity) { + public boolean setPlayerInventorySlotWithDamage(String playerName, int slot, String blockName, int damage, int quantity) { try { - if (blockID == 0) { + if (Material.valueOf(blockName.toUpperCase()) == null) { return clearPlayerInventorySlot(playerName, slot); } Player p = getPlayerExact(playerName); PlayerInventory inv = p.getInventory(); - - ItemStack it = (new MaterialData(blockID, (byte) data)).toItemStack(quantity); - it.setDurability((short)data); - + + ItemStack it = (new MaterialData(Material.valueOf(blockName.toUpperCase()))).toItemStack(quantity); + it.setDurability(Short.valueOf(String.valueOf(damage)).shortValue()); + if (slot == 103) inv.setHelmet(it); else if (slot == 102) @@ -330,20 +353,20 @@ else if (slot == 100) } - public boolean setPlayerInventorySlotWithDataDamageAndEnchantments(String playerName, int slot, int blockID, final int data, int damage, int quantity, Object[] enchantments) { + public boolean setPlayerInventorySlotWithDataDamageAndEnchantments(String playerName, int slot, String blockName, final int data, int damage, int quantity, Object[] enchantments) { try { - if (blockID == 0) { + if (Material.valueOf(blockName.toUpperCase()) == null) { return clearPlayerInventorySlot(playerName, slot); } Player p = getPlayerExact(playerName); PlayerInventory inv = p.getInventory(); - ItemStack it = (new MaterialData(blockID, (byte) data)).toItemStack(quantity); - it.setDurability((short)data); + ItemStack it = (new MaterialData(Material.valueOf(blockName.toUpperCase()), (byte) data)).toItemStack(quantity); + it.setDurability((short)damage); for (int i = 0; i < enchantments.length; i++) { JSONObject o = (JSONObject) enchantments[i]; - it.addEnchantment(Enchantment.getById(Integer.valueOf(o.get("enchantment").toString())), Integer.valueOf(o.get("level").toString())); + it.addEnchantment(Enchantment.getByName(String.valueOf(o.get("enchantment")).toUpperCase()), Integer.valueOf(o.get("level").toString())); } if (slot == 103) @@ -366,15 +389,15 @@ else if (slot == 100) } - public boolean setPlayerInventorySlot(String playerName, int slot, int blockID, int damage, int quantity) { + public boolean setPlayerInventorySlot(String playerName, int slot, String blockName, int damage, int quantity) { try { - if (blockID == 0) { + if (Material.valueOf(blockName.toUpperCase()) == null) { return clearPlayerInventorySlot(playerName, slot); } Player p = getPlayerExact(playerName); PlayerInventory inv = p.getInventory(); - ItemStack it = new ItemStack(blockID, quantity, Short.valueOf(String.valueOf(damage)).shortValue()); + ItemStack it = new ItemStack(Material.valueOf(blockName.toUpperCase()), quantity, Short.valueOf(String.valueOf(damage)).shortValue()); if (slot == 103) inv.setHelmet(it); @@ -395,10 +418,17 @@ else if (slot == 100) } } - public void setPlayerGameMode(String playerName, int gameMode) throws Exception { + public void setPlayerGameModeById(String playerName, int gameMode) throws Exception { Player p = getPlayerExact(playerName); - - p.setGameMode(GameMode.getByValue(gameMode)); + + p.setGameMode(GameMode.getByValue(gameMode)); + p.saveData(); + } + + public void setPlayerGameModeByName(String playerName, String gameMode) throws Exception { + Player p = getPlayerExact(playerName); + + p.setGameMode(GameMode.valueOf(gameMode.toUpperCase())); p.saveData(); } @@ -519,6 +549,14 @@ public List getWhitelist() throws APIException { return a; } + public List getWhitelistByUUID() throws APIException { + List a = new ArrayList(); + for (OfflinePlayer p : Server.getWhitelistedPlayers()) { + a.add(p.getUniqueId().toString()); + } + return a; + } + public List getBannedPlayers() throws APIException { List a = new ArrayList(); for (OfflinePlayer p : Server.getBannedPlayers()) { @@ -559,10 +597,13 @@ public boolean disablePlugin(String name) { } } - public boolean giveItem(String name, int id, int quant) { + public boolean giveItem(String name, String itemName, int quant) { try { + if (Material.valueOf(itemName.toUpperCase()) == null) + return false; + Player p = getPlayerExact(name); - p.getInventory().addItem(new ItemStack(id, quant)); + p.getInventory().addItem(new ItemStack(Material.valueOf(itemName.toUpperCase()), quant)); p.saveData(); return true; } catch (NullPointerException e) { @@ -570,11 +611,14 @@ public boolean giveItem(String name, int id, int quant) { } } - public boolean giveItem(String name, int id, int quant, int data) throws Exception { + public boolean giveItem(String name, String itemName, int quant, int data) throws Exception { try { + if (Material.valueOf(itemName.toUpperCase()) == null) + return false; + byte realData = Byte.valueOf(String.valueOf(data)); Player p = getPlayerExact(name); - MaterialData materialData = new MaterialData(id, realData); + MaterialData materialData = new MaterialData(Material.valueOf(itemName.toUpperCase()), realData); p.getInventory().addItem(materialData.toItemStack(quant)); p.saveData(); return true; @@ -583,21 +627,27 @@ public boolean giveItem(String name, int id, int quant, int data) throws Excepti } } - public boolean giveItemDrop(String name, int id, int quant) { + public boolean giveItemDrop(String name, String itemName, int quant) { try { + if (Material.valueOf(itemName.toUpperCase()) == null) + return false; + Player p = getPlayerExact(name); - p.getWorld().dropItem(p.getLocation(), new ItemStack(id, quant)); + p.getWorld().dropItem(p.getLocation(), new ItemStack(Material.valueOf(itemName.toUpperCase()), quant)); return true; } catch (NullPointerException e) { return false; } } - public boolean giveItemDrop(String name, int id, int quant, int data) throws Exception { + public boolean giveItemDrop(String name, String itemName, int quant, int data) throws Exception { try { + if (Material.valueOf(itemName.toUpperCase()) == null) + return false; + Player p = getPlayerExact(name); - ItemStack stack = new ItemStack(id, quant); - stack.setData(new MaterialData(id, Byte.valueOf(String.valueOf(data)).byteValue())); + ItemStack stack = new ItemStack(Material.valueOf(itemName.toUpperCase()), quant); + stack.setData(new MaterialData(Material.valueOf(itemName.toUpperCase()), Byte.valueOf(String.valueOf(data)).byteValue())); p.getWorld().dropItem(p.getLocation(), stack); p.saveData(); return true; @@ -922,7 +972,7 @@ public boolean setPlayerLevel(String player, int level) { return true; } - public boolean setPlayerExperience(String player, float level) { + public boolean setPlayerExperience(String player, int level) { Player p = getPlayerExact(player); p.setExp(level); p.saveData(); @@ -1049,20 +1099,20 @@ public List getSingleDirectory(String path) { } } - public void setBlockData(String w, int x, int y, int z, int data) { - Server.getWorld(w).getBlockAt(x, y, z).setData((byte) data); - } +// public void setBlockData(String w, int x, int y, int z, int data) { +// Server.getWorld(w).getBlockAt(x, y, z).setData((byte) data); +// } - public void explodeAtLocation( - String w, - double x, - double y, - double z, - double power, - boolean setFire, - boolean breakBlocks) { + public void explodeAtLocation( + String w, + double x, + double y, + double z, + double power, + boolean setFire, + boolean breakBlocks) { Server.getWorld(w).createExplosion(x, y, z, (float)power, setFire, breakBlocks); - } + } public boolean teleport(String player1, String player2) { Player p = getPlayerExact(player1); @@ -1217,6 +1267,10 @@ public boolean teleport(String playername, String world, int x, int y, int z) { } } + public void setBlockType(String worldName, int x, int y, int z, String blockName) { + Server.getWorld(worldName).getBlockAt(x, y, z).setType(Material.valueOf(blockName.toUpperCase())); + } + public String[] getSignText(String world, int x, int y, int z) throws Exception { BlockState d = Server.getWorld(world).getBlockAt(x, y, z).getState(); @@ -1270,14 +1324,14 @@ public Inventory getChestContents(String world, int x, int y, int z) throws Exce return null; } - public boolean giveChestItem(String world, int x, int y, int z, int slot, int blockID, int quantity) { + public boolean giveChestItem(String world, int x, int y, int z, int slot, String blockName, int quantity) { try { - if (blockID == 0) { + if (Material.valueOf(blockName) == null) { return clearChestSlot(world, x, y, z, slot); } Inventory inv = ((Chest) Server.getWorld(world).getBlockAt(x, y, z).getState()).getInventory(); - ItemStack it = new ItemStack(blockID, quantity); + ItemStack it = new ItemStack(Material.valueOf(blockName), quantity); inv.setItem(slot, it); return true; @@ -1286,14 +1340,14 @@ public boolean giveChestItem(String world, int x, int y, int z, int slot, int bl } } - public boolean giveChestItem(String world, int x, int y, int z, int slot, int blockID, final int data, int quantity) { + public boolean giveChestItem(String world, int x, int y, int z, int slot, String blockName, final int data, int quantity) { try { - if (blockID == 0) { + if (Material.valueOf(blockName) == null) { return clearChestSlot(world, x, y, z, slot); } Inventory inv = ((Chest) Server.getWorld(world).getBlockAt(x, y, z).getState()).getInventory(); - ItemStack it = (new MaterialData(blockID, (byte) data)).toItemStack(quantity); + ItemStack it = (new MaterialData(Material.valueOf(blockName), (byte) data)).toItemStack(quantity); inv.setItem(slot, it); return true; @@ -1315,6 +1369,6 @@ public boolean clearChestSlot(String world, int x, int y, int z, int slot) { } public boolean spawn(String world, double x, double y, double z, String mobName) { - return getServer().getWorld(world).spawnEntity(new Location(getServer().getWorld(world), x, y, z), EntityType.fromName(mobName)) != null; + return getServer().getWorld(world).spawnEntity(new Location(getServer().getWorld(world), x, y, z), EntityType.valueOf(mobName.toUpperCase())) != null; } } diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/API_Method.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/API_Method.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/API_Method.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/API_Method.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Argument.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Argument.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Argument.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Argument.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/ArgumentList.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/ArgumentList.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/ArgumentList.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/ArgumentList.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Call.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Call.java similarity index 96% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Call.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Call.java index a3d8acd1..2f84b669 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Call.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Call.java @@ -216,7 +216,7 @@ public void parseString(String input) { } else if (v.equals("this")) { stack.add(APIWrapperMethods.getInstance()); } else if (v.equals("Plugins")) { // handles - // Plugins.PLUGINNAME.pluginMethod(0,1,2) + // Plugins.PLUGINNAME.pluginMethod(0,1,2) String v2 = parts[i + 1]; stack.add(Server.getPluginManager().getPlugin(v2)); i++; diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Caller.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Caller.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Caller.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Caller.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/JSONAPIMethodProvider.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/JSONAPIMethodProvider.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/JSONAPIMethodProvider.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/JSONAPIMethodProvider.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Method.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Method.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Method.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Method.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Parser.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Parser.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Parser.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/dynamic/Parser.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/event/JSONAPIAuthEvent.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/event/JSONAPIAuthEvent.java similarity index 94% rename from src/main/java/com/alecgorge/minecraft/jsonapi/event/JSONAPIAuthEvent.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/event/JSONAPIAuthEvent.java index c64e1e2c..0754322b 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/event/JSONAPIAuthEvent.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/event/JSONAPIAuthEvent.java @@ -21,6 +21,7 @@ public class JSONAPIAuthEvent extends Event { boolean stream; public JSONAPIAuthEvent(JSONAPIAuthResponse valid, String method, String hash, HashMap logins, String username, boolean stream) { + super(true); this.valid = valid; this.method = method; this.hash = hash; @@ -30,6 +31,7 @@ public JSONAPIAuthEvent(JSONAPIAuthResponse valid, String method, String hash, H } public JSONAPIAuthEvent(JSONAPIAuthResponse valid, String method, String username, boolean stream) { + super(true); this.valid = valid; this.method = method; this.username = username; diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/Lambda.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/Lambda.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/Lambda.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/Lambda.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/APIv2Handler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/APIv2Handler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/APIv2Handler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/APIv2Handler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/BootstrapList.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/BootstrapList.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/BootstrapList.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/BootstrapList.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelDecoder.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelDecoder.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelDecoder.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelDecoder.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelReadHandler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelReadHandler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelReadHandler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIChannelReadHandler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIHandler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIHandler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIHandler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPIHandler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPINettyInjector.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPINettyInjector.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPINettyInjector.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/JSONAPINettyInjector.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/NettyInjector.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/NettyInjector.java similarity index 75% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/NettyInjector.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/NettyInjector.java index 8c5b3db3..0dc6e768 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/NettyInjector.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/NettyInjector.java @@ -10,6 +10,9 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.ArrayList; import java.util.List; import com.comphenix.protocol.reflect.FuzzyReflection; @@ -77,19 +80,18 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception ctx.fireChannelRead(msg); } }; - + // Get the current NetworkMananger list - networkManagers = (List) FuzzyReflection.fromObject(serverConnection, true). - invokeMethod(null, "getNetworkManagers", List.class, serverConnection); - + this.networkManagers = getNetworkManagers(serverConnection);; + // Insert ProtocolLib's connection interceptor - bootstrapFields = getBootstrapFields(serverConnection); + this.bootstrapFields = getBootstrapFields(serverConnection); for (VolatileField field : bootstrapFields) { final List list = (List) field.getValue(); // We don't have to override this list - if (list == networkManagers) { + if (list == this.networkManagers) { continue; } @@ -103,7 +105,41 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception throw new RuntimeException("Unable to inject channel futures.", e); } } - + + private List getNetworkManagers(Object serverConnection) throws IllegalAccessException { + Field networkManagersField = getFirstFieldWithListOfNetworkManagers(serverConnection); + List networkManagers = new ArrayList(); + + if ( networkManagersField != null ){ + networkManagers = (List) networkManagersField.get(serverConnection); + } + return networkManagers; + } + + + private Field getFirstFieldWithListOfNetworkManagers(Object serverConnection) { + Field networkManagersField = null; + Class networkManagerClass; + try { + networkManagerClass = Class.forName(MinecraftReflection.getNetworkManagerClass().getCanonicalName()); + for( Field declaredField: serverConnection.getClass().getDeclaredFields() ){ + boolean fieldIsAList = declaredField.getType() == List.class; + if( fieldIsAList ){ + Type typeOfFirstListElement = ((ParameterizedType) declaredField.getGenericType()).getActualTypeArguments()[0]; + if( typeOfFirstListElement == networkManagerClass ) { + networkManagersField = declaredField; + networkManagersField.setAccessible(true); + break; + } + } + } + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + return networkManagersField; + + } + /** * Invoked when a channel is ready to be injected. * @param channel - the channel to inject. diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/Handler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/Handler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/Handler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/Handler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/JSONAPIDefaultRoutes.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/JSONAPIDefaultRoutes.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/JSONAPIDefaultRoutes.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/JSONAPIDefaultRoutes.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RouteMatcher.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RouteMatcher.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RouteMatcher.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RouteMatcher.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpRequest.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpRequest.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpRequest.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpRequest.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpResponse.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpResponse.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpResponse.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/packets/netty/router/RoutedHttpResponse.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/GroupManager.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/GroupManager.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/permissions/GroupManager.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/GroupManager.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIAuthResponse.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIAuthResponse.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIAuthResponse.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIAuthResponse.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIGroup.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIGroup.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIGroup.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIGroup.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIUser.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIUser.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIUser.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/permissions/JSONAPIUser.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ChatStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConnectionStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/ConsoleStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/EggStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/FormattedChatStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/JSONObjectMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/JSONObjectMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/JSONObjectMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/JSONObjectMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceMessage.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceMessage.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceMessage.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceMessage.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStream.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStream.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStream.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStream.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStreamDataProvider.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStreamDataProvider.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStreamDataProvider.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/PerformanceStreamDataProvider.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamManager.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamManager.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamManager.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamManager.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamingResponse.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamingResponse.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamingResponse.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/StreamingResponse.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleHandler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleHandler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleHandler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleHandler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleLogFormatter.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleLogFormatter.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleLogFormatter.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleLogFormatter.java diff --git a/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleStubAppender.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleStubAppender.java new file mode 100644 index 00000000..dbbe06df --- /dev/null +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleStubAppender.java @@ -0,0 +1,26 @@ +package com.alecgorge.minecraft.jsonapi.streams.console; + +import org.apache.logging.log4j.core.appender.*; +import org.apache.logging.log4j.core.config.plugins.*; +import com.alecgorge.minecraft.jsonapi.*; +import org.apache.logging.log4j.core.layout.*; +import org.apache.logging.log4j.core.*; + +@Plugin(name = "ConsoleStub", category = "Core", elementType = "appender", printObject = true) +public class ConsoleStubAppender extends AbstractAppender +{ + JSONServer server; + + public ConsoleStubAppender(final JSONServer server) { + super("JSONAPI", (Filter)null, (Layout)PatternLayout.newBuilder().withPattern("[%d{HH:mm:ss} %level]: %msg%n").build(), false); + this.server = server; + } + + public boolean isStarted() { + return true; + } + + public void append(final LogEvent e) { + this.server.logConsole(this.getLayout().toSerializable(e).toString()); + } +} \ No newline at end of file diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/Log4j2ConsoleHandler.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/Log4j2ConsoleHandler.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/Log4j2ConsoleHandler.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/Log4j2ConsoleHandler.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/stringifier/BukkitStringifier.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/stringifier/BukkitStringifier.java similarity index 88% rename from src/main/java/com/alecgorge/minecraft/jsonapi/stringifier/BukkitStringifier.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/stringifier/BukkitStringifier.java index b3bbef24..c66faaac 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/stringifier/BukkitStringifier.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/stringifier/BukkitStringifier.java @@ -28,6 +28,7 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; import org.bukkit.inventory.meta.BookMeta; +import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.json.simpleForBukkit.JSONArray; @@ -102,7 +103,7 @@ public static Object handle(Object obj) { Block b = (Block) obj; JSONObject o = new JSONObject(); - o.put("type", b.getTypeId()); + o.put("type", b.getType().name()); o.put("data", b.getData()); return o; @@ -117,7 +118,8 @@ public static Object handle(Object obj) { o.put("foodLevel", p.getFoodLevel()); o.put("exhaustion", p.getExhaustion()); o.put("ip", p.getAddress() != null ? p.getAddress().toString() : "offline"); - o.put("itemInHand", p.getItemInHand()); + o.put("itemInMainHand", p.getInventory().getItemInMainHand()); + o.put("itemInOffHand", p.getInventory().getItemInOffHand()); o.put("location", p.getLocation()); o.put("inventory", p.getInventory()); // o.put("enderchest", p.getEnderChest()); @@ -163,7 +165,7 @@ public static Object handle(Object obj) { o.put("players", s.getOnlinePlayers()); o.put("port", s.getPort()); o.put("name", s.getName()); - o.put("serverName", s.getServerName()); + o.put("serverName", s.getName()); o.put("version", s.getVersion()); o.put("worlds", s.getWorlds()); @@ -186,7 +188,7 @@ public static Object handle(Object obj) { List playerNames = new ArrayList(); for(Player p : w.getPlayers()) { - if(!p.getName().equals("�fHerobrine")) { + if(!p.getName().equals("§fHerobrine")) { playerNames.add(p.getName()); } } @@ -207,6 +209,9 @@ public static Object handle(Object obj) { o.put("website", d.getWebsite() == null ? "" : d.getWebsite()); o.put("enabled", JSONAPI.instance.getServer().getPluginManager().isPluginEnabled(p)); o.put("commands", d.getCommands()); + o.put("api-version", d.getAPIVersion()); + o.put("depend", d.getDepend()); + o.put("softdepend", d.getSoftDepend()); return o; } else if (obj instanceof ItemStack) { @@ -214,19 +219,31 @@ public static Object handle(Object obj) { JSONObject o = new JSONObject(); - o.put("type", i.getTypeId()); + o.put("type", i.getType().name()); o.put("durability", i.getDurability()); o.put("dataValue", (int) i.getData().getData()); o.put("amount", i.getAmount()); + o.put("maxStackSize", i.getMaxStackSize()); + if (i.hasItemMeta()) { + JSONObject itemMeta = new JSONObject(); + ItemMeta im = i.getItemMeta(); + + itemMeta.put("displayName", im.getDisplayName()); + itemMeta.put("itemFlags", im.getItemFlags().toArray()); + itemMeta.put("lores", im.getLore()); + itemMeta.put("isUnbreakable", im.isUnbreakable()); + + o.put("itemMeta", itemMeta); + } JSONObject enchantments = new JSONObject(); for (Map.Entry enchantment : i.getEnchantments().entrySet()) { - enchantments.put(enchantment.getKey().getId(), enchantment.getValue()); + enchantments.put(enchantment.getKey().getName(), enchantment.getValue()); } o.put("enchantments", enchantments); - if (((ItemStack) obj).getType().equals(Material.BOOK_AND_QUILL) || ((ItemStack) obj).getType().equals(Material.WRITTEN_BOOK)) { + if (((ItemStack) obj).getType().equals(Material.WRITABLE_BOOK) || ((ItemStack) obj).getType().equals(Material.WRITTEN_BOOK)) { JSONObject book = new JSONObject(); BookMeta bookObj = (BookMeta)((ItemStack)obj).getItemMeta(); @@ -251,7 +268,7 @@ public static Object handle(Object obj) { armor.put("leggings", p.getLeggings()); o.put("armor", armor); - o.put("hand", p.getItemInHand()); + o.put("hand", p.getItemInMainHand()); o.put("inventory", Arrays.asList(p.getContents())); return o; @@ -306,9 +323,9 @@ public static Object handle(Object obj) { return n.getName(); } else if (obj instanceof GameMode) { - return ((GameMode) obj).getValue(); + return ((GameMode) obj).name(); } else if (obj instanceof Enchantment) { - return ((Enchantment) obj).getId(); + return ((Enchantment) obj).getKey().toString(); } else if (JSONAPI.instance.getServer().getPluginManager().getPlugin("Vault") != null && obj instanceof EconomyResponse) { JSONObject o = new JSONObject(); EconomyResponse r = (EconomyResponse) obj; diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/util/FixedSizeArrayList.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/FixedSizeArrayList.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/util/FixedSizeArrayList.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/FixedSizeArrayList.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/util/OfflinePlayerLoader.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/OfflinePlayerLoader.java similarity index 80% rename from src/main/java/com/alecgorge/minecraft/jsonapi/util/OfflinePlayerLoader.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/OfflinePlayerLoader.java index f087a533..ebb5d166 100644 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/util/OfflinePlayerLoader.java +++ b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/OfflinePlayerLoader.java @@ -7,16 +7,9 @@ import org.bukkit.entity.Player; import com.mojang.authlib.GameProfile; - -//#ifdefined mcversion -//$import net.minecraft.server./*$mcversion$*/.EntityPlayer; -//$import net.minecraft.server./*$mcversion$*/.*; -//$import org.bukkit.craftbukkit./*$mcversion$*/.*; -//#else -import net.minecraft.server.v1_11_R1.EntityPlayer; -import net.minecraft.server.v1_11_R1.*; -import org.bukkit.craftbukkit.v1_11_R1.*; -//#endif +import net.minecraft.server.v1_15_R1.EntityPlayer; +import net.minecraft.server.v1_15_R1.*; +import org.bukkit.craftbukkit.v1_15_R1.*; public class OfflinePlayerLoader { public static Player load(String exactPlayerName) { @@ -51,7 +44,7 @@ public static Player loadFromOfflinePlayer(OfflinePlayer player) { GameProfile profile = new GameProfile(player.getUniqueId(), player.getName()); MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data - EntityPlayer entity = new EntityPlayer(server, server.getWorldServer(0), profile, new PlayerInteractManager(server.getWorldServer(0))); + EntityPlayer entity = new EntityPlayer(server, server.getWorldServer(DimensionManager.OVERWORLD), profile, new PlayerInteractManager(server.getWorldServer(DimensionManager.OVERWORLD))); // Get the bukkit entity Player target = entity.getBukkitEntity(); diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/util/PropertiesFile.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/PropertiesFile.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/util/PropertiesFile.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/PropertiesFile.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/util/RecursiveDirLister.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/RecursiveDirLister.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/util/RecursiveDirLister.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/RecursiveDirLister.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/util/SlimIOUtils.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/SlimIOUtils.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/util/SlimIOUtils.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/SlimIOUtils.java diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/util/TickRateCounter.java b/jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/TickRateCounter.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/jsonapi/util/TickRateCounter.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/jsonapi/util/TickRateCounter.java diff --git a/src/main/java/com/alecgorge/minecraft/permissions/PermissionWrapper.java b/jsonapi/src/main/java/com/alecgorge/minecraft/permissions/PermissionWrapper.java similarity index 100% rename from src/main/java/com/alecgorge/minecraft/permissions/PermissionWrapper.java rename to jsonapi/src/main/java/com/alecgorge/minecraft/permissions/PermissionWrapper.java diff --git a/src/main/java/com/codebutler/android_websockets/HybiParser.java b/jsonapi/src/main/java/com/codebutler/android_websockets/HybiParser.java similarity index 100% rename from src/main/java/com/codebutler/android_websockets/HybiParser.java rename to jsonapi/src/main/java/com/codebutler/android_websockets/HybiParser.java diff --git a/src/main/java/com/codebutler/android_websockets/WebSocketServer.java b/jsonapi/src/main/java/com/codebutler/android_websockets/WebSocketServer.java similarity index 100% rename from src/main/java/com/codebutler/android_websockets/WebSocketServer.java rename to jsonapi/src/main/java/com/codebutler/android_websockets/WebSocketServer.java diff --git a/src/main/java/com/google/code/regexp/NamedMatchResult.java b/jsonapi/src/main/java/com/google/code/regexp/NamedMatchResult.java similarity index 100% rename from src/main/java/com/google/code/regexp/NamedMatchResult.java rename to jsonapi/src/main/java/com/google/code/regexp/NamedMatchResult.java diff --git a/src/main/java/com/google/code/regexp/NamedMatcher.java b/jsonapi/src/main/java/com/google/code/regexp/NamedMatcher.java similarity index 100% rename from src/main/java/com/google/code/regexp/NamedMatcher.java rename to jsonapi/src/main/java/com/google/code/regexp/NamedMatcher.java diff --git a/src/main/java/com/google/code/regexp/NamedPattern.java b/jsonapi/src/main/java/com/google/code/regexp/NamedPattern.java similarity index 100% rename from src/main/java/com/google/code/regexp/NamedPattern.java rename to jsonapi/src/main/java/com/google/code/regexp/NamedPattern.java diff --git a/src/main/java/org/java_websocket/AbstractWrappedByteChannel.java b/jsonapi/src/main/java/org/java_websocket/AbstractWrappedByteChannel.java similarity index 100% rename from src/main/java/org/java_websocket/AbstractWrappedByteChannel.java rename to jsonapi/src/main/java/org/java_websocket/AbstractWrappedByteChannel.java diff --git a/src/main/java/org/java_websocket/SSLSocketChannel2.java b/jsonapi/src/main/java/org/java_websocket/SSLSocketChannel2.java similarity index 100% rename from src/main/java/org/java_websocket/SSLSocketChannel2.java rename to jsonapi/src/main/java/org/java_websocket/SSLSocketChannel2.java diff --git a/src/main/java/org/java_websocket/SocketChannelIOHelper.java b/jsonapi/src/main/java/org/java_websocket/SocketChannelIOHelper.java similarity index 100% rename from src/main/java/org/java_websocket/SocketChannelIOHelper.java rename to jsonapi/src/main/java/org/java_websocket/SocketChannelIOHelper.java diff --git a/src/main/java/org/java_websocket/WebSocket.java b/jsonapi/src/main/java/org/java_websocket/WebSocket.java similarity index 100% rename from src/main/java/org/java_websocket/WebSocket.java rename to jsonapi/src/main/java/org/java_websocket/WebSocket.java diff --git a/src/main/java/org/java_websocket/WebSocketAdapter.java b/jsonapi/src/main/java/org/java_websocket/WebSocketAdapter.java similarity index 100% rename from src/main/java/org/java_websocket/WebSocketAdapter.java rename to jsonapi/src/main/java/org/java_websocket/WebSocketAdapter.java diff --git a/src/main/java/org/java_websocket/WebSocketFactory.java b/jsonapi/src/main/java/org/java_websocket/WebSocketFactory.java similarity index 100% rename from src/main/java/org/java_websocket/WebSocketFactory.java rename to jsonapi/src/main/java/org/java_websocket/WebSocketFactory.java diff --git a/src/main/java/org/java_websocket/WebSocketImpl.java b/jsonapi/src/main/java/org/java_websocket/WebSocketImpl.java similarity index 100% rename from src/main/java/org/java_websocket/WebSocketImpl.java rename to jsonapi/src/main/java/org/java_websocket/WebSocketImpl.java diff --git a/src/main/java/org/java_websocket/WebSocketListener.java b/jsonapi/src/main/java/org/java_websocket/WebSocketListener.java similarity index 100% rename from src/main/java/org/java_websocket/WebSocketListener.java rename to jsonapi/src/main/java/org/java_websocket/WebSocketListener.java diff --git a/src/main/java/org/java_websocket/WrappedByteChannel.java b/jsonapi/src/main/java/org/java_websocket/WrappedByteChannel.java similarity index 100% rename from src/main/java/org/java_websocket/WrappedByteChannel.java rename to jsonapi/src/main/java/org/java_websocket/WrappedByteChannel.java diff --git a/src/main/java/org/java_websocket/client/AbstractClientProxyChannel.java b/jsonapi/src/main/java/org/java_websocket/client/AbstractClientProxyChannel.java similarity index 100% rename from src/main/java/org/java_websocket/client/AbstractClientProxyChannel.java rename to jsonapi/src/main/java/org/java_websocket/client/AbstractClientProxyChannel.java diff --git a/src/main/java/org/java_websocket/client/WebSocketClient.java b/jsonapi/src/main/java/org/java_websocket/client/WebSocketClient.java similarity index 100% rename from src/main/java/org/java_websocket/client/WebSocketClient.java rename to jsonapi/src/main/java/org/java_websocket/client/WebSocketClient.java diff --git a/src/main/java/org/java_websocket/drafts/Draft.java b/jsonapi/src/main/java/org/java_websocket/drafts/Draft.java similarity index 100% rename from src/main/java/org/java_websocket/drafts/Draft.java rename to jsonapi/src/main/java/org/java_websocket/drafts/Draft.java diff --git a/src/main/java/org/java_websocket/drafts/Draft_10.java b/jsonapi/src/main/java/org/java_websocket/drafts/Draft_10.java similarity index 100% rename from src/main/java/org/java_websocket/drafts/Draft_10.java rename to jsonapi/src/main/java/org/java_websocket/drafts/Draft_10.java diff --git a/src/main/java/org/java_websocket/drafts/Draft_17.java b/jsonapi/src/main/java/org/java_websocket/drafts/Draft_17.java similarity index 100% rename from src/main/java/org/java_websocket/drafts/Draft_17.java rename to jsonapi/src/main/java/org/java_websocket/drafts/Draft_17.java diff --git a/src/main/java/org/java_websocket/drafts/Draft_75.java b/jsonapi/src/main/java/org/java_websocket/drafts/Draft_75.java similarity index 100% rename from src/main/java/org/java_websocket/drafts/Draft_75.java rename to jsonapi/src/main/java/org/java_websocket/drafts/Draft_75.java diff --git a/src/main/java/org/java_websocket/drafts/Draft_76.java b/jsonapi/src/main/java/org/java_websocket/drafts/Draft_76.java similarity index 100% rename from src/main/java/org/java_websocket/drafts/Draft_76.java rename to jsonapi/src/main/java/org/java_websocket/drafts/Draft_76.java diff --git a/src/main/java/org/java_websocket/exceptions/IncompleteHandshakeException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/IncompleteHandshakeException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/IncompleteHandshakeException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/IncompleteHandshakeException.java diff --git a/src/main/java/org/java_websocket/exceptions/InvalidDataException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/InvalidDataException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/InvalidDataException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/InvalidDataException.java diff --git a/src/main/java/org/java_websocket/exceptions/InvalidFrameException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/InvalidFrameException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/InvalidFrameException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/InvalidFrameException.java diff --git a/src/main/java/org/java_websocket/exceptions/InvalidHandshakeException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/InvalidHandshakeException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/InvalidHandshakeException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/InvalidHandshakeException.java diff --git a/src/main/java/org/java_websocket/exceptions/LimitExedeedException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/LimitExedeedException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/LimitExedeedException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/LimitExedeedException.java diff --git a/src/main/java/org/java_websocket/exceptions/NotSendableException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/NotSendableException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/NotSendableException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/NotSendableException.java diff --git a/src/main/java/org/java_websocket/exceptions/WebsocketNotConnectedException.java b/jsonapi/src/main/java/org/java_websocket/exceptions/WebsocketNotConnectedException.java similarity index 100% rename from src/main/java/org/java_websocket/exceptions/WebsocketNotConnectedException.java rename to jsonapi/src/main/java/org/java_websocket/exceptions/WebsocketNotConnectedException.java diff --git a/src/main/java/org/java_websocket/framing/CloseFrame.java b/jsonapi/src/main/java/org/java_websocket/framing/CloseFrame.java similarity index 100% rename from src/main/java/org/java_websocket/framing/CloseFrame.java rename to jsonapi/src/main/java/org/java_websocket/framing/CloseFrame.java diff --git a/src/main/java/org/java_websocket/framing/CloseFrameBuilder.java b/jsonapi/src/main/java/org/java_websocket/framing/CloseFrameBuilder.java similarity index 100% rename from src/main/java/org/java_websocket/framing/CloseFrameBuilder.java rename to jsonapi/src/main/java/org/java_websocket/framing/CloseFrameBuilder.java diff --git a/src/main/java/org/java_websocket/framing/FrameBuilder.java b/jsonapi/src/main/java/org/java_websocket/framing/FrameBuilder.java similarity index 100% rename from src/main/java/org/java_websocket/framing/FrameBuilder.java rename to jsonapi/src/main/java/org/java_websocket/framing/FrameBuilder.java diff --git a/src/main/java/org/java_websocket/framing/Framedata.java b/jsonapi/src/main/java/org/java_websocket/framing/Framedata.java similarity index 100% rename from src/main/java/org/java_websocket/framing/Framedata.java rename to jsonapi/src/main/java/org/java_websocket/framing/Framedata.java diff --git a/src/main/java/org/java_websocket/framing/FramedataImpl1.java b/jsonapi/src/main/java/org/java_websocket/framing/FramedataImpl1.java similarity index 100% rename from src/main/java/org/java_websocket/framing/FramedataImpl1.java rename to jsonapi/src/main/java/org/java_websocket/framing/FramedataImpl1.java diff --git a/src/main/java/org/java_websocket/handshake/ClientHandshake.java b/jsonapi/src/main/java/org/java_websocket/handshake/ClientHandshake.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/ClientHandshake.java rename to jsonapi/src/main/java/org/java_websocket/handshake/ClientHandshake.java diff --git a/src/main/java/org/java_websocket/handshake/ClientHandshakeBuilder.java b/jsonapi/src/main/java/org/java_websocket/handshake/ClientHandshakeBuilder.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/ClientHandshakeBuilder.java rename to jsonapi/src/main/java/org/java_websocket/handshake/ClientHandshakeBuilder.java diff --git a/src/main/java/org/java_websocket/handshake/HandshakeBuilder.java b/jsonapi/src/main/java/org/java_websocket/handshake/HandshakeBuilder.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/HandshakeBuilder.java rename to jsonapi/src/main/java/org/java_websocket/handshake/HandshakeBuilder.java diff --git a/src/main/java/org/java_websocket/handshake/HandshakeImpl1Client.java b/jsonapi/src/main/java/org/java_websocket/handshake/HandshakeImpl1Client.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/HandshakeImpl1Client.java rename to jsonapi/src/main/java/org/java_websocket/handshake/HandshakeImpl1Client.java diff --git a/src/main/java/org/java_websocket/handshake/HandshakeImpl1Server.java b/jsonapi/src/main/java/org/java_websocket/handshake/HandshakeImpl1Server.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/HandshakeImpl1Server.java rename to jsonapi/src/main/java/org/java_websocket/handshake/HandshakeImpl1Server.java diff --git a/src/main/java/org/java_websocket/handshake/Handshakedata.java b/jsonapi/src/main/java/org/java_websocket/handshake/Handshakedata.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/Handshakedata.java rename to jsonapi/src/main/java/org/java_websocket/handshake/Handshakedata.java diff --git a/src/main/java/org/java_websocket/handshake/HandshakedataImpl1.java b/jsonapi/src/main/java/org/java_websocket/handshake/HandshakedataImpl1.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/HandshakedataImpl1.java rename to jsonapi/src/main/java/org/java_websocket/handshake/HandshakedataImpl1.java diff --git a/src/main/java/org/java_websocket/handshake/ServerHandshake.java b/jsonapi/src/main/java/org/java_websocket/handshake/ServerHandshake.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/ServerHandshake.java rename to jsonapi/src/main/java/org/java_websocket/handshake/ServerHandshake.java diff --git a/src/main/java/org/java_websocket/handshake/ServerHandshakeBuilder.java b/jsonapi/src/main/java/org/java_websocket/handshake/ServerHandshakeBuilder.java similarity index 100% rename from src/main/java/org/java_websocket/handshake/ServerHandshakeBuilder.java rename to jsonapi/src/main/java/org/java_websocket/handshake/ServerHandshakeBuilder.java diff --git a/src/main/java/org/java_websocket/server/DefaultSSLWebSocketServerFactory.java b/jsonapi/src/main/java/org/java_websocket/server/DefaultSSLWebSocketServerFactory.java similarity index 100% rename from src/main/java/org/java_websocket/server/DefaultSSLWebSocketServerFactory.java rename to jsonapi/src/main/java/org/java_websocket/server/DefaultSSLWebSocketServerFactory.java diff --git a/src/main/java/org/java_websocket/server/DefaultWebSocketServerFactory.java b/jsonapi/src/main/java/org/java_websocket/server/DefaultWebSocketServerFactory.java similarity index 100% rename from src/main/java/org/java_websocket/server/DefaultWebSocketServerFactory.java rename to jsonapi/src/main/java/org/java_websocket/server/DefaultWebSocketServerFactory.java diff --git a/src/main/java/org/java_websocket/server/WebSocketServer.java b/jsonapi/src/main/java/org/java_websocket/server/WebSocketServer.java similarity index 100% rename from src/main/java/org/java_websocket/server/WebSocketServer.java rename to jsonapi/src/main/java/org/java_websocket/server/WebSocketServer.java diff --git a/src/main/java/org/java_websocket/util/Base64.java b/jsonapi/src/main/java/org/java_websocket/util/Base64.java similarity index 100% rename from src/main/java/org/java_websocket/util/Base64.java rename to jsonapi/src/main/java/org/java_websocket/util/Base64.java diff --git a/src/main/java/org/java_websocket/util/Charsetfunctions.java b/jsonapi/src/main/java/org/java_websocket/util/Charsetfunctions.java similarity index 100% rename from src/main/java/org/java_websocket/util/Charsetfunctions.java rename to jsonapi/src/main/java/org/java_websocket/util/Charsetfunctions.java diff --git a/src/main/java/org/json/simpleForBukkit/ItemList.java b/jsonapi/src/main/java/org/json/simpleForBukkit/ItemList.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/ItemList.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/ItemList.java diff --git a/src/main/java/org/json/simpleForBukkit/JSONArray.java b/jsonapi/src/main/java/org/json/simpleForBukkit/JSONArray.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/JSONArray.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/JSONArray.java diff --git a/src/main/java/org/json/simpleForBukkit/JSONAware.java b/jsonapi/src/main/java/org/json/simpleForBukkit/JSONAware.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/JSONAware.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/JSONAware.java diff --git a/src/main/java/org/json/simpleForBukkit/JSONObject.java b/jsonapi/src/main/java/org/json/simpleForBukkit/JSONObject.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/JSONObject.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/JSONObject.java diff --git a/src/main/java/org/json/simpleForBukkit/JSONStreamAware.java b/jsonapi/src/main/java/org/json/simpleForBukkit/JSONStreamAware.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/JSONStreamAware.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/JSONStreamAware.java diff --git a/src/main/java/org/json/simpleForBukkit/JSONValue.java b/jsonapi/src/main/java/org/json/simpleForBukkit/JSONValue.java similarity index 99% rename from src/main/java/org/json/simpleForBukkit/JSONValue.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/JSONValue.java index c1bb76fa..37f87f99 100644 --- a/src/main/java/org/json/simpleForBukkit/JSONValue.java +++ b/jsonapi/src/main/java/org/json/simpleForBukkit/JSONValue.java @@ -92,7 +92,7 @@ public static Object parseWithException(String s) throws ParseException{ * @see org.json.simpleForBukkit.JSONArray#writeJSONString(List, Writer) * * @param value - * @param writer + * @param out */ @SuppressWarnings("unchecked") public static void writeJSONString(Object value, Writer out) throws IOException { diff --git a/src/main/java/org/json/simpleForBukkit/parser/ContainerFactory.java b/jsonapi/src/main/java/org/json/simpleForBukkit/parser/ContainerFactory.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/parser/ContainerFactory.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/parser/ContainerFactory.java diff --git a/src/main/java/org/json/simpleForBukkit/parser/ContentHandler.java b/jsonapi/src/main/java/org/json/simpleForBukkit/parser/ContentHandler.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/parser/ContentHandler.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/parser/ContentHandler.java diff --git a/src/main/java/org/json/simpleForBukkit/parser/JSONParser.java b/jsonapi/src/main/java/org/json/simpleForBukkit/parser/JSONParser.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/parser/JSONParser.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/parser/JSONParser.java diff --git a/src/main/java/org/json/simpleForBukkit/parser/ParseException.java b/jsonapi/src/main/java/org/json/simpleForBukkit/parser/ParseException.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/parser/ParseException.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/parser/ParseException.java diff --git a/src/main/java/org/json/simpleForBukkit/parser/Yylex.java b/jsonapi/src/main/java/org/json/simpleForBukkit/parser/Yylex.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/parser/Yylex.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/parser/Yylex.java diff --git a/src/main/java/org/json/simpleForBukkit/parser/Yytoken.java b/jsonapi/src/main/java/org/json/simpleForBukkit/parser/Yytoken.java similarity index 100% rename from src/main/java/org/json/simpleForBukkit/parser/Yytoken.java rename to jsonapi/src/main/java/org/json/simpleForBukkit/parser/Yytoken.java diff --git a/src/resources/config.yml b/jsonapi/src/resources/config.yml similarity index 86% rename from src/resources/config.yml rename to jsonapi/src/resources/config.yml index 8af6e44f..750d2d8e 100644 --- a/src/resources/config.yml +++ b/jsonapi/src/resources/config.yml @@ -57,3 +57,11 @@ options: # duh max_queue_length: 500 + + # Enable or disable debug logging + debug: false + + # At startup JSONAPI can query and log the external ip and verify + # if the jsonapi ports are being forwarded properly by checking if + # accessible from the exterior + check-ports-forwarding: false diff --git a/src/resources/config_rtk.yml b/jsonapi/src/resources/config_rtk.yml similarity index 100% rename from src/resources/config_rtk.yml rename to jsonapi/src/resources/config_rtk.yml diff --git a/src/resources/groups.yml b/jsonapi/src/resources/groups.yml similarity index 100% rename from src/resources/groups.yml rename to jsonapi/src/resources/groups.yml diff --git a/src/resources/jsonapi4/methods/chat.json b/jsonapi/src/resources/jsonapi4/methods/chat.json similarity index 100% rename from src/resources/jsonapi4/methods/chat.json rename to jsonapi/src/resources/jsonapi4/methods/chat.json diff --git a/src/resources/jsonapi4/methods/dynmap.json b/jsonapi/src/resources/jsonapi4/methods/dynmap.json similarity index 100% rename from src/resources/jsonapi4/methods/dynmap.json rename to jsonapi/src/resources/jsonapi4/methods/dynmap.json diff --git a/src/resources/jsonapi4/methods/econ.json b/jsonapi/src/resources/jsonapi4/methods/econ.json similarity index 100% rename from src/resources/jsonapi4/methods/econ.json rename to jsonapi/src/resources/jsonapi4/methods/econ.json diff --git a/src/resources/jsonapi4/methods/fs.json b/jsonapi/src/resources/jsonapi4/methods/fs.json similarity index 100% rename from src/resources/jsonapi4/methods/fs.json rename to jsonapi/src/resources/jsonapi4/methods/fs.json diff --git a/src/resources/jsonapi4/methods/jsonapi.json b/jsonapi/src/resources/jsonapi4/methods/jsonapi.json similarity index 100% rename from src/resources/jsonapi4/methods/jsonapi.json rename to jsonapi/src/resources/jsonapi4/methods/jsonapi.json diff --git a/src/resources/jsonapi4/methods/permissions.json b/jsonapi/src/resources/jsonapi4/methods/permissions.json similarity index 100% rename from src/resources/jsonapi4/methods/permissions.json rename to jsonapi/src/resources/jsonapi4/methods/permissions.json diff --git a/src/resources/jsonapi4/methods/players.json b/jsonapi/src/resources/jsonapi4/methods/players.json similarity index 100% rename from src/resources/jsonapi4/methods/players.json rename to jsonapi/src/resources/jsonapi4/methods/players.json diff --git a/src/resources/jsonapi4/methods/plugins.json b/jsonapi/src/resources/jsonapi4/methods/plugins.json similarity index 100% rename from src/resources/jsonapi4/methods/plugins.json rename to jsonapi/src/resources/jsonapi4/methods/plugins.json diff --git a/src/resources/jsonapi4/methods/remotetoolkit.json b/jsonapi/src/resources/jsonapi4/methods/remotetoolkit.json similarity index 100% rename from src/resources/jsonapi4/methods/remotetoolkit.json rename to jsonapi/src/resources/jsonapi4/methods/remotetoolkit.json diff --git a/src/resources/jsonapi4/methods/server.json b/jsonapi/src/resources/jsonapi4/methods/server.json similarity index 100% rename from src/resources/jsonapi4/methods/server.json rename to jsonapi/src/resources/jsonapi4/methods/server.json diff --git a/src/resources/jsonapi4/methods/streams.json b/jsonapi/src/resources/jsonapi4/methods/streams.json similarity index 100% rename from src/resources/jsonapi4/methods/streams.json rename to jsonapi/src/resources/jsonapi4/methods/streams.json diff --git a/src/resources/jsonapi4/methods/system.json b/jsonapi/src/resources/jsonapi4/methods/system.json similarity index 100% rename from src/resources/jsonapi4/methods/system.json rename to jsonapi/src/resources/jsonapi4/methods/system.json diff --git a/src/resources/jsonapi4/methods/worlds.json b/jsonapi/src/resources/jsonapi4/methods/worlds.json similarity index 100% rename from src/resources/jsonapi4/methods/worlds.json rename to jsonapi/src/resources/jsonapi4/methods/worlds.json diff --git a/src/resources/methods.json b/jsonapi/src/resources/methods.json similarity index 91% rename from src/resources/methods.json rename to jsonapi/src/resources/methods.json index 249eb6c2..c456dc28 100644 --- a/src/resources/methods.json +++ b/jsonapi/src/resources/methods.json @@ -60,7 +60,7 @@ "returns": ["boolean", "True if the item was given. False will be returned if the player is not on the server."], "args": [ ["String","Player's name"], - ["int","Id of item to give"], + ["String","Name of item to give"], ["int","Quantity of item to give"] ] }, @@ -71,7 +71,7 @@ "returns": ["boolean", "True if the item was given. False will be returned if the player is not on the server. An exception could be throw for invalid data (data < 0 or data > 15)."], "args": [ ["String","Player's name"], - ["int","Id of item to give"], + ["String","Name of item to give"], ["int","Quantity of item to give"], ["int","Decimal representation of the data value."] ] @@ -83,7 +83,7 @@ "call": "this.giveItemDrop(0, 1, 2)", "args": [ ["String", "Players' name"], - ["int", "Id of item to drop"], + ["String", "Name of item to drop"], ["int", "Quantity of item to drop"] ] }, @@ -94,7 +94,7 @@ "returns": ["boolean", "True if the item was given. False will be returned if the player is not on the server. An exception could be throw for invalid data (data < 0 or data > 15)."], "args": [ ["String","Player's name"], - ["int","Id of item to give"], + ["String","Name of item to give"], ["int","Quantity of item to give"], ["int","Decimal representation of the data value."] ] @@ -108,27 +108,26 @@ { "name": "setPlayerInventorySlotWithDamage", "desc": "Sets the specified slot in the specified player's inventory to the specified type with the specified quantity and damage.", - "call": "this.setPlayerInventorySlot(0, 1, 2, 3, 4)", + "call": "this.setPlayerInventorySlotWithDamage(0, 1, 2, 3, 4)", "returns": ["boolean", "True if the item was given. False will be returned if the player is not on the server."], "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["int", "Id of block type to set"], + ["String", "Name of block type to set"], ["int", "The damage of the item."], ["int", "Quantity to set"] ] }, { - "name": "setPlayerInventorySlotWithDataAndDamage", - "desc": "Sets the specified slot in the specified player's inventory to the specified type with the specified data, quantity and damage.", - "call": "this.setPlayerInventorySlotWithDataAndDamage(0, 1, 2, 3, 4, 5)", + "name": "setPlayerInventorySlotWithData", + "desc": "Sets the specified slot in the specified player's inventory to the specified type with the specified data, quantity.", + "call": "this.setPlayerInventorySlotWithData(0, 1, 2, 3, 4)", "returns": ["boolean", "True if the item was given. False will be returned if the player is not on the server."], "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["int", "Id of block type to set"], + ["String", "Name of block type to set"], ["int", "The data of the item."], - ["int", "The damage of the item."], ["int", "Quantity to set"] ] }, @@ -140,7 +139,7 @@ "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["int", "The enchantment ID (EID): http://www.minecraftwiki.net/wiki/Enchanting#Enchantment_Types"], + ["String", "The enchantment Name: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html"], ["int", "The enchantment level"] ] }, @@ -152,7 +151,7 @@ "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["Object[]", "Array of {enchantment: 0, level: 1}-esque objects where enchantment is the EID-value from here: http://www.minecraftwiki.net/wiki/Enchanting#Enchantment_Types"] + ["Object[]", "Array of {enchantment: LUCK, level: 1}-esque objects where enchantment is the Name from here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html"] ] }, { @@ -163,7 +162,7 @@ "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["Object[]", "Array of EID-values from here: http://www.minecraftwiki.net/wiki/Enchanting#Enchantment_Types"] + ["Object[]", "Array of names from here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html"] ] }, { @@ -174,11 +173,11 @@ "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["int", "Id of block type to set"], + ["String", "Name of block type to set"], ["int", "The data of the item."], ["int", "The damage of the item."], ["int", "Quantity to set"], - ["Object[]", "Array of {enchantment: 0, level: 1}-esque objects where enchantment is the EID-value from here: http://www.minecraftwiki.net/wiki/Enchanting#Enchantment_Types"] + ["Object[]", "Array of {enchantment: LUCK, level: 1}-esque objects where enchantment is name from here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html"] ] }, { @@ -189,7 +188,7 @@ "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["int", "Id of block type to set"], + ["String", "Name of block type to set"], ["int", "The data of the item."], ["int", "Quantity to set"] ] @@ -223,7 +222,7 @@ "args": [ ["String", "Player's name"], ["int", "Slot number"], - ["int", "Id of block type to set"], + ["String", "Name of block type to set"], ["int", "Quantity to set"] ] }, @@ -234,7 +233,7 @@ "call": "this.removePlayerInventoryItem(0, 1)", "args": [ ["String", "Player's name"], - ["int", "Id of block type to remove"] + ["String", "Name of block type to remove"] ] }, { @@ -711,9 +710,9 @@ }, { "name": "setPlayerGameMode", - "desc": "Sets the game mode for a player. 0 is creative. 1 is survivial.", + "desc": "Sets the game mode by id for a player. 1 is creative. 0 is survivial. 2 os adventure. 3 is spectator", "returns": ["boolean", "True on succes, false if the player is not on the server."], - "call": "this.setPlayerGameMode(0, 1)", + "call": "this.setPlayerGameModeById(0, 1)", "flags": [ "FALSE_ON_EXCEPTION" ], @@ -722,6 +721,19 @@ ["int", "The game mode."] ] }, + { + "name": "setPlayerGameModeByName", + "desc": "Sets the game mode for a player. Options: [CREATIVE, SURVIVAL, ADVENTURE, SPECTATOR]", + "returns": ["boolean", "True on succes, false if the player is not on the server."], + "call": "this.setPlayerGameModeByName(0, 1)", + "flags": [ + "FALSE_ON_EXCEPTION" + ], + "args": [ + ["String", "The player's name."], + ["String", "The name of game mode."] + ] + }, { "name":"getStream", "desc":"Returns all the messages in a stream with the given name.", @@ -771,25 +783,13 @@ { "name":"setBlockType", "desc":"Set the type of the block in the specified world at the specified coordinate.", - "call":"Server.getWorld(0).getBlockAt(1, 2, 3).setTypeId(4)", + "call":"this.setBlockType(0, 1, 2, 3, 4)", "args": [ ["String", "The world name."], ["int", "The x-coord of the block."], ["int", "The y-coord of the block."], ["int", "The z-coord of the block."], - ["int", "The type ID to change the block to."] - ] - }, - { - "name":"setBlockData", - "desc":"Set the data value of the block in the specified world at the specified coordinate.", - "call":"this.setBlockData(0,1,2,3,4)", - "args": [ - ["String", "The world name."], - ["int", "The x-coord of the block."], - ["int", "The y-coord of the block."], - ["int", "The z-coord of the block."], - ["int", "The decimal representation of the data value to set on the block."] + ["String", "Change the block to a block named."] ] }, { @@ -811,10 +811,10 @@ "name":"getOnlinePlayerNamesInWorld", "desc":"Retrieves an array of the names of all the players currently in the given world.", "returns":["String[]", "The players' names."], + "call":"Server.getWorld(0).getPlayers()", "args": [ ["String", "The world name"] - ], - "call":"Server.getWorld(0).getPlayers()" + ] }, { "name":"getOfflinePlayers", diff --git a/src/resources/methods/chat.json b/jsonapi/src/resources/methods/chat.json similarity index 100% rename from src/resources/methods/chat.json rename to jsonapi/src/resources/methods/chat.json diff --git a/src/resources/methods/dynmap.json b/jsonapi/src/resources/methods/dynmap.json similarity index 100% rename from src/resources/methods/dynmap.json rename to jsonapi/src/resources/methods/dynmap.json diff --git a/src/resources/methods/econ.json b/jsonapi/src/resources/methods/econ.json similarity index 100% rename from src/resources/methods/econ.json rename to jsonapi/src/resources/methods/econ.json diff --git a/src/resources/methods/fs.json b/jsonapi/src/resources/methods/fs.json similarity index 100% rename from src/resources/methods/fs.json rename to jsonapi/src/resources/methods/fs.json diff --git a/src/resources/methods/permissions.json b/jsonapi/src/resources/methods/permissions.json similarity index 100% rename from src/resources/methods/permissions.json rename to jsonapi/src/resources/methods/permissions.json diff --git a/src/resources/methods/readme.txt b/jsonapi/src/resources/methods/readme.txt similarity index 100% rename from src/resources/methods/readme.txt rename to jsonapi/src/resources/methods/readme.txt diff --git a/src/resources/methods/remotetoolkit.json b/jsonapi/src/resources/methods/remotetoolkit.json similarity index 100% rename from src/resources/methods/remotetoolkit.json rename to jsonapi/src/resources/methods/remotetoolkit.json diff --git a/src/resources/methods/system.json b/jsonapi/src/resources/methods/system.json similarity index 100% rename from src/resources/methods/system.json rename to jsonapi/src/resources/methods/system.json diff --git a/src/resources/methods/world.json b/jsonapi/src/resources/methods/world.json similarity index 94% rename from src/resources/methods/world.json rename to jsonapi/src/resources/methods/world.json index 8a0fa346..06ad2404 100644 --- a/src/resources/methods/world.json +++ b/jsonapi/src/resources/methods/world.json @@ -17,7 +17,7 @@ ["int", "The z-pos of the sign."] ] }, - { + { "name": "getChestContents", "desc": "Gets all the items in a chest.", "returns": ["Object[]", "The chest's inventory."], @@ -67,7 +67,7 @@ ["int", "The y-pos of the chest."], ["int", "The z-pos of the chest."], ["int","Slot number"], - ["int","Id of item to give"], + ["String","Name of item to give"], ["int","Quantity of item to give"] ] }, @@ -82,7 +82,7 @@ ["int", "The y-pos of the chest."], ["int", "The z-pos of the chest."], ["int","Slot number"], - ["int","Id of item to give"], + ["String","Name of item to give"], ["int","Quantity of item to give"], ["int","Decimal representation of the data value."] ] diff --git a/src/resources/permission_nodes.yml b/jsonapi/src/resources/permission_nodes.yml similarity index 100% rename from src/resources/permission_nodes.yml rename to jsonapi/src/resources/permission_nodes.yml diff --git a/src/resources/plugin.yml b/jsonapi/src/resources/plugin.yml similarity index 95% rename from src/resources/plugin.yml rename to jsonapi/src/resources/plugin.yml index b939696f..a80cfbb6 100644 --- a/src/resources/plugin.yml +++ b/jsonapi/src/resources/plugin.yml @@ -1,11 +1,12 @@ name: JSONAPI main: com.alecgorge.minecraft.jsonapi.JSONAPI -version: 5.7.0 +version: 5.10.0 description: Control your server and fetch information from your server. website: http://mcjsonapi.com/ author: Alec Gorge depend: [Vault, ProtocolLib] softdepend: [RemoteToolkitPlugin, dynmap] +api-version: 1.15 commands: reloadjsonapi: description: Reloads the API methods for JSONAPI. diff --git a/src/resources/users.yml b/jsonapi/src/resources/users.yml similarity index 100% rename from src/resources/users.yml rename to jsonapi/src/resources/users.yml diff --git a/pom.xml b/pom.xml index c29a871d..1f4ab395 100644 --- a/pom.xml +++ b/pom.xml @@ -1,290 +1,54 @@ - 4.0.0 - com.alecgorge.minecraft.jsonapi - JSONAPI - jar - ${jsonapiVersion}-mc${spigotVersion} - JSONAPI - http://github.com/alecgorge/jsonapi + 4.0.0 + com.alecgorge.minecraft + jsonapi + pom + 5.10.0-mc1.15.2-R0.1-SNAPSHOT + jsonapi-parent + http://github.com/alecgorge/jsonapi - - Alec Gorge - http://alecgorge.com - + + Alec Gorge + http://alecgorge.com + - - scm:git:git@github.com:alecgorge/jsonapi.git - scm:git:git://github.com/alecgorge/jsonapi.git - https://github.com/alecgorge/jsonapi/tree/master/ - + + scm:git:git@github.com:alecgorge/jsonapi.git + scm:git:git://github.com/alecgorge/jsonapi.git + https://github.com/alecgorge/jsonapi/tree/master/ + - - - default - - BLEEDING - - - true - - - - - - 1.12-R0.1-SNAPSHOT - v1_12_R1 + + UTF-8 + 1.15.2-R0.1-SNAPSHOT + v1_15_R1 no - + ${settings.localRepository}/org/spigotmc/spigot/${spigotVersion}/spigot-${spigotVersion}.jar + - - - spigot-repo - https://hub.spigotmc.org/nexus/content/groups/public/ - - - vault-repo - http://nexus.hc.to/content/repositories/pub_releases - - - dmulloy2-repo - http://repo.dmulloy2.net/content/groups/public/ - + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + vault-repo + http://nexus.hc.to/content/repositories/pub_releases + + + dmulloy2-repo + http://repo.dmulloy2.net/nexus/repository/public/ + ess-repo - http://repo.ess3.net/content/groups/essentials + https://ci.ender.zone/plugin/repository/everything/ - - - org.spigotmc - spigot-api - ${spigotVersion} - - - - - org.spigotmc - spigot - ${spigotVersion} - - - - net.ess3 - Essentials - 2.14-SNAPSHOT - - - com.igormaznitsa - jcp - 5.3.2 - - - net.milkbowl.vault - Vault - 1.6.6 - - - com.comphenix.protocol - ProtocolLib - 4.3.0 - - + + spigot + jsonapi + - - JSONAPI - src/main/java - - - src/resources - - plugin.yml - permission_nodes.yml - groups.json - users.yml - groups.yml - config.yml - config_rtk.yml - methods.json - methods/* - jsonapi4/methods/* - - - - - - com.igormaznitsa - jcp - 6.0.1 - - - generate-sources - - preprocess - - - - - - - mcversion - ${mcPackage} - - - mc1120rNewer - ${mc1120rNewer} - - - - jsonapiDebug - ${jsonapiDebug} - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.5 - - 1.6 - 1.6 - UTF-8 - true - lines,vars,source - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - install-test-jar - install - - copy - - - - - com.alecgorge.minecraft.jsonapi - JSONAPI - ${project.version} - - - ${basedir}/test/plugins - true - - - - install-test-jar-dependency - install - - copy-dependencies - - - ${basedir}/test/plugins - Vault,ProtocolLib,Essentials - true - - - - install-jar - install - - copy - - - - - com.alecgorge.minecraft.jsonapi - JSONAPI - ${project.version} - JSONAPI-${project.version}.jar - - - builds/Spigot-${spigotVersion} - true - - - - install-jar-combo - install - - copy - - - - - com.alecgorge.minecraft.jsonapi - JSONAPI - ${project.version} - JSONAPI-${project.version}.jar - - - builds/Spigot-all - true - - - - copy-dependencies - package - - copy-dependencies - - - ${basedir}/test - spigot - true - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - - copy-prod-resources - process-resources - - copy-resources - - - false - ${basedir}/test/plugins/JSONAPI - - - src/resources - - config.yml - users.yml - groups.yml - groups.json - methods.json - methods/* - - - - - - - - - diff --git a/spigot/pom.xml b/spigot/pom.xml new file mode 100644 index 00000000..e99434cc --- /dev/null +++ b/spigot/pom.xml @@ -0,0 +1,115 @@ + + + 4.0.0 + com.alecgorge.minecraft.jsonapi + spigot + pom + 5.10.0-mc1.15.2-R0.1-SNAPSHOT + spigot + http://github.com/alecgorge/jsonapi + + + com.alecgorge.minecraft + jsonapi + 5.10.0-mc1.15.2-R0.1-SNAPSHOT + + + + + Alec Gorge + http://alecgorge.com + + + + scm:git:git@github.com:alecgorge/jsonapi.git + scm:git:git://github.com/alecgorge/jsonapi.git + https://github.com/alecgorge/jsonapi/tree/master/ + + + + UTF-8 + 1.15.2-R0.1-SNAPSHOT + v1_15_R1 + no + + ${settings.localRepository}/org/spigotmc/spigot/${spigotVersion}/spigot-${spigotVersion}.jar + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + vault-repo + http://nexus.hc.to/content/repositories/pub_releases + + + dmulloy2-repo + http://repo.dmulloy2.net/nexus/repository/public/ + + + ess-repo + https://ci.ender.zone/plugin/repository/everything/ + + + + + + + com.googlecode.maven-download-plugin + download-maven-plugin + 1.3.0 + + + initialize + + wget + + + https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar + BuildTools.jar + ${spigotBuildDir} + + + + + + + org.codehaus.gmaven + groovy-maven-plugin + 2.1.1 + + + build-spigotjar-only-if-not-found + initialize + + execute + + + + ${project.build.directory} + ${spigotJar} + + + println '----------------------| Executing spigot BuildTools from Maven |---------------------------' + def buildToolsCmd = 'java -jar BuildTools.jar' + def sysenv = System.getenv().collect { k, v -> "$k=$v" } + def cwd = new File(properties['buildDir']) + def spigotJar = new File(properties['spigotJarPath']) + if (! spigotJar.exists()) { + println "spigot jar NOT FOUND at:'" + spigotJar.getPath() + "'" + println "Proceeding to generate it with spigot BuildTools..." + buildToolsCmd.execute(sysenv, cwd ).waitForProcessOutput(System.out, System.err) + } else { + println "No need to build spigot.jar, it already exists in maven local repository at: " + spigotJar.getPath() + } + println '-------------------------------------------------------------------------------------' + + + + + + + + diff --git a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleStubAppender.java b/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleStubAppender.java deleted file mode 100644 index 6153c346..00000000 --- a/src/main/java/com/alecgorge/minecraft/jsonapi/streams/console/ConsoleStubAppender.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.alecgorge.minecraft.jsonapi.streams.console; - -import org.apache.logging.log4j.core.LogEvent; -import org.apache.logging.log4j.core.appender.AbstractAppender; -import org.apache.logging.log4j.core.config.plugins.Plugin; -import org.apache.logging.log4j.core.layout.PatternLayout; - -import com.alecgorge.minecraft.jsonapi.JSONServer; - -@Plugin(name = "ConsoleStub", category = "Core", elementType = "appender", printObject = true) - -public class ConsoleStubAppender -extends AbstractAppender -{ - JSONServer server; - - public ConsoleStubAppender(JSONServer server) { -//#if mc1120rNewer=="yes" -//$ super("JSONAPI", null, PatternLayout.newBuilder().withPattern("[%d{HH:mm:ss} %level]: %msg%n").build(), false); -//#else - super("JSONAPI", null, PatternLayout.createLayout("[%d{HH:mm:ss} %level]: %msg%n", null, null, null, null), false); -//#endif - - this.server = server; - } - - @Override - public boolean isStarted() { - return true; - } - - @Override - public void append(LogEvent e) { - server.logConsole(getLayout().toSerializable(e).toString()); - } -} diff --git a/test/plugins/Essentials-2.0.1-b264.jar b/test/plugins/Essentials-2.0.1-b264.jar deleted file mode 100644 index cb7506af..00000000 Binary files a/test/plugins/Essentials-2.0.1-b264.jar and /dev/null differ diff --git a/test/test.command b/test/test.command deleted file mode 100755 index 462c7298..00000000 --- a/test/test.command +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -cd "$DIR/../" -mvn clean install && cd test/ && java -Xmx2G -jar spigot-1.8.8-R0.1-SNAPSHOT.jar