Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 3 additions & 36 deletions commons-bukkit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<artifactId>commons-bukkit</artifactId>

<properties>
<spigot.version>1.21.10-R0.1-SNAPSHOT</spigot.version>
<spigot.version>26.2-R0.1-SNAPSHOT</spigot.version>
<squirrelid-version>0.1.0</squirrelid-version>
<text.version>1.12-1.6.5</text.version>
<acf-bukkit.version>0.5.1-SNAPSHOT</acf-bukkit.version>
Expand All @@ -38,12 +38,12 @@
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>${spigot.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>${spigot.version}</version>
<classifier>remapped-mojang</classifier>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -90,39 +90,6 @@

<build>
<plugins>
<plugin>
<groupId>net.md-5</groupId>
<artifactId>specialsource-maven-plugin</artifactId>
<version>2.0.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>remap</goal>
</goals>
<id>remap-obf</id>
<configuration>
<srgIn>org.spigotmc:minecraft-server:${spigot.version}:txt:maps-mojang</srgIn>
<reverse>true</reverse>
<remappedDependencies>org.spigotmc:spigot:${spigot.version}:jar:remapped-mojang</remappedDependencies>
<remappedArtifactAttached>true</remappedArtifactAttached>
<remappedClassifierName>remapped-obf</remappedClassifierName>
</configuration>
</execution>
<execution>
<phase>package</phase>
<goals>
<goal>remap</goal>
</goals>
<id>remap-spigot</id>
<configuration>
<inputFile>${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar</inputFile>
<srgIn>org.spigotmc:minecraft-server:${spigot.version}:csrg:maps-spigot</srgIn>
<remappedDependencies>org.spigotmc:spigot:${spigot.version}:jar:remapped-obf</remappedDependencies>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<version>3.1</version>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -138,7 +105,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<version>3.6.2</version>
<executions>
<execution>
<phase>package</phase>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -35,23 +35,28 @@ 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));
// fields.put("Vec3Dx", getField(clazz, "x")); TODO: If you want the raytracing to work, fix these.
// 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);
Expand All @@ -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());
Expand All @@ -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 {
Expand Down Expand Up @@ -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() {
Expand Down Expand Up @@ -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;

Expand Down
2 changes: 1 addition & 1 deletion commons-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version>
<version>3.6.2</version>
<executions>
<execution>
<phase>package</phase>
Expand Down