Bridge: избавляемся от fake-модуля
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user