Bridge: избавляемся от fake-модуля
This commit is contained in:
@@ -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'
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
/*
|
|
||||||
* DmitriyMX <dimon550@gmail.com>
|
|
||||||
* 2017-05-23
|
|
||||||
*/
|
|
||||||
package org.bukkit.craftbukkit.v1_8_R3;
|
|
||||||
|
|
||||||
public class CraftServer {
|
|
||||||
public boolean getOnlineMode() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
group = 'asys'
|
group = 'asys'
|
||||||
version = '0.5.4-SNAPSHOT'
|
version = '0.5.5-SNAPSHOT'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' }
|
maven { url 'https://hub.spigotmc.org/nexus/content/groups/public/' }
|
||||||
@@ -18,7 +18,6 @@ configurations {
|
|||||||
|
|
||||||
compileJava {
|
compileJava {
|
||||||
dependsOn ':bridge-protocol:compileJava'
|
dependsOn ':bridge-protocol:compileJava'
|
||||||
dependsOn ':bridge-mcserver-fake:compileJava'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
@@ -33,7 +32,6 @@ ext {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
include files(project(':bridge-protocol').sourceSets.main.output.classesDir)
|
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') {
|
compile (group: 'org.bukkit', name: 'bukkit', version: '1.8.8-R0.1-SNAPSHOT') {
|
||||||
exclude group: 'junit'
|
exclude group: 'junit'
|
||||||
exclude group: 'commons-lang'
|
exclude group: 'commons-lang'
|
||||||
|
|||||||
@@ -5,31 +5,41 @@
|
|||||||
package asys.bridge.bukkit;
|
package asys.bridge.bukkit;
|
||||||
|
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
|
||||||
class SpigotServer {
|
class SpigotServer {
|
||||||
private CraftServer craftServer;
|
private Object craftServer;
|
||||||
private Object booleanWrapper;
|
private Object booleanWrapper;
|
||||||
private Field booleanWrapperValueField;
|
private Field booleanWrapperValueField;
|
||||||
|
private Method getOnlineModeMethod;
|
||||||
|
|
||||||
SpigotServer(Server server) {
|
SpigotServer(Server server) {
|
||||||
craftServer = (CraftServer)server;
|
craftServer = server;
|
||||||
try {
|
try {
|
||||||
Field onlineField = craftServer.getClass().getDeclaredField("online");
|
Field onlineField = craftServer.getClass().getDeclaredField("online");
|
||||||
onlineField.setAccessible(true);
|
onlineField.setAccessible(true);
|
||||||
booleanWrapper = onlineField.get(craftServer);
|
booleanWrapper = onlineField.get(craftServer);
|
||||||
booleanWrapperValueField = booleanWrapper.getClass().getDeclaredField("value");
|
booleanWrapperValueField = booleanWrapper.getClass().getDeclaredField("value");
|
||||||
booleanWrapperValueField.setAccessible(true);
|
booleanWrapperValueField.setAccessible(true);
|
||||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
|
||||||
|
getOnlineModeMethod = craftServer.getClass().getDeclaredMethod("getOnlineMode");
|
||||||
|
} catch (NoSuchFieldException | IllegalAccessException | NoSuchMethodException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean getOnlineMode() {
|
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) {
|
void setOnlineMode(boolean value) {
|
||||||
|
|||||||
@@ -4,4 +4,3 @@ include 'webinterface'
|
|||||||
include 'mcserver-manager'
|
include 'mcserver-manager'
|
||||||
include 'bridge-protocol'
|
include 'bridge-protocol'
|
||||||
include 'bridge'
|
include 'bridge'
|
||||||
include 'bridge-mcserver-fake'
|
|
||||||
|
|||||||
Reference in New Issue
Block a user