From 02804a49a2fe9394c666bba9594ac56737f74c2b Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 8 Jun 2022 17:31:27 +0200 Subject: [PATCH] Fix tests --- .../api/0001-Convert-project-to-Gradle.patch | 5 ++- patches/api/0002-Build-system-changes.patch | 6 +-- patches/api/0005-Adventure.patch | 4 +- patches/api/0156-Add-Material-Tags.patch | 42 +++++++++---------- ...-Implement-Player-Client-Options-API.patch | 7 ++-- ...-Add-methods-to-get-translation-keys.patch | 16 +++---- .../0709-Add-advancement-display-API.patch | 6 +-- 7 files changed, 44 insertions(+), 42 deletions(-) diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch index 86e00a82ea..7f4d3e1dbb 100644 --- a/patches/api/0001-Convert-project-to-Gradle.patch +++ b/patches/api/0001-Convert-project-to-Gradle.patch @@ -27,10 +27,10 @@ index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f21 +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..53fbbb989a8bec663f12e90c2890740220ac8cd4 +index 0000000000000000000000000000000000000000..b81a893bd5418779544872eb4006adc6b3017a43 --- /dev/null +++ b/build.gradle.kts -@@ -0,0 +1,79 @@ +@@ -0,0 +1,80 @@ +plugins { + `java-library` + `maven-publish` @@ -56,6 +56,7 @@ index 0000000000000000000000000000000000000000..53fbbb989a8bec663f12e90c28907402 + compileOnly(annotations) + testCompileOnly(annotations) + ++ testImplementation("org.apache.commons:commons-lang3:3.12.0") + testImplementation("junit:junit:4.13.2") + testImplementation("org.hamcrest:hamcrest-library:1.3") + testImplementation("org.ow2.asm:asm-tree:9.3") diff --git a/patches/api/0002-Build-system-changes.patch b/patches/api/0002-Build-system-changes.patch index e6eea22963..ed022f5f4e 100644 --- a/patches/api/0002-Build-system-changes.patch +++ b/patches/api/0002-Build-system-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 53fbbb989a8bec663f12e90c2890740220ac8cd4..b929458b72f26568b4c87571113eb2f867359312 100644 +index b81a893bd5418779544872eb4006adc6b3017a43..044b7c49b569e1170108c912e9307f7fec278762 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,15 +14,27 @@ dependencies { @@ -34,10 +34,10 @@ index 53fbbb989a8bec663f12e90c2890740220ac8cd4..b929458b72f26568b4c87571113eb2f8 + testCompileOnly(checkerQual) + // Paper end + + testImplementation("org.apache.commons:commons-lang3:3.12.0") testImplementation("junit:junit:4.13.2") testImplementation("org.hamcrest:hamcrest-library:1.3") - testImplementation("org.ow2.asm:asm-tree:9.3") -@@ -62,7 +74,7 @@ tasks.withType { +@@ -63,7 +75,7 @@ tasks.withType { options.links( "https://guava.dev/releases/31.0.1-jre/api/docs/", "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/", diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 09d3365f07..b45b347c16 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -7,7 +7,7 @@ Co-authored-by: zml Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index 31cd1ba937c364447e32220ffef1d9ef95b634c6..da855f2208b50f024bb7577167a6da53c06a9a4a 100644 +index f0423df165bf7d0f3fad21d26b64f31ba3e6aeee..6f31679c2944fae3b37847c683abb0d2e5791449 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,17 +8,36 @@ java { @@ -48,7 +48,7 @@ index 31cd1ba937c364447e32220ffef1d9ef95b634c6..da855f2208b50f024bb7577167a6da53 // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.5") -@@ -76,9 +95,24 @@ tasks.withType { +@@ -77,9 +96,24 @@ tasks.withType { "https://guava.dev/releases/31.0.1-jre/api/docs/", "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/", "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations diff --git a/patches/api/0156-Add-Material-Tags.patch b/patches/api/0156-Add-Material-Tags.patch index 5649b03ac4..94cd65f111 100644 --- a/patches/api/0156-Add-Material-Tags.patch +++ b/patches/api/0156-Add-Material-Tags.patch @@ -113,7 +113,7 @@ index 0000000000000000000000000000000000000000..a02a02aa0c87e0f0ed9e509e4dcab015 +} diff --git a/src/main/java/com/destroystokyo/paper/MaterialTags.java b/src/main/java/com/destroystokyo/paper/MaterialTags.java new file mode 100644 -index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd585fea27 +index 0000000000000000000000000000000000000000..c2861d5097e47611d0acd8c38696c9f225720942 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/MaterialTags.java @@ -0,0 +1,655 @@ @@ -176,7 +176,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag BUCKETS = new MaterialSetTag(keyFor("buckets")) + .endsWith("BUCKET") -+ .ensureSize("BUCKETS", 10).lock(); ++ .ensureSize("BUCKETS", 11).lock(); + + /** + * Covers coal and charcoal. @@ -222,7 +222,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag DOORS = new MaterialSetTag(keyFor("doors")) + .endsWith("_DOOR") -+ .ensureSize("DOORS", 9).lock(); ++ .ensureSize("DOORS", 10).lock(); + + /** + * Covers all dyes. @@ -236,14 +236,14 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag FENCE_GATES = new MaterialSetTag(keyFor("fence_gates")) + .endsWith("_GATE") -+ .ensureSize("FENCE_GATES", 8).lock(); ++ .ensureSize("FENCE_GATES", 9).lock(); + + /** + * Covers all variants of fences. + */ + public static final MaterialSetTag FENCES = new MaterialSetTag(keyFor("fences")) + .endsWith("_FENCE") -+ .ensureSize("FENCES", 9).lock(); ++ .ensureSize("FENCES", 10).lock(); + + /** + * Covers all variants of fish buckets. @@ -357,7 +357,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag PRESSURE_PLATES = new MaterialSetTag(keyFor("pressure_plates")) + .endsWith("_PRESSURE_PLATE") -+ .ensureSize("PRESSURE_PLATES", 12).lock(); ++ .ensureSize("PRESSURE_PLATES", 13).lock(); + + /** + * Covers the variants of prismarine blocks. @@ -436,7 +436,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag SPAWN_EGGS = new MaterialSetTag(keyFor("spawn_eggs")) + .endsWith("_SPAWN_EGG") -+ .ensureSize("SPAWN_EGGS", 67).lock(); ++ .ensureSize("SPAWN_EGGS", 71).lock(); + + /** + * Covers all colors of stained glass. @@ -457,7 +457,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag TRAPDOORS = new MaterialSetTag(keyFor("trapdoors")) + .endsWith("_TRAPDOOR") -+ .ensureSize("TRAPDOORS", 9).lock(); ++ .ensureSize("TRAPDOORS", 10).lock(); + + /** + * Covers all wood variants of doors. @@ -465,7 +465,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + public static final MaterialSetTag WOODEN_DOORS = new MaterialSetTag(keyFor("wooden_doors")) + .endsWith("_DOOR") + .not(Material.IRON_DOOR) -+ .ensureSize("WOODEN_DOORS", 8).lock(); ++ .ensureSize("WOODEN_DOORS", 9).lock(); + + /** + * Covers all wood variants of fences. @@ -473,7 +473,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + public static final MaterialSetTag WOODEN_FENCES = new MaterialSetTag(keyFor("wooden_fences")) + .endsWith("_FENCE") + .not(Material.NETHER_BRICK_FENCE) -+ .ensureSize("WOODEN_FENCES", 8).lock(); ++ .ensureSize("WOODEN_FENCES", 9).lock(); + + /** + * Covers all wood variants of trapdoors. @@ -481,14 +481,14 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + public static final MaterialSetTag WOODEN_TRAPDOORS = new MaterialSetTag(keyFor("wooden_trapdoors")) + .endsWith("_TRAPDOOR") + .not(Material.IRON_TRAPDOOR) -+ .ensureSize("WOODEN_TRAPDOORS", 8).lock(); ++ .ensureSize("WOODEN_TRAPDOORS", 9).lock(); + + /** + * Covers the wood variants of gates. + */ + public static final MaterialSetTag WOODEN_GATES = new MaterialSetTag(keyFor("wooden_gates")) + .endsWith("_GATE") -+ .ensureSize("WOODEN_GATES", 8).lock(); ++ .ensureSize("WOODEN_GATES", 9).lock(); + + /** + * Covers the variants of purpur. @@ -502,7 +502,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + */ + public static final MaterialSetTag SIGNS = new MaterialSetTag(keyFor("signs")) + .endsWith("_SIGN") -+ .ensureSize("SIGNS", 16).lock(); ++ .ensureSize("SIGNS", 18).lock(); + + /** + * Covers the variants of a regular torch. @@ -646,7 +646,7 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + @SuppressWarnings("unchecked") + public static final MaterialSetTag COLORABLE = new MaterialSetTag(keyFor("colorable")) + .add(Tag.WOOL, Tag.CARPETS).add(SHULKER_BOXES, STAINED_GLASS, STAINED_GLASS_PANES, CONCRETES, BEDS).lock(); -+ //.ensureSize("COLORABLE", 81).lock(); unit test don't have the vanilla item tags, so counts don't line up for real ++ //.ensureSize("COLORABLE", 81).lock(); unit test don't have the vanilla item tags, so counts don't line up for real + + /** + * Covers the variants of coral. @@ -674,28 +674,28 @@ index 0000000000000000000000000000000000000000..f5ae132cef01666bacda11422c0b73dd + * Covers all items that can be enchanted from the enchantment table or anvil. + */ + public static final MaterialSetTag ENCHANTABLE = new MaterialSetTag(keyFor("enchantable")) -+ .add(PICKAXES, SWORDS, SHOVELS, AXES, HOES, HELMETS, CHEST_EQUIPPABLE, LEGGINGS, BOOTS, BOWS) -+ .add(Material.TRIDENT, Material.SHIELD, Material.FISHING_ROD, Material.SHEARS, Material.FLINT_AND_STEEL, Material.CARROT_ON_A_STICK, Material.WARPED_FUNGUS_ON_A_STICK) -+ .ensureSize("ENCHANTABLE", 65).lock(); ++ .add(PICKAXES, SWORDS, SHOVELS, AXES, HOES, HELMETS, CHEST_EQUIPPABLE, LEGGINGS, BOOTS, BOWS) ++ .add(Material.TRIDENT, Material.SHIELD, Material.FISHING_ROD, Material.SHEARS, Material.FLINT_AND_STEEL, Material.CARROT_ON_A_STICK, Material.WARPED_FUNGUS_ON_A_STICK) ++ .ensureSize("ENCHANTABLE", 65).lock(); + + /** + * Covers the variants of raw ores. + */ + public static final MaterialSetTag RAW_ORES = new MaterialSetTag(keyFor("raw_ores")) -+ .add(Material.RAW_COPPER, Material.RAW_GOLD, Material.RAW_IRON).lock(); ++ .add(Material.RAW_COPPER, Material.RAW_GOLD, Material.RAW_IRON).lock(); + + /** + * Covers the variants of deepslate ores. + */ + public static final MaterialSetTag DEEPSLATE_ORES = new MaterialSetTag(keyFor("deepslate_ores")) -+ .add(material -> material.name().startsWith("DEEPSLATE_") && material.name().endsWith("_ORE")) -+ .ensureSize("DEEPSLATE_ORES", 8).lock(); ++ .add(material -> material.name().startsWith("DEEPSLATE_") && material.name().endsWith("_ORE")) ++ .ensureSize("DEEPSLATE_ORES", 8).lock(); + + /** + * Covers the variants of raw ore blocks. + */ + public static final MaterialSetTag RAW_ORE_BLOCKS = new MaterialSetTag(keyFor("raw_ore_blocks")) -+ .add(Material.RAW_COPPER_BLOCK, Material.RAW_GOLD_BLOCK, Material.RAW_IRON_BLOCK).lock(); ++ .add(Material.RAW_COPPER_BLOCK, Material.RAW_GOLD_BLOCK, Material.RAW_IRON_BLOCK).lock(); + + /** + * Covers all oxidized copper blocks. diff --git a/patches/server/0393-Implement-Player-Client-Options-API.patch b/patches/server/0393-Implement-Player-Client-Options-API.patch index 15d75526b8..0563e24793 100644 --- a/patches/server/0393-Implement-Player-Client-Options-API.patch +++ b/patches/server/0393-Implement-Player-Client-Options-API.patch @@ -97,7 +97,7 @@ index b4d5817998d8aa0c6e6eb3c01af0bc1d804e794b..108561244fa1062cd98be76fdff471fd if (getMainArm() != packet.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9bce12ed1842934fb05233337d2571ad44f7fe07..9747023b0102c055e56b5a8434d3e003d1ed1059 100644 +index b627746a04994dc5b6ddb7508ac9442a04aa2d5f..ccdbeadcb232832b12c3249a24966136b7ac54fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -574,6 +574,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -127,14 +127,13 @@ index 9bce12ed1842934fb05233337d2571ad44f7fe07..9747023b0102c055e56b5a8434d3e003 @Override diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java new file mode 100644 -index 0000000000000000000000000000000000000000..6cd015dc5a2e012ac827c2b2d9aa5542b0591afb +index 0000000000000000000000000000000000000000..fab3063fffa959ac7f0eb5937f2fae94d11b6591 --- /dev/null +++ b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java -@@ -0,0 +1,19 @@ +@@ -0,0 +1,18 @@ +package io.papermc.paper.world; + +import com.destroystokyo.paper.ClientOption; -+import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.world.entity.player.ChatVisiblity; +import org.bukkit.Difficulty; +import org.junit.Assert; diff --git a/patches/server/0491-Add-methods-to-get-translation-keys.patch b/patches/server/0491-Add-methods-to-get-translation-keys.patch index 9902b0b555..d6ca0d4af9 100644 --- a/patches/server/0491-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0491-Add-methods-to-get-translation-keys.patch @@ -77,12 +77,14 @@ index bc6d9dc549b865d47899db947b7e5b00ff312d2f..25813d45ba3b39fa1e1d566ca04ed122 /** diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java -index 6cd015dc5a2e012ac827c2b2d9aa5542b0591afb..3a569514f051d9941cb9c2d7ed3d59633f7b8493 100644 +index fab3063fffa959ac7f0eb5937f2fae94d11b6591..94dacabea836bc27eb678bd4465d8b9a01d98d91 100644 --- a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java +++ b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java -@@ -3,11 +3,22 @@ package io.papermc.paper.world; +@@ -1,12 +1,24 @@ + package io.papermc.paper.world; + import com.destroystokyo.paper.ClientOption; - import net.minecraft.network.chat.TranslatableComponent; ++import net.minecraft.network.chat.contents.TranslatableContents; import net.minecraft.world.entity.player.ChatVisiblity; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.level.GameType; @@ -104,7 +106,7 @@ index 6cd015dc5a2e012ac827c2b2d9aa5542b0591afb..3a569514f051d9941cb9c2d7ed3d5963 @Test public void testChatVisibilityKeys() { -@@ -16,4 +27,52 @@ public class TranslationKeyTest { +@@ -15,4 +27,52 @@ public class TranslationKeyTest { Assert.assertEquals(chatVisibility + "'s translation key doesn't match", ChatVisiblity.valueOf(chatVisibility.name()).getKey(), chatVisibility.translationKey()); } } @@ -112,7 +114,7 @@ index 6cd015dc5a2e012ac827c2b2d9aa5542b0591afb..3a569514f051d9941cb9c2d7ed3d5963 + @Test + public void testDifficultyKeys() { + for (Difficulty bukkitDifficulty : Difficulty.values()) { -+ Assert.assertEquals(bukkitDifficulty + "'s translation key doesn't match", ((TranslatableComponent) net.minecraft.world.Difficulty.byId(bukkitDifficulty.ordinal()).getDisplayName()).getKey(), bukkitDifficulty.translationKey()); ++ Assert.assertEquals(bukkitDifficulty + "'s translation key doesn't match", ((TranslatableContents) net.minecraft.world.Difficulty.byId(bukkitDifficulty.ordinal()).getDisplayName().getContents()).getKey(), bukkitDifficulty.translationKey()); + } + } + @@ -144,7 +146,7 @@ index 6cd015dc5a2e012ac827c2b2d9aa5542b0591afb..3a569514f051d9941cb9c2d7ed3d5963 + continue; + } + CreativeCategory category = Objects.requireNonNull(CraftCreativeCategory.fromNMS(tab)); -+ Assert.assertEquals("translation key mismatch for " + category, ((TranslatableComponent) tab.getDisplayName()).getKey(), category.translationKey()); ++ Assert.assertEquals("translation key mismatch for " + category, ((TranslatableContents) tab.getDisplayName().getContents()).getKey(), category.translationKey()); + } + } + @@ -153,7 +155,7 @@ index 6cd015dc5a2e012ac827c2b2d9aa5542b0591afb..3a569514f051d9941cb9c2d7ed3d5963 + for (GameType nms : GameType.values()) { + GameMode bukkit = GameMode.getByValue(nms.getId()); + Assert.assertNotNull(bukkit); -+ Assert.assertEquals("translation key mismatch for " + bukkit, ((TranslatableComponent) nms.getLongDisplayName()).getKey(), bukkit.translationKey()); ++ Assert.assertEquals("translation key mismatch for " + bukkit, ((TranslatableContents) nms.getLongDisplayName().getContents()).getKey(), bukkit.translationKey()); + } + } } diff --git a/patches/server/0709-Add-advancement-display-API.patch b/patches/server/0709-Add-advancement-display-API.patch index 472e3067ae..dd860e3b4d 100644 --- a/patches/server/0709-Add-advancement-display-API.patch +++ b/patches/server/0709-Add-advancement-display-API.patch @@ -129,7 +129,7 @@ index c47cae84f3b6970247d78382f48ae8ddbc202b59..0a46eeefa7d704350321828166f0049d } diff --git a/src/test/java/io/papermc/paper/advancement/AdvancementFrameTest.java b/src/test/java/io/papermc/paper/advancement/AdvancementFrameTest.java new file mode 100644 -index 0000000000000000000000000000000000000000..520801e294a33ae62d9aa24dc0247591e379311d +index 0000000000000000000000000000000000000000..4d043e0e43ef8bb75788e195f95b5a50a51a2a48 --- /dev/null +++ b/src/test/java/io/papermc/paper/advancement/AdvancementFrameTest.java @@ -0,0 +1,24 @@ @@ -138,7 +138,7 @@ index 0000000000000000000000000000000000000000..520801e294a33ae62d9aa24dc0247591 +import io.papermc.paper.adventure.PaperAdventure; +import net.kyori.adventure.text.format.TextColor; +import net.minecraft.advancements.FrameType; -+import net.minecraft.network.chat.TranslatableComponent; ++import net.minecraft.network.chat.contents.TranslatableContents; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; @@ -149,7 +149,7 @@ index 0000000000000000000000000000000000000000..520801e294a33ae62d9aa24dc0247591 + public void test() { + for (FrameType nmsFrameType : FrameType.values()) { + final TextColor expectedColor = PaperAdventure.asAdventure(nmsFrameType.getChatColor()); -+ final String expectedTranslationKey = ((TranslatableComponent) nmsFrameType.getDisplayName()).getKey(); ++ final String expectedTranslationKey = ((TranslatableContents) nmsFrameType.getDisplayName().getContents()).getKey(); + final var frame = PaperAdvancementDisplay.asPaperFrame(nmsFrameType); + assertEquals("The translation keys should be the same", expectedTranslationKey, frame.translationKey()); + assertEquals("The frame colors should be the same", expectedColor, frame.color());