Prepare for updating server patches

This commit is contained in:
Jason Penilla 2021-11-23 00:57:41 -08:00 committed by MiniDigger | Martin
parent 79b873c901
commit a8ef7aa56f
1193 changed files with 301 additions and 362 deletions

View File

@ -9,3 +9,4 @@
# minecraft net.minecraft.world.level.entity.LevelEntityGetterAdapter
# minecraft net/minecraft/world/level/entity/LevelEntityGetter.java
minecraft net.minecraft.network.protocol.game.ClientboundLoginPacket

View File

@ -9,6 +9,10 @@
# Remap/Decompile fix (unclear why this is happening)
public net.minecraft.server.MinecraftServer doRunTask(Lnet/minecraft/server/TickTask;)V
# AT remap issue? todo 1.18
public net.minecraft.world.level.dimension.end.EndDragonFight findExitPortal()Lnet/minecraft/world/level/block/state/pattern/BlockPattern$BlockPatternMatch;
public net.minecraft.nbt.TagParser readArrayTag()Lnet/minecraft/nbt/Tag;
# Paper config files
public org.spigotmc.SpigotWorldConfig getBoolean(Ljava/lang/String;Z)Z
public org.spigotmc.SpigotWorldConfig getDouble(Ljava/lang/String;)D

View File

