Biome def switch

This commit is contained in:
paulevsGitch 2021-06-07 14:19:22 +03:00
parent ff4ef86c6d
commit 1ad72cbe88
44 changed files with 170 additions and 284 deletions

View file

@ -268,6 +268,7 @@ public class EndBiomes {
public static EndBiome registerSubBiome(Biome biome, EndBiome parent, float fogDensity, float genChance, boolean hasCaves) {
EndBiome endBiome = new EndBiome(BuiltinRegistries.BIOME.getKey(biome), biome, fogDensity, genChance, hasCaves);
if (Configs.BIOME_CONFIG.getBoolean(endBiome.getID(), "enabled", true)) {
BiomeAPI.registerBiome(endBiome);
parent.addSubBiome(endBiome);
SUBBIOMES.add(endBiome);
SUBBIOMES_UNMUTABLES.add(endBiome.getID());
@ -284,7 +285,7 @@ public class EndBiomes {
*/
public static EndBiome registerSubBiome(EndBiome biome, EndBiome parent) {
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
BiomeAPI.registerBiomeDirectly(biome);
BiomeAPI.registerBiome(biome);
parent.addSubBiome(biome);
SUBBIOMES.add(biome);
SUBBIOMES_UNMUTABLES.add(biome.getID());
@ -302,7 +303,7 @@ public class EndBiomes {
*/
public static EndBiome registerBiome(EndBiome biome, BiomeType type) {
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
BiomeAPI.registerBiomeDirectly(biome);
BiomeAPI.registerBiome(biome);
addToPicker(biome, type);
ID_MAP.put(biome.getID(), biome);
if (type == BiomeType.LAND) {
@ -322,7 +323,7 @@ public class EndBiomes {
*/
public static EndBiome registerSubBiomeIntegration(EndBiome biome) {
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
BiomeAPI.registerBiomeDirectly(biome);
BiomeAPI.registerBiome(biome);
SUBBIOMES.add(biome);
SUBBIOMES_UNMUTABLES.add(biome.getID());
ID_MAP.put(biome.getID(), biome);
@ -364,7 +365,7 @@ public class EndBiomes {
public static EndCaveBiome registerCaveBiome(EndCaveBiome biome) {
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
BiomeAPI.registerBiomeDirectly(biome);
BiomeAPI.registerBiome(biome);
CAVE_BIOMES.addBiome(biome);
ID_MAP.put(biome.getID(), biome);
}

View file

@ -7,7 +7,11 @@ import net.minecraft.world.level.block.entity.BlockEntityType;
import ru.betterend.BetterEnd;
import ru.betterend.blocks.EndStoneSmelter;
import ru.betterend.blocks.basis.PedestalBlock;
import ru.betterend.blocks.entities.*;
import ru.betterend.blocks.entities.BlockEntityHydrothermalVent;
import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity;
import ru.betterend.blocks.entities.EternalPedestalEntity;
import ru.betterend.blocks.entities.InfusionPedestalEntity;
import ru.betterend.blocks.entities.PedestalBlockEntity;
public class EndBlockEntities {
public final static BlockEntityType<EndStoneSmelterBlockEntity> END_STONE_SMELTER = registerBlockEntity(EndStoneSmelter.ID,

View file

@ -1,5 +1,10 @@
package ru.betterend.registry;
import java.util.List;
import java.util.stream.Collectors;
import org.jetbrains.annotations.NotNull;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.BlockItem;
@ -7,7 +12,6 @@ import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.material.MaterialColor;
import org.jetbrains.annotations.NotNull;
import ru.bclib.blocks.BaseBarrelBlock;
import ru.bclib.blocks.BaseChestBlock;
import ru.bclib.blocks.BaseFurnaceBlock;
@ -16,16 +20,34 @@ import ru.bclib.registry.BaseBlockEntities;
import ru.bclib.registry.BlocksRegistry;
import ru.betterend.BetterEnd;
import ru.betterend.blocks.*;
import ru.betterend.blocks.basis.*;
import ru.betterend.blocks.complex.*;
import ru.betterend.blocks.basis.EndCropBlock;
import ru.betterend.blocks.basis.EndFurnaceBlock;
import ru.betterend.blocks.basis.EndLeavesBlock;
import ru.betterend.blocks.basis.EndOreBlock;
import ru.betterend.blocks.basis.EndPathBlock;
import ru.betterend.blocks.basis.EndPillarBlock;
import ru.betterend.blocks.basis.EndSlabBlock;
import ru.betterend.blocks.basis.EndStairsBlock;
import ru.betterend.blocks.basis.EndTerrainBlock;
import ru.betterend.blocks.basis.EndUnderwaterWallPlantBlock;
import ru.betterend.blocks.basis.EndWallPlantBlock;
import ru.betterend.blocks.basis.FurBlock;
import ru.betterend.blocks.basis.SimpleLeavesBlock;
import ru.betterend.blocks.basis.StalactiteBlock;
import ru.betterend.blocks.basis.StoneLanternBlock;
import ru.betterend.blocks.basis.TripleTerrainBlock;
import ru.betterend.blocks.basis.VineBlock;
import ru.betterend.blocks.basis.WallMushroomBlock;
import ru.betterend.blocks.complex.ColoredMaterial;
import ru.betterend.blocks.complex.CrystalSubblocksMaterial;
import ru.betterend.blocks.complex.MetalMaterial;
import ru.betterend.blocks.complex.StoneMaterial;
import ru.betterend.blocks.complex.WoodenMaterial;
import ru.betterend.config.Configs;
import ru.betterend.item.material.EndArmorMaterial;
import ru.betterend.item.material.EndToolMaterial;
import ru.betterend.tab.CreativeTabs;
import java.util.List;
import java.util.stream.Collectors;
@SuppressWarnings("unused")
public class EndBlocks extends BlocksRegistry {
// Terrain //

View file

@ -18,12 +18,11 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.levelgen.placement.FeatureDecorator;
import ru.bclib.api.BiomeAPI;
import ru.bclib.world.biomes.BCLBiome;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.bclib.world.features.BCLFeature;
import ru.bclib.world.features.DefaultFeature;
import ru.betterend.BetterEnd;
import ru.betterend.blocks.complex.StoneMaterial;
import ru.betterend.world.biome.BiomeDefinition;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.features.BiomeIslandFeature;
import ru.betterend.world.features.BlueVineFeature;
import ru.betterend.world.features.CavePumpkinFeature;
@ -298,12 +297,10 @@ public class EndFeatures {
addFeature(CRASHED_SHIP, features);
BCLBiome bclbiome = BiomeAPI.getBiome(id);
if (bclbiome instanceof EndBiome) {
EndBiome endBiome = (EndBiome) bclbiome;
if (endBiome.hasCaves() && !EndBiomes.VOID_BIOMES.containsImmutable(id)) {
addFeature(ROUND_CAVE, features);
addFeature(TUNEL_CAVE, features);
}
boolean hasCaves = bclbiome.getCustomData("has_caves", true);
if (hasCaves && !EndBiomes.VOID_BIOMES.containsImmutable(id)) {
addFeature(ROUND_CAVE, features);
addFeature(TUNEL_CAVE, features);
}
BCLFeature feature = BiomeAPI.getBiome(id).getStructuresFeature();
@ -312,13 +309,14 @@ public class EndFeatures {
}
}
public static void addDefaultFeatures(BiomeDefinition def) {
public static void addDefaultFeatures(BCLBiomeDef def) {
def.addFeature(FLAVOLITE_LAYER);
def.addFeature(THALLASIUM_ORE);
def.addFeature(ENDER_ORE);
def.addFeature(CRASHED_SHIP);
if (def.hasCaves()) {
boolean hasCaves = def.getCustomData("has_caves", true);
if (hasCaves) {
def.addFeature(ROUND_CAVE);
def.addFeature(TUNEL_CAVE);
}

View file

@ -1,5 +1,7 @@
package ru.betterend.registry;
import java.util.List;
import org.jetbrains.annotations.NotNull;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
@ -39,8 +41,6 @@ import ru.betterend.item.material.EndToolMaterial;
import ru.betterend.item.tool.EndHammerItem;
import ru.betterend.tab.CreativeTabs;
import java.util.List;
@SuppressWarnings("unused")
public class EndItems extends ItemsRegistry {
// Materials //

View file

@ -1,6 +1,10 @@
package ru.betterend.registry;
import java.util.List;
import java.util.function.Supplier;
import com.google.common.collect.Lists;
import net.fabricmc.fabric.api.tag.TagRegistry;
import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl;
import net.fabricmc.fabric.impl.tool.attribute.handlers.ModdedToolsVanillaBlocksToolHandler;
@ -29,9 +33,6 @@ import ru.betterend.blocks.basis.VineBlock;
import ru.betterend.item.tool.EndHammerItem;
import ru.betterend.mixin.common.ComposterBlockAccessor;
import java.util.List;
import java.util.function.Supplier;
@SuppressWarnings("unused")
public class EndTags {
// Table with common (c) tags: