Public Access
This commit is contained in:
1 parent
73dec80ae6
commit
31ba6f9c15
5 files changed
+28
-7
No files matched your search
@@ -21,7 +21,7 @@ public record AgeDefinition(
|
||||
public static final ResourceLocation RANDOM_VANILLA_PROFILE = ResourceLocation.fromNamespaceAndPath(
|
||||
Rivencraft.MOD_ID, "random_vanilla"
|
||||
);
|
||||
public static final int CURRENT_GENERATION_VERSION = 3;
|
||||
public static final int CURRENT_GENERATION_VERSION = 4;
|
||||
|
||||
public AgeDefinition {
|
||||
Objects.requireNonNull(id, "id");
|
||||
|
||||
@@ -48,7 +48,7 @@ public final class AgeDimensionService {
|
||||
loader.loadDynamicDimension(
|
||||
age.dimensionId(),
|
||||
createGenerator(server, age),
|
||||
createDimensionType()
|
||||
createDimensionType(age)
|
||||
);
|
||||
}
|
||||
synchronizeImmersivePortals(server);
|
||||
@@ -85,7 +85,7 @@ public final class AgeDimensionService {
|
||||
ServerLevel loaded = DynamicDimensionRegistry.from(server).loadDynamicDimension(
|
||||
definition.dimensionId(),
|
||||
createGenerator(server, definition),
|
||||
createDimensionType()
|
||||
createDimensionType(definition)
|
||||
);
|
||||
if (loaded == null) {
|
||||
Rivencraft.LOGGER.error("Failed to load Age {} as {}", definition.id(), definition.dimensionId());
|
||||
@@ -231,10 +231,13 @@ public final class AgeDimensionService {
|
||||
);
|
||||
}
|
||||
|
||||
private static DimensionType createDimensionType() {
|
||||
private static DimensionType createDimensionType(AgeDefinition age) {
|
||||
AgeTraits.Lighting lighting = age.traits().lighting();
|
||||
boolean hasSkyLight = lighting != AgeTraits.Lighting.DARK;
|
||||
float ambientLight = lighting == AgeTraits.Lighting.BRIGHT ? 0.25F : 0.0F;
|
||||
return new DimensionType(
|
||||
OptionalLong.empty(),
|
||||
true,
|
||||
hasSkyLight,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
@@ -246,7 +249,7 @@ public final class AgeDimensionService {
|
||||
384,
|
||||
BlockTags.INFINIBURN_OVERWORLD,
|
||||
BuiltinDimensionTypes.OVERWORLD_EFFECTS,
|
||||
0.0F,
|
||||
ambientLight,
|
||||
new DimensionType.MonsterSettings(false, true, UniformInt.of(0, 7), 0)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -175,6 +175,17 @@ public final class LinkingGameTests {
|
||||
|
||||
helper.assertTrue(level.dimension().location().equals(definition.dimensionId()),
|
||||
"The " + profile + " profile must retain its assigned dimension id");
|
||||
if (definition.traits().lighting() == AgeTraits.Lighting.DARK) {
|
||||
helper.assertFalse(level.dimensionType().hasSkyLight(),
|
||||
"Dark Lighting Ages must suppress dimension skylight");
|
||||
} else {
|
||||
helper.assertTrue(level.dimensionType().hasSkyLight(),
|
||||
"Normal and Bright Lighting Ages must retain dimension skylight");
|
||||
}
|
||||
float expectedAmbientLight = definition.traits().lighting() == AgeTraits.Lighting.BRIGHT
|
||||
? 0.25F : 0.0F;
|
||||
helper.assertTrue(Math.abs(level.dimensionType().ambientLight() - expectedAmbientLight) < 0.0001F,
|
||||
"The runtime dimension must apply the persisted lighting trait");
|
||||
}
|
||||
helper.succeed();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user