diff --git a/bridge-mcserver-fake/build.gradle b/bridge-mcserver-fake/build.gradle deleted file mode 100644 index edb1a8a..0000000 --- a/bridge-mcserver-fake/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -group = 'asys' -version = '0.1-SNAPSHOT' - -repositories { - maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' } -} - -task jar(type: Jar, overwrite: true) { - // не собирать jar -} - -dependencies { - compile group: 'org.bukkit', name: 'bukkit', version: '1.8.8-R0.1-SNAPSHOT' -} \ No newline at end of file diff --git a/bridge-mcserver-fake/src/main/java/org/bukkit/craftbukkit/v1_8_R3/CraftServer.java b/bridge-mcserver-fake/src/main/java/org/bukkit/craftbukkit/v1_8_R3/CraftServer.java deleted file mode 100644 index ad00dc5..0000000 --- a/bridge-mcserver-fake/src/main/java/org/bukkit/craftbukkit/v1_8_R3/CraftServer.java +++ /dev/null @@ -1,11 +0,0 @@ -/* - * DmitriyMX - * 2017-05-23 - */ -package org.bukkit.craftbukkit.v1_8_R3; - -public class CraftServer { - public boolean getOnlineMode() { - return false; - } -} diff --git a/bridge/build.gradle b/bridge/build.gradle index bacb543..ea5c26d 100644 --- a/bridge/build.gradle +++ b/bridge/build.gradle @@ -1,5 +1,5 @@ group = 'asys' -version = '0.5.4-SNAPSHOT' +version = '0.5.5-SNAPSHOT' repositories { maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' } @@ -18,7 +18,6 @@ configurations { compileJava { dependsOn ':bridge-protocol:compileJava' - dependsOn ':bridge-mcserver-fake:compileJava' } jar { @@ -33,7 +32,6 @@ ext { dependencies { include files(project(':bridge-protocol').sourceSets.main.output.classesDir) - compile files(project(':bridge-mcserver-fake').sourceSets.main.output.classesDir) compile (group: 'org.bukkit', name: 'bukkit', version: '1.8.8-R0.1-SNAPSHOT') { exclude group: 'junit' exclude group: 'commons-lang' diff --git a/bridge/src/main/java/asys/bridge/bukkit/SpigotServer.java b/bridge/src/main/java/asys/bridge/bukkit/SpigotServer.java index 3cd1d1b..9c02226 100644 --- a/bridge/src/main/java/asys/bridge/bukkit/SpigotServer.java +++ b/bridge/src/main/java/asys/bridge/bukkit/SpigotServer.java @@ -5,31 +5,41 @@ package asys.bridge.bukkit; import org.bukkit.Server; -import org.bukkit.craftbukkit.v1_8_R3.CraftServer; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; class SpigotServer { - private CraftServer craftServer; + private Object craftServer; private Object booleanWrapper; private Field booleanWrapperValueField; + private Method getOnlineModeMethod; SpigotServer(Server server) { - craftServer = (CraftServer)server; + craftServer = server; try { Field onlineField = craftServer.getClass().getDeclaredField("online"); onlineField.setAccessible(true); booleanWrapper = onlineField.get(craftServer); booleanWrapperValueField = booleanWrapper.getClass().getDeclaredField("value"); booleanWrapperValueField.setAccessible(true); - } catch (NoSuchFieldException | IllegalAccessException e) { + + getOnlineModeMethod = craftServer.getClass().getDeclaredMethod("getOnlineMode"); + } catch (NoSuchFieldException | IllegalAccessException | NoSuchMethodException e) { e.printStackTrace(); } } boolean getOnlineMode() { - return craftServer.getOnlineMode(); + try { + Object result = getOnlineModeMethod.invoke(craftServer); + return (Boolean) result; + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + return false; + } } void setOnlineMode(boolean value) { diff --git a/settings.gradle b/settings.gradle index 0c9f3c2..df0ccb4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,4 +4,3 @@ include 'webinterface' include 'mcserver-manager' include 'bridge-protocol' include 'bridge' -include 'bridge-mcserver-fake'