From 2071e5c554df678cbf3222da0d091fec068c4780 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Tue, 23 May 2017 21:52:01 +0300 Subject: [PATCH] =?UTF-8?q?Bridge:=20=D0=B8=D0=B7=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D0=BC=D1=81=D1=8F=20=D0=BE=D1=82=20fake-=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D1=83=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bridge-mcserver-fake/build.gradle | 14 ------------- .../craftbukkit/v1_8_R3/CraftServer.java | 11 ---------- bridge/build.gradle | 4 +--- .../java/asys/bridge/bukkit/SpigotServer.java | 20 ++++++++++++++----- settings.gradle | 1 - 5 files changed, 16 insertions(+), 34 deletions(-) delete mode 100644 bridge-mcserver-fake/build.gradle delete mode 100644 bridge-mcserver-fake/src/main/java/org/bukkit/craftbukkit/v1_8_R3/CraftServer.java 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'