Fix ClassStructureTest breaking dimension mappings test

This commit is contained in:
booky committed 2025-12-09 16:41:44 +01:00
1 parent d8c39f6463
commit 39df65b111
2 files changed
+15 -7

No files matched your search

@@ -43,6 +43,7 @@ public final class VersionedRegistry<T extends MappedEntity> implements IRegistr
private final ResourceLocation registryKey;
private final TypesBuilder typesBuilder;
private final ClientVersion[] extraSteps;
private final Map<String, T>[] typeNames;
private final Map<Integer, T>[] typeIds;
@@ -72,12 +73,8 @@ public final class VersionedRegistry<T extends MappedEntity> implements IRegistr
public VersionedRegistry(ResourceLocation registryKey, String mappingsPath, ClientVersion... extraSteps) {
this.registryKey = registryKey;
this.typesBuilder = new TypesBuilder(mappingsPath);
this.typesBuilder.registry = this;
// add extra steps to version mapper
for (ClientVersion extraStep : extraSteps) {
this.typesBuilder.addExtraVersionStep(extraStep);
}
this.extraSteps = extraSteps;
this.postLoadMappings();
int versions = this.typesBuilder.getVersionMapper().size();
this.typeNames = new Map[versions];
@@ -103,6 +100,16 @@ public final class VersionedRegistry<T extends MappedEntity> implements IRegistr
return this.typesBuilder;
}
@VisibleForTesting
@ApiStatus.Internal
public void postLoadMappings() {
this.typesBuilder.registry = this;
// add extra steps to version mapper
for (ClientVersion extraStep : this.extraSteps) {
this.typesBuilder.addExtraVersionStep(extraStep);
}
}
@ApiStatus.Internal
public void unloadMappings() {
this.typesBuilder.unloadFileMappings();
@@ -185,6 +185,7 @@ public class ClassStructureTest extends BaseDummyAPITest {
// temporarily load mappings again to validate each entry has a matching constant
TypesBuilder typesBuilder = registry.getTypesBuilder();
typesBuilder.load();
registry.postLoadMappings();
Map<ClientVersion, Map<String, Integer>> entries = typesBuilder.getEntries();
assert entries != null; // ensured above
@@ -195,7 +196,7 @@ public class ClassStructureTest extends BaseDummyAPITest {
.distinct()
.filter(name -> registry.getByName(name) == null)
.collect(Collectors.joining(","));
typesBuilder.unloadFileMappings();
registry.unloadMappings();
if (!invalidEntries.isEmpty()) {
fail("Found invalid entries in registry " + registry.getRegistryKey() + ": " + invalidEntries);