Limited borrowed types to modded

- Pack validation rejects borrowedDimensionType on platforms that generate their own Iris dimension type, with an error naming the supported loaders
- Dimension type keys and registry contracts honor borrowedDimensionType only when the platform generation registry supports borrowed types, so Bukkit always derives its generated iris type
- The Bukkit runtime contract always expects the generated Iris type; hotload still refuses a borrowedDimensionType change
This commit is contained in:
Brian Neumann-Fopiano committed 2026-10-14 21:10:25 -04:00
1 parent 9481a9ecf0
commit aedef3c38a
11 files changed
+133 -22

No files matched your search

@@ -46,6 +46,11 @@ final class ModdedGenerationRegistry implements PlatformGenerationRegistry {
);
}
@Override
public boolean supportsBorrowedDimensionTypes() {
return true;
}
@Override
public Definition definition(String registryKey, String resourceKey) {
return nativeRegistry.definition(registryKey, resourceKey);
@@ -80,6 +80,11 @@ public final class ModdedPlatform implements IrisPlatform {
return loader.platformName();
}
@Override
public boolean supportsBorrowedDimensionTypes() {
return true;
}
@Override
public String minecraftVersion() {
return loader.minecraftVersion();