Land and void generation

This commit is contained in:
paulevsGitch 2020-09-21 11:54:13 +03:00
parent 84e26e1f5c
commit e3c3d23a8f
6 changed files with 61 additions and 29 deletions

View file

@ -14,39 +14,49 @@ import net.minecraft.world.biome.BiomeKeys;
import ru.betterend.world.biome.BiomeDefinition;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.generator.BiomePicker;
import ru.betterend.world.generator.BiomeType;
public class BiomeRegistry {
private static final Map<EndBiome, RegistryKey<Biome>> KEYS = Maps.newHashMap();
public static final HashMap<Biome, EndBiome> MUTABLE = Maps.newHashMap();
public static final BiomePicker LAND_BIOMES = new BiomePicker();
public static final BiomePicker VOID_BIOMES = new BiomePicker();
public static final EndBiome END = registerBiome(BiomeKeys.THE_END);
public static final EndBiome END_BARRENS = registerBiome(BiomeKeys.END_BARRENS);
public static final EndBiome END_HIGHLANDS = registerBiome(BiomeKeys.END_HIGHLANDS);
public static final EndBiome END_MIDLANDS = registerBiome(BiomeKeys.END_MIDLANDS);
public static final EndBiome SMALL_END_ISLANDS = registerBiome(BiomeKeys.SMALL_END_ISLANDS);
public static final EndBiome TEST = registerBiome(new EndBiome(new BiomeDefinition("test").setFogColor(255, 0, 0)));
public static final EndBiome END = registerBiome(BiomeKeys.THE_END, BiomeType.LAND);
public static final EndBiome END_BARRENS = registerBiome(BiomeKeys.END_BARRENS, BiomeType.VOID);
public static final EndBiome END_HIGHLANDS = registerBiome(BiomeKeys.END_HIGHLANDS, BiomeType.LAND);
public static final EndBiome END_MIDLANDS = registerBiome(BiomeKeys.END_MIDLANDS, BiomeType.LAND);
public static final EndBiome SMALL_END_ISLANDS = registerBiome(BiomeKeys.SMALL_END_ISLANDS, BiomeType.VOID);
public static final EndBiome TEST = registerBiome(new EndBiome(new BiomeDefinition("test").setFogColor(255, 0, 0)), BiomeType.VOID);
public static void register() {}
public static EndBiome registerBiome(RegistryKey<Biome> key) {
public static EndBiome registerBiome(RegistryKey<Biome> key, BiomeType type) {
EndBiome endBiome = new EndBiome(BuiltinRegistries.BIOME.get(key));
BiomePicker.addBiome(endBiome);
addToPicker(endBiome, type);
makeLink(endBiome);
return endBiome;
}
public static EndBiome registerBiome(Biome biome) {
public static EndBiome registerBiome(Biome biome, BiomeType type) {
EndBiome endBiome = new EndBiome(biome);
BiomePicker.addBiome(endBiome);
addToPicker(endBiome, type);
makeLink(endBiome);
return endBiome;
}
public static EndBiome registerBiome(EndBiome biome) {
BiomePicker.addBiome(biome);
public static EndBiome registerBiome(EndBiome biome, BiomeType type) {
registerBiomeDirect(biome);
addToPicker(biome, type);
return biome;
}
private static void addToPicker(EndBiome biome, BiomeType type) {
if (type == BiomeType.LAND)
LAND_BIOMES.addBiome(biome);
else
VOID_BIOMES.addBiome(biome);
}
private static void registerBiomeDirect(EndBiome biome) {
Registry.register(BuiltinRegistries.BIOME, biome.getID(), biome.getBiome());