Biome def switch
This commit is contained in:
parent
ff4ef86c6d
commit
1ad72cbe88
44 changed files with 170 additions and 284 deletions
|
@ -1,5 +1,7 @@
|
|||
package ru.betterend.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||
import net.minecraft.ChatFormatting;
|
||||
|
@ -20,9 +22,12 @@ import ru.betterend.events.ItemTooltipCallback;
|
|||
import ru.betterend.interfaces.IRenderTypeable;
|
||||
import ru.betterend.interfaces.MultiModelItem;
|
||||
import ru.betterend.item.CrystaliteArmor;
|
||||
import ru.betterend.registry.*;
|
||||
|
||||
import java.util.List;
|
||||
import ru.betterend.registry.EndBlockEntityRenders;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntitiesRenders;
|
||||
import ru.betterend.registry.EndModelProviders;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndScreens;
|
||||
|
||||
public class BetterEndClient implements ClientModInitializer {
|
||||
@Override
|
||||
|
|
|
@ -7,10 +7,10 @@ import net.minecraft.world.entity.MobCategory;
|
|||
import net.minecraft.world.level.biome.Biome;
|
||||
import net.minecraft.world.level.biome.BiomeSpecialEffects;
|
||||
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.integration.Integrations;
|
||||
import ru.betterend.integration.byg.features.BYGFeatures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class EterialGrove extends EndBiome {
|
||||
|
@ -18,11 +18,11 @@ public class EterialGrove extends EndBiome {
|
|||
super(makeDef());
|
||||
}
|
||||
|
||||
private static BiomeDefinition makeDef() {
|
||||
private static BCLBiomeDef makeDef() {
|
||||
Biome biome = Integrations.BYG.getBiome("ethereal_islands");
|
||||
BiomeSpecialEffects effects = biome.getSpecialEffects();
|
||||
|
||||
BiomeDefinition def = (BiomeDefinition) new BiomeDefinition("eterial_grove")
|
||||
BCLBiomeDef def = new BCLBiomeDef(BetterEnd.makeID("eterial_grove"))
|
||||
.setSurface(biome.getGenerationSettings().getSurfaceBuilder().get())
|
||||
.addFeature(BYGFeatures.BIG_ETHER_TREE);
|
||||
|
||||
|
|
|
@ -9,11 +9,11 @@ import net.minecraft.world.level.biome.Biome;
|
|||
import net.minecraft.world.level.biome.BiomeSpecialEffects;
|
||||
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
|
||||
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.integration.Integrations;
|
||||
import ru.betterend.integration.byg.features.BYGFeatures;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class NightshadeRedwoods extends EndBiome {
|
||||
|
@ -21,11 +21,11 @@ public class NightshadeRedwoods extends EndBiome {
|
|||
super(makeDef());
|
||||
}
|
||||
|
||||
private static BiomeDefinition makeDef() {
|
||||
private static BCLBiomeDef makeDef() {
|
||||
Biome biome = Integrations.BYG.getBiome("nightshade_forest");
|
||||
BiomeSpecialEffects effects = biome.getSpecialEffects();
|
||||
|
||||
BiomeDefinition def = (BiomeDefinition) new BiomeDefinition("nightshade_redwoods")
|
||||
BCLBiomeDef def = new BCLBiomeDef(BetterEnd.makeID("nightshade_redwoods"))
|
||||
.setFogColor(140, 108, 47)
|
||||
.setFogDensity(1.5F)
|
||||
.setWaterAndFogColor(55, 70, 186)
|
||||
|
|
|
@ -16,11 +16,11 @@ import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
|
|||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
|
||||
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.integration.Integrations;
|
||||
import ru.betterend.integration.byg.features.BYGFeatures;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class OldBulbisGardens extends EndBiome {
|
||||
|
@ -28,13 +28,13 @@ public class OldBulbisGardens extends EndBiome {
|
|||
super(makeDef());
|
||||
}
|
||||
|
||||
private static BiomeDefinition makeDef() {
|
||||
private static BCLBiomeDef makeDef() {
|
||||
Biome biome = Integrations.BYG.getBiome("bulbis_gardens");
|
||||
BiomeSpecialEffects effects = biome.getSpecialEffects();
|
||||
|
||||
Block ivis = Integrations.BYG.getBlock("ivis_phylium");
|
||||
Block origin = biome.getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial().getBlock();
|
||||
BiomeDefinition def = (BiomeDefinition) new BiomeDefinition("old_bulbis_gardens")
|
||||
BCLBiomeDef def = new BCLBiomeDef(BetterEnd.makeID("old_bulbis_gardens"))
|
||||
.setFogColor(215, 132, 207)
|
||||
.setFogDensity(1.8F)
|
||||
.setWaterAndFogColor(40, 0, 56)
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package ru.betterend.integration.rei;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import me.shedaniel.rei.api.EntryStack;
|
||||
import me.shedaniel.rei.api.RecipeHelper;
|
||||
import me.shedaniel.rei.api.plugins.REIPluginV0;
|
||||
|
@ -19,9 +23,6 @@ import ru.betterend.recipe.builders.AnvilRecipe;
|
|||
import ru.betterend.recipe.builders.InfusionRecipe;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class REIPlugin implements REIPluginV0 {
|
||||
|
||||
|
|
|
@ -1,123 +0,0 @@
|
|||
package ru.betterend.mixin.client;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
|
||||
import net.minecraft.Util;
|
||||
import net.minecraft.client.Camera;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.client.renderer.FogRenderer;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.effect.MobEffectInstance;
|
||||
import net.minecraft.world.effect.MobEffects;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.biome.Biome;
|
||||
import net.minecraft.world.level.biome.Biome.BiomeCategory;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import ru.bclib.api.BiomeAPI;
|
||||
import ru.bclib.world.biomes.BCLBiome;
|
||||
import ru.betterend.client.ClientOptions;
|
||||
import ru.betterend.util.BackgroundInfo;
|
||||
|
||||
@Mixin(FogRenderer.class)
|
||||
public class BackgroundRendererMixin {
|
||||
private static float lastFogDensity;
|
||||
private static float fogDensity;
|
||||
private static float lerp;
|
||||
private static long time;
|
||||
|
||||
@Shadow
|
||||
private static float fogRed;
|
||||
@Shadow
|
||||
private static float fogGreen;
|
||||
@Shadow
|
||||
private static float fogBlue;
|
||||
|
||||
@Inject(method = "setupColor", at = @At("RETURN"))
|
||||
private static void be_onRender(Camera camera, float tickDelta, ClientLevel world, int i, float f, CallbackInfo info) {
|
||||
long l = Util.getMillis() - time;
|
||||
time += l;
|
||||
lerp += l * 0.001F;
|
||||
if (lerp > 1) lerp = 1;
|
||||
|
||||
FluidState fluidState = camera.getFluidInCamera();
|
||||
if (fluidState.isEmpty() && world.dimension().equals(Level.END)) {
|
||||
Entity entity = camera.getEntity();
|
||||
boolean skip = false;
|
||||
if (entity instanceof LivingEntity) {
|
||||
MobEffectInstance effect = ((LivingEntity) entity).getEffect(MobEffects.NIGHT_VISION);
|
||||
skip = effect != null && effect.getDuration() > 0;
|
||||
}
|
||||
if (!skip) {
|
||||
fogRed *= 4;
|
||||
fogGreen *= 4;
|
||||
fogBlue *= 4;
|
||||
}
|
||||
}
|
||||
|
||||
BackgroundInfo.red = fogRed;
|
||||
BackgroundInfo.green = fogGreen;
|
||||
BackgroundInfo.blue = fogBlue;
|
||||
}
|
||||
|
||||
@Inject(method = "setupFog", at = @At("HEAD"), cancellable = true)
|
||||
private static void be_fogDensity(Camera camera, FogRenderer.FogMode fogType, float viewDistance, boolean thickFog, CallbackInfo info) {
|
||||
Entity entity = camera.getEntity();
|
||||
Biome biome = entity.level.getBiome(entity.blockPosition());
|
||||
FluidState fluidState = camera.getFluidInCamera();
|
||||
if (ClientOptions.useFogDensity() && biome.getBiomeCategory() == BiomeCategory.THEEND && fluidState.isEmpty()) {
|
||||
BCLBiome endBiome = BiomeAPI.getRenderBiome(biome);
|
||||
|
||||
if (fogDensity == 0) {
|
||||
fogDensity = endBiome.getFogDensity();
|
||||
lastFogDensity = fogDensity;
|
||||
}
|
||||
if (lerp == 1) {
|
||||
lastFogDensity = fogDensity;
|
||||
fogDensity = endBiome.getFogDensity();
|
||||
lerp = 0;
|
||||
}
|
||||
|
||||
float fog = Mth.lerp(lerp, lastFogDensity, fogDensity);
|
||||
BackgroundInfo.fog = fog;
|
||||
float start = viewDistance * 0.75F / fog;
|
||||
float end = viewDistance / fog;
|
||||
|
||||
if (entity instanceof LivingEntity) {
|
||||
LivingEntity le = (LivingEntity) entity;
|
||||
MobEffectInstance effect = le.getEffect(MobEffects.BLINDNESS);
|
||||
if (effect != null) {
|
||||
int duration = effect.getDuration();
|
||||
if (duration > 20) {
|
||||
start = 0;
|
||||
end *= 0.03F;
|
||||
BackgroundInfo.blindness = 1;
|
||||
}
|
||||
else {
|
||||
float delta = (float) duration / 20F;
|
||||
BackgroundInfo.blindness = delta;
|
||||
start = Mth.lerp(delta, start, 0);
|
||||
end = Mth.lerp(delta, end, end * 0.03F);
|
||||
}
|
||||
}
|
||||
else {
|
||||
BackgroundInfo.blindness = 0;
|
||||
}
|
||||
}
|
||||
|
||||
RenderSystem.fogStart(start);
|
||||
RenderSystem.fogEnd(end);
|
||||
RenderSystem.fogMode(GlStateManager.FogMode.LINEAR);
|
||||
RenderSystem.setupNvFogDistance();
|
||||
info.cancel();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -29,10 +29,10 @@ import net.minecraft.client.renderer.LevelRenderer;
|
|||
import net.minecraft.client.renderer.RenderBuffers;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import ru.bclib.util.BackgroundInfo;
|
||||
import ru.bclib.util.MHelper;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.client.ClientOptions;
|
||||
import ru.betterend.util.BackgroundInfo;
|
||||
|
||||
@Mixin(LevelRenderer.class)
|
||||
public class WorldRendererMixin {
|
||||
|
@ -149,11 +149,11 @@ public class WorldRendererMixin {
|
|||
matrices.popPose();
|
||||
}
|
||||
|
||||
float a = (BackgroundInfo.fog - 1F);
|
||||
float a = (BackgroundInfo.fogDensity - 1F);
|
||||
if (a > 0) {
|
||||
if (a > 1) a = 1;
|
||||
textureManager.bind(FOG);
|
||||
be_renderBuffer(matrices, fog, DefaultVertexFormat.POSITION_TEX, BackgroundInfo.red, BackgroundInfo.green, BackgroundInfo.blue, a);
|
||||
be_renderBuffer(matrices, fog, DefaultVertexFormat.POSITION_TEX, BackgroundInfo.fogColorRed, BackgroundInfo.fogColorGreen, BackgroundInfo.fogColorBlue, a);
|
||||
}
|
||||
|
||||
RenderSystem.disableTexture();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 //
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 //
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
package ru.betterend.util;
|
||||
|
||||
public class BackgroundInfo {
|
||||
public static float red;
|
||||
public static float green;
|
||||
public static float blue;
|
||||
public static float fog = 1;
|
||||
public static float blindness;
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
package ru.betterend.world.biome;
|
||||
|
||||
import net.minecraft.world.level.biome.Biome.BiomeCategory;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.world.structures.EndStructureFeature;
|
||||
|
||||
public class BiomeDefinition extends BCLBiomeDef {
|
||||
private boolean hasCaves = true;
|
||||
|
||||
public BiomeDefinition(String name) {
|
||||
super(BetterEnd.makeID(name));
|
||||
this.endBiome();
|
||||
}
|
||||
|
||||
public BiomeDefinition setCaveBiome() {
|
||||
this.setCategory(BiomeCategory.NONE);
|
||||
return this;
|
||||
}
|
||||
|
||||
public BiomeDefinition setCaves(boolean hasCaves) {
|
||||
this.hasCaves = hasCaves;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean hasCaves() {
|
||||
return hasCaves;
|
||||
}
|
||||
|
||||
public BCLBiomeDef addStructureFeature(EndStructureFeature structure) {
|
||||
return addStructureFeature(structure.getFeatureConfigured());
|
||||
}
|
||||
}
|
|
@ -3,22 +3,16 @@ package ru.betterend.world.biome;
|
|||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.level.biome.Biome;
|
||||
import ru.bclib.world.biomes.BCLBiome;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.config.Configs;
|
||||
|
||||
public class EndBiome extends BCLBiome {
|
||||
private final boolean hasCaves;
|
||||
|
||||
public EndBiome(BiomeDefinition definition) {
|
||||
public EndBiome(BCLBiomeDef definition) {
|
||||
super(definition.loadConfigValues(Configs.BIOME_CONFIG));
|
||||
this.hasCaves = Configs.BIOME_CONFIG.getBoolean(mcID, "has_caves", definition.hasCaves());
|
||||
}
|
||||
|
||||
public EndBiome(ResourceLocation id, Biome biome, float fogDensity, float genChance, boolean hasCaves) {
|
||||
super(id, biome, fogDensity, genChance);
|
||||
this.hasCaves = Configs.BIOME_CONFIG.getBoolean(mcID, "has_caves", hasCaves);
|
||||
}
|
||||
|
||||
public boolean hasCaves() {
|
||||
return hasCaves;
|
||||
this.addCustomData("has_caves", hasCaves);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
package ru.betterend.world.biome.air;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndStructures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class BiomeIceStarfield extends EndBiome {
|
||||
public BiomeIceStarfield() {
|
||||
super((BiomeDefinition) new BiomeDefinition("ice_starfield")
|
||||
.setCaves(false)
|
||||
.addStructureFeature(EndStructures.GIANT_ICE_STAR)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("ice_starfield"))
|
||||
.addCustomData("has_caves", false)
|
||||
.addStructureFeature(EndStructures.GIANT_ICE_STAR.getFeatureConfigured())
|
||||
.setFogColor(224, 245, 254)
|
||||
.setTemperature(0F)
|
||||
.setFogDensity(2.2F)
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package ru.betterend.world.biome.cave;
|
||||
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
|
||||
public class EmptyAuroraCaveBiome extends EndCaveBiome {
|
||||
public EmptyAuroraCaveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("empty_aurora_cave")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("empty_aurora_cave"))
|
||||
.setFogColor(150, 30, 68)
|
||||
.setFogDensity(2.0F)
|
||||
.setPlantsColor(108, 25, 46)
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package ru.betterend.world.biome.cave;
|
||||
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
|
||||
public class EmptyEndCaveBiome extends EndCaveBiome {
|
||||
public EmptyEndCaveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("empty_end_cave").setFogDensity(2.0F));
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("empty_end_cave")).setFogDensity(2.0F));
|
||||
this.addFloorFeature(EndFeatures.END_STONE_STALAGMITE, 1);
|
||||
this.addCeilFeature(EndFeatures.END_STONE_STALACTITE, 1);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package ru.betterend.world.biome.cave;
|
||||
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
|
||||
public class EmptySmaragdantCaveBiome extends EndCaveBiome {
|
||||
public EmptySmaragdantCaveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("empty_smaragdant_cave")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("empty_smaragdant_cave"))
|
||||
.setFogColor(0, 253, 182)
|
||||
.setFogDensity(2.0F)
|
||||
.setPlantsColor(0, 131, 145)
|
||||
|
|
|
@ -4,13 +4,14 @@ import java.util.Random;
|
|||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.entity.ai.behavior.WeightedList;
|
||||
import net.minecraft.world.level.biome.Biome.BiomeCategory;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.levelgen.feature.Feature;
|
||||
import ru.bclib.api.BiomeAPI;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.bclib.world.features.BCLFeature;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
import ru.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature;
|
||||
|
||||
|
@ -18,16 +19,16 @@ public class EndCaveBiome extends EndBiome {
|
|||
private WeightedList<Feature<?>> floorFeatures = new WeightedList<Feature<?>>();
|
||||
private WeightedList<Feature<?>> ceilFeatures = new WeightedList<Feature<?>>();
|
||||
|
||||
public EndCaveBiome(BiomeDefinition definition) {
|
||||
public EndCaveBiome(BCLBiomeDef definition) {
|
||||
super(makeDef(definition));
|
||||
}
|
||||
|
||||
private static BiomeDefinition makeDef(BiomeDefinition definition) {
|
||||
private static BCLBiomeDef makeDef(BCLBiomeDef definition) {
|
||||
BCLFeature feature = BCLFeature.makeChunkFeature(
|
||||
BetterEnd.makeID(definition.getID().getPath() + "_cave_populator"),
|
||||
new CaveChunkPopulatorFeature(() -> (EndCaveBiome) BiomeAPI.getBiome(definition.getID()))
|
||||
);
|
||||
definition.setCaveBiome().addFeature(feature);
|
||||
definition.setCategory(BiomeCategory.NONE).addFeature(feature);
|
||||
definition.setMusic(EndSounds.MUSIC_CAVES);
|
||||
definition.setLoop(EndSounds.AMBIENT_CAVES);
|
||||
return definition;
|
||||
|
|
|
@ -3,9 +3,10 @@ package ru.betterend.world.biome.cave;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.noise.OpenSimplexNoise;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
|
||||
public class JadeCaveBiome extends EndCaveBiome {
|
||||
private static final OpenSimplexNoise WALL_NOISE = new OpenSimplexNoise("jade_cave".hashCode());
|
||||
|
@ -13,7 +14,7 @@ public class JadeCaveBiome extends EndCaveBiome {
|
|||
private static final BlockState[] JADE = new BlockState[3];
|
||||
|
||||
public JadeCaveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("jade_cave")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("jade_cave"))
|
||||
.setFogColor(118, 150, 112)
|
||||
.setFogDensity(2.0F)
|
||||
.setWaterAndFogColor(95, 223, 255)
|
||||
|
|
|
@ -2,16 +2,17 @@ package ru.betterend.world.biome.cave;
|
|||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.BlockProperties;
|
||||
import ru.betterend.blocks.BlockProperties.TripleShape;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
|
||||
public class LushAuroraCaveBiome extends EndCaveBiome {
|
||||
public LushAuroraCaveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("lush_aurora_cave")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("lush_aurora_cave"))
|
||||
.setFogColor(150, 30, 68)
|
||||
.setFogDensity(2.0F)
|
||||
.setPlantsColor(108, 25, 46)
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
package ru.betterend.world.biome.cave;
|
||||
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
|
||||
public class LushSmaragdantCaveBiome extends EndCaveBiome {
|
||||
public LushSmaragdantCaveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("lush_smaragdant_cave")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("lush_smaragdant_cave"))
|
||||
.setFogColor(0, 253, 182)
|
||||
.setFogDensity(2.0F)
|
||||
.setPlantsColor(0, 131, 145)
|
||||
|
|
|
@ -2,17 +2,18 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class AmberLandBiome extends EndBiome {
|
||||
public AmberLandBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("amber_land")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("amber_land"))
|
||||
.setFogColor(255, 184, 71)
|
||||
.setFogDensity(2.0F)
|
||||
.setPlantsColor(219, 115, 38)
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
package ru.betterend.world.biome.land;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class BlossomingSpiresBiome extends EndBiome {
|
||||
public BlossomingSpiresBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("blossoming_spires")
|
||||
.setCaves(false)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("blossoming_spires"))
|
||||
.addCustomData("has_caves", false)
|
||||
.setFogColor(241, 146, 229)
|
||||
.setFogDensity(1.7F)
|
||||
.setPlantsColor(122, 45, 122)
|
||||
|
|
|
@ -5,16 +5,17 @@ import net.minecraft.data.worldgen.Features;
|
|||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class ChorusForestBiome extends EndBiome {
|
||||
public ChorusForestBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("chorus_forest")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("chorus_forest"))
|
||||
.setFogColor(87, 26, 87)
|
||||
.setFogDensity(1.5F)
|
||||
.setPlantsColor(122, 45, 122)
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
package ru.betterend.world.biome.land;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.registry.EndStructures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class CrystalMountainsBiome extends EndBiome {
|
||||
public CrystalMountainsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("crystal_mountains")
|
||||
.addStructureFeature(EndStructures.MOUNTAIN)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("crystal_mountains"))
|
||||
.addStructureFeature(EndStructures.MOUNTAIN.getFeatureConfigured())
|
||||
.setPlantsColor(255, 133, 211)
|
||||
.setSurface(EndBlocks.CRYSTAL_MOSS)
|
||||
.setMusic(EndSounds.MUSIC_OPENSPACE)
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
package ru.betterend.world.biome.land;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class DragonGraveyardsBiome extends EndBiome {
|
||||
public DragonGraveyardsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("dragon_graveyards")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("dragon_graveyards"))
|
||||
.setGenChance(0.1F)
|
||||
.setFogColor(244, 46, 79)
|
||||
.setFogDensity(1.3F)
|
||||
|
|
|
@ -2,15 +2,16 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class DryShrublandBiome extends EndBiome {
|
||||
public DryShrublandBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("dry_shrubland")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("dry_shrubland"))
|
||||
.setFogColor(132, 35, 13)
|
||||
.setFogDensity(1.2F)
|
||||
.setWaterAndFogColor(113, 88, 53)
|
||||
|
|
|
@ -3,14 +3,15 @@ package ru.betterend.world.biome.land;
|
|||
import net.minecraft.core.particles.ParticleTypes;
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class DustWastelandsBiome extends EndBiome {
|
||||
public DustWastelandsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("dust_wastelands")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("dust_wastelands"))
|
||||
.setFogColor(226, 239, 168)
|
||||
.setFogDensity(2)
|
||||
.setWaterAndFogColor(192, 180, 131)
|
||||
|
|
|
@ -2,19 +2,20 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.registry.EndStructures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class FoggyMushroomlandBiome extends EndBiome {
|
||||
public FoggyMushroomlandBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("foggy_mushroomland")
|
||||
.addStructureFeature(EndStructures.GIANT_MOSSY_GLOWSHROOM)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("foggy_mushroomland"))
|
||||
.addStructureFeature(EndStructures.GIANT_MOSSY_GLOWSHROOM.getFeatureConfigured())
|
||||
.setPlantsColor(73, 210, 209)
|
||||
.setFogColor(41, 122, 173)
|
||||
.setFogDensity(3)
|
||||
|
|
|
@ -2,16 +2,17 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class GlowingGrasslandsBiome extends EndBiome {
|
||||
public GlowingGrasslandsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("glowing_grasslands")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("glowing_grasslands"))
|
||||
.setFogColor(99, 228, 247)
|
||||
.setFogDensity(1.3F)
|
||||
.setParticles(EndParticles.FIREFLY, 0.001F)
|
||||
|
|
|
@ -2,16 +2,17 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class LanternWoodsBiome extends EndBiome {
|
||||
public LanternWoodsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("lantern_woods")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("lantern_woods"))
|
||||
.setFogColor(189, 82, 70)
|
||||
.setFogDensity(1.1F)
|
||||
.setWaterAndFogColor(171, 234, 226)
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
package ru.betterend.world.biome.land;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.registry.EndStructures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class MegalakeBiome extends EndBiome {
|
||||
public MegalakeBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("megalake")
|
||||
.addStructureFeature(EndStructures.MEGALAKE)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("megalake"))
|
||||
.addStructureFeature(EndStructures.MEGALAKE.getFeatureConfigured())
|
||||
.setPlantsColor(73, 210, 209)
|
||||
.setFogColor(178, 209, 248)
|
||||
.setWaterAndFogColor(96, 163, 255)
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
package ru.betterend.world.biome.land;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.registry.EndStructures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class MegalakeGroveBiome extends EndBiome {
|
||||
public MegalakeGroveBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("megalake_grove")
|
||||
.addStructureFeature(EndStructures.MEGALAKE_SMALL)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("megalake_grove"))
|
||||
.addStructureFeature(EndStructures.MEGALAKE_SMALL.getFeatureConfigured())
|
||||
.setPlantsColor(73, 210, 209)
|
||||
.setFogColor(178, 209, 248)
|
||||
.setWaterAndFogColor(96, 163, 255)
|
||||
|
|
|
@ -3,15 +3,16 @@ package ru.betterend.world.biome.land;
|
|||
import net.minecraft.core.particles.ParticleTypes;
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class NeonOasisBiome extends EndBiome {
|
||||
public NeonOasisBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("neon_oasis")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("neon_oasis"))
|
||||
.setGenChance(0.5F)
|
||||
.setFogColor(226, 239, 168)
|
||||
.setFogDensity(2)
|
||||
|
|
|
@ -2,16 +2,17 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.core.particles.ParticleTypes;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.registry.EndStructures;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class PaintedMountainsBiome extends EndBiome {
|
||||
public PaintedMountainsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("painted_mountains")
|
||||
.addStructureFeature(EndStructures.PAINTED_MOUNTAIN)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("painted_mountains"))
|
||||
.addStructureFeature(EndStructures.PAINTED_MOUNTAIN.getFeatureConfigured())
|
||||
.setFogColor(226, 239, 168)
|
||||
.setFogDensity(2)
|
||||
.setWaterAndFogColor(192, 180, 131)
|
||||
|
|
|
@ -3,16 +3,17 @@ package ru.betterend.world.biome.land;
|
|||
import net.minecraft.core.particles.ParticleTypes;
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class ShadowForestBiome extends EndBiome {
|
||||
public ShadowForestBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("shadow_forest")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("shadow_forest"))
|
||||
.setFogColor(0, 0, 0)
|
||||
.setFogDensity(2.5F)
|
||||
.setPlantsColor(45, 45, 45)
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
package ru.betterend.world.biome.land;
|
||||
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndEntities;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
import ru.betterend.world.surface.SurfaceBuilders;
|
||||
|
||||
public class SulphurSpringsBiome extends EndBiome {
|
||||
public SulphurSpringsBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("sulphur_springs")
|
||||
.setCaves(false)
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("sulphur_springs"))
|
||||
.addCustomData("has_caves", false)
|
||||
.setSurface(SurfaceBuilders.SULPHURIC_SURFACE.configured(SurfaceBuilders.DEFAULT_END_CONFIG))
|
||||
.setMusic(EndSounds.MUSIC_OPENSPACE)
|
||||
.setLoop(EndSounds.AMBIENT_SULPHUR_SPRINGS)
|
||||
|
|
|
@ -2,16 +2,17 @@ package ru.betterend.world.biome.land;
|
|||
|
||||
import net.minecraft.data.worldgen.StructureFeatures;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import ru.bclib.world.biomes.BCLBiomeDef;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndFeatures;
|
||||
import ru.betterend.registry.EndParticles;
|
||||
import ru.betterend.registry.EndSounds;
|
||||
import ru.betterend.world.biome.BiomeDefinition;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
|
||||
public class UmbrellaJungleBiome extends EndBiome {
|
||||
public UmbrellaJungleBiome() {
|
||||
super((BiomeDefinition) new BiomeDefinition("umbrella_jungle")
|
||||
super(new BCLBiomeDef(BetterEnd.makeID("umbrella_jungle"))
|
||||
.setFogColor(87, 223, 221)
|
||||
.setWaterAndFogColor(119, 198, 253)
|
||||
.setFoliageColor(27, 183, 194)
|
||||
|
|
|
@ -23,11 +23,11 @@ import ru.bclib.api.BiomeAPI;
|
|||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.util.BlocksHelper;
|
||||
import ru.bclib.util.MHelper;
|
||||
import ru.bclib.world.biomes.BCLBiome;
|
||||
import ru.bclib.world.features.DefaultFeature;
|
||||
import ru.betterend.interfaces.IBiomeArray;
|
||||
import ru.betterend.registry.EndBiomes;
|
||||
import ru.betterend.util.BlockFixer;
|
||||
import ru.betterend.world.biome.EndBiome;
|
||||
import ru.betterend.world.biome.cave.EndCaveBiome;
|
||||
|
||||
public abstract class EndCaveFeature extends DefaultFeature {
|
||||
|
@ -230,8 +230,9 @@ public abstract class EndCaveFeature extends DefaultFeature {
|
|||
for (int x = -2; x < 3; x++) {
|
||||
for (int z = -2; z < 3; z++) {
|
||||
Biome biome = world.getBiome(pos.offset(x << 4, 0, z << 4));
|
||||
EndBiome endBiome = (EndBiome) BiomeAPI.getFromBiome(biome);
|
||||
if (endBiome != null && !endBiome.hasCaves() && EndBiomes.LAND_BIOMES.containsImmutable(endBiome.getID())) {
|
||||
BCLBiome endBiome = BiomeAPI.getFromBiome(biome);
|
||||
boolean hasCaves = endBiome.getCustomData("has_caves", true);
|
||||
if (!hasCaves && EndBiomes.LAND_BIOMES.containsImmutable(endBiome.getID())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
"ClientPlayNetworkHandlerMixin",
|
||||
"HumanoidMobRendererMixin",
|
||||
"ArmorStandRendererMixin",
|
||||
"BackgroundRendererMixin",
|
||||
"ClientRecipeBookMixin",
|
||||
"MinecraftClientMixin",
|
||||
"ContextGsonAccessor",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue