made a seperate BiomeSource for limbo
cos why not Changes to be committed: modified: src/main/java/org/dimdev/dimdoors/world/ModBiomes.java modified: src/main/java/org/dimdev/dimdoors/world/ModDimensions.java new file: src/main/java/org/dimdev/dimdoors/world/limbo/LimboBiomeSource.java modified: src/main/java/org/dimdev/dimdoors/world/limbo/LimboChunkGenerator.java modified: src/main/resources/data/dimdoors/dimension/dungeon_pockets.json modified: src/main/resources/data/dimdoors/dimension/limbo.json modified: src/main/resources/data/dimdoors/dimension/personal_pockets.json modified: src/main/resources/data/dimdoors/dimension/public_pockets.json modified: src/main/resources/data/dimdoors/temp/limbo.json
This commit is contained in:
parent
7294ed49ea
commit
7a70268b41
9 changed files with 52 additions and 70 deletions
|
@ -30,9 +30,7 @@ public final class ModBiomes {
|
|||
|
||||
public static void init() {
|
||||
int id = 1;
|
||||
for (Biome ignored : BuiltinRegistries.BIOME) {
|
||||
id++;
|
||||
}
|
||||
id += BuiltinRegistries.BIOME.stream().count();
|
||||
BuiltinBiomesAccessor.invokeRegister(id + 1, LIMBO_KEY, LIMBO_BIOME);
|
||||
BuiltinBiomesAccessor.invokeRegister(id + 2, PERSONAL_WHITE_VOID_KEY, WHITE_VOID_BIOME);
|
||||
BuiltinBiomesAccessor.invokeRegister(id + 3, PUBLIC_BLACK_VOID_KEY, BLACK_VOID_BIOME);
|
||||
|
@ -58,11 +56,9 @@ public final class ModBiomes {
|
|||
.waterFogColor(0)
|
||||
.moodSound(new BiomeMoodSound(ModSoundEvents.CREEPY, 6000, 8, 2.0))
|
||||
.skyColor(0x404040)
|
||||
.grassColorModifier(BiomeEffects.GrassColorModifier.NONE)
|
||||
.grassColor(0)
|
||||
.build())
|
||||
.generationSettings(new GenerationSettings.Builder()
|
||||
.surfaceBuilder(SurfaceBuilder.DEFAULT.method_30478(new TernarySurfaceConfig(ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.ETERNAL_FLUID.getDefaultState())))
|
||||
.surfaceBuilder(SurfaceBuilder.NETHER.method_30478(new TernarySurfaceConfig(ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.ETERNAL_FLUID.getDefaultState())))
|
||||
.build())
|
||||
.precipitation(Biome.Precipitation.NONE)
|
||||
.scale(0.9f)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.dimdev.dimdoors.world;
|
||||
|
||||
import org.dimdev.dimdoors.world.limbo.LimboBiomeSource;
|
||||
import org.dimdev.dimdoors.world.limbo.LimboChunkGenerator;
|
||||
import org.dimdev.dimdoors.world.pocket.BlankChunkGenerator;
|
||||
|
||||
|
@ -15,8 +16,8 @@ public final class ModDimensions {
|
|||
public static final RegistryKey<World> PUBLIC = RegistryKey.of(Registry.DIMENSION, new Identifier("dimdoors:public_pockets"));
|
||||
public static final RegistryKey<World> DUNGEON = RegistryKey.of(Registry.DIMENSION, new Identifier("dimdoors:dungeon_pockets"));
|
||||
|
||||
public static final RegistryKey<DimensionType> LIMBO_TYPE = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, new Identifier("dimdoors:limbo"));
|
||||
public static final RegistryKey<DimensionType> POCKET_TYPE = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, new Identifier("dimdoors:personal_pockets"));
|
||||
public static final RegistryKey<DimensionType> LIMBO_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, new Identifier("dimdoors:limbo"));
|
||||
public static final RegistryKey<DimensionType> POCKET_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, new Identifier("dimdoors:personal_pockets"));
|
||||
|
||||
public static boolean isDimDoorsPocketDimension(World world) {
|
||||
RegistryKey<World> type = world.getRegistryKey();
|
||||
|
@ -29,6 +30,7 @@ public final class ModDimensions {
|
|||
|
||||
public static void init() {
|
||||
Registry.register(Registry.CHUNK_GENERATOR, new Identifier("dimdoors", "blank"), BlankChunkGenerator.CODEC);
|
||||
Registry.register(Registry.CHUNK_GENERATOR, new Identifier("dimdoors", "limbo"), LimboChunkGenerator.CODEC);
|
||||
Registry.register(Registry.CHUNK_GENERATOR, new Identifier("dimdoors", "limbo_chunk_generator"), LimboChunkGenerator.CODEC);
|
||||
Registry.register(Registry.BIOME_SOURCE, new Identifier("dimdoors", "limbo_biome_source"), LimboBiomeSource.CODEC);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package org.dimdev.dimdoors.world.limbo;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.Decoder;
|
||||
import com.mojang.serialization.Encoder;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import org.dimdev.dimdoors.world.ModBiomes;
|
||||
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.source.BiomeSource;
|
||||
|
||||
public class LimboBiomeSource extends BiomeSource {
|
||||
public static final Codec<LimboBiomeSource> CODEC = MapCodec.of(Encoder.empty(), Decoder.unit(LimboBiomeSource::new)).stable().codec();
|
||||
|
||||
public LimboBiomeSource() {
|
||||
super(Collections.singletonList(ModBiomes.LIMBO_BIOME));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Codec<? extends BiomeSource> getCodec() {
|
||||
return CODEC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiomeSource withSeed(long seed) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Biome getBiomeForNoiseGen(int biomeX, int biomeY, int biomeZ) {
|
||||
return ModBiomes.LIMBO_BIOME;
|
||||
}
|
||||
}
|
|
@ -59,8 +59,6 @@ public class LimboChunkGenerator extends ChunkGenerator {
|
|||
public static final Codec<LimboChunkGenerator> CODEC = RecordCodecBuilder.create((instance) -> {
|
||||
return instance.group(BiomeSource.CODEC.fieldOf("biome_source").forGetter((limboChunkGenerator) -> {
|
||||
return limboChunkGenerator.biomeSource;
|
||||
}), Codec.LONG.fieldOf("seed").stable().forGetter((limboChunkGenerator) -> {
|
||||
return limboChunkGenerator.worldSeed;
|
||||
}), ChunkGeneratorSettings.REGISTRY_CODEC.fieldOf("settings").forGetter((limboChunkGenerator) -> {
|
||||
return limboChunkGenerator.settings;
|
||||
})).apply(instance, instance.stable(LimboChunkGenerator::new));
|
||||
|
@ -105,11 +103,11 @@ public class LimboChunkGenerator extends ChunkGenerator {
|
|||
protected final Supplier<ChunkGeneratorSettings> settings;
|
||||
private final int worldHeight;
|
||||
|
||||
public LimboChunkGenerator(BiomeSource biomeSource, long seed, Supplier<ChunkGeneratorSettings> supplier) {
|
||||
this(biomeSource, biomeSource, seed, supplier);
|
||||
public LimboChunkGenerator(BiomeSource biomeSource, Supplier<ChunkGeneratorSettings> supplier) {
|
||||
this(biomeSource, biomeSource, supplier);
|
||||
}
|
||||
|
||||
private LimboChunkGenerator(BiomeSource biomeSource, BiomeSource biomeSource2, long seed, Supplier<ChunkGeneratorSettings> supplier) {
|
||||
private LimboChunkGenerator(BiomeSource biomeSource, BiomeSource biomeSource2, Supplier<ChunkGeneratorSettings> supplier) {
|
||||
super(biomeSource, biomeSource2, supplier.get().getStructuresConfig(), new Random().nextLong());
|
||||
this.worldSeed = new Random().nextLong();
|
||||
ChunkGeneratorSettings chunkGeneratorSettings = supplier.get();
|
||||
|
@ -146,7 +144,7 @@ public class LimboChunkGenerator extends ChunkGenerator {
|
|||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public ChunkGenerator withSeed(long seed) {
|
||||
return new LimboChunkGenerator(this.biomeSource.withSeed(seed), seed, this.settings);
|
||||
return new LimboChunkGenerator(this.biomeSource.withSeed(seed), this.settings);
|
||||
}
|
||||
|
||||
public boolean equals(long l, RegistryKey<ChunkGeneratorSettings> registryKey) {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"type": "dimdoors:blank",
|
||||
"biome_source": {
|
||||
"type": "minecraft:fixed",
|
||||
"biome": "dimdoors:limbo"
|
||||
"biome": "dimdoors:dangerous_black_void"
|
||||
}
|
||||
},
|
||||
"type": "dimdoors:pocket"
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{
|
||||
"type": "dimdoors:limbo",
|
||||
"generator": {
|
||||
"type": "minecraft:noise",
|
||||
"seed": 23123456787659,
|
||||
"type": "dimdoors:limbo_chunk_generator",
|
||||
"biome_source": {
|
||||
"type": "minecraft:fixed",
|
||||
"biome": "dimdoors:limbo"
|
||||
"type": "dimdoors:limbo_biome_source"
|
||||
},
|
||||
"settings": {
|
||||
"bedrock_floor_position": 0,
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"type": "dimdoors:blank",
|
||||
"biome_source": {
|
||||
"type": "minecraft:fixed",
|
||||
"biome": "dimdoors:limbo"
|
||||
"biome": "dimdoors:white_void"
|
||||
}
|
||||
},
|
||||
"type": "dimdoors:pocket"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"type": "dimdoors:blank",
|
||||
"biome_source": {
|
||||
"type": "minecraft:fixed",
|
||||
"biome": "dimdoors:limbo"
|
||||
"biome": "dimdoors:black_void"
|
||||
}
|
||||
},
|
||||
"type": "dimdoors:pocket"
|
||||
|
|
|
@ -36,54 +36,7 @@
|
|||
[],
|
||||
[],
|
||||
[],
|
||||
[
|
||||
{
|
||||
"config": {
|
||||
"feature": {
|
||||
"config": {
|
||||
"feature": {
|
||||
"config": {
|
||||
"feature": {
|
||||
"config": {
|
||||
"target": {
|
||||
"block": "minecraft:bedrock",
|
||||
"predicate_type": "minecraft:block_match"
|
||||
},
|
||||
"state": {
|
||||
"Name": "dimdoors:eternal_fluid"
|
||||
},
|
||||
"size": 3
|
||||
},
|
||||
"type": "minecraft:ore"
|
||||
},
|
||||
"decorator": {
|
||||
"config": {
|
||||
"bottom_offset": 0,
|
||||
"top_offset": 5,
|
||||
"maximum": 9
|
||||
},
|
||||
"type": "minecraft:range"
|
||||
}
|
||||
},
|
||||
"type": "minecraft:decorated"
|
||||
},
|
||||
"decorator": {
|
||||
"config": {},
|
||||
"type": "minecraft:square"
|
||||
}
|
||||
},
|
||||
"type": "minecraft:decorated"
|
||||
},
|
||||
"decorator": {
|
||||
"config": {
|
||||
"count": 2
|
||||
},
|
||||
"type": "minecraft:count"
|
||||
}
|
||||
},
|
||||
"type": "minecraft:decorated"
|
||||
}
|
||||
]
|
||||
[]
|
||||
],
|
||||
"starts": [],
|
||||
"spawners": {
|
||||
|
|
Loading…
Reference in a new issue