mirror of
https://github.com/EssentialsX/Essentials.git
synced 2026-11-05 01:00:13 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f7b7d0a5f | ||
|
|
f379323d7a |
No files matched your search
@@ -76,8 +76,8 @@ To add EssentialsX to your build system, you should use the following artifacts:
|
||||
|
||||
| Type | Group ID | Artifact ID | Version |
|
||||
|:---------------|:------------------|:--------------|:------------------|
|
||||
| Latest release | `net.essentialsx` | `EssentialsX` | `2.19.5` |
|
||||
| Snapshots | `net.essentialsx` | `EssentialsX` | `2.19.5-SNAPSHOT` |
|
||||
| Latest release | `net.essentialsx` | `EssentialsX` | `2.19.6` |
|
||||
| Snapshots | `net.essentialsx` | `EssentialsX` | `2.19.6-SNAPSHOT` |
|
||||
| Older releases | `net.ess3` | `EssentialsX` | `2.18.2` |
|
||||
|
||||
Note: until version `2.18.2`, EssentialsX used the `net.ess3` group ID.
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = "net.essentialsx"
|
||||
version = "2.19.5"
|
||||
version = "2.19.6"
|
||||
|
||||
project.ext {
|
||||
GIT_COMMIT = !indraGit.isPresent() ? "unknown" : indraGit.commit().abbreviate(7).name()
|
||||
|
||||
+17
-4
@@ -1,5 +1,6 @@
|
||||
package net.ess3.nms.refl.providers;
|
||||
|
||||
import net.ess3.nms.refl.ReflUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.lang.invoke.MethodHandle;
|
||||
@@ -9,23 +10,35 @@ import java.lang.invoke.MethodType;
|
||||
public class ReflOnlineModeProvider {
|
||||
private final MethodHandle spigotBungeeGetter;
|
||||
private final MethodHandle paperBungeeGetter;
|
||||
private final Object paperProxiesInstance;
|
||||
private final boolean fancyPaperCheck;
|
||||
|
||||
public ReflOnlineModeProvider() {
|
||||
MethodHandle spigotBungeeGetter = null;
|
||||
MethodHandle paperBungeeGetter = null;
|
||||
Object paperProxiesInstance = null;
|
||||
boolean fancyCheck = false;
|
||||
try {
|
||||
final MethodHandles.Lookup lookup = MethodHandles.lookup();
|
||||
spigotBungeeGetter = lookup.findStaticGetter(Class.forName("org.spigotmc.SpigotConfig"), "bungee", boolean.class);
|
||||
final Class<?> paperConfig = Class.forName("com.destroystokyo.paper.PaperConfig");
|
||||
paperBungeeGetter = lookup.findStaticGetter(paperConfig, "bungeeOnlineMode", boolean.class);
|
||||
paperBungeeGetter = lookup.findStatic(paperConfig, "isProxyOnlineMode", MethodType.methodType(boolean.class));
|
||||
fancyCheck = true;
|
||||
final Class<?> newPaperConfigClass = ReflUtil.getClassCached("io.papermc.paper.configuration.GlobalConfiguration");
|
||||
if (newPaperConfigClass != null) {
|
||||
final Class<?> proxiesClass = Class.forName("io.papermc.paper.configuration.GlobalConfiguration$Proxies");
|
||||
final Object globalConfig = lookup.findStatic(newPaperConfigClass, "get", MethodType.methodType(newPaperConfigClass)).invoke();
|
||||
paperProxiesInstance = lookup.findGetter(newPaperConfigClass, "proxies", proxiesClass).invoke(globalConfig);
|
||||
paperBungeeGetter = lookup.findVirtual(proxiesClass, "isProxyOnlineMode", MethodType.methodType(boolean.class));
|
||||
fancyCheck = true;
|
||||
} else {
|
||||
final Class<?> paperConfig = Class.forName("com.destroystokyo.paper.PaperConfig");
|
||||
paperBungeeGetter = lookup.findStaticGetter(paperConfig, "bungeeOnlineMode", boolean.class);
|
||||
paperBungeeGetter = lookup.findStatic(paperConfig, "isProxyOnlineMode", MethodType.methodType(boolean.class));
|
||||
fancyCheck = true;
|
||||
}
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
this.spigotBungeeGetter = spigotBungeeGetter;
|
||||
this.paperBungeeGetter = paperBungeeGetter;
|
||||
this.paperProxiesInstance = paperProxiesInstance;
|
||||
this.fancyPaperCheck = fancyCheck;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user