add paper 1.20.6+ supports

This commit is contained in:
Xanadu13
2024-06-01 20:42:05 +08:00
parent af65723e35
commit 120d2f11d1
3 changed files with 23 additions and 9 deletions
@@ -61,8 +61,10 @@ public class GroovyManager {
public static Object eval(String expression, Player player){
Binding binding = new Binding();
binding.setVariable("player",player);
binding.setVariable("itemStack",player.getItemInHand());
binding.setVariable("world",player.getWorld());
if (player != null){
binding.setVariable("itemStack",player.getItemInHand());
binding.setVariable("world",player.getWorld());
}
GroovyShell shell = new GroovyShell(GroovyManager.class.getClassLoader(),binding,compilerConfig);
return shell.evaluate(lib+expression);
}
@@ -1,12 +1,16 @@
package pers.xanadu.enderdragon.util;
import lombok.Getter;
import org.bukkit.Bukkit;
import pers.xanadu.enderdragon.EnderDragon;
import pers.xanadu.enderdragon.config.Lang;
import pers.xanadu.enderdragon.nms.BossBar.IBossBarManager;
import pers.xanadu.enderdragon.nms.NMSItem.INMSItemManager;
import pers.xanadu.enderdragon.nms.RespawnAnchor.IRespawnAnchorManager;
import pers.xanadu.enderdragon.nms.WorldData.IWorldDataManager;
import java.lang.reflect.Field;
import static org.bukkit.Bukkit.getServer;
public class Version {
@@ -24,14 +28,22 @@ public class Version {
public static void init(){
try {
version = getServer().getClass().getPackage().getName().split("\\.")[3];
String[] mc_version = getServer().getBukkitVersion().split("-")[0].split("\\.");
mcMainVersion = Integer.parseInt(mc_version[1]);
if(mc_version.length<=2) mcPatchVersion = 0;
else mcPatchVersion = Integer.parseInt(mc_version[2]);
} catch (Throwable throwable) {
throwable.printStackTrace();
Lang.warn("Failed to get nms-version!");
try{
//paper 1.20.6+
Class<?> clazz = Class.forName("io.papermc.paper.util.MappingEnvironment");
Field LEGACY_CB_VERSION = clazz.getField("LEGACY_CB_VERSION");
version = (String) LEGACY_CB_VERSION.get(null);
}catch (ReflectiveOperationException e){
throwable.printStackTrace();
Lang.warn("Failed to get nms-version!");
Bukkit.getServer().getPluginManager().disablePlugin(EnderDragon.plugin);
}
}
String[] mc_version = getServer().getBukkitVersion().split("-")[0].split("\\.");
mcMainVersion = Integer.parseInt(mc_version[1]);
if(mc_version.length<=2) mcPatchVersion = 0;
else mcPatchVersion = Integer.parseInt(mc_version[2]);
Lang.info("Found version: " + version);
try{
Class.forName("net.minecraftforge.server.ServerMain");
+1 -1
View File
@@ -1,5 +1,5 @@
name: EnderDragon
version: 2.5.2
version: 2.5.3
main: pers.xanadu.enderdragon.EnderDragon
author: Xanadu13
api-version: 1.13