check now succeeds
This commit is contained in:
		
					parent
					
						
							
								b344c04a4a
							
						
					
				
			
			
				commit
				
					
						6f65677ca2
					
				
			
		
					 8 changed files with 31 additions and 38 deletions
				
			
		|  | @ -278,6 +278,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +    GoalKey<Creature> PANIC = GoalKey.of(Creature.class, NamespacedKey.minecraft("panic"));
 | ||||
| +    GoalKey<Raider> PATHFIND_TO_RAID = GoalKey.of(Raider.class, NamespacedKey.minecraft("pathfind_to_raid"));
 | ||||
| +    GoalKey<Mob> RANDOM_LOOK_AROUND = GoalKey.of(Mob.class, NamespacedKey.minecraft("random_look_around"));
 | ||||
| +    GoalKey<AbstractHorse> RANDOM_STAND = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("random_stand"));
 | ||||
| +    GoalKey<Creature> RANDOM_STROLL = GoalKey.of(Creature.class, NamespacedKey.minecraft("random_stroll"));
 | ||||
| +    GoalKey<Creature> RANDOM_SWIMMING = GoalKey.of(Creature.class, NamespacedKey.minecraft("random_swimming"));
 | ||||
| +    GoalKey<RangedEntity> RANGED_ATTACK = GoalKey.of(RangedEntity.class, NamespacedKey.minecraft("ranged_attack"));
 | ||||
|  |  | |||
|  | @ -116,6 +116,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +
 | ||||
| +        CHAT_VALIDATION_FAILED,
 | ||||
| +
 | ||||
| +        EXPIRED_PROFILE_PUBLIC_KEY,
 | ||||
| +
 | ||||
| +        INVALID_PUBLIC_KEY_SIGNATURE,
 | ||||
| +
 | ||||
| +        TOO_MANY_PENDING_CHATS,
 | ||||
| +
 | ||||
| +        SELF_INTERACTION,
 | ||||
|  |  | |||
|  | @ -126,7 +126,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +package io.papermc.paper.world.structure;
 | ||||
| +
 | ||||
| +import io.papermc.paper.registry.Reference;
 | ||||
| +import net.minecraft.data.BuiltinRegistries;
 | ||||
| +import net.minecraft.core.Registry;
 | ||||
| +import net.minecraft.core.registries.Registries;
 | ||||
| +import net.minecraft.resources.ResourceKey;
 | ||||
| +import net.minecraft.resources.ResourceLocation;
 | ||||
| +import net.minecraft.server.Bootstrap;
 | ||||
|  | @ -176,11 +177,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +
 | ||||
| +    @Test
 | ||||
