diff --git a/commons-bukkit/pom.xml b/commons-bukkit/pom.xml
index fd3fcf8..83493a8 100644
--- a/commons-bukkit/pom.xml
+++ b/commons-bukkit/pom.xml
@@ -12,7 +12,7 @@
commons-bukkit
- 1.21.10-R0.1-SNAPSHOT
+ 26.2-R0.1-SNAPSHOT
0.1.0
1.12-1.6.5
0.5.1-SNAPSHOT
@@ -38,12 +38,12 @@
org.spigotmc
spigot-api
${spigot.version}
+ provided
org.spigotmc
spigot
${spigot.version}
- remapped-mojang
provided
@@ -90,39 +90,6 @@
-
- net.md-5
- specialsource-maven-plugin
- 2.0.4
-
-
- package
-
- remap
-
- remap-obf
-
- org.spigotmc:minecraft-server:${spigot.version}:txt:maps-mojang
- true
- org.spigotmc:spigot:${spigot.version}:jar:remapped-mojang
- true
- remapped-obf
-
-
-
- package
-
- remap
-
- remap-spigot
-
- ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
- org.spigotmc:minecraft-server:${spigot.version}:csrg:maps-spigot
- org.spigotmc:spigot:${spigot.version}:jar:remapped-obf
-
-
-
-
3.1
org.apache.maven.plugins
@@ -138,7 +105,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 2.4.1
+ 3.6.2
package
diff --git a/commons-bukkit/src/main/java/com/supaham/commons/bukkit/utils/ReflectionUtils.java b/commons-bukkit/src/main/java/com/supaham/commons/bukkit/utils/ReflectionUtils.java
index 591b5d5..6c1ad1f 100644
--- a/commons-bukkit/src/main/java/com/supaham/commons/bukkit/utils/ReflectionUtils.java
+++ b/commons-bukkit/src/main/java/com/supaham/commons/bukkit/utils/ReflectionUtils.java
@@ -2,7 +2,7 @@
import net.minecraft.network.protocol.Packet;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_21_R6.entity.CraftPlayer;
+import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
@@ -35,11 +35,16 @@ private static void init() throws Exception {
PackageType nms = PackageType.MINECRAFT_SERVER;
PackageType obc = PackageType.CRAFTBUKKIT;
- classes.put("entityPlayer", nms.getClassSafe("server.level", "EntityPlayer"));
+// classes.put("entityPlayer", nms.getClassSafe("server.level", "EntityPlayer"));
// fields.put("playerConnection", getField(classes.get("entityPlayer"), "playerConnection")); // TODO: This might now need to be updated every time... :'(
// methods.put("sendPacket", getMethod(fields.get("playerConnection").getType(), "sendPacket"));
- Class> clazz = nms.getClassSafe("world.phys", "Vec3D");
+ Class > clazz;
+ if (getServerMajorVersion() <= 21) {
+ clazz = nms.getClassSafe("world.phys", "Vec3D");
+ } else {
+ clazz = nms.getClassSafe("world.phys", "Vec3");
+ }
classes.put("Vec3D", clazz);
constructors.put("Vec3D",
clazz.getDeclaredConstructor(double.class, double.class, double.class));
@@ -47,11 +52,11 @@ private static void init() throws Exception {
// fields.put("Vec3Dy", getField(clazz, "y"));
// fields.put("Vec3Dz", getField(clazz, "z"));
- classes.put("BlockPosition", nms.getClassSafe("core", "BlockPosition"));
- clazz = nms.getClassSafe("core", "BaseBlockPosition");
- fields.put("BaseBlockPositionx", getField(clazz, "a"));
- fields.put("BaseBlockPositiony", getField(clazz, "b"));
- fields.put("BaseBlockPositionz", getField(clazz, "c"));
+// classes.put("BlockPosition", nms.getClassSafe("core", "BlockPosition"));
+// clazz = nms.getClassSafe("core", "BaseBlockPosition");
+// fields.put("BaseBlockPositionx", getField(clazz, "a"));
+// fields.put("BaseBlockPositiony", getField(clazz, "b"));
+// fields.put("BaseBlockPositionz", getField(clazz, "c"));
clazz = obc.getClassSafe("inventory.CraftInventoryCustom");
classes.put("CraftInventoryCustom", clazz);
@@ -68,7 +73,7 @@ public static void sendPacket(Player player, Object object) {
}
public static Object toNMSVec3D(Vector vector) {
- Class> vec3D = PackageType.MINECRAFT_SERVER.getClassSafe("world.phys", "Vec3D");
+ Class> vec3D = classes.get("Vec3D");
try {
Constructor> ctor = constructors.get("Vec3D");
return ctor.newInstance(vector.getX(), vector.getY(), vector.getZ());
@@ -79,7 +84,7 @@ public static Object toNMSVec3D(Vector vector) {
}
public static Vector fromNMSVec3D(Object object) {
- if (!object.getClass().equals(PackageType.MINECRAFT_SERVER.getClassSafe("world.phys","Vec3D"))) {
+ if (!object.getClass().equals(classes.get("Vec3D"))) {
return null;
}
try {
@@ -141,14 +146,37 @@ public static String getRootNMSPackage() {
}
}
+ public static String getRootCraftbukkitPackage() {
+ if (getServerMajorVersion() <= 21) {
+ return "org.bukkit.craftbukkit." + getServerVersion();
+ } else {
+ return "org.bukkit.craftbukkit";
+ }
+ }
+
public static Integer getServerMajorVersion() {
- return Integer.parseInt(getServerVersion().split("_")[1]);
+ // Old versions would have e.g. 1_21... new has e.g. 26.1... so turn it into _
+ String serverVersion = getServerVersion().replace('.', '_').replace('-', '_');
+ int major = Integer.parseInt(serverVersion.split("_")[0]);
+ int minor = Integer.parseInt(serverVersion.split("_")[1]);
+
+ if (major == 1) {
+ return minor;
+ } else {
+ return major;
+ }
}
public static String getServerVersion() {
// org.bukkit.craftbukkit.v1_7_R4.entity
// org.bukkit.craftbukkit.v1_8_R2.entity;
- return Bukkit.getServer().getClass().getPackage().getName().substring(23);
+ String packageName = Bukkit.getServer().getClass().getPackage().getName();
+
+ if (packageName.length() > 22) {
+ return packageName.substring(23);
+ } else {
+ return Bukkit.getServer().getBukkitVersion();
+ }
}
public static boolean isServer18OrHigher() {
@@ -189,7 +217,7 @@ public enum PackageType {
/**
* {@code org.bukkit.craftbukkit.server_version} package.
*/
- CRAFTBUKKIT("org.bukkit.craftbukkit." + getServerVersion()),;
+ CRAFTBUKKIT(getRootCraftbukkitPackage()),;
private final String path;
diff --git a/commons-core/pom.xml b/commons-core/pom.xml
index d74f31e..4c24bab 100644
--- a/commons-core/pom.xml
+++ b/commons-core/pom.xml
@@ -69,7 +69,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.5.3
+ 3.6.2
package