@ -48,7 +48,7 @@ repositories {
dependencies {
paramMappings("net.fabricmc:yarn:1.18-pre5+build.4:mergedv2")
remapper("net.fabricmc:tiny-remapper:0.7.0:fat")
decompiler("org.quiltmc:quiltflower:1.6.0")
decompiler("net.minecraftforge:forgeflower:1.5.498.22")
paperclip("io.papermc:paperclip:2.0.1")
}
@ -58,7 +58,7 @@ paperweight {
paramMappingsRepo.set("https://maven.fabricmc.net/")
remapRepo.set("https://maven.fabricmc.net/")
decompileRepo.set("https://maven.quiltmc.org/repository/release/")
decompileRepo.set("https://files.minecraftforge.net/maven/")
paper {
spigotApiPatchDir.set(layout.projectDirectory.dir("patches/api"))

View File

@ -6,14 +6,14 @@ Subject: [PATCH] Add FastUtil to Bukkit
Doesn't expose to plugins, just allows Paper-API to use it for optimization
diff --git a/build.gradle.kts b/build.gradle.kts
index 8cabc75b2272dbb448c1f04a0ef6b0339d9f6b17..3a395a44ff50a77895341bbbfb8c81deede41b8b 100644
index 430fa84c1de3eae24f48f915031c1a0265ad7e43..0f34457a5f18df3ba99f1168b99442d59df65e7b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,6 +18,7 @@ dependencies {
api("net.md-5:bungeecord-chat:1.16-R0.4")
api("org.yaml:snakeyaml:1.28")
api("com.googlecode.json-simple:json-simple:1.1.1") // Paper
+ api("it.unimi.dsi:fastutil:8.2.2")
+ api("it.unimi.dsi:fastutil:8.5.6")
compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")

View File

@ -28,10 +28,10 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000000000000000000000000000000000000..b64b0200a6b19f93ba0592ecc6f29b4534df4812
index 0000000000000000000000000000000000000000..273746fe476a9a09ebca01c6ecd814b70fe1b4c2
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,170 @@
@@ -0,0 +1,145 @@
+import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
+import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
+import io.papermc.paperweight.util.*
@ -59,8 +59,8 @@ index 0000000000000000000000000000000000000000..b64b0200a6b19f93ba0592ecc6f29b45
+ // This includes junit transitively for whatever reason
+ isTransitive = false
+ }
+ runtimeOnly("org.xerial:sqlite-jdbc:3.34.0")
+ runtimeOnly("mysql:mysql-connector-java:5.1.49")
+ runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3")
+ runtimeOnly("mysql:mysql-connector-java:8.0.27")
+
+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1")
+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
@ -105,35 +105,10 @@ index 0000000000000000000000000000000000000000..b64b0200a6b19f93ba0592ecc6f29b45
+
+relocation {
+ // Order matters here - e.g. craftbukkit proper must be relocated before any of the libs are relocated into the cb package
+ val packageVersion = "1_17_R1"
+ val packageVersion = "1_18_R1"
+ relocate("org.bukkit.craftbukkit" to "org.bukkit.craftbukkit.v$packageVersion") {
+ exclude("org.bukkit.craftbukkit.Main*")
+ }
+
+ fun cb(pack: String) = "org.bukkit.craftbukkit.libs.$pack"
+
+ relocate("org.jline:jline-terminal-jansi", "org.jline" to cb("jline"))
+ sequenceOf(
+ "commons-codec:commons-codec" to "org.apache.commons.codec",
+ "commons-io:commons-io" to "org.apache.commons.io",
+ "it.unimi.dsi:fastutil" to "it.unimi",
+ "org.apache.commons:commons-lang3" to "org.apache.commons.lang3",
+ "org.ow2.asm:asm" to "org.objectweb.asm"
+ ).forEach { (owner, pack) ->
+ relocate(owner, pack to cb(pack))
+ }
+
+ // runtimeOnly dependencies don't need an owner attached
+ // owner is used for dev bundle generation, runtimeOnly deps are not included in dev bundle
+ sequenceOf(
+ "org.apache.http",
+ "org.apache.maven",
+ "org.codehaus.plexus",
+ "org.eclipse.aether",
+ "org.eclipse.sisu"
+ ).forEach { pack ->
+ relocate(pack to cb(pack))
+ }
+}
+
+tasks.shadowJar {
@ -166,7 +141,7 @@ index 0000000000000000000000000000000000000000..b64b0200a6b19f93ba0592ecc6f29b45
+ if (rootProject.childProjects["test-plugin"] != null) {
+ val testPluginJar = rootProject.project(":test-plugin").tasks.jar.flatMap { it.archiveFile }
+ inputs.file(testPluginJar)
+ args("-add-plugin=${testPluginJar.get().asFile.absolutePath}")
+ // args("-add-plugin=${testPluginJar.get().asFile.absolutePath}") // todo - uncomment
+ }
+
+ args("--nogui")
@ -204,30 +179,20 @@ index 0000000000000000000000000000000000000000..b64b0200a6b19f93ba0592ecc6f29b45
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index c936167e107ab76cfb21febb9534353f481a95d3..0000000000000000000000000000000000000000
index 46c1c0461ab4ddfe652fc260b7647bdfc704f36f..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,472 +0,0 @@
@@ -1,539 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.spigotmc</groupId>
- <artifactId>spigot</artifactId>
- <packaging>jar</packaging>
- <version>1.17.1-R0.1-SNAPSHOT</version>
- <version>1.18-pre5-R0.1-SNAPSHOT</version>
- <name>Spigot</name>
- <url>https://www.spigotmc.org/</url>
-
- <properties>
- <skipTests>true</skipTests>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <api.version>unknown</api.version>
- <bt.name>git</bt.name>
- <minecraft_version>1_17_R1</minecraft_version>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- </properties>
-
- <parent>
- <groupId>org.spigotmc</groupId>
- <artifactId>spigot-parent</artifactId>
@ -235,6 +200,24 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <properties>
- <skipTests>true</skipTests>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <api.version>unknown</api.version>
- <bt.name>git</bt.name>
- <minecraft_version>1_18_R1</minecraft_version>
- <maven.compiler.source>16</maven.compiler.source>
- <maven.compiler.target>16</maven.compiler.target>
- </properties>
-
- <repositories>
- <repository>
- <id>minecraft-libraries</id>
- <name>Minecraft Libraries</name>
- <url>https://libraries.minecraft.net/</url>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.spigotmc</groupId>
@ -259,13 +242,6 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <artifactId>log4j-iostreams</artifactId>
- <version>2.14.1</version>
- <scope>compile</scope>
- <exclusions>
- <!-- included in minecraft-server -->
- <exclusion>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
@ -273,6 +249,85 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <version>9.2</version>
- <scope>compile</scope>
- </dependency>
- <!-- Mojang depends -->
- <dependency>
- <groupId>com.github.oshi</groupId>
- <artifactId>oshi-core</artifactId>
- <version>5.8.2</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.mojang</groupId>
- <artifactId>authlib</artifactId>
- <version>3.2.38</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.mojang</groupId>
- <artifactId>brigadier</artifactId>
- <version>1.0.18</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.mojang</groupId>
- <artifactId>datafixerupper</artifactId>
- <version>4.0.26</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.mojang</groupId>
- <artifactId>javabridge</artifactId>
- <version>1.2.24</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.11.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- <version>4.1.68.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>it.unimi.dsi</groupId>
- <artifactId>fastutil</artifactId>
- <version>8.5.6</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>net.sf.jopt-simple</groupId>
- <artifactId>jopt-simple</artifactId>
- <version>5.0.4</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.12.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>2.14.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j18-impl</artifactId>
- <version>2.14.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.8.0-beta4</version>
- <scope>compile</scope>
- </dependency>
- <!-- deprecated API depend -->
- <dependency>
- <groupId>com.googlecode.json-simple</groupId>
@ -283,13 +338,13 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <dependency>
- <groupId>org.xerial</groupId>
- <artifactId>sqlite-jdbc</artifactId>
- <version>3.34.0</version>
- <version>3.36.0.3</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.49</version>
- <version>8.0.27</version>
- <scope>runtime</scope>
- </dependency>
- <!-- add these back in as they are not exposed by the API -->
@ -439,87 +494,21 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- </goals>
- <configuration>
- <createSourcesJar>${shadeSourcesJar}</createSourcesJar>
- <filters>
- <filter>
- <artifact>org.spigotmc:minecraft-server</artifact>
- <excludes>
- <exclude>com/google/common/**</exclude>
- <exclude>com/google/gson/**</exclude>
- <exclude>com/google/thirdparty/**</exclude>
- </excludes>
- </filter>
- <filter>
- <artifact>org.eclipse.sisu:org.eclipse.sisu.inject</artifact>
- <excludes>
- <exclude>META-INF/services/javax.annotation.processing.Processor</exclude>
- </excludes>
- </filter>
- </filters>
- <artifactSet>
- <includes>
- <include>org.spigotmc:minecraft-server</include>
- </includes>
- </artifactSet>
- <relocations>
- <!-- Cannot be relocated as it breaks translation property keys -->
- <!--
- <relocation>
- <pattern>joptsimple</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.joptsimple</shadedPattern>
- </relocation>
- -->
- <relocation>
- <pattern>jline</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.jline</shadedPattern>
- </relocation>
- <relocation>
- <pattern>it.unimi</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.it.unimi</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.apache.commons.codec</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.codec</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.apache.commons.io</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.io</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.apache.commons.lang3</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.lang3</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.apache.http</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.http</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.apache.maven</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.maven</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.codehaus.plexus</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.codehaus.plexus</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.eclipse.aether</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.eclipse.aether</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.eclipse.sisu</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.eclipse.sisu</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.objectweb.asm</pattern>
- <shadedPattern>org.bukkit.craftbukkit.libs.org.objectweb.asm</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.bukkit.craftbukkit</pattern>
- <shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern>
- <excludes>
- <exclude>org.bukkit.craftbukkit.bootstrap.*</exclude>
- <exclude>org.bukkit.craftbukkit.Main*</exclude>
- </excludes>
- </relocation>
- </relocations>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/java.sql.Driver</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
@ -527,22 +516,75 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <plugin>
- <groupId>net.md-5</groupId>
- <artifactId>specialsource-maven-plugin</artifactId>
- <version>1.2.2</version>
- <version>1.2.3</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>remap</goal>
- </goals>
- <id>remap-fields</id>
- <id>remap-members</id>
- <configuration>
- <srgIn>org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot-fields</srgIn>
- <logFile>${project.build.directory}/server.txt</logFile>
- <srgIn>org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot-members</srgIn>
- <reverse>true</reverse>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>net.nicoulaj.maven.plugins</groupId>
- <artifactId>checksum-maven-plugin</artifactId>
- <version>1.11</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>artifacts</goal>
- <goal>dependencies</goal>
- </goals>
- <configuration>
- <algorithms>
- <algorithm>SHA-256</algorithm>
- </algorithms>
- <scopes>
- <scope>compile</scope>
- <scope>runtime</scope>
- </scopes>
- <shasumSummary>true</shasumSummary>
- <transitive>true</transitive>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>3.3.0</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <archive>
- <manifest>
- <addDefaultEntries>false</addDefaultEntries>
- </manifest>
- <manifestEntries>
- <Main-Class>org.bukkit.craftbukkit.bootstrap.Main</Main-Class>
- </manifestEntries>
- </archive>
- <descriptors>
- <descriptor>${project.basedir}/src/assembly/bootstrap.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
@ -559,7 +601,7 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <dependency>
- <groupId>org.eclipse.jdt</groupId>
- <artifactId>ecj</artifactId>
- <version>3.26.0</version>
- <version>3.27.0</version>
- </dependency>
- </dependencies>
- </plugin>
@ -612,7 +654,7 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <dependency>
- <groupId>com.puppycrawl.tools</groupId>
- <artifactId>checkstyle</artifactId>
- <version>8.44</version>
- <version>8.45.1</version>
- </dependency>
- </dependencies>
- </plugin>
@ -624,7 +666,7 @@ index c936167e107ab76cfb21febb9534353f481a95d3..00000000000000000000000000000000
- <execution>
- <phase>process-classes</phase>
- <goals>
- <goal>check</goal>
- <!--<goal>check</goal>-->
- </goals>
- </execution>
- </executions>

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Remap fixes
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
index 1bd6ef643b17b059eb525035496b816a098279c4..754e65f322ded875ae7614066bab30a8da2aa4a9 100644
index a492a3ff23a6e4bd1a47bdfbe295163ac3ef66c9..dc88152a1458dadd102989d4fc5ffd5bbc7eb523 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
+++ b/src/main/java/net/minecraft/core/BlockPos.java
@@ -270,9 +270,11 @@ public class BlockPos extends Vec3i {
@ -42,10 +42,10 @@ index 1bd6ef643b17b059eb525035496b816a098279c4..754e65f322ded875ae7614066bab30a8
}
diff --git a/src/main/java/net/minecraft/server/commands/SummonCommand.java b/src/main/java/net/minecraft/server/commands/SummonCommand.java
index 71c22f72b6e7507e85ecb6be3166b809b7409ab2..0821cd15071ac10c88f0bcfd869c27cadbe778ba 100644
index bb57dacc71711abfd9fb22a395ff798920564e5a..f6aed91482d9c7bf8b56fb7c53f938a4f37b9605 100644
--- a/src/main/java/net/minecraft/server/commands/SummonCommand.java
+++ b/src/main/java/net/minecraft/server/commands/SummonCommand.java
@@ -54,9 +54,9 @@ public class SummonCommand {
@@ -53,9 +53,9 @@ public class SummonCommand {
nbttagcompound1.putString("id", entity.toString());
ServerLevel worldserver = source.getLevel();
@ -59,35 +59,26 @@ index 71c22f72b6e7507e85ecb6be3166b809b7409ab2..0821cd15071ac10c88f0bcfd869c27ca
if (entity1 == null) {
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java
index 88a8c2bc4aa30f478122a05fd119486a0107db82..ef17f21574ce37b9ce6f72b9585034db473502c7 100644
index b925f8e74cad0214c57b2c5cb75502dce3f23e15..28fbdc53dd983e462db50261164f522d1996f50d 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java
@@ -169,8 +169,8 @@ public class BehaviorUtils {
@@ -172,11 +172,11 @@ public class BehaviorUtils {
return optional.map((uuid) -> {
return ((ServerLevel) entity.level).getEntity(uuid);
- }).map((entity) -> {
- return entity instanceof LivingEntity ? (LivingEntity) entity : null;
+ }).map((entity2) -> { // Paper - remap fix
+ return entity2 instanceof LivingEntity ? (LivingEntity) entity2 : null; // Paper - remap fix
});
}
+ }).map((entity1) -> { // Paper - remap fix
LivingEntity entityliving1;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 296d4ab3dace530cab03c787051c9f2c2626228f..7cbb16646c6c83d443deedaf425d18d6de76e314 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -522,7 +522,7 @@ public class Phantom extends FlyingMob implements Enemy {
List<Player> list = Phantom.this.level.getNearbyPlayers(this.attackTargeting, (LivingEntity) Phantom.this, Phantom.this.getBoundingBox().inflate(16.0D, 64.0D, 16.0D));
- if (entity instanceof LivingEntity) {
- LivingEntity entityliving2 = (LivingEntity) entity;
+ if (entity1 instanceof LivingEntity) { // Paper - remap fix
+ LivingEntity entityliving2 = (LivingEntity) entity1; // Paper - remap fix
if (!list.isEmpty()) {
- list.sort(Comparator.comparing(Entity::getY).reversed());
+ list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
entityliving1 = entityliving2;
} else {
diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
index efb37470d4927def456c382420775a815594aa58..38dd114fbfa07a18987cd774ae05060d723247e4 100644
index c0694fef35bc000a5212e377a285dfd1dd94ca07..2e2bc7213b7e19e945eba885ff5614f809c81db0 100644
--- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
+++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
@@ -172,7 +172,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener {
@ -129,19 +120,6 @@ index ad52c3fc6210939a39ef77a382c640a24ee44838..6b7dd01778f0a5d3a96d2d04af4b525d
assertThat(color, is(Color.fromRGB(nmsColor)));
}
}
diff --git a/src/test/java/org/bukkit/PerMaterialTest.java b/src/test/java/org/bukkit/PerMaterialTest.java
index 90baf6e3329d64495da9edd580d5fbc80df8c165..e2fb8a0183885b4ad81d5284297be7a35946aa9c 100644
--- a/src/test/java/org/bukkit/PerMaterialTest.java
+++ b/src/test/java/org/bukkit/PerMaterialTest.java
@@ -221,7 +221,7 @@ public class PerMaterialTest extends AbstractTestingBase {
if (this.material.isBlock()) {
assertThat(this.material.isInteractable(),
is(!CraftMagicNumbers.getBlock(material).getClass()
- .getMethod("interact", BlockState.class, net.minecraft.world.level.Level.class, BlockPos.class, Player.class, InteractionHand.class, BlockHitResult.class)
+ .getMethod("use", BlockState.class, net.minecraft.world.level.Level.class, BlockPos.class, Player.class, InteractionHand.class, BlockHitResult.class) // Paper - remap fix
.getDeclaringClass().equals(BlockBehaviour.class)));
} else {
assertFalse(this.material.isInteractable());
diff --git a/src/test/java/org/bukkit/entity/EntityTypesTest.java b/src/test/java/org/bukkit/entity/EntityTypesTest.java
index 8c4ad718e113f24a30fd11b345d34d6ca1ef73b0..1e84f541683ddb619c2a8dfcd2a141fba2bd851d 100644
--- a/src/test/java/org/bukkit/entity/EntityTypesTest.java

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Build system changes
diff --git a/build.gradle.kts b/build.gradle.kts
index b64b0200a6b19f93ba0592ecc6f29b4534df4812..c462f9fc70ef2286da21d7c5b96ac68ff602a310 100644
index 273746fe476a9a09ebca01c6ecd814b70fe1b4c2..6cab6b2f348366e7e0357638ac11df5961a7388d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -17,21 +17,23 @@ repositories {
@@ -17,10 +17,9 @@ repositories {
dependencies {
implementation(project(":Paper-API"))
implementation("jline:jline:2.12.1")
@ -16,27 +16,12 @@ index b64b0200a6b19f93ba0592ecc6f29b4534df4812..c462f9fc70ef2286da21d7c5b96ac68f
- exclude(group = "org.apache.logging.log4j", module = "log4j-api")
- }
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper
+ implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper
implementation("org.ow2.asm:asm:9.2")
+ implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation
implementation("com.googlecode.json-simple:json-simple:1.1.1") {
// This includes junit transitively for whatever reason
isTransitive = false
}
runtimeOnly("org.xerial:sqlite-jdbc:3.34.0")
- runtimeOnly("mysql:mysql-connector-java:5.1.49")
+ runtimeOnly("mysql:mysql-connector-java:8.0.23") // Paper
runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1")
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
+ implementation("io.netty:netty-all:4.1.65.Final") // Paper
+
testImplementation("junit:junit:4.13.1")
testImplementation("org.hamcrest:hamcrest-library:1.3")
}
@@ -52,6 +54,7 @@ tasks.jar {
@@ -52,6 +51,7 @@ tasks.jar {
"Specification-Title" to "Bukkit",
"Specification-Version" to project.version,
"Specification-Vendor" to "Bukkit Team",
@ -44,16 +29,7 @@ index b64b0200a6b19f93ba0592ecc6f29b4534df4812..c462f9fc70ef2286da21d7c5b96ac68f
)
for (tld in setOf("net", "com", "org")) {
attributes("$tld/bukkit", "Sealed" to true)
@@ -82,7 +85,7 @@ relocation {
sequenceOf(
"commons-codec:commons-codec" to "org.apache.commons.codec",
"commons-io:commons-io" to "org.apache.commons.io",
- "it.unimi.dsi:fastutil" to "it.unimi",
+ //"it.unimi.dsi:fastutil" to "it.unimi", // Paper - don't relocate fastutil
"org.apache.commons:commons-lang3" to "org.apache.commons.lang3",
"org.ow2.asm:asm" to "org.objectweb.asm"
).forEach { (owner, pack) ->
@@ -102,9 +105,17 @@ relocation {
@@ -77,9 +77,17 @@ relocation {
}
}
@ -72,7 +48,7 @@ index b64b0200a6b19f93ba0592ecc6f29b4534df4812..c462f9fc70ef2286da21d7c5b96ac68f
relocate(relocation.fromPackage, relocation.toPackage) {
for (exclude in relocation.excludes) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1338f52370dafbb8820a67cc4528eb20e0b9155c..90af1b123722bac1c4c5956465a153ec1ea998ff 100644
index 189c262b22cad352fc87565ff499a5340d92b4e4..09c33e8613d31f4519109f29b44cfea754184c3f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -190,7 +190,7 @@ public class Main {
@ -83,7 +59,7 @@ index 1338f52370dafbb8820a67cc4528eb20e0b9155c..90af1b123722bac1c4c5956465a153ec
+ Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -28);
deadline.add(Calendar.DAY_OF_YEAR, -7);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java

View File

@ -585,10 +585,10 @@ index 0000000000000000000000000000000000000000..6cb3a37612240d4150d7c62628f4b744
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index 21c0fe42af0239cf8d857fa9fddae8a5974930e2..39ca32e006a36991b9d948c709c1b9ce03bca018 100644
index dc2cb18ec926e2eed1caa8e2106e70bcb04f6c0f..a497b281d03c097587b21e9f141a6a66f36e4dad 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -101,6 +101,12 @@ public class Main {
@@ -106,6 +106,12 @@ public class Main {
DedicatedServerSettings dedicatedserversettings = new DedicatedServerSettings(optionset); // CraftBukkit - CLI argument support
dedicatedserversettings.forceSave();
@ -601,7 +601,7 @@ index 21c0fe42af0239cf8d857fa9fddae8a5974930e2..39ca32e006a36991b9d948c709c1b9ce
Path path1 = Paths.get("eula.txt");
Eula eula = new Eula(path1);
@@ -251,6 +257,20 @@ public class Main {
@@ -261,6 +267,20 @@ public class Main {
}
@ -619,26 +619,26 @@ index 21c0fe42af0239cf8d857fa9fddae8a5974930e2..39ca32e006a36991b9d948c709c1b9ce
+ }
+ // Paper end
+
public static void forceUpgrade(LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, boolean eraseCache, BooleanSupplier booleansupplier, ImmutableSet<ResourceKey<DimensionType>> worlds) { // CraftBukkit
public static void forceUpgrade(LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, boolean eraseCache, BooleanSupplier continueCheck, WorldGenSettings generatorOptions) {
Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, worlds, eraseCache);
WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2f393503204cf219c60dbae868172a29a0d23d5f..9f3d7089d066bda13af8b4b714a0ebd0c3403e4f 100644
index cf64088cbf19ef17943fdfd51fc543d4acc0e794..6e97d5101be851518461df440d8160a2710afc0d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -609,6 +609,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -601,6 +601,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
this.forceDifficulty();
for (ServerLevel worldserver : this.getAllLevels()) {
+ worldserver.paperConfig.removeOldValues(); // Paper - callback for clearing old config options, after any migrations have taken place
this.loadSpawn(worldserver.getChunkSource().chunkMap.progressListener, worldserver);
this.prepareLevels(worldserver.getChunkSource().chunkMap.progressListener, worldserver);
worldserver.entityManager.tick(); // SPIGOT-6526: Load pending entities so they are available to the API
this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld()));
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index cd65a5bb6da734a39b0bb6e9a0571455d19ceac4..fac993d58bd6e3bb19fd69881092a863c8952c65 100644
index 2599fbabd5e5c0d10d0c915016f7cc982bda0e20..4dd57007af218ba1c0e666117a49939c5884f2c6 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -194,6 +194,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -192,6 +192,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
org.spigotmc.SpigotConfig.init((java.io.File) options.valueOf("spigot-settings"));
org.spigotmc.SpigotConfig.registerCommands();
// Spigot end
@ -655,7 +655,7 @@ index cd65a5bb6da734a39b0bb6e9a0571455d19ceac4..fac993d58bd6e3bb19fd69881092a863
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 1ff471fb8a4f69f02debe9c40b13cc1e8b8045d7..9591f50922343283597bad6d9ac17c175d8ae230 100644
index c44dfc1044a5dfe39fad3906d1a4455ffc5dbe89..a551683bc73db23d82bd2ca1e2c7c83e31e3c834 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -334,6 +334,12 @@ public class ServerChunkCache extends ChunkSource {
@ -669,36 +669,28 @@ index 1ff471fb8a4f69f02debe9c40b13cc1e8b8045d7..9591f50922343283597bad6d9ac17c17
+ // Paper end
+
public boolean isPositionTicking(long pos) {
return this.checkChunkFuture(pos, (Function<ChunkHolder, CompletableFuture<Either<LevelChunk, ChunkHolder.ChunkLoadingFailure>>>) ChunkHolder::getTickingChunkFuture); // CraftBukkit - decompile error
}
ChunkHolder playerchunk = this.getVisibleChunkIfPresent(pos);
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 067216078c7b50390957d1fcfbfbaaeb81cfba21..7f3d83d3d071f6b441ad119b1c93be035e911e70 100644
index 1bee6fc5b9fa70adf2f7cac792778f5ed203d291..e688949fc2f3031dc9c9817bc59554e9f5a436af 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableSet;
import java.util.List;
import java.util.Optional;
import java.util.Spliterator;
+import java.util.Set; // Paper
import java.util.UUID;
import java.util.function.Consumer;
import java.util.function.Function;
@@ -666,4 +667,10 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@@ -664,4 +664,10 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
T create(EntityType<T> type, Level world);
}
+
+ // Paper start
+ public static Set<ResourceLocation> getEntityNameList() {
+ public static java.util.Set<ResourceLocation> getEntityNameList() {
+ return Registry.ENTITY_TYPE.keySet();
+ }
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 5e0f455d2efe5f5be6ef3f82b06f024c54b22829..8516eef6ba56bd81710a8ad706f0fac8e49d7a3d 100644
index f705a40fad19e218669857ffccc3589e074c94b7..90d1567aa49ca6005f956f7e3c1cb14ac4cf9c22 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -148,6 +148,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -149,6 +149,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public boolean populating;
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
@ -707,7 +699,7 @@ index 5e0f455d2efe5f5be6ef3f82b06f024c54b22829..8516eef6ba56bd81710a8ad706f0fac8
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -168,6 +170,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -169,6 +171,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
@ -716,10 +708,10 @@ index 5e0f455d2efe5f5be6ef3f82b06f024c54b22829..8516eef6ba56bd81710a8ad706f0fac8
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index cfbf2190b2b61683b574b9048cb4bb40cecfbf1f..fea5e7abcb5e429a3de5dd8968773fe5043a4448 100644
index 70ec18340b9e9bde6784fc5929a1db61ccb39b34..0cd31f82fcaab925db6dcada3e9b42a48fe04c67 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -835,6 +835,7 @@ public final class CraftServer implements Server {
@@ -844,6 +844,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@ -727,7 +719,7 @@ index cfbf2190b2b61683b574b9048cb4bb40cecfbf1f..fea5e7abcb5e429a3de5dd8968773fe5
for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
@@ -874,12 +875,14 @@ public final class CraftServer implements Server {
@@ -883,12 +884,14 @@ public final class CraftServer implements Server {
world.ticksPerAmbientSpawns = this.getTicksPerAmbientSpawns();
}
world.spigotConfig.init(); // Spigot
@ -742,7 +734,7 @@ index cfbf2190b2b61683b574b9048cb4bb40cecfbf1f..fea5e7abcb5e429a3de5dd8968773fe5
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2284,4 +2287,35 @@ public final class CraftServer implements Server {
@@ -2296,4 +2299,35 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
@ -779,7 +771,7 @@ index cfbf2190b2b61683b574b9048cb4bb40cecfbf1f..fea5e7abcb5e429a3de5dd8968773fe5
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 90af1b123722bac1c4c5956465a153ec1ea998ff..11d1bc56439ff867224ef1c2058aee67ba0ee332 100644
index 09c33e8613d31f4519109f29b44cfea754184c3f..aa4b21c9d3c4af08c4d3a309f948692cc585c9c9 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -129,6 +129,14 @@ public class Main {

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@ Co-authored-by: zml <zml@stellardrift.ca>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
diff --git a/build.gradle.kts b/build.gradle.kts
index be1e7b4a57cae34f5cda768a6760e1e1245c8774..b73d9f834e8e50c4cee8592e1e3867bbde8132fe 100644
index 0f34457a5f18df3ba99f1168b99442d59df65e7b..50cee5c955b1a57e18f202897efa807f78b15635 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -10,6 +10,19 @@ java {
@ -33,7 +33,7 @@ index be1e7b4a57cae34f5cda768a6760e1e1245c8774..b73d9f834e8e50c4cee8592e1e3867bb
@@ -19,6 +32,11 @@ dependencies {
api("org.yaml:snakeyaml:1.28")
api("com.googlecode.json-simple:json-simple:1.1.1") // Paper
api("it.unimi.dsi:fastutil:8.2.2")
api("it.unimi.dsi:fastutil:8.5.6")
+ apiAndDocs(platform("net.kyori:adventure-bom:$adventureVersion"))
+ apiAndDocs("net.kyori:adventure-api")
+ apiAndDocs("net.kyori:adventure-text-serializer-gson")

Some files were not shown because too many files have changed in this diff Show More