diff --git a/build-data/paper.at b/build-data/paper.at index f486c0ba6..876726349 100644 --- a/build-data/paper.at +++ b/build-data/paper.at @@ -6,6 +6,9 @@ # Leave out the member and it will apply to the class itself # More info, see here https://mcforge.readthedocs.io/en/latest/advanced/accesstransformers/#access-modifiers +# Remap/Decompile fix (unclear why this is happening) +public net.minecraft.server.MinecraftServer doRunTask(Lnet/minecraft/server/TickTask;)V + # Paper config files public org.spigotmc.SpigotWorldConfig getBoolean(Ljava/lang/String;Z)Z public org.spigotmc.SpigotWorldConfig getDouble(Ljava/lang/String;)D @@ -178,9 +181,6 @@ public net.minecraft.util.thread.BlockableEventLoop runAllTasks()V public net.minecraft.server.level.ChunkMap entitiesInLevel public net.minecraft.server.level.ServerLevel players -# Improve block entity unload performance -public net.minecraft.Util$IdentityStrategy - # Chunk priority urgency system public net.minecraft.server.level.ChunkMap$ChunkDistanceManager diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index f0e88eb22..9f84d3b17 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -155,3 +155,481 @@ index 0000000000000000000000000000000000000000..84af6353d060c65d5f125559becc011a + return PLUGIN_CACHE_FILE == element.name || element.name == "Log4j2Plugins.dat" + } +} +diff --git a/pom.xml b/pom.xml +deleted file mode 100644 +index 2f0e513c9e5d78a22e7d1e1a5aa64bb8f0f360d2..0000000000000000000000000000000000000000 +--- a/pom.xml ++++ /dev/null +@@ -1,472 +0,0 @@ +- +- 4.0.0 +- org.spigotmc +- spigot +- jar +- 1.17-R0.1-SNAPSHOT +- Spigot +- https://www.spigotmc.org/ +- +- +- true +- UTF-8 +- unknown +- git +- 1_17_R1 +- 1.8 +- 1.8 +- +- +- +- org.spigotmc +- spigot-parent +- dev-SNAPSHOT +- ../pom.xml +- +- +- +- +- org.spigotmc +- spigot-api +- ${project.version} +- compile +- +- +- org.spigotmc +- minecraft-server +- ${project.version} +- compile +- +- +- jline +- jline +- 2.12.1 +- compile +- +- +- org.apache.logging.log4j +- log4j-iostreams +- 2.14.1 +- compile +- +- +- +- org.apache.logging.log4j +- log4j-api +- +- +- +- +- org.ow2.asm +- asm +- 9.1 +- compile +- +- +- +- com.googlecode.json-simple +- json-simple +- 1.1.1 +- runtime +- +- +- org.xerial +- sqlite-jdbc +- 3.34.0 +- runtime +- +- +- mysql +- mysql-connector-java +- 5.1.49 +- runtime +- +- +- +- org.apache.maven +- maven-resolver-provider +- 3.8.1 +- runtime +- +- +- org.apache.maven.resolver +- maven-resolver-connector-basic +- 1.7.0 +- runtime +- +- +- org.apache.maven.resolver +- maven-resolver-transport-http +- 1.7.0 +- runtime +- +- +- +- junit +- junit +- 4.13.1 +- test +- +- +- org.hamcrest +- hamcrest-library +- 1.3 +- test +- +- +- +- +- +- +- +- net.md-5 +- scriptus +- 0.4.1 +- +- +- ex-spigot +- +- ${bt.name}-Spigot-%s +- ../ +- spigot.desc +- +- initialize +- +- describe +- +- +- +- ex-craftbukkit +- +- -%s +- ../../CraftBukkit +- craftbukkit.desc +- +- initialize +- +- describe +- +- +- +- +- +- org.apache.maven.plugins +- maven-clean-plugin +- 3.1.0 +- +- +- initialize +- +- clean +- +- +- +- +- +- org.apache.maven.plugins +- maven-jar-plugin +- 3.2.0 +- +- +- +- false +- +- +- org.bukkit.craftbukkit.Main +- CraftBukkit +- ${spigot.desc}${craftbukkit.desc} +- ${project.build.outputTimestamp} +- Bukkit +- ${api.version} +- Bukkit Team +- true +- +- +- +- net/bukkit/ +- +- true +- +- +- +- com/bukkit/ +- +- true +- +- +- +- org/bukkit/ +- +- true +- +- +- +- +- +- +- +- org.apache.maven.plugins +- maven-shade-plugin +- 3.2.4 +- +- +- org.ow2.asm +- asm +- 9.1 +- +- +- org.ow2.asm +- asm-commons +- 9.1 +- +- +- +- +- package +- +- shade +- +- +- ${shadeSourcesJar} +- +- +- org.spigotmc:minecraft-server +- +- com/google/common/** +- com/google/gson/** +- com/google/thirdparty/** +- +- +- +- org.eclipse.sisu:org.eclipse.sisu.inject +- +- META-INF/services/javax.annotation.processing.Processor +- +- +- +- +- +- +- +- jline +- org.bukkit.craftbukkit.libs.jline +- +- +- it.unimi +- org.bukkit.craftbukkit.libs.it.unimi +- +- +- org.apache.commons.codec +- org.bukkit.craftbukkit.libs.org.apache.commons.codec +- +- +- org.apache.commons.io +- org.bukkit.craftbukkit.libs.org.apache.commons.io +- +- +- org.apache.commons.lang3 +- org.bukkit.craftbukkit.libs.org.apache.commons.lang3 +- +- +- org.apache.http +- org.bukkit.craftbukkit.libs.org.apache.http +- +- +- org.apache.maven +- org.bukkit.craftbukkit.libs.org.apache.maven +- +- +- org.codehaus.plexus +- org.bukkit.craftbukkit.libs.org.codehaus.plexus +- +- +- org.eclipse.aether +- org.bukkit.craftbukkit.libs.org.eclipse.aether +- +- +- org.eclipse.sisu +- org.bukkit.craftbukkit.libs.org.eclipse.sisu +- +- +- org.objectweb.asm +- org.bukkit.craftbukkit.libs.org.objectweb.asm +- +- +- org.bukkit.craftbukkit +- org.bukkit.craftbukkit.v${minecraft_version} +- +- org.bukkit.craftbukkit.Main* +- +- +- +- +- +- META-INF/services/java.sql.Driver +- +- +- +- +- +- +- +- net.md-5 +- specialsource-maven-plugin +- 1.2.2 +- +- +- package +- +- remap +- +- remap-fields +- +- org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot-fields +- true +- +- +- +- +- +- org.apache.maven.plugins +- maven-compiler-plugin +- 3.8.1 +- +- +- eclipse +- +- +- +- org.codehaus.plexus +- plexus-compiler-eclipse +- 2.8.8 +- +- +- org.eclipse.jdt +- ecj +- 3.24.0 +- +- +- +- +- org.apache.maven.plugins +- maven-surefire-plugin +- 2.12.4 +- +- ${basedir}/target/test-server +- +- org/bukkit/craftbukkit/inventory/ItemStack*Test.java +- +- +- +- +- +- +- +- +- shadeSourcesJar +- +- true +- true +- +- +- +- development +- +- false +- +- +- +- +- org.apache.maven.plugins +- maven-checkstyle-plugin +- 3.1.1 +- +- +- process-classes +- +- check +- +- +- +- +- checkstyle.xml +- true +- +- +- +- com.puppycrawl.tools +- checkstyle +- 8.39 +- +- +- +- +- org.codehaus.mojo +- animal-sniffer-maven-plugin +- 1.20 +- +- +- process-classes +- +- check +- +- +- +- +- +- org.codehaus.mojo.signature +- java18 +- 1.0 +- +- +- +- +- +- +- +- remapped +- +- +- +- net.md-5 +- specialsource-maven-plugin +- +- +- package +- +- remap +- +- remap-obf +- +- org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot +- true +- true +- remapped-obf +- +- +- +- package +- +- remap +- +- remap-mojang +- +- ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar +- org.spigotmc:minecraft-server:${project.version}:txt:maps-mojang +- true +- remapped-mojang +- +- +- +- +- +- +- +- +- diff --git a/patches/server/0002-Decompile-fixes.patch b/patches/server/0002-Remap-fixes.patch similarity index 80% rename from patches/server/0002-Decompile-fixes.patch rename to patches/server/0002-Remap-fixes.patch index bfd4cefec..10d763001 100644 --- a/patches/server/0002-Decompile-fixes.patch +++ b/patches/server/0002-Remap-fixes.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Kyle Wood Date: Fri, 11 Jun 2021 05:25:03 -0500 -Subject: [PATCH] Decompile fixes +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..891fc7f4cbea8eccd580f371715478265339c0cc 100644 +index 1bd6ef643b17b059eb525035496b816a098279c4..754e65f322ded875ae7614066bab30a8da2aa4a9 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 { @@ -15,7 +15,7 @@ index 1bd6ef643b17b059eb525035496b816a098279c4..891fc7f4cbea8eccd580f37171547826 - int j = center.getX(); - int k = center.getY(); - int l = center.getZ(); -+ // Paper start - rename variables to fix conflict with anonymous class (decompile fix) ++ // Paper start - rename variables to fix conflict with anonymous class (remap fix) + int centerX = center.getX(); + int centerY = center.getY(); + int centerZ = center.getZ(); @@ -28,7 +28,7 @@ index 1bd6ef643b17b059eb525035496b816a098279c4..891fc7f4cbea8eccd580f37171547826 if (this.zMirror) { this.zMirror = false; - this.cursor.setZ(l - (this.cursor.getZ() - l)); -+ this.cursor.setZ(centerZ - (this.cursor.getZ() - centerZ)); // Paper - decompile fix ++ this.cursor.setZ(centerZ - (this.cursor.getZ() - centerZ)); // Paper - remap fix return this.cursor; } else { BlockPos blockPos; @@ -37,25 +37,12 @@ index 1bd6ef643b17b059eb525035496b816a098279c4..891fc7f4cbea8eccd580f37171547826 if (k <= rangeZ) { this.zMirror = k != 0; - blockPos = this.cursor.set(j + i, k + j, l + k); -+ blockPos = this.cursor.set(centerX + i, centerY + j, centerZ + k); // Paper - decompile fix ++ blockPos = this.cursor.set(centerX + i, centerY + j, centerZ + k); // Paper - remap fix } } -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0000a0057ec4ee2db72e4ea1bf421f95d9d9fdc6..729e55535d833f8f6ff65bf226aac5ecdec44990 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1139,7 +1139,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { - entity1.moveTo(pos.x, pos.y, pos.z, entity1.getYRot(), entity1.getXRot()); - return entity1; -+ Entity entity1 = EntityType.loadEntityRecursive(nbttagcompound1, worldserver, (loadedEntity) -> { // Paper - decomp fix -+ loadedEntity.moveTo(pos.x, pos.y, pos.z, loadedEntity.getYRot(), loadedEntity.getXRot()); // Paper - decomp fix -+ return loadedEntity; // Paper - decomp fix ++ Entity entity1 = EntityType.loadEntityRecursive(nbttagcompound1, worldserver, (loadedEntity) -> { // Paper - remap fix ++ loadedEntity.moveTo(pos.x, pos.y, pos.z, loadedEntity.getYRot(), loadedEntity.getXRot()); // Paper - remap fix ++ return loadedEntity; // Paper - remap fix }); 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..5f00e3f4c86196db47bf1007973445d40866afdd 100644 +index 88a8c2bc4aa30f478122a05fd119486a0107db82..ef17f21574ce37b9ce6f72b9585034db473502c7 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 { @@ -81,13 +68,13 @@ index 88a8c2bc4aa30f478122a05fd119486a0107db82..5f00e3f4c86196db47bf1007973445d4 return ((ServerLevel) entity.level).getEntity(uuid); - }).map((entity) -> { - return entity instanceof LivingEntity ? (LivingEntity) entity : null; -+ }).map((entity2) -> { // Paper - decomp fix -+ return entity2 instanceof LivingEntity ? (LivingEntity) entity2 : null; // Paper - decomp fix ++ }).map((entity2) -> { // Paper - remap fix ++ return entity2 instanceof LivingEntity ? (LivingEntity) entity2 : null; // Paper - remap fix }); } 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 c88dc823ca0c2f83bc10886208d498ea77523d68..dcfd0b107ac7bd1633f3b681cd5f5e26ce87bd63 100644 +index 6552c7c30d02a99420b5c8c14595c62f2f896ed2..5df9ad398ba173bb0ff4770673f8eb5967325c5a 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 { @@ -95,12 +82,12 @@ index c88dc823ca0c2f83bc10886208d498ea77523d68..dcfd0b107ac7bd1633f3b681cd5f5e26 if (!list.isEmpty()) { - list.sort(Comparator.comparing(Entity::getY).reversed()); -+ list.sort(Comparator.comparing(Entity::getY).reversed()); // Paper - decomp fix ++ list.sort(Comparator.comparing(Entity::getY).reversed()); // Paper - remap fix Iterator iterator = list.iterator(); while (iterator.hasNext()) { 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..9bc0ccf6acccd5505bac7b8a6bfb7597a43570cf 100644 +index efb37470d4927def456c382420775a815594aa58..38dd114fbfa07a18987cd774ae05060d723247e4 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 { @@ -108,12 +95,12 @@ index efb37470d4927def456c382420775a815594aa58..9bc0ccf6acccd5505bac7b8a6bfb7597 recipes.forEach((irecipe) -> { - Map> map1 = (Map) map.computeIfAbsent(irecipe.getType(), (recipes) -> { -+ Map> map1 = (Map) map.computeIfAbsent(irecipe.getType(), (recipes_) -> { // Paper - decomp fix ++ Map> map1 = (Map) map.computeIfAbsent(irecipe.getType(), (recipes_) -> { // Paper - remap fix return new Object2ObjectLinkedOpenHashMap<>(); // CraftBukkit }); Recipe irecipe1 = (Recipe) map1.put(irecipe.getId(), irecipe); diff --git a/src/test/java/org/bukkit/DyeColorsTest.java b/src/test/java/org/bukkit/DyeColorsTest.java -index ad52c3fc6210939a39ef77a382c640a24ee44838..5d811797ce8e14195a23fc71c8a3afbdca7691eb 100644 +index ad52c3fc6210939a39ef77a382c640a24ee44838..6b7dd01778f0a5d3a96d2d04af4b525d17efbfba 100644 --- a/src/test/java/org/bukkit/DyeColorsTest.java +++ b/src/test/java/org/bukkit/DyeColorsTest.java @@ -4,7 +4,6 @@ import static org.hamcrest.Matchers.*; @@ -129,7 +116,7 @@ index ad52c3fc6210939a39ef77a382c640a24ee44838..5d811797ce8e14195a23fc71c8a3afbd public void checkColor() { Color color = this.dye.getColor(); - float[] nmsColorArray = DyeColor.byId(this.dye.getWoolData()).getTextureDiffuseColors(); -+ float[] nmsColorArray = net.minecraft.world.item.DyeColor.byId(this.dye.getWoolData()).getTextureDiffuseColors(); ++ float[] nmsColorArray = net.minecraft.world.item.DyeColor.byId(this.dye.getWoolData()).getTextureDiffuseColors(); // Paper - remap fix Color nmsColor = Color.fromRGB((int) (nmsColorArray[0] * 255), (int) (nmsColorArray[1] * 255), (int) (nmsColorArray[2] * 255)); assertThat(color, is(nmsColor)); } @@ -138,12 +125,12 @@ index ad52c3fc6210939a39ef77a382c640a24ee44838..5d811797ce8e14195a23fc71c8a3afbd public void checkFireworkColor() { Color color = this.dye.getFireworkColor(); - int nmsColor = DyeColor.byId(this.dye.getWoolData()).getFireworkColor(); -+ int nmsColor = net.minecraft.world.item.DyeColor.byId(this.dye.getWoolData()).getFireworkColor(); ++ int nmsColor = net.minecraft.world.item.DyeColor.byId(this.dye.getWoolData()).getFireworkColor(); // Paper - remap fix 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..185fa8bf7308bb2980a0feecf0d7696a59e507ac 100644 +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 { @@ -151,12 +138,12 @@ index 90baf6e3329d64495da9edd580d5fbc80df8c165..185fa8bf7308bb2980a0feecf0d7696a 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) ++ .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..085b0c17fb54fd8229838fee666120d9e59d942b 100644 +index 8c4ad718e113f24a30fd11b345d34d6ca1ef73b0..1e84f541683ddb619c2a8dfcd2a141fba2bd851d 100644 --- a/src/test/java/org/bukkit/entity/EntityTypesTest.java +++ b/src/test/java/org/bukkit/entity/EntityTypesTest.java @@ -5,7 +5,6 @@ import java.util.Set; @@ -173,13 +160,13 @@ index 8c4ad718e113f24a30fd11b345d34d6ca1ef73b0..085b0c17fb54fd8229838fee666120d9 - for (EntityType nms : Registry.ENTITY_TYPE) { - ResourceLocation key = EntityType.getKey(nms); -+ for (net.minecraft.world.entity.EntityType nms : Registry.ENTITY_TYPE) { -+ ResourceLocation key = net.minecraft.world.entity.EntityType.getKey(nms); ++ for (net.minecraft.world.entity.EntityType nms : Registry.ENTITY_TYPE) { // Paper - remap fix ++ ResourceLocation key = net.minecraft.world.entity.EntityType.getKey(nms); // Paper - remap fix org.bukkit.entity.EntityType bukkit = org.bukkit.entity.EntityType.fromName(key.getPath()); Assert.assertNotNull("Missing nms->bukkit " + key, bukkit); diff --git a/src/test/java/org/bukkit/entity/PandaGeneTest.java b/src/test/java/org/bukkit/entity/PandaGeneTest.java -index 76e2ad676ae68846bdff3c3ef711751445fb0f3c..bee1bd015f161a00df1311b6ef272739fcff6834 100644 +index 76e2ad676ae68846bdff3c3ef711751445fb0f3c..feee17192bca55a9cf1b2fc5b9609b888db77763 100644 --- a/src/test/java/org/bukkit/entity/PandaGeneTest.java +++ b/src/test/java/org/bukkit/entity/PandaGeneTest.java @@ -1,6 +1,5 @@ @@ -194,7 +181,7 @@ index 76e2ad676ae68846bdff3c3ef711751445fb0f3c..bee1bd015f161a00df1311b6ef272739 public void testBukkit() { for (Panda.Gene gene : Panda.Gene.values()) { - Panda.Gene nms = CraftPanda.toNms(gene); -+ net.minecraft.world.entity.animal.Panda.Gene nms = CraftPanda.toNms(gene); ++ net.minecraft.world.entity.animal.Panda.Gene nms = CraftPanda.toNms(gene); // Paper - remap fix Assert.assertNotNull("NMS gene null for " + gene, nms); Assert.assertEquals("Recessive status did not match " + gene, gene.isRecessive(), nms.isRecessive()); @@ -203,7 +190,7 @@ index 76e2ad676ae68846bdff3c3ef711751445fb0f3c..bee1bd015f161a00df1311b6ef272739 @Test public void testNMS() { - for (Panda.Gene gene : Panda.Gene.values()) { -+ for (net.minecraft.world.entity.animal.Panda.Gene gene : net.minecraft.world.entity.animal.Panda.Gene.values()) { ++ for (net.minecraft.world.entity.animal.Panda.Gene gene : net.minecraft.world.entity.animal.Panda.Gene.values()) { // Paper - remap fix org.bukkit.entity.Panda.Gene bukkit = CraftPanda.fromNms(gene); Assert.assertNotNull("Bukkit gene null for " + gene, bukkit); diff --git a/patches/server/0158-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0158-Handle-plugin-prefixes-using-Log4J-configuration.patch index 0f1eedfd8..1d909e5a1 100644 --- a/patches/server/0158-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/patches/server/0158-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/build.gradle.kts b/build.gradle.kts -index a3e4d9d5a1829533f1419f9ca124c5209a489938..7f34898ab177269803246a2be39763e3438b514c 100644 +index f82546e7bb2b10b33e45f547ca4eb4e38ebab568..2946f2bd0b12846929c8d708cabe019c2bbf2297 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { @@ -27,19 +27,6 @@ index a3e4d9d5a1829533f1419f9ca124c5209a489938..7f34898ab177269803246a2be39763e3 // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper -diff --git a/pom.xml b/pom.xml -index 2f0e513c9e5d78a22e7d1e1a5aa64bb8f0f360d2..f5e74f74e32095c4ad1f8094a0dd64be8e193f0c 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -68,7 +68,7 @@ - com.googlecode.json-simple - json-simple - 1.1.1 -- runtime -+ compile - - - org.xerial diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index 2d226fd06759ed92bf5591259fc86f34f606a3ec..e7586c325290ceb8669f9f9d430c73080a37dd05 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java diff --git a/patches/server/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/patches/server/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch index 34e6cd2ee..87eae68d1 100644 --- a/patches/server/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/patches/server/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a86b5272c0ac4dd64f796f7fd025c7a34a5d2f8d..e8ec98aa4598af6733b94a58a196190c9e0839d2 100644 +index a86b5272c0ac4dd64f796f7fd025c7a34a5d2f8d..f8554943783754618bc04cbbe7df61cebfc98b80 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -724,6 +724,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // Spigot start // Iterator iterator = this.blockEntityTickers.iterator(); int tilesThisCycle = 0; -+ it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet toRemove = new it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet(net.minecraft.Util.IdentityStrategy.INSTANCE); // Paper - use removeAll ++ var toRemove = new it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet(net.minecraft.Util.identityStrategy()); // Paper - use removeAll + toRemove.add(null); for (tileTickPosition = 0; tileTickPosition < this.blockEntityTickers.size(); tileTickPosition++) { // Paper - Disable tick limiters this.tileTickPosition = (this.tileTickPosition < this.blockEntityTickers.size()) ? this.tileTickPosition : 0; diff --git a/patches/server/0225-Use-asynchronous-Log4j-2-loggers.patch b/patches/server/0225-Use-asynchronous-Log4j-2-loggers.patch index 513658374..848d77d52 100644 --- a/patches/server/0225-Use-asynchronous-Log4j-2-loggers.patch +++ b/patches/server/0225-Use-asynchronous-Log4j-2-loggers.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use asynchronous Log4j 2 loggers diff --git a/build.gradle.kts b/build.gradle.kts -index 7f34898ab177269803246a2be39763e3438b514c..98899f57a859a78dc4445dae6c5448818e3cdd2d 100644 +index 2946f2bd0b12846929c8d708cabe019c2bbf2297..bac1ed67b41fd0f63a1e4f511d62144791360550 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -42,6 +42,7 @@ dependencies { @@ -16,24 +16,6 @@ index 7f34898ab177269803246a2be39763e3438b514c..98899f57a859a78dc4445dae6c544881 runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1") runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") -diff --git a/pom.xml b/pom.xml -index f5e74f74e32095c4ad1f8094a0dd64be8e193f0c..86cce7143abd317326cc755118bf61435e82e479 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -57,6 +57,13 @@ - - - -+ -+ -+ com.lmax -+ disruptor -+ 3.4.2 -+ runtime -+ - - org.ow2.asm - asm diff --git a/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java b/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java new file mode 100644 index 0000000000000000000000000000000000000000..db652a1f7abc80bc751fd94925abaec58ab1a563 diff --git a/patches/server/0432-Implement-Mob-Goal-API.patch b/patches/server/0432-Implement-Mob-Goal-API.patch index c1421da81..8a8c883f7 100644 --- a/patches/server/0432-Implement-Mob-Goal-API.patch +++ b/patches/server/0432-Implement-Mob-Goal-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement Mob Goal API diff --git a/build.gradle.kts b/build.gradle.kts -index 81e176070c1f5bbc3deb062a4663bdf66bee14b5..44fd50b5c566c218b83d602f941f33436afe2f39 100644 +index 40e1b4322db6bf79ae9511fbf8abab60bde9f127..2e8424beaa1f8a14d3541dad9c258da80ab915d5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -52,6 +52,7 @@ dependencies { @@ -16,24 +16,6 @@ index 81e176070c1f5bbc3deb062a4663bdf66bee14b5..44fd50b5c566c218b83d602f941f3343 testImplementation("junit:junit:4.13.1") testImplementation("org.hamcrest:hamcrest-library:1.3") } -diff --git a/pom.xml b/pom.xml -index 86cce7143abd317326cc755118bf61435e82e479..4233698d499b520dfc07c4184cefca633a95d15b 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -121,6 +121,13 @@ - 1.3 - test - -+ -+ -+ io.github.classgraph -+ classgraph -+ 4.8.47 -+ test -+ - - - diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java new file mode 100644 index 0000000000000000000000000000000000000000..dfc026d183adab1dde5942f36e7a281b3a2fc699