Fix ClassStructureTest breaking dimension mappings test
This commit is contained in:
2 files changed
+15
-7
No files matched your search
+13
-6
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user