| +    public void testMinecraftToApi() {
 | ||||
| +        assertEquals("configured structure maps should be the same size", BUILT_IN_STRUCTURES.size(), BuiltinRegistries.STRUCTURES.size());
 | ||||
| +        Registry<Structure> structureRegistry = AbstractTestingBase.REGISTRY_CUSTOM.registryOrThrow(Registries.STRUCTURE);
 | ||||
| +        assertEquals("configured structure maps should be the same size", BUILT_IN_STRUCTURES.size(), structureRegistry.size());
 | ||||
| +
 | ||||
| +        Map<ResourceLocation, Structure> missing = new LinkedHashMap<>();
 | ||||
| +        for (Structure feature : BuiltinRegistries.STRUCTURES) {
 | ||||
| +            final ResourceLocation key = BuiltinRegistries.STRUCTURES.getKey(feature);
 | ||||
| +        for (Structure feature : structureRegistry) {
 | ||||
| +            final ResourceLocation key = structureRegistry.getKey(feature);
 | ||||
| +            assertNotNull("Missing built-in registry key", key);
 | ||||
| +            if (key.equals(BuiltinStructures.ANCIENT_CITY.location())) {
 | ||||
| +                continue; // TODO remove when upstream adds "jigsaw" StructureType
 | ||||
|  | @ -195,8 +197,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +
 | ||||
| +    @Test
 | ||||
| +    public void testApiToMinecraft() {
 | ||||
| +        Registry<Structure> structureRegistry = AbstractTestingBase.REGISTRY_CUSTOM.registryOrThrow(Registries.STRUCTURE);
 | ||||
| +        for (NamespacedKey apiKey : DEFAULT_CONFIGURED_STRUCTURES.keySet()) {
 | ||||
| +            assertTrue(apiKey + " does not have a minecraft counterpart", BuiltinRegistries.STRUCTURES.containsKey(CraftNamespacedKey.toMinecraft(apiKey)));
 | ||||
| +            assertTrue(apiKey + " does not have a minecraft counterpart", structureRegistry.containsKey(CraftNamespacedKey.toMinecraft(apiKey)));
 | ||||
| +        }
 | ||||
| +    }
 | ||||
| +
 | ||||
|  | @ -215,16 +218,3 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +        System.setOut(out);
 | ||||
| +    }
 | ||||
| +}
 | ||||
| diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
 | ||||
| +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
 | ||||
| @@ -0,0 +0,0 @@ public abstract class AbstractTestingBase {
 | ||||
|          REGISTRY_CUSTOM = layers.compositeAccess().freeze(); | ||||
|          // Paper start | ||||
|          try { | ||||
| -            java.lang.reflect.Field field = io.papermc.paper.registry.PaperRegistry.class.getDeclaredField("REGISTRY_ACCESS");
 | ||||
| +            java.lang.reflect.Field field = io.papermc.paper.registry.PaperRegistry.class.getDeclaredField("REGISTRgY_ACCESS");
 | ||||
|              field.trySetAccessible(); | ||||
|              field.set(null, com.google.common.base.Suppliers.ofInstance(REGISTRY_CUSTOM)); | ||||
|          } catch (ReflectiveOperationException ex) { | ||||
|  |  | |||
|  | @ -88,12 +88,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
|  package io.papermc.paper.world; | ||||
|   | ||||
|  import com.destroystokyo.paper.ClientOption; | ||||
| +import net.minecraft.core.Registry;
 | ||||
| +import net.minecraft.core.RegistryAccess;
 | ||||
| +import java.util.Map;
 | ||||
| +import net.minecraft.network.chat.contents.TranslatableContents;
 | ||||
| +import net.minecraft.resources.ResourceKey;
 | ||||
|  import net.minecraft.world.entity.player.ChatVisiblity; | ||||
| +import net.minecraft.world.item.CreativeModeTab;
 | ||||
| +import net.minecraft.world.level.GameType;
 | ||||
| +import net.minecraft.world.level.biome.Biome;
 | ||||
|  import org.bukkit.Difficulty; | ||||
|  | @ -101,16 +99,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +import org.bukkit.GameMode;
 | ||||
| +import org.bukkit.GameRule;
 | ||||
| +import org.bukkit.attribute.Attribute;
 | ||||
| +import org.bukkit.craftbukkit.inventory.CraftCreativeCategory;
 | ||||
| +import org.bukkit.inventory.CreativeCategory;
 | ||||
| +import org.bukkit.support.AbstractTestingBase;
 | ||||
|  import org.junit.Assert; | ||||
| +import org.junit.Ignore;
 | ||||
|  import org.junit.Test; | ||||
|   | ||||
| -public class TranslationKeyTest {
 | ||||
| +import java.util.Map;
 | ||||
| +import java.util.Objects;
 | ||||
| +
 | ||||
| +public class TranslationKeyTest extends AbstractTestingBase {
 | ||||
|   | ||||
|      @Test | ||||
|  | @ -149,14 +143,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +    }
 | ||||
| +
 | ||||
| +    @Test
 | ||||
| +    @Ignore // TODO fix
 | ||||
| +    public void testCreativeCategory() {
 | ||||
| +        for (CreativeModeTab tab : CreativeModeTab.TABS) {
 | ||||
| +            if (tab == CreativeModeTab.TAB_SEARCH || tab == CreativeModeTab.TAB_HOTBAR || tab == CreativeModeTab.TAB_INVENTORY) { // not implemented in the api
 | ||||
| +                continue;
 | ||||
| +            }
 | ||||
| +            CreativeCategory category = Objects.requireNonNull(CraftCreativeCategory.fromNMS(tab));
 | ||||
| +            Assert.assertEquals("translation key mismatch for " + category, ((TranslatableContents) tab.getDisplayName().getContents()).getKey(), category.translationKey());
 | ||||
| +        }
 | ||||
| +        // for (CreativeModeTab tab : CreativeModeTabs.tabs()) {
 | ||||
| +        //     CreativeCategory category = Objects.requireNonNull(CraftCreativeCategory.fromNMS(tab));
 | ||||
| +        //     Assert.assertEquals("translation key mismatch for " + category, ((TranslatableContents) tab.getDisplayName().getContents()).getKey(), category.translationKey());
 | ||||
| +        // }
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    @Test
 | ||||
|  | @ -170,7 +162,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +
 | ||||
| +    @Test
 | ||||
| +    public void testBiome() {
 | ||||
| +        for (Map.Entry<ResourceKey<Biome>, Biome> nms : RegistryAccess.builtinCopy().registry(Registry.BIOME_REGISTRY).get().entrySet()) {
 | ||||
| +        for (Map.Entry<ResourceKey<Biome>, Biome> nms : AbstractTestingBase.BIOMES.entrySet()) {
 | ||||
| +            org.bukkit.block.Biome bukkit = org.bukkit.block.Biome.valueOf(nms.getKey().location().getPath().toUpperCase());
 | ||||
| +            Assert.assertEquals("translation key mismatch for " + bukkit, nms.getKey().location().toLanguageKey("biome"), bukkit.translationKey());
 | ||||
| +        }
 | ||||
|  |  | |||
|  | @ -35,6 +35,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "enchant", "Allows the user to enchant a player item", PermissionDefault.OP, commands);
 | ||||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "execute", "Allows the user to execute another command", PermissionDefault.OP, commands);
 | ||||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "fill", "Allows the user to fill a region with a specific block", PermissionDefault.OP, commands);
 | ||||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "fillbiome", "Allows the user to fill a region with a specific biome", PermissionDefault.OP, commands);
 | ||||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "forceload", "Allows the user to force chunks to be constantly loaded or not", PermissionDefault.OP, commands);
 | ||||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "function", "Allows the user to run a function", PermissionDefault.OP, commands);
 | ||||
| +        DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "gamerule", "Allows a user to set or query a game rule value", PermissionDefault.OP, commands);
 | ||||
|  | @ -90,8 +91,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +import net.minecraft.commands.CommandBuildContext;
 | ||||
| +import net.minecraft.commands.CommandSourceStack;
 | ||||
| +import net.minecraft.commands.Commands;
 | ||||
| +import net.minecraft.core.RegistryAccess;
 | ||||
| +import net.minecraft.server.Bootstrap;
 | ||||
| +import net.minecraft.world.flag.FeatureFlags;
 | ||||
| +import org.bukkit.Bukkit;
 | ||||
| +import org.bukkit.craftbukkit.command.VanillaCommandWrapper;
 | ||||
| +import org.bukkit.craftbukkit.util.permissions.CraftDefaultPermissions;
 | ||||
|  | @ -124,7 +125,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +        CraftDefaultPermissions.registerCorePermissions();
 | ||||
| +        Set<String> perms = collectMinecraftCommandPerms();
 | ||||
| +
 | ||||
| +        Commands commands = new Commands(Commands.CommandSelection.DEDICATED, new CommandBuildContext(RegistryAccess.BUILTIN.get()));
 | ||||
| +        Commands commands = new Commands(Commands.CommandSelection.DEDICATED, CommandBuildContext.configurable(AbstractTestingBase.REGISTRY_CUSTOM, FeatureFlags.VANILLA_SET));
 | ||||
| +        RootCommandNode<CommandSourceStack> root = commands.getDispatcher().getRoot();
 | ||||
| +        Set<String> missing = new LinkedHashSet<>();
 | ||||
| +        Set<String> foundPerms = new HashSet<>();
 | ||||
|  |  | |||
|  | @ -274,6 +274,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| -        register(Material.TRAPPED_CHEST, CraftChest.class, CraftChest::new, TrappedChestBlockEntity::new);
 | ||||
| +        // Paper start - simplify
 | ||||
| +        register(BlockEntityType.SIGN, CraftSign.class, CraftSign::new);
 | ||||
| +        register(BlockEntityType.HANGING_SIGN, CraftHangingSign.class, CraftHangingSign::new);
 | ||||
| +        register(BlockEntityType.SKULL, CraftSkull.class, CraftSkull::new);
 | ||||
| +        register(BlockEntityType.COMMAND_BLOCK, CraftCommandBlock.class, CraftCommandBlock::new);
 | ||||
| +        register(BlockEntityType.BANNER, CraftBanner.class, CraftBanner::new);
 | ||||
|  | @ -397,7 +398,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +
 | ||||
| +    @Test
 | ||||
| +    public void testBlockEntityTypes() {
 | ||||
| +        for (var blockEntityType : Registry.BLOCK_ENTITY_TYPE) {
 | ||||
| +        for (var blockEntityType : BuiltInRegistries.BLOCK_ENTITY_TYPE) {
 | ||||
| +            org.junit.Assert.assertNotNull(CraftBlockStates.getBlockStateType(blockEntityType));
 | ||||
| +        }
 | ||||
| +    }
 | ||||
|  |  | |||
|  | @ -48,6 +48,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +import net.minecraft.world.entity.animal.ShoulderRidingEntity;
 | ||||
| +import net.minecraft.world.entity.animal.SnowGolem;
 | ||||
| +import net.minecraft.world.entity.animal.WaterAnimal;
 | ||||
| +import net.minecraft.world.entity.animal.camel.Camel;
 | ||||
| +import net.minecraft.world.entity.animal.horse.AbstractChestedHorse;
 | ||||
| +import net.minecraft.world.entity.boss.wither.WitherBoss;
 | ||||
| +import net.minecraft.world.entity.monster.AbstractIllager;
 | ||||
|  | @ -202,6 +203,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
| +        bukkitMap.put(net.minecraft.world.entity.animal.horse.Mule.class, Mule.class);
 | ||||
| +        bukkitMap.put(net.minecraft.world.entity.animal.horse.SkeletonHorse.class, SkeletonHorse.class);
 | ||||
| +        bukkitMap.put(net.minecraft.world.entity.animal.horse.ZombieHorse.class, ZombieHorse.class);
 | ||||
| +        bukkitMap.put(Camel.class, org.bukkit.entity.Camel.class);
 | ||||
| +        bukkitMap.put(AbstractIllager.class, Illager.class);
 | ||||
| +        bukkitMap.put(net.minecraft.world.entity.monster.Illusioner.class, Illusioner.class);
 | ||||
| +        bukkitMap.put(SpellcasterIllager.class, Spellcaster.class);
 | ||||
|  |  | |||
|  | @ -135,10 +135,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 | |||
|          Set<EntityType> allBukkit = Arrays.stream(EntityType.values()).filter((b) -> b.getName() != null).collect(Collectors.toSet()); | ||||
|   | ||||
| -        for (EntityType<?> nms : BuiltInRegistries.ENTITY_TYPE) {
 | ||||
| -            ResourceLocation key = EntityType.getKey(nms);
 | ||||
| +        for (net.minecraft.world.entity.EntityType<?> nms : BuiltInRegistries.ENTITY_TYPE) { // Paper - remap fix
 | ||||
|              ResourceLocation key = EntityType.getKey(nms); | ||||
| +            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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/test/java/org/bukkit/entity/PandaGeneTest.java
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jake Potrebic
				Jake Potrebic