diff --git a/gradle.properties b/gradle.properties index 9653003f..0ba7a761 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,5 +17,5 @@ archives_base_name = better-end patchouli_version = 50-FABRIC fabric_version = 0.32.9+1.16 canvas_version = 1.0.+ -bclib_version = 0.1.19 +bclib_version = 0.1.24 rei_version = 5.8.10 \ No newline at end of file diff --git a/src/main/java/ru/betterend/client/BetterEndClient.java b/src/main/java/ru/betterend/client/BetterEndClient.java index a7c5265e..75162dba 100644 --- a/src/main/java/ru/betterend/client/BetterEndClient.java +++ b/src/main/java/ru/betterend/client/BetterEndClient.java @@ -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 diff --git a/src/main/java/ru/betterend/integration/byg/biomes/EterialGrove.java b/src/main/java/ru/betterend/integration/byg/biomes/EterialGrove.java index 7b05231f..b767e1a3 100644 --- a/src/main/java/ru/betterend/integration/byg/biomes/EterialGrove.java +++ b/src/main/java/ru/betterend/integration/byg/biomes/EterialGrove.java @@ -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); diff --git a/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java b/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java index 76c4931b..6f38ff21 100644 --- a/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java +++ b/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java @@ -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) diff --git a/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java b/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java index 80a27e0a..fce78651 100644 --- a/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java +++ b/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java @@ -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) diff --git a/src/main/java/ru/betterend/integration/rei/REIPlugin.java b/src/main/java/ru/betterend/integration/rei/REIPlugin.java index 64857888..fb9d4a21 100644 --- a/src/main/java/ru/betterend/integration/rei/REIPlugin.java +++ b/src/main/java/ru/betterend/integration/rei/REIPlugin.java @@ -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 { diff --git a/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java b/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java deleted file mode 100644 index 9d4ed971..00000000 --- a/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java +++ /dev/null @@ -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(); - } - } -} diff --git a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java index 6cab0d4d..b24d3517 100644 --- a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java +++ b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java @@ -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(); diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index d7a74c8c..9ac34b44 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -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); } diff --git a/src/main/java/ru/betterend/registry/EndBlockEntities.java b/src/main/java/ru/betterend/registry/EndBlockEntities.java index c6154f31..93535912 100644 --- a/src/main/java/ru/betterend/registry/EndBlockEntities.java +++ b/src/main/java/ru/betterend/registry/EndBlockEntities.java @@ -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 END_STONE_SMELTER = registerBlockEntity(EndStoneSmelter.ID, diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index a1b10ec6..6d3f474b 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -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 // diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index 4f66b75f..0983d21f 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -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); } diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 2653e85d..ff63ada4 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -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 // diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index 79404778..31276600 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -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: diff --git a/src/main/java/ru/betterend/util/BackgroundInfo.java b/src/main/java/ru/betterend/util/BackgroundInfo.java deleted file mode 100644 index 4ced89f2..00000000 --- a/src/main/java/ru/betterend/util/BackgroundInfo.java +++ /dev/null @@ -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; -} diff --git a/src/main/java/ru/betterend/world/biome/BiomeDefinition.java b/src/main/java/ru/betterend/world/biome/BiomeDefinition.java deleted file mode 100644 index b954817a..00000000 --- a/src/main/java/ru/betterend/world/biome/BiomeDefinition.java +++ /dev/null @@ -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()); - } -} \ No newline at end of file diff --git a/src/main/java/ru/betterend/world/biome/EndBiome.java b/src/main/java/ru/betterend/world/biome/EndBiome.java index 6307f192..e2c210b5 100644 --- a/src/main/java/ru/betterend/world/biome/EndBiome.java +++ b/src/main/java/ru/betterend/world/biome/EndBiome.java @@ -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); } } diff --git a/src/main/java/ru/betterend/world/biome/air/BiomeIceStarfield.java b/src/main/java/ru/betterend/world/biome/air/BiomeIceStarfield.java index f99b1cce..ac5109ee 100644 --- a/src/main/java/ru/betterend/world/biome/air/BiomeIceStarfield.java +++ b/src/main/java/ru/betterend/world/biome/air/BiomeIceStarfield.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/cave/EmptyAuroraCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/EmptyAuroraCaveBiome.java index e49dd442..7ab06f41 100644 --- a/src/main/java/ru/betterend/world/biome/cave/EmptyAuroraCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/EmptyAuroraCaveBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/cave/EmptyEndCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/EmptyEndCaveBiome.java index 3f0c960f..151e7475 100644 --- a/src/main/java/ru/betterend/world/biome/cave/EmptyEndCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/EmptyEndCaveBiome.java @@ -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); } diff --git a/src/main/java/ru/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java index 4f6f52b3..8fe0f4a8 100644 --- a/src/main/java/ru/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java index febf1137..e25ea7db 100644 --- a/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java @@ -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> floorFeatures = new WeightedList>(); private WeightedList> ceilFeatures = new WeightedList>(); - 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; diff --git a/src/main/java/ru/betterend/world/biome/cave/JadeCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/JadeCaveBiome.java index 1d932791..17c9b05e 100644 --- a/src/main/java/ru/betterend/world/biome/cave/JadeCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/JadeCaveBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java index 1e359035..8a8d718a 100644 --- a/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/cave/LushSmaragdantCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/LushSmaragdantCaveBiome.java index 79ac4eba..814ad4a6 100644 --- a/src/main/java/ru/betterend/world/biome/cave/LushSmaragdantCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/LushSmaragdantCaveBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java b/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java index 000b6e55..63032057 100644 --- a/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/BlossomingSpiresBiome.java b/src/main/java/ru/betterend/world/biome/land/BlossomingSpiresBiome.java index 3859bfb0..46e0c3a8 100644 --- a/src/main/java/ru/betterend/world/biome/land/BlossomingSpiresBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/BlossomingSpiresBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java b/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java index 8c0e5aff..5a2024cc 100644 --- a/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/CrystalMountainsBiome.java b/src/main/java/ru/betterend/world/biome/land/CrystalMountainsBiome.java index f37e0c40..bbdbfc9e 100644 --- a/src/main/java/ru/betterend/world/biome/land/CrystalMountainsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/CrystalMountainsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/DragonGraveyardsBiome.java b/src/main/java/ru/betterend/world/biome/land/DragonGraveyardsBiome.java index 70d986cf..57e1fc00 100644 --- a/src/main/java/ru/betterend/world/biome/land/DragonGraveyardsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/DragonGraveyardsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/DryShrublandBiome.java b/src/main/java/ru/betterend/world/biome/land/DryShrublandBiome.java index e951de14..6d78ad1a 100644 --- a/src/main/java/ru/betterend/world/biome/land/DryShrublandBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/DryShrublandBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/DustWastelandsBiome.java b/src/main/java/ru/betterend/world/biome/land/DustWastelandsBiome.java index 7824d52c..e13be0f7 100644 --- a/src/main/java/ru/betterend/world/biome/land/DustWastelandsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/DustWastelandsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/FoggyMushroomlandBiome.java b/src/main/java/ru/betterend/world/biome/land/FoggyMushroomlandBiome.java index 07e59d86..3896e6a6 100644 --- a/src/main/java/ru/betterend/world/biome/land/FoggyMushroomlandBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/FoggyMushroomlandBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/GlowingGrasslandsBiome.java b/src/main/java/ru/betterend/world/biome/land/GlowingGrasslandsBiome.java index 9742b45e..5435e994 100644 --- a/src/main/java/ru/betterend/world/biome/land/GlowingGrasslandsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/GlowingGrasslandsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java b/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java index 26fd0393..a7954a63 100644 --- a/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/MegalakeBiome.java b/src/main/java/ru/betterend/world/biome/land/MegalakeBiome.java index 8e786802..7a42bccd 100644 --- a/src/main/java/ru/betterend/world/biome/land/MegalakeBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/MegalakeBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/MegalakeGroveBiome.java b/src/main/java/ru/betterend/world/biome/land/MegalakeGroveBiome.java index b3ccfebc..a5e16704 100644 --- a/src/main/java/ru/betterend/world/biome/land/MegalakeGroveBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/MegalakeGroveBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/NeonOasisBiome.java b/src/main/java/ru/betterend/world/biome/land/NeonOasisBiome.java index 19968489..3d2619b1 100644 --- a/src/main/java/ru/betterend/world/biome/land/NeonOasisBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/NeonOasisBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/PaintedMountainsBiome.java b/src/main/java/ru/betterend/world/biome/land/PaintedMountainsBiome.java index 3b1c3a74..8bf6fbbc 100644 --- a/src/main/java/ru/betterend/world/biome/land/PaintedMountainsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/PaintedMountainsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/ShadowForestBiome.java b/src/main/java/ru/betterend/world/biome/land/ShadowForestBiome.java index 53ed5fa6..a3bde81b 100644 --- a/src/main/java/ru/betterend/world/biome/land/ShadowForestBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/ShadowForestBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java b/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java index b4266a4c..8caad6f7 100644 --- a/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/biome/land/UmbrellaJungleBiome.java b/src/main/java/ru/betterend/world/biome/land/UmbrellaJungleBiome.java index e21cbf2b..dacda618 100644 --- a/src/main/java/ru/betterend/world/biome/land/UmbrellaJungleBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/UmbrellaJungleBiome.java @@ -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) diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java index 839637da..964fa6b3 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java @@ -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; } } diff --git a/src/main/resources/betterend.mixins.client.json b/src/main/resources/betterend.mixins.client.json index a178cbc6..94a55975 100644 --- a/src/main/resources/betterend.mixins.client.json +++ b/src/main/resources/betterend.mixins.client.json @@ -8,7 +8,6 @@ "ClientPlayNetworkHandlerMixin", "HumanoidMobRendererMixin", "ArmorStandRendererMixin", - "BackgroundRendererMixin", "ClientRecipeBookMixin", "MinecraftClientMixin", "ContextGsonAccessor",