Refactored BCLib Package Structure

This commit is contained in:
Frank 2022-06-07 16:44:13 +02:00
parent 81227198fd
commit bddb5fe0d7
135 changed files with 748 additions and 744 deletions

View file

@ -6,8 +6,8 @@ import net.minecraft.world.level.biome.Biomes;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import org.betterx.bclib.api.WorldDataAPI;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.WorldDataAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.util.Logger;
import org.betterx.betterend.api.BetterEndPlugin;
import org.betterx.betterend.config.Configs;
@ -56,9 +56,9 @@ public class BetterEnd implements ModInitializer {
Configs.saveConfigs();
if (GeneratorOptions.useNewGenerator()) {
org.betterx.bclib.world.generator.GeneratorOptions.setFarEndBiomes(GeneratorOptions.getIslandDistBlock());
org.betterx.bclib.world.generator.GeneratorOptions.setEndLandFunction((pos) -> TerrainGenerator.isLand(pos.x,
pos.y));
org.betterx.bclib.api.v2.generator.GeneratorOptions.setFarEndBiomes(GeneratorOptions.getIslandDistBlock());
org.betterx.bclib.api.v2.generator.GeneratorOptions.setEndLandFunction((pos) -> TerrainGenerator.isLand(pos.x,
pos.y));
}
BiomeAPI.registerEndBiomeModification((biomeID, biome) -> {

View file

@ -7,7 +7,7 @@ import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BlockProperties;
import org.betterx.bclib.blocks.BlockProperties.TripleShape;
import org.betterx.bclib.util.BlocksHelper;

View file

@ -6,7 +6,7 @@ import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.Fluids;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BlockProperties.TripleShape;
import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock;
import org.betterx.bclib.util.BlocksHelper;

View file

@ -8,7 +8,7 @@ import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.Fluids;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BlockProperties.TripleShape;
import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock;
import org.betterx.bclib.util.BlocksHelper;

View file

@ -15,7 +15,7 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.interfaces.TagProvider;
import org.betterx.bclib.interfaces.tools.AddMineableShovel;
import org.betterx.bclib.util.ColorUtil;

View file

@ -16,8 +16,8 @@ import net.minecraft.world.level.storage.loot.LootContext;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.NamedBlockTags;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.tag.NamedBlockTags;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.blocks.BaseBlock;
import org.betterx.bclib.blocks.BaseLeavesBlock;
import org.betterx.bclib.interfaces.CustomColorProvider;

View file

@ -19,7 +19,7 @@ import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import com.google.common.collect.Lists;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.UnderwaterPlantBlock;
import org.betterx.bclib.interfaces.tools.AddMineableShears;
import org.betterx.bclib.util.MHelper;

View file

@ -20,7 +20,7 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BaseBlockNotFull;
import org.betterx.bclib.client.render.BCLRenderLayer;
import org.betterx.bclib.interfaces.RenderLayerProvider;

View file

@ -12,7 +12,7 @@ import net.minecraft.world.level.material.Material;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.NamedMineableTags;
import org.betterx.bclib.api.v2.tag.NamedMineableTags;
import org.betterx.bclib.blocks.BaseBlock;
import org.betterx.bclib.interfaces.TagProvider;
import org.betterx.betterend.registry.EndBlocks;

View file

@ -29,7 +29,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BaseBlockNotFull;
import org.betterx.bclib.blocks.BlockProperties;
import org.betterx.bclib.blocks.BlockProperties.TripleShape;

View file

@ -12,7 +12,7 @@ import net.minecraft.world.level.material.MaterialColor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.interfaces.TagProvider;
import org.betterx.betterend.blocks.basis.EndTerrainBlock;
import org.betterx.betterend.registry.EndParticles;

View file

@ -15,9 +15,7 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.BonemealableBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import net.minecraft.world.level.material.Material;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
@ -31,7 +29,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BaseAttachedBlock;
import org.betterx.bclib.client.render.BCLRenderLayer;
import org.betterx.bclib.interfaces.RenderLayerProvider;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.blocks.basis;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BasePlantBlock;
import org.betterx.betterend.interfaces.PottablePlant;

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.blocks.basis;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BasePlantWithAgeBlock;
import java.util.function.Function;

View file

@ -6,7 +6,7 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.material.MaterialColor;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BaseTerrainBlock;
import org.betterx.bclib.interfaces.TagProvider;
import org.betterx.betterend.interfaces.PottableTerrain;

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.blocks.basis;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.UnderwaterPlantBlock;
import java.util.function.Function;

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.blocks.basis;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BaseUnderwaterWallPlantBlock;
public class EndUnderwaterWallPlantBlock extends BaseUnderwaterWallPlantBlock {

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.blocks.basis;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.WallMushroomBlock;
public class EndWallMushroom extends WallMushroomBlock {

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.blocks.basis;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BaseWallPlantBlock;
public class EndWallPlantBlock extends BaseWallPlantBlock {

View file

@ -20,8 +20,8 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.betterx.bclib.api.tag.NamedBlockTags;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.tag.NamedBlockTags;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.blocks.BaseAttachedBlock;
import org.betterx.bclib.client.render.BCLRenderLayer;
import org.betterx.bclib.interfaces.RenderLayerProvider;

View file

@ -4,9 +4,9 @@ import net.minecraft.world.level.block.Block;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.NamedBlockTags;
import org.betterx.bclib.api.tag.NamedItemTags;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.tag.NamedBlockTags;
import org.betterx.bclib.api.v2.tag.NamedItemTags;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.blocks.BaseSlabBlock;
import org.betterx.bclib.blocks.BaseStairsBlock;
import org.betterx.bclib.blocks.BaseWallBlock;

View file

@ -15,10 +15,10 @@ import net.minecraft.world.level.material.MaterialColor;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.tag.NamedBlockTags;
import org.betterx.bclib.api.tag.NamedItemTags;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.NamedBlockTags;
import org.betterx.bclib.api.v2.tag.NamedItemTags;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.blocks.*;
import org.betterx.bclib.items.ModelProviderItem;
import org.betterx.bclib.items.tool.BaseAxeItem;

View file

@ -6,7 +6,7 @@ import net.minecraft.world.level.material.MaterialColor;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import org.betterx.bclib.api.tag.*;
import org.betterx.bclib.api.v2.tag.*;
import org.betterx.bclib.blocks.*;
import org.betterx.bclib.recipes.GridRecipe;
import org.betterx.betterend.BetterEnd;

View file

@ -22,7 +22,7 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.betterend.registry.EndBiomes;
import org.betterx.betterend.registry.EndItems;

View file

@ -28,7 +28,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.block.Blocks;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.betterend.registry.EndBiomes;
import org.betterx.betterend.registry.EndItems;

View file

@ -35,9 +35,9 @@ import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.block.Blocks;
import org.betterx.bclib.api.biomes.BCLBiome;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.betterend.interfaces.ISlime;

View file

@ -6,11 +6,11 @@ import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.levelgen.features.BCLFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.integration.ModIntegration;
import org.betterx.bclib.world.features.BCLFeature;
public class EnderscapeIntegration extends ModIntegration {
public EnderscapeIntegration() {
@ -33,7 +33,7 @@ public class EnderscapeIntegration extends ModIntegration {
});
BCLFeature scatteredShadowQuartzOre = getFeature("scattered_shadow_quartz_ore",
Decoration.UNDERGROUND_DECORATION);
Decoration.UNDERGROUND_DECORATION);
BCLFeature voidNebuliteOre = getFeature("void_nebulite_ore", Decoration.UNDERGROUND_DECORATION);
BCLFeature nebuliteOre = getFeature("nebulite_ore", Decoration.UNDERGROUND_DECORATION);

View file

@ -6,7 +6,7 @@ import net.minecraft.world.item.Items;
import net.fabricmc.loader.api.FabricLoader;
import org.betterx.bclib.api.ModIntegrationAPI;
import org.betterx.bclib.api.v2.ModIntegrationAPI;
import org.betterx.bclib.integration.ModIntegration;
import org.betterx.bclib.recipes.GridRecipe;
import org.betterx.betterend.BetterEnd;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.integration;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.integration.ModIntegration;
import org.betterx.betterend.registry.EndItems;

View file

@ -12,7 +12,7 @@ import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.betterend.integration.Integrations;
import org.betterx.betterend.integration.byg.features.BYGFeatures;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -15,7 +15,7 @@ import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.betterend.integration.Integrations;
import org.betterx.betterend.integration.byg.features.BYGFeatures;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -3,8 +3,8 @@ package org.betterx.betterend.integration.byg.features;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.features.BCLCommonFeatures;
import org.betterx.bclib.world.features.BCLFeature;
import org.betterx.bclib.api.v2.levelgen.features.BCLCommonFeatures;
import org.betterx.bclib.api.v2.levelgen.features.BCLFeature;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.integration.Integrations;
import org.betterx.betterend.integration.byg.BYGBlocks;
@ -18,43 +18,43 @@ public class BYGFeatures {
"old_bulbis_tree",
new OldBulbisTreeFeature(),
1
);
);
public static final BCLFeature IVIS_SPROUT = redisterVegetation(
"ivis_sprout",
new SinglePlantFeature(Integrations.BYG.getBlock("ivis_sprout"), 6, 2),
6
);
);
public static final BCLFeature IVIS_VINE = redisterVegetation(
"ivis_vine",
new VineFeature(BYGBlocks.IVIS_VINE, 24),
5
);
);
public static final BCLFeature IVIS_MOSS = redisterVegetation(
"ivis_moss",
new WallPlantFeature(BYGBlocks.IVIS_MOSS, 6),
1
);
);
public static final BCLFeature IVIS_MOSS_WOOD = redisterVegetation(
"ivis_moss_wood",
new WallPlantOnLogFeature(BYGBlocks.IVIS_MOSS, 6),
15
);
);
public static final BCLFeature NIGHTSHADE_MOSS = redisterVegetation(
"nightshade_moss",
new WallPlantFeature(BYGBlocks.NIGHTSHADE_MOSS, 5),
2
);
);
public static final BCLFeature NIGHTSHADE_MOSS_WOOD = redisterVegetation(
"nightshade_moss_wood",
new WallPlantOnLogFeature(BYGBlocks.NIGHTSHADE_MOSS, 5),
8
);
);
public static final BCLFeature NIGHTSHADE_REDWOOD_TREE = redisterVegetation(
"nightshade_redwood_tree",
new NightshadeRedwoodTreeFeature(),
1
);
);
public static final BCLFeature BIG_ETHER_TREE = redisterVegetation("big_ether_tree", new BigEtherTreeFeature(), 1);
public static void register() {

View file

@ -10,11 +10,11 @@ import net.minecraft.world.level.material.Material;
import com.google.common.base.Function;
import com.mojang.math.Vector3f;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.util.SplineHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.integration.Integrations;
import java.util.List;

View file

@ -15,7 +15,8 @@ import net.minecraft.world.level.material.Material;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.mojang.math.Vector3f;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.PosInfo;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
@ -26,7 +27,6 @@ import org.betterx.bclib.sdf.primitive.SDFSphere;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.util.SplineHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.integration.Integrations;
import java.util.List;
@ -195,6 +195,6 @@ public class NightshadeRedwoodTreeFeature extends DefaultFeature {
new Vector3f(0.40F, 0.2F, 0),
new Vector3f(0.50F, 0.4F, 0),
new Vector3f(0.55F, 0.6F, 0)
);
);
}
}

View file

@ -13,7 +13,8 @@ import net.minecraft.world.phys.AABB;
import com.google.common.collect.Lists;
import com.mojang.math.Vector3f;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
import org.betterx.bclib.sdf.operator.SDFSubtraction;
@ -22,7 +23,6 @@ import org.betterx.bclib.sdf.operator.SDFUnion;
import org.betterx.bclib.sdf.primitive.SDFSphere;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.util.SplineHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.integration.Integrations;
import org.betterx.betterend.noise.OpenSimplexNoise;
@ -46,8 +46,8 @@ public class OldBulbisTreeFeature extends DefaultFeature {
BlockState stem = Integrations.BYG.getDefaultState("bulbis_stem");
BlockState wood = Integrations.BYG.getDefaultState("bulbis_wood");
BlockState cap = Integrations.BYG.getDefaultState(random.nextBoolean()
? "bulbis_shell"
: "purple_bulbis_shell");
? "bulbis_shell"
: "purple_bulbis_shell");
BlockState glow = Integrations.BYG.getDefaultState("purple_shroomlight");
Function<BlockState, Boolean> replacement = (state) -> {
@ -184,7 +184,7 @@ public class OldBulbisTreeFeature extends DefaultFeature {
new Vector3f(0.30F, 0.55F, 0.00F),
new Vector3f(0.42F, 0.70F, 0.00F),
new Vector3f(0.50F, 1.00F, 0.00F)
);
);
ROOT = Lists.newArrayList(
new Vector3f(0F, 1F, 0),
@ -192,7 +192,7 @@ public class OldBulbisTreeFeature extends DefaultFeature {
new Vector3f(0.3F, 0.30F, 0),
new Vector3f(0.7F, 0.05F, 0),
new Vector3f(0.8F, -0.20F, 0)
);
);
SplineHelper.offset(ROOT, new Vector3f(0, -0.45F, 0));
LEAF = Lists.newArrayList(
@ -201,7 +201,7 @@ public class OldBulbisTreeFeature extends DefaultFeature {
new Vector3f(0.40F, 0.8F, 0),
new Vector3f(0.75F, 0.9F, 0),
new Vector3f(1.00F, 0.8F, 0)
);
);
SIDE = Lists.newArrayList(
new Vector3f(0, -0.3F, -0.5F),
@ -209,6 +209,6 @@ public class OldBulbisTreeFeature extends DefaultFeature {
new Vector3f(0, 0.0F, 0.0F),
new Vector3f(0, -0.1F, 0.3F),
new Vector3f(0, -0.3F, 0.5F)
);
);
}
}

View file

@ -27,8 +27,8 @@ import net.fabricmc.api.Environment;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableMultimap.Builder;
import com.google.common.collect.Multimap;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.tag.CommonItemTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonItemTags;
import org.betterx.bclib.client.models.ModelsHelper;
import org.betterx.bclib.interfaces.ItemModelProvider;
import org.betterx.bclib.interfaces.TagProvider;

View file

@ -8,7 +8,7 @@ import net.minecraft.sounds.Music;
import net.minecraft.util.Mth;
import net.minecraft.util.RandomSource;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.betterend.client.ClientOptions;
import org.betterx.betterend.world.biome.EndBiome;
import org.spongepowered.asm.mixin.Final;

View file

@ -15,7 +15,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.world.generator.GeneratorOptions;

View file

@ -13,7 +13,7 @@ import net.minecraft.world.level.block.ChorusPlantBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.betterend.registry.EndBlocks;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;

View file

@ -8,7 +8,7 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
import net.minecraft.world.item.enchantment.EnchantmentInstance;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

View file

@ -13,7 +13,7 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate;
import org.betterx.bclib.api.WorldDataAPI;
import org.betterx.bclib.api.v2.WorldDataAPI;
import org.betterx.bclib.util.StructureHelper;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.world.generator.GeneratorOptions;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.mixin.common;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.level.levelgen.feature.SpikeFeature.EndSpike;
import org.betterx.bclib.api.WorldDataAPI;
import org.betterx.bclib.api.v2.WorldDataAPI;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.world.generator.GeneratorOptions;
import org.spongepowered.asm.mixin.Final;

View file

@ -21,7 +21,7 @@ import net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess;
import net.minecraft.world.level.storage.ServerLevelData;
import net.minecraft.world.level.storage.WritableLevelData;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.interfaces.BETargetChecker;
import org.betterx.betterend.registry.EndBlocks;

View file

@ -19,7 +19,7 @@ import net.minecraft.world.level.levelgen.feature.configurations.SpikeConfigurat
import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate;
import org.betterx.bclib.api.WorldDataAPI;
import org.betterx.bclib.api.v2.WorldDataAPI;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.StructureHelper;
import org.betterx.betterend.BetterEnd;

View file

@ -8,7 +8,7 @@ import net.minecraft.world.item.alchemy.Potions;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import org.betterx.bclib.api.tag.CommonItemTags;
import org.betterx.bclib.api.v2.tag.CommonItemTags;
import org.betterx.bclib.recipes.GridRecipe;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.config.Configs;

View file

@ -5,11 +5,11 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.biome.Biome;
import org.betterx.bclib.api.LifeCycleAPI;
import org.betterx.bclib.api.biomes.BCLBiome;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.world.generator.BiomePicker;
import org.betterx.bclib.world.generator.map.hex.HexBiomeMap;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.generator.BiomePicker;
import org.betterx.bclib.api.v2.generator.map.hex.HexBiomeMap;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.betterend.config.Configs;
import org.betterx.betterend.world.biome.EndBiome;
import org.betterx.betterend.world.biome.air.BiomeIceStarfield;

View file

@ -10,7 +10,7 @@ import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder;
import org.betterx.bclib.api.spawning.SpawnRuleBuilder;
import org.betterx.bclib.api.v2.spawning.SpawnRuleBuilder;
import org.betterx.bclib.util.ColorUtil;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.config.Configs;

View file

@ -19,16 +19,11 @@ import net.minecraft.world.level.levelgen.placement.PlacedFeature;
import com.google.common.collect.Lists;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import org.betterx.bclib.api.biomes.BCLBiome;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.features.BCLCommonFeatures;
import org.betterx.bclib.api.features.BCLFeatureBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.features.*;
import org.betterx.bclib.util.JsonFactory;
import org.betterx.bclib.world.features.BCLFeature;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.bclib.world.features.ListFeature.StructureInfo;
import org.betterx.bclib.world.features.NBTFeature.TerrainMerge;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.complexmaterials.StoneMaterial;
import org.betterx.betterend.config.Configs;
@ -46,317 +41,319 @@ import java.util.List;
public class EndFeatures {
// Trees //
public static final BCLFeature MOSSY_GLOWSHROOM = redisterVegetation("mossy_glowshroom",
new MossyGlowshroomFeature(),
2);
public static final BCLFeature PYTHADENDRON_TREE = redisterVegetation("pythadendron_tree",
new PythadendronTreeFeature(),
1);
public static final BCLFeature LACUGROVE = redisterVegetation("lacugrove", new LacugroveFeature(), 4);
public static final BCLFeature DRAGON_TREE = redisterVegetation("dragon_tree", new DragonTreeFeature(), 2);
public static final BCLFeature TENANEA = redisterVegetation("tenanea", new TenaneaFeature(), 2);
public static final BCLFeature HELIX_TREE = redisterVegetation("helix_tree", new HelixTreeFeature(), 1);
public static final BCLFeature UMBRELLA_TREE = redisterVegetation("umbrella_tree", new UmbrellaTreeFeature(), 2);
public static final BCLFeature JELLYSHROOM = redisterVegetation("jellyshroom", new JellyshroomFeature(), 2);
public static final BCLFeature GIGANTIC_AMARANITA = redisterVegetation("gigantic_amaranita",
new GiganticAmaranitaFeature(),
1);
public static final BCLFeature LUCERNIA = redisterVegetation("lucernia", new LucerniaFeature(), 3);
public static final BCLFeature<MossyGlowshroomFeature, NoneFeatureConfiguration> MOSSY_GLOWSHROOM = registerVegetation(
"mossy_glowshroom",
new MossyGlowshroomFeature(),
2);
public static final BCLFeature PYTHADENDRON_TREE = registerVegetation("pythadendron_tree",
new PythadendronTreeFeature(),
1);
public static final BCLFeature LACUGROVE = registerVegetation("lacugrove", new LacugroveFeature(), 4);
public static final BCLFeature DRAGON_TREE = registerVegetation("dragon_tree", new DragonTreeFeature(), 2);
public static final BCLFeature TENANEA = registerVegetation("tenanea", new TenaneaFeature(), 2);
public static final BCLFeature HELIX_TREE = registerVegetation("helix_tree", new HelixTreeFeature(), 1);
public static final BCLFeature UMBRELLA_TREE = registerVegetation("umbrella_tree", new UmbrellaTreeFeature(), 2);
public static final BCLFeature JELLYSHROOM = registerVegetation("jellyshroom", new JellyshroomFeature(), 2);
public static final BCLFeature GIGANTIC_AMARANITA = registerVegetation("gigantic_amaranita",
new GiganticAmaranitaFeature(),
1);
public static final BCLFeature LUCERNIA = registerVegetation("lucernia", new LucerniaFeature(), 3);
// Bushes //
public static final BCLFeature PYTHADENDRON_BUSH = redisterVegetation("pythadendron_bush",
new BushFeature(EndBlocks.PYTHADENDRON_LEAVES,
EndBlocks.PYTHADENDRON.getBark()),
3);
public static final BCLFeature DRAGON_TREE_BUSH = redisterVegetation("dragon_tree_bush",
new BushFeature(EndBlocks.DRAGON_TREE_LEAVES,
EndBlocks.DRAGON_TREE.getBark()),
5);
public static final BCLFeature TENANEA_BUSH = redisterVegetation("tenanea_bush", new TenaneaBushFeature(), 6);
public static final BCLFeature LUMECORN = redisterVegetation("lumecorn", new Lumecorn(), 5);
public static final BCLFeature LARGE_AMARANITA = redisterVegetation("large_amaranita",
new LargeAmaranitaFeature(),
5);
public static final BCLFeature LUCERNIA_BUSH = redisterVegetation("lucernia_bush",
new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA_OUTER_LEAVES,
EndBlocks.LUCERNIA.getBark()),
10);
public static final BCLFeature LUCERNIA_BUSH_RARE = redisterVegetation("lucernia_bush_rare",
new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA_OUTER_LEAVES,
EndBlocks.LUCERNIA.getBark()),
1);
public static final BCLFeature NEON_CACTUS = redisterVegetation("neon_cactus", new NeonCactusFeature(), 2);
public static final BCLFeature PYTHADENDRON_BUSH = registerVegetation("pythadendron_bush",
new BushFeature(EndBlocks.PYTHADENDRON_LEAVES,
EndBlocks.PYTHADENDRON.getBark()),
3);
public static final BCLFeature DRAGON_TREE_BUSH = registerVegetation("dragon_tree_bush",
new BushFeature(EndBlocks.DRAGON_TREE_LEAVES,
EndBlocks.DRAGON_TREE.getBark()),
5);
public static final BCLFeature TENANEA_BUSH = registerVegetation("tenanea_bush", new TenaneaBushFeature(), 6);
public static final BCLFeature LUMECORN = registerVegetation("lumecorn", new Lumecorn(), 5);
public static final BCLFeature LARGE_AMARANITA = registerVegetation("large_amaranita",
new LargeAmaranitaFeature(),
5);
public static final BCLFeature LUCERNIA_BUSH = registerVegetation("lucernia_bush",
new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA_OUTER_LEAVES,
EndBlocks.LUCERNIA.getBark()),
10);
public static final BCLFeature LUCERNIA_BUSH_RARE = registerVegetation("lucernia_bush_rare",
new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA_OUTER_LEAVES,
EndBlocks.LUCERNIA.getBark()),
1);
public static final BCLFeature NEON_CACTUS = registerVegetation("neon_cactus", new NeonCactusFeature(), 2);
// Plants //
public static final BCLFeature UMBRELLA_MOSS = redisterVegetation("umbrella_moss",
new DoublePlantFeature(EndBlocks.UMBRELLA_MOSS,
EndBlocks.UMBRELLA_MOSS_TALL,
5),
3);
public static final BCLFeature CREEPING_MOSS = redisterVegetation("creeping_moss",
new SinglePlantFeature(EndBlocks.CREEPING_MOSS,
5),
3);
public static final BCLFeature BLUE_VINE = redisterVegetation("blue_vine", new BlueVineFeature(), 1);
public static final BCLFeature CHORUS_GRASS = redisterVegetation("chorus_grass",
new SinglePlantFeature(EndBlocks.CHORUS_GRASS, 4),
3);
public static final BCLFeature CRYSTAL_GRASS = redisterVegetation("crystal_grass",
new SinglePlantFeature(EndBlocks.CRYSTAL_GRASS,
8,
false),
5);
public static final BCLFeature SHADOW_PLANT = redisterVegetation("shadow_plant",
new SinglePlantFeature(EndBlocks.SHADOW_PLANT, 6),
5);
public static final BCLFeature MURKWEED = redisterVegetation("murkweed",
new SinglePlantFeature(EndBlocks.MURKWEED, 3),
2);
public static final BCLFeature NEEDLEGRASS = redisterVegetation("needlegrass",
new SinglePlantFeature(EndBlocks.NEEDLEGRASS, 3),
1);
public static final BCLFeature SHADOW_BERRY = redisterVegetation("shadow_berry",
new SinglePlantFeature(EndBlocks.SHADOW_BERRY, 2),
1);
public static final BCLFeature BUSHY_GRASS = redisterVegetation("bushy_grass",
new SinglePlantFeature(EndBlocks.BUSHY_GRASS,
8,
false),
10);
public static final BCLFeature BUSHY_GRASS_WG = redisterVegetation("bushy_grass_wg",
new SinglePlantFeature(EndBlocks.BUSHY_GRASS, 5),
8);
public static final BCLFeature AMBER_GRASS = redisterVegetation("amber_grass",
new SinglePlantFeature(EndBlocks.AMBER_GRASS, 6),
7);
public static final BCLFeature LANCELEAF = redisterVegetation("lanceleaf", new LanceleafFeature(), 2);
public static final BCLFeature GLOW_PILLAR = redisterVegetation("glow_pillar", new GlowPillarFeature(), 1);
public static final BCLFeature TWISTED_UMBRELLA_MOSS = redisterVegetation("twisted_umbrella_moss",
new DoublePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS,
EndBlocks.TWISTED_UMBRELLA_MOSS_TALL,
6),
3);
public static final BCLFeature JUNGLE_GRASS = redisterVegetation("jungle_grass",
new SinglePlantFeature(EndBlocks.JUNGLE_GRASS,
7,
3),
6);
public static final BCLFeature SMALL_JELLYSHROOM_FLOOR = redisterVegetation("small_jellyshroom_floor",
new SinglePlantFeature(EndBlocks.SMALL_JELLYSHROOM,
5,
5),
2);
public static final BCLFeature BLOSSOM_BERRY = redisterVegetation("blossom_berry",
new SinglePlantFeature(EndBlocks.BLOSSOM_BERRY,
3,
3),
2);
public static final BCLFeature BLOOMING_COOKSONIA = redisterVegetation("blooming_cooksonia",
new SinglePlantFeature(EndBlocks.BLOOMING_COOKSONIA,
5),
5);
public static final BCLFeature SALTEAGO = redisterVegetation("salteago",
new SinglePlantFeature(EndBlocks.SALTEAGO, 5),
5);
public static final BCLFeature VAIOLUSH_FERN = redisterVegetation("vaiolush_fern",
new SinglePlantFeature(EndBlocks.VAIOLUSH_FERN,
5),
5);
public static final BCLFeature FRACTURN = redisterVegetation("fracturn",
new SinglePlantFeature(EndBlocks.FRACTURN, 5),
5);
public static final BCLFeature UMBRELLA_MOSS_RARE = redisterVegetation("umbrella_moss_rare",
new SinglePlantFeature(EndBlocks.UMBRELLA_MOSS,
3),
2);
public static final BCLFeature CREEPING_MOSS_RARE = redisterVegetation("creeping_moss_rare",
new SinglePlantFeature(EndBlocks.CREEPING_MOSS,
3),
2);
public static final BCLFeature TWISTED_UMBRELLA_MOSS_RARE = redisterVegetation("twisted_umbrella_moss_rare",
new SinglePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS,
3),
2);
public static final BCLFeature ORANGO = redisterVegetation("orango",
new SinglePlantFeature(EndBlocks.ORANGO, 5),
6);
public static final BCLFeature AERIDIUM = redisterVegetation("aeridium",
new SinglePlantFeature(EndBlocks.AERIDIUM, 5, 4),
5);
public static final BCLFeature LUTEBUS = redisterVegetation("lutebus",
new SinglePlantFeature(EndBlocks.LUTEBUS, 5, 2),
5);
public static final BCLFeature LAMELLARIUM = redisterVegetation("lamellarium",
new SinglePlantFeature(EndBlocks.LAMELLARIUM, 5),
6);
public static final BCLFeature SMALL_AMARANITA = redisterVegetation("small_amaranita",
new SinglePlantFeature(EndBlocks.SMALL_AMARANITA_MUSHROOM,
5,
5),
4);
public static final BCLFeature GLOBULAGUS = redisterVegetation("globulagus",
new SinglePlantFeature(EndBlocks.GLOBULAGUS, 5, 3),
6);
public static final BCLFeature CLAWFERN = redisterVegetation("clawfern",
new SinglePlantFeature(EndBlocks.CLAWFERN, 5, 4),
5);
public static final BCLFeature BOLUX_MUSHROOM = redisterVegetation("bolux_mushroom",
new SinglePlantFeature(EndBlocks.BOLUX_MUSHROOM,
5,
5),
2);
public static final BCLFeature CHORUS_MUSHROOM = redisterVegetation("chorus_mushroom",
new SinglePlantFeature(EndBlocks.CHORUS_MUSHROOM,
3,
5),
1);
public static final BCLFeature AMBER_ROOT = redisterVegetation("amber_root",
new SinglePlantFeature(EndBlocks.AMBER_ROOT, 5, 5),
1);
public static final BCLFeature UMBRELLA_MOSS = registerVegetation("umbrella_moss",
new DoublePlantFeature(EndBlocks.UMBRELLA_MOSS,
EndBlocks.UMBRELLA_MOSS_TALL,
5),
3);
public static final BCLFeature CREEPING_MOSS = registerVegetation("creeping_moss",
new SinglePlantFeature(EndBlocks.CREEPING_MOSS,
5),
3);
public static final BCLFeature BLUE_VINE = registerVegetation("blue_vine", new BlueVineFeature(), 1);
public static final BCLFeature CHORUS_GRASS = registerVegetation("chorus_grass",
new SinglePlantFeature(EndBlocks.CHORUS_GRASS, 4),
3);
public static final BCLFeature CRYSTAL_GRASS = registerVegetation("crystal_grass",
new SinglePlantFeature(EndBlocks.CRYSTAL_GRASS,
8,
false),
5);
public static final BCLFeature SHADOW_PLANT = registerVegetation("shadow_plant",
new SinglePlantFeature(EndBlocks.SHADOW_PLANT, 6),
5);
public static final BCLFeature MURKWEED = registerVegetation("murkweed",
new SinglePlantFeature(EndBlocks.MURKWEED, 3),
2);
public static final BCLFeature NEEDLEGRASS = registerVegetation("needlegrass",
new SinglePlantFeature(EndBlocks.NEEDLEGRASS, 3),
1);
public static final BCLFeature SHADOW_BERRY = registerVegetation("shadow_berry",
new SinglePlantFeature(EndBlocks.SHADOW_BERRY, 2),
1);
public static final BCLFeature BUSHY_GRASS = registerVegetation("bushy_grass",
new SinglePlantFeature(EndBlocks.BUSHY_GRASS,
8,
false),
10);
public static final BCLFeature BUSHY_GRASS_WG = registerVegetation("bushy_grass_wg",
new SinglePlantFeature(EndBlocks.BUSHY_GRASS, 5),
8);
public static final BCLFeature AMBER_GRASS = registerVegetation("amber_grass",
new SinglePlantFeature(EndBlocks.AMBER_GRASS, 6),
7);
public static final BCLFeature LANCELEAF = registerVegetation("lanceleaf", new LanceleafFeature(), 2);
public static final BCLFeature GLOW_PILLAR = registerVegetation("glow_pillar", new GlowPillarFeature(), 1);
public static final BCLFeature TWISTED_UMBRELLA_MOSS = registerVegetation("twisted_umbrella_moss",
new DoublePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS,
EndBlocks.TWISTED_UMBRELLA_MOSS_TALL,
6),
3);
public static final BCLFeature JUNGLE_GRASS = registerVegetation("jungle_grass",
new SinglePlantFeature(EndBlocks.JUNGLE_GRASS,
7,
3),
6);
public static final BCLFeature SMALL_JELLYSHROOM_FLOOR = registerVegetation("small_jellyshroom_floor",
new SinglePlantFeature(EndBlocks.SMALL_JELLYSHROOM,
5,
5),
2);
public static final BCLFeature BLOSSOM_BERRY = registerVegetation("blossom_berry",
new SinglePlantFeature(EndBlocks.BLOSSOM_BERRY,
3,
3),
2);
public static final BCLFeature BLOOMING_COOKSONIA = registerVegetation("blooming_cooksonia",
new SinglePlantFeature(EndBlocks.BLOOMING_COOKSONIA,
5),
5);
public static final BCLFeature SALTEAGO = registerVegetation("salteago",
new SinglePlantFeature(EndBlocks.SALTEAGO, 5),
5);
public static final BCLFeature VAIOLUSH_FERN = registerVegetation("vaiolush_fern",
new SinglePlantFeature(EndBlocks.VAIOLUSH_FERN,
5),
5);
public static final BCLFeature FRACTURN = registerVegetation("fracturn",
new SinglePlantFeature(EndBlocks.FRACTURN, 5),
5);
public static final BCLFeature UMBRELLA_MOSS_RARE = registerVegetation("umbrella_moss_rare",
new SinglePlantFeature(EndBlocks.UMBRELLA_MOSS,
3),
2);
public static final BCLFeature CREEPING_MOSS_RARE = registerVegetation("creeping_moss_rare",
new SinglePlantFeature(EndBlocks.CREEPING_MOSS,
3),
2);
public static final BCLFeature TWISTED_UMBRELLA_MOSS_RARE = registerVegetation("twisted_umbrella_moss_rare",
new SinglePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS,
3),
2);
public static final BCLFeature ORANGO = registerVegetation("orango",
new SinglePlantFeature(EndBlocks.ORANGO, 5),
6);
public static final BCLFeature AERIDIUM = registerVegetation("aeridium",
new SinglePlantFeature(EndBlocks.AERIDIUM, 5, 4),
5);
public static final BCLFeature LUTEBUS = registerVegetation("lutebus",
new SinglePlantFeature(EndBlocks.LUTEBUS, 5, 2),
5);
public static final BCLFeature LAMELLARIUM = registerVegetation("lamellarium",
new SinglePlantFeature(EndBlocks.LAMELLARIUM, 5),
6);
public static final BCLFeature SMALL_AMARANITA = registerVegetation("small_amaranita",
new SinglePlantFeature(EndBlocks.SMALL_AMARANITA_MUSHROOM,
5,
5),
4);
public static final BCLFeature GLOBULAGUS = registerVegetation("globulagus",
new SinglePlantFeature(EndBlocks.GLOBULAGUS, 5, 3),
6);
public static final BCLFeature CLAWFERN = registerVegetation("clawfern",
new SinglePlantFeature(EndBlocks.CLAWFERN, 5, 4),
5);
public static final BCLFeature BOLUX_MUSHROOM = registerVegetation("bolux_mushroom",
new SinglePlantFeature(EndBlocks.BOLUX_MUSHROOM,
5,
5),
2);
public static final BCLFeature CHORUS_MUSHROOM = registerVegetation("chorus_mushroom",
new SinglePlantFeature(EndBlocks.CHORUS_MUSHROOM,
3,
5),
1);
public static final BCLFeature AMBER_ROOT = registerVegetation("amber_root",
new SinglePlantFeature(EndBlocks.AMBER_ROOT, 5, 5),
1);
//public static final BCLFeature PEARLBERRY = redisterVegetation("pearlberry", new SinglePlantFeature(EndBlocks.PEARLBERRY, 5, 5), 1);
public static final BCLFeature INFLEXIA = redisterVegetation("inflexia",
new SinglePlantFeature(EndBlocks.INFLEXIA,
7,
false,
3),
16);
public static final BCLFeature FLAMMALIX = redisterVegetation("flammalix",
new SinglePlantFeature(EndBlocks.FLAMMALIX,
3,
false,
7),
5);
public static final BCLFeature INFLEXIA = registerVegetation("inflexia",
new SinglePlantFeature(EndBlocks.INFLEXIA,
7,
false,
3),
16);
public static final BCLFeature FLAMMALIX = registerVegetation("flammalix",
new SinglePlantFeature(EndBlocks.FLAMMALIX,
3,
false,
7),
5);
// Vines //
public static final BCLFeature DENSE_VINE = redisterVegetation("dense_vine",
new VineFeature(EndBlocks.DENSE_VINE, 24),
3);
public static final BCLFeature TWISTED_VINE = redisterVegetation("twisted_vine",
new VineFeature(EndBlocks.TWISTED_VINE, 24),
1);
public static final BCLFeature BULB_VINE = redisterVegetation("bulb_vine",
new VineFeature(EndBlocks.BULB_VINE, 24),
3);
public static final BCLFeature JUNGLE_VINE = redisterVegetation("jungle_vine",
new VineFeature(EndBlocks.JUNGLE_VINE, 24),
5);
public static final BCLFeature DENSE_VINE = registerVegetation("dense_vine",
new VineFeature(EndBlocks.DENSE_VINE, 24),
3);
public static final BCLFeature TWISTED_VINE = registerVegetation("twisted_vine",
new VineFeature(EndBlocks.TWISTED_VINE, 24),
1);
public static final BCLFeature BULB_VINE = registerVegetation("bulb_vine",
new VineFeature(EndBlocks.BULB_VINE, 24),
3);
public static final BCLFeature JUNGLE_VINE = registerVegetation("jungle_vine",
new VineFeature(EndBlocks.JUNGLE_VINE, 24),
5);
// Ceil plants
public static final BCLFeature SMALL_JELLYSHROOM_CEIL = redisterVegetation("small_jellyshroom_ceil",
new SingleInvertedScatterFeature(
EndBlocks.SMALL_JELLYSHROOM,
8),
8);
public static final BCLFeature SMALL_JELLYSHROOM_CEIL = registerVegetation("small_jellyshroom_ceil",
new SingleInvertedScatterFeature(
EndBlocks.SMALL_JELLYSHROOM,
8),
8);
// Wall Plants //
public static final BCLFeature PURPLE_POLYPORE = redisterVegetation("purple_polypore",
new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE,
3),
5);
public static final BCLFeature AURANT_POLYPORE = redisterVegetation("aurant_polypore",
new WallPlantOnLogFeature(EndBlocks.AURANT_POLYPORE,
3),
5);
public static final BCLFeature TAIL_MOSS = redisterVegetation("tail_moss",
new WallPlantFeature(EndBlocks.TAIL_MOSS, 3),
15);
public static final BCLFeature CYAN_MOSS = redisterVegetation("cyan_moss",
new WallPlantFeature(EndBlocks.CYAN_MOSS, 3),
15);
public static final BCLFeature TAIL_MOSS_WOOD = redisterVegetation("tail_moss_wood",
new WallPlantOnLogFeature(EndBlocks.TAIL_MOSS,
4),
25);
public static final BCLFeature CYAN_MOSS_WOOD = redisterVegetation("cyan_moss_wood",
new WallPlantOnLogFeature(EndBlocks.CYAN_MOSS,
4),
25);
public static final BCLFeature TWISTED_MOSS = redisterVegetation("twisted_moss",
new WallPlantFeature(EndBlocks.TWISTED_MOSS, 6),
15);
public static final BCLFeature TWISTED_MOSS_WOOD = redisterVegetation("twisted_moss_wood",
new WallPlantOnLogFeature(EndBlocks.TWISTED_MOSS,
6),
25);
public static final BCLFeature BULB_MOSS = redisterVegetation("bulb_moss",
new WallPlantFeature(EndBlocks.BULB_MOSS, 6),
1);
public static final BCLFeature BULB_MOSS_WOOD = redisterVegetation("bulb_moss_wood",
new WallPlantOnLogFeature(EndBlocks.BULB_MOSS,
6),
15);
public static final BCLFeature SMALL_JELLYSHROOM_WALL = redisterVegetation("small_jellyshroom_wall",
new WallPlantFeature(EndBlocks.SMALL_JELLYSHROOM,
4),
4);
public static final BCLFeature SMALL_JELLYSHROOM_WOOD = redisterVegetation("small_jellyshroom_wood",
new WallPlantOnLogFeature(EndBlocks.SMALL_JELLYSHROOM,
4),
8);
public static final BCLFeature JUNGLE_FERN_WOOD = redisterVegetation("jungle_fern_wood",
new WallPlantOnLogFeature(EndBlocks.JUNGLE_FERN,
3),
12);
public static final BCLFeature RUSCUS = redisterVegetation("ruscus", new WallPlantFeature(EndBlocks.RUSCUS, 6), 10);
public static final BCLFeature RUSCUS_WOOD = redisterVegetation("ruscus_wood",
new WallPlantOnLogFeature(EndBlocks.RUSCUS, 6),
10);
public static final BCLFeature PURPLE_POLYPORE = registerVegetation("purple_polypore",
new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE,
3),
5);
public static final BCLFeature AURANT_POLYPORE = registerVegetation("aurant_polypore",
new WallPlantOnLogFeature(EndBlocks.AURANT_POLYPORE,
3),
5);
public static final BCLFeature TAIL_MOSS = registerVegetation("tail_moss",
new WallPlantFeature(EndBlocks.TAIL_MOSS, 3),
15);
public static final BCLFeature CYAN_MOSS = registerVegetation("cyan_moss",
new WallPlantFeature(EndBlocks.CYAN_MOSS, 3),
15);
public static final BCLFeature TAIL_MOSS_WOOD = registerVegetation("tail_moss_wood",
new WallPlantOnLogFeature(EndBlocks.TAIL_MOSS,
4),
25);
public static final BCLFeature CYAN_MOSS_WOOD = registerVegetation("cyan_moss_wood",
new WallPlantOnLogFeature(EndBlocks.CYAN_MOSS,
4),
25);
public static final BCLFeature TWISTED_MOSS = registerVegetation("twisted_moss",
new WallPlantFeature(EndBlocks.TWISTED_MOSS, 6),
15);
public static final BCLFeature TWISTED_MOSS_WOOD = registerVegetation("twisted_moss_wood",
new WallPlantOnLogFeature(EndBlocks.TWISTED_MOSS,
6),
25);
public static final BCLFeature BULB_MOSS = registerVegetation("bulb_moss",
new WallPlantFeature(EndBlocks.BULB_MOSS, 6),
1);
public static final BCLFeature BULB_MOSS_WOOD = registerVegetation("bulb_moss_wood",
new WallPlantOnLogFeature(EndBlocks.BULB_MOSS,
6),
15);
public static final BCLFeature SMALL_JELLYSHROOM_WALL = registerVegetation("small_jellyshroom_wall",
new WallPlantFeature(EndBlocks.SMALL_JELLYSHROOM,
4),
4);
public static final BCLFeature SMALL_JELLYSHROOM_WOOD = registerVegetation("small_jellyshroom_wood",
new WallPlantOnLogFeature(EndBlocks.SMALL_JELLYSHROOM,
4),
8);
public static final BCLFeature JUNGLE_FERN_WOOD = registerVegetation("jungle_fern_wood",
new WallPlantOnLogFeature(EndBlocks.JUNGLE_FERN,
3),
12);
public static final BCLFeature RUSCUS = registerVegetation("ruscus", new WallPlantFeature(EndBlocks.RUSCUS, 6), 10);
public static final BCLFeature RUSCUS_WOOD = registerVegetation("ruscus_wood",
new WallPlantOnLogFeature(EndBlocks.RUSCUS, 6),
10);
// Sky plants
public static final BCLFeature FILALUX = redisterVegetation("filalux", new FilaluxFeature(), 1);
public static final BCLFeature FILALUX = registerVegetation("filalux", new FilaluxFeature(), 1);
// Water //
public static final BCLFeature BUBBLE_CORAL = redisterVegetation("bubble_coral",
new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL,
6),
10);
public static final BCLFeature BUBBLE_CORAL_RARE = redisterVegetation("bubble_coral_rare",
new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL,
3),
4);
public static final BCLFeature END_LILY = redisterVegetation("end_lily", new EndLilyFeature(6), 10);
public static final BCLFeature END_LILY_RARE = redisterVegetation("end_lily_rare", new EndLilyFeature(3), 4);
public static final BCLFeature END_LOTUS = redisterVegetation("end_lotus", new EndLotusFeature(7), 5);
public static final BCLFeature END_LOTUS_LEAF = redisterVegetation("end_lotus_leaf",
new EndLotusLeafFeature(20),
25);
public static final BCLFeature HYDRALUX = redisterVegetation("hydralux", new HydraluxFeature(5), 5);
public static final BCLFeature POND_ANEMONE = redisterVegetation("pond_anemone",
new UnderwaterPlantFeature(EndBlocks.POND_ANEMONE,
6),
10);
public static final BCLFeature BUBBLE_CORAL = registerVegetation("bubble_coral",
new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL,
6),
10);
public static final BCLFeature BUBBLE_CORAL_RARE = registerVegetation("bubble_coral_rare",
new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL,
3),
4);
public static final BCLFeature END_LILY = registerVegetation("end_lily", new EndLilyFeature(6), 10);
public static final BCLFeature END_LILY_RARE = registerVegetation("end_lily_rare", new EndLilyFeature(3), 4);
public static final BCLFeature END_LOTUS = registerVegetation("end_lotus", new EndLotusFeature(7), 5);
public static final BCLFeature END_LOTUS_LEAF = registerVegetation("end_lotus_leaf",
new EndLotusLeafFeature(20),
25);
public static final BCLFeature HYDRALUX = registerVegetation("hydralux", new HydraluxFeature(5), 5);
public static final BCLFeature POND_ANEMONE = registerVegetation("pond_anemone",
new UnderwaterPlantFeature(EndBlocks.POND_ANEMONE,
6),
10);
public static final BCLFeature CHARNIA_RED = redisterVegetation("charnia_red",
new CharniaFeature(EndBlocks.CHARNIA_RED),
10);
public static final BCLFeature CHARNIA_PURPLE = redisterVegetation("charnia_purple",
new CharniaFeature(EndBlocks.CHARNIA_PURPLE),
10);
public static final BCLFeature CHARNIA_CYAN = redisterVegetation("charnia_cyan",
new CharniaFeature(EndBlocks.CHARNIA_CYAN),
10);
public static final BCLFeature CHARNIA_LIGHT_BLUE = redisterVegetation("charnia_light_blue",
new CharniaFeature(EndBlocks.CHARNIA_LIGHT_BLUE),
10);
public static final BCLFeature CHARNIA_ORANGE = redisterVegetation("charnia_orange",
new CharniaFeature(EndBlocks.CHARNIA_ORANGE),
10);
public static final BCLFeature CHARNIA_GREEN = redisterVegetation("charnia_green",
new CharniaFeature(EndBlocks.CHARNIA_GREEN),
10);
public static final BCLFeature MENGER_SPONGE = redisterVegetation("menger_sponge", new MengerSpongeFeature(5), 1);
public static final BCLFeature CHARNIA_RED_RARE = redisterVegetation("charnia_red_rare",
new CharniaFeature(EndBlocks.CHARNIA_RED),
2);
public static final BCLFeature BIOME_ISLAND = BCLFeatureBuilder.start(BetterEnd.makeID("overworld_island"),
new BiomeIslandFeature())
.decoration(Decoration.RAW_GENERATION)
.build();
public static final BCLFeature FLAMAEA = redisterVegetation("flamaea",
new SinglePlantFeature(EndBlocks.FLAMAEA, 12, false, 5),
20);
public static final BCLFeature CHARNIA_RED = registerVegetation("charnia_red",
new CharniaFeature(EndBlocks.CHARNIA_RED),
10);
public static final BCLFeature CHARNIA_PURPLE = registerVegetation("charnia_purple",
new CharniaFeature(EndBlocks.CHARNIA_PURPLE),
10);
public static final BCLFeature CHARNIA_CYAN = registerVegetation("charnia_cyan",
new CharniaFeature(EndBlocks.CHARNIA_CYAN),
10);
public static final BCLFeature CHARNIA_LIGHT_BLUE = registerVegetation("charnia_light_blue",
new CharniaFeature(EndBlocks.CHARNIA_LIGHT_BLUE),
10);
public static final BCLFeature CHARNIA_ORANGE = registerVegetation("charnia_orange",
new CharniaFeature(EndBlocks.CHARNIA_ORANGE),
10);
public static final BCLFeature CHARNIA_GREEN = registerVegetation("charnia_green",
new CharniaFeature(EndBlocks.CHARNIA_GREEN),
10);
public static final BCLFeature MENGER_SPONGE = registerVegetation("menger_sponge", new MengerSpongeFeature(5), 1);
public static final BCLFeature CHARNIA_RED_RARE = registerVegetation("charnia_red_rare",
new CharniaFeature(EndBlocks.CHARNIA_RED),
2);
public static final BCLFeature<BiomeIslandFeature, NoneFeatureConfiguration> BIOME_ISLAND = BCLFeatureBuilder
.start(BetterEnd.makeID("overworld_island"),
new BiomeIslandFeature())
.decoration(Decoration.RAW_GENERATION)
.buildAndRegister();
public static final BCLFeature FLAMAEA = registerVegetation("flamaea",
new SinglePlantFeature(EndBlocks.FLAMAEA, 12, false, 5),
20);
// Terrain //
public static final BCLFeature END_LAKE = registerLake("end_lake", new EndLakeFeature(), 4);
@ -369,53 +366,53 @@ public class EndFeatures {
public static final BCLFeature GEYSER = registerRawGen("geyser", new GeyserFeature(), 8);
public static final BCLFeature SULPHURIC_LAKE = registerLake("sulphuric_lake", new SulphuricLakeFeature(), 8);
public static final BCLFeature SULPHURIC_CAVE = BCLCommonFeatures.makeCountFeature(BetterEnd.makeID("sulphuric_cave"),
Decoration.RAW_GENERATION,
new SulphuricCaveFeature(),
2);
Decoration.RAW_GENERATION,
new SulphuricCaveFeature(),
2);
public static final BCLFeature ICE_STAR = registerRawGen("ice_star", new IceStarFeature(5, 15, 10, 25), 15);
public static final BCLFeature ICE_STAR_SMALL = registerRawGen("ice_star_small",
new IceStarFeature(3, 5, 7, 12),
8);
new IceStarFeature(3, 5, 7, 12),
8);
public static final BCLFeature SURFACE_VENT = registerChanced("surface_vent", new SurfaceVentFeature(), 4);
public static final BCLFeature SULPHUR_HILL = registerChanced("sulphur_hill", new SulphurHillFeature(), 8);
public static final BCLFeature OBSIDIAN_PILLAR_BASEMENT = registerChanced("obsidian_pillar_basement",
new ObsidianPillarBasementFeature(),
8);
new ObsidianPillarBasementFeature(),
8);
public static final BCLFeature OBSIDIAN_BOULDER = registerChanced("obsidian_boulder",
new ObsidianBoulderFeature(),
10);
new ObsidianBoulderFeature(),
10);
public static final BCLFeature FALLEN_PILLAR = registerChanced("fallen_pillar", new FallenPillarFeature(), 20);
public static final BCLFeature TUNEL_CAVE = BCLCommonFeatures.makeChunkFeature(BetterEnd.makeID("tunel_cave"),
Decoration.RAW_GENERATION,
new TunelCaveFeature());
Decoration.RAW_GENERATION,
new TunelCaveFeature());
public static final BCLFeature UMBRALITH_ARCH = registerChanced("umbralith_arch", new ArchFeature(
EndBlocks.UMBRALITH.stone,
pos -> UmbraValleyBiome.getSurface(pos.getX(), pos.getZ()).defaultBlockState()
), 10);
public static final BCLFeature THIN_UMBRALITH_ARCH = registerChanced("thin_umbralith_arch",
new ThinArchFeature(EndBlocks.UMBRALITH.stone),
15);
new ThinArchFeature(EndBlocks.UMBRALITH.stone),
15);
// Ores //
public static final BCLFeature THALLASIUM_ORE = registerOre("thallasium_ore", EndBlocks.THALLASIUM.ore, 24, 8);
public static final BCLFeature ENDER_ORE = registerOre("ender_ore", EndBlocks.ENDER_ORE, 12, 4);
public static final BCLFeature AMBER_ORE = registerOre("amber_ore", EndBlocks.AMBER_ORE, 60, 6);
public static final BCLFeature DRAGON_BONE_BLOCK_ORE = registerOre("dragon_bone_ore",
EndBlocks.DRAGON_BONE_BLOCK,
24,
8);
EndBlocks.DRAGON_BONE_BLOCK,
24,
8);
public static final BCLFeature VIOLECITE_LAYER = registerLayer("violecite_layer",
EndBlocks.VIOLECITE,
15,
16,
128,
8);
EndBlocks.VIOLECITE,
15,
16,
128,
8);
public static final BCLFeature FLAVOLITE_LAYER = registerLayer("flavolite_layer",
EndBlocks.FLAVOLITE,
12,
16,
128,
6);
EndBlocks.FLAVOLITE,
12,
16,
128,
6);
// Buildings
public static final BCLFeature CRASHED_SHIP = registerChanced("crashed_ship", new CrashedShipFeature(), 500);
@ -454,9 +451,12 @@ public class EndFeatures {
);
public static final DefaultFeature CAVE_PUMPKIN = new CavePumpkinFeature();
private static BCLFeature redisterVegetation(String name, Feature<NoneFeatureConfiguration> feature, int density) {
private static <F extends Feature<NoneFeatureConfiguration>> BCLFeature<F, NoneFeatureConfiguration> registerVegetation(
String name,
F feature,
int density) {
ResourceLocation id = BetterEnd.makeID(name);
return BCLFeatureBuilder.start(id, feature).countLayersMax(density).onlyInBiome().build();
return BCLFeatureBuilder.start(id, feature).countLayersMax(density).onlyInBiome().buildAndRegister();
}
private static BCLFeature registerRawGen(String name, Feature<NoneFeatureConfiguration> feature, int chance) {
@ -469,21 +469,21 @@ public class EndFeatures {
private static BCLFeature registerChanced(String name, Feature<NoneFeatureConfiguration> feature, int chance) {
return BCLCommonFeatures.makeChancedFeature(BetterEnd.makeID(name),
Decoration.SURFACE_STRUCTURES,
feature,
chance);
Decoration.SURFACE_STRUCTURES,
feature,
chance);
}
private static BCLFeature registerOre(String name, Block blockOre, int veins, int veinSize) {
return BCLCommonFeatures.makeOreFeature(BetterEnd.makeID(name),
blockOre,
Blocks.END_STONE,
veins,
veinSize,
0,
HeightRangePlacement.uniform(VerticalAnchor.bottom(),
VerticalAnchor.absolute(128)),
false);
blockOre,
Blocks.END_STONE,
veins,
veinSize,
0,
HeightRangePlacement.uniform(VerticalAnchor.bottom(),
VerticalAnchor.absolute(128)),
false);
}
private static BCLFeature registerLayer(String name, Block block, float radius, int minY, int maxY, int count) {
@ -492,7 +492,7 @@ public class EndFeatures {
.start(BetterEnd.makeID(name), layer)
.decoration(GenerationStep.Decoration.UNDERGROUND_ORES)
.modifier(CountPlacement.of(count))
.build();
.buildAndRegister();
}
private static BCLFeature registerLayer(String name,
@ -542,7 +542,7 @@ public class EndFeatures {
.start(id, feature)
.decoration(Decoration.SURFACE_STRUCTURES)
.modifier(placed.placement())
.build(placed.feature().value().config());
.buildAndRegister(placed.feature().value().config());
}
String path = "/data/" + ns + "/structures/biome/" + nm + "/";
@ -551,13 +551,15 @@ public class EndFeatures {
JsonObject obj = JsonFactory.getJsonObject(inputstream);
JsonArray structures = obj.getAsJsonArray("structures");
if (structures != null) {
List<StructureInfo> list = Lists.newArrayList();
List<ListFeature.StructureInfo> list = Lists.newArrayList();
structures.forEach((entry) -> {
JsonObject e = entry.getAsJsonObject();
String structure = path + e.get("nbt").getAsString() + ".nbt";
TerrainMerge terrainMerge = TerrainMerge.getFromString(e.get("terrainMerge").getAsString());
NBTFeature.TerrainMerge terrainMerge = NBTFeature.TerrainMerge.getFromString(e
.get("terrainMerge")
.getAsString());
int offsetY = e.get("offsetY").getAsInt();
list.add(new StructureInfo(structure, offsetY, terrainMerge));
list.add(new ListFeature.StructureInfo(structure, offsetY, terrainMerge));
});
if (!list.isEmpty()) {
return BCLCommonFeatures.makeChancedFeature(
@ -565,7 +567,7 @@ public class EndFeatures {
Decoration.SURFACE_STRUCTURES,
new BuildingListFeature(list, Blocks.END_STONE.defaultBlockState()),
10
);
);
}
}
}

View file

@ -7,7 +7,7 @@ import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType;
import org.betterx.bclib.api.tag.TagAPI;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.betterx.bclib.world.structures.BCLStructure;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.world.structures.features.*;

View file

@ -14,9 +14,9 @@ import net.fabricmc.fabric.mixin.object.builder.AbstractBlockAccessor;
import net.fabricmc.fabric.mixin.object.builder.AbstractBlockSettingsAccessor;
import com.google.common.collect.Lists;
import org.betterx.bclib.api.BonemealAPI;
import org.betterx.bclib.api.ComposterAPI;
import org.betterx.bclib.api.tag.*;
import org.betterx.bclib.api.v2.BonemealAPI;
import org.betterx.bclib.api.v2.ComposterAPI;
import org.betterx.bclib.api.v2.tag.*;
import org.betterx.bclib.blocks.BaseVineBlock;
import org.betterx.bclib.blocks.SimpleLeavesBlock;
import org.betterx.betterend.BetterEnd;

View file

@ -4,7 +4,7 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import com.google.common.collect.Lists;
import org.betterx.bclib.api.BonemealAPI;
import org.betterx.bclib.api.v2.BonemealAPI;
import org.betterx.betterend.blocks.basis.EndTerrainBlock;
import org.betterx.betterend.registry.EndBiomes;
import org.betterx.betterend.registry.EndBlocks;

View file

@ -14,8 +14,8 @@ import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder;
import net.fabricmc.fabric.api.loot.v1.FabricLootSupplierBuilder;
import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback;
import org.betterx.bclib.api.biomes.BCLBiome;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.complexmaterials.WoodenComplexMaterial;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.registry.EndBiomes;

View file

@ -12,8 +12,8 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox;
import net.minecraft.world.level.material.Material;
import com.google.common.collect.Sets;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;

View file

@ -9,12 +9,12 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.SurfaceRules;
import org.betterx.bclib.api.biomes.BCLBiome;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.registry.EndBlocks;

View file

@ -2,7 +2,7 @@ package org.betterx.betterend.world.biome.air;
import net.minecraft.world.entity.EntityType;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.registry.EndParticles;
import org.betterx.betterend.registry.EndStructures;

View file

@ -2,9 +2,9 @@ package org.betterx.betterend.world.biome.cave;
import net.minecraft.resources.ResourceLocation;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.registry.EndParticles;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -2,9 +2,9 @@ package org.betterx.betterend.world.biome.cave;
import net.minecraft.resources.ResourceLocation;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -2,9 +2,9 @@ package org.betterx.betterend.world.biome.cave;
import net.minecraft.resources.ResourceLocation;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.registry.EndParticles;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -8,13 +8,13 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraft.world.level.levelgen.feature.Feature;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.biomes.BiomeAPI;
import org.betterx.bclib.api.features.BCLCommonFeatures;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.features.BCLCommonFeatures;
import org.betterx.bclib.api.v2.levelgen.features.BCLFeature;
import org.betterx.bclib.util.WeightedList;
import org.betterx.bclib.world.features.BCLFeature;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.registry.EndSounds;
import org.betterx.betterend.world.biome.EndBiome;
@ -32,7 +32,7 @@ public class EndCaveBiome extends EndBiome {
BetterEnd.makeID(ID.getPath() + "_cave_populator"),
GenerationStep.Decoration.RAW_GENERATION,
new CaveChunkPopulatorFeature(() -> (EndCaveBiome) BiomeAPI.getBiome(ID))
);
);
builder.feature(feature)
.music(EndSounds.MUSIC_CAVES)

View file

@ -5,9 +5,9 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.betterend.noise.OpenSimplexNoise;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -4,9 +4,9 @@ import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.bclib.blocks.BlockProperties;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;

View file

@ -3,9 +3,9 @@ package org.betterx.betterend.world.biome.cave;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.biomes.BCLBiomeSettings;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -4,7 +4,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.*;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndEntities;

View file

@ -7,7 +7,7 @@ import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndEntities;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -4,7 +4,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -8,8 +8,8 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.placement.CaveSurface;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndSounds;

View file

@ -4,7 +4,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.*;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -4,7 +4,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -4,7 +4,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.*;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -3,7 +3,7 @@ package org.betterx.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.*;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -9,9 +9,9 @@ import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource;
import net.minecraft.world.level.levelgen.placement.CaveSurface;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.surface.rules.SwitchRuleSource;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.rules.SwitchRuleSource;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -4,7 +4,7 @@ import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndSounds;

View file

@ -5,7 +5,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndEntities;

View file

@ -7,9 +7,9 @@ import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource;
import net.minecraft.world.level.levelgen.placement.CaveSurface;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.surface.rules.SwitchRuleSource;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.rules.SwitchRuleSource;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.*;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -4,9 +4,9 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.SurfaceRules;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.surface.rules.SwitchRuleSource;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder;
import org.betterx.bclib.api.v2.levelgen.surface.rules.SwitchRuleSource;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -4,7 +4,7 @@ import net.minecraft.tags.BiomeTags;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.interfaces.SurfaceMaterialProvider;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;

View file

@ -8,12 +8,12 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
import org.betterx.bclib.sdf.operator.SDFTranslate;
import org.betterx.bclib.sdf.primitive.SDFCappedCone;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import org.betterx.betterend.world.biome.EndBiome;

View file

@ -15,7 +15,7 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProc
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo;
import org.betterx.bclib.world.features.ListFeature;
import org.betterx.bclib.api.v2.levelgen.features.ListFeature;
import org.betterx.betterend.util.LootTableUtil;
import java.util.List;
@ -53,7 +53,7 @@ public class BuildingListFeature extends ListFeature {
chestPos.getX() >> 2,
chestPos.getY() >> 2,
chestPos.getZ() >> 2
);
);
chestEntity.setLootTable(LootTableUtil.getTable(biome), random.nextLong());
chestEntity.setChanged();
}

View file

@ -6,9 +6,9 @@ import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.blocks.EndBlockProperties;
import org.betterx.betterend.registry.EndBlocks;
@ -29,13 +29,13 @@ public class CavePumpkinFeature extends DefaultFeature {
world,
pos,
EndBlocks.CAVE_PUMPKIN_SEED.defaultBlockState().setValue(EndBlockProperties.AGE, age)
);
);
if (age > 1) {
BlocksHelper.setWithoutUpdate(
world,
pos.below(),
EndBlocks.CAVE_PUMPKIN.defaultBlockState().setValue(EndBlockProperties.SMALL, age < 3)
);
);
}
return true;

View file

@ -16,10 +16,10 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.*;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo;
import net.minecraft.world.level.material.Material;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.NBTFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.util.StructureHelper;
import org.betterx.bclib.world.features.NBTFeature;
import org.betterx.betterend.util.BlockFixer;
import org.betterx.betterend.util.StructureErode;
import org.betterx.betterend.world.biome.EndBiome;
@ -97,7 +97,7 @@ public class CrashedShipFeature extends NBTFeature {
mirror,
rotation,
BlockPos.ZERO
);
);
center = center.offset(0, getYOffset(structure, world, center, random) + 0.5, 0);
StructurePlaceSettings placementData = new StructurePlaceSettings().setRotation(rotation).setMirror(mirror);
center = center.offset(-offset.getX() * 0.5, 0, -offset.getZ() * 0.5);
@ -113,7 +113,7 @@ public class CrashedShipFeature extends NBTFeature {
world,
new BlockPos(bounds.minX(), bounds.minY(), bounds.minZ()),
new BlockPos(bounds.maxX(), bounds.maxY(), bounds.maxZ())
);
);
return true;
}

View file

@ -8,9 +8,9 @@ import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.util.GlobalState;
public abstract class FullHeightScatterFeature extends DefaultFeature {

View file

@ -8,9 +8,9 @@ import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.util.GlobalState;
public abstract class InvertedScatterFeature extends DefaultFeature {

View file

@ -7,7 +7,7 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.betterend.blocks.NeonCactusPlantBlock;
import org.betterx.betterend.registry.EndBlocks;

View file

@ -7,10 +7,10 @@ import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.util.GlobalState;
public abstract class ScatterFeature extends DefaultFeature {
@ -82,7 +82,7 @@ public abstract class ScatterFeature extends DefaultFeature {
center,
POS,
r
) && (getChance() < 2 || random.nextInt(getChance()) == 0)) {
) && (getChance() < 2 || random.nextInt(getChance()) == 0)) {
generate(world, random, POS);
}
}

View file

@ -12,9 +12,9 @@ import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.blocks.BlockProperties;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.util.GlobalState;
@ -51,14 +51,14 @@ public class SilkMothNestFeature extends DefaultFeature {
EndBlocks.SILK_MOTH_NEST.defaultBlockState()
.setValue(BlockStateProperties.HORIZONTAL_FACING, dir)
.setValue(BlockProperties.ACTIVE, false)
);
);
POS.setY(y - 1);
BlocksHelper.setWithoutUpdate(
world,
POS,
EndBlocks.SILK_MOTH_NEST.defaultBlockState()
.setValue(BlockStateProperties.HORIZONTAL_FACING, dir)
);
);
return true;
}
}

View file

@ -9,9 +9,9 @@ import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
public abstract class WallScatterFeature extends DefaultFeature {
private static final Direction[] DIR = BlocksHelper.makeHorizontal();

View file

@ -11,7 +11,8 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import net.minecraft.world.level.material.Material;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
import org.betterx.bclib.sdf.operator.SDFScale3D;
@ -20,7 +21,6 @@ import org.betterx.bclib.sdf.operator.SDFTranslate;
import org.betterx.bclib.sdf.primitive.SDFSphere;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import java.util.function.Function;
@ -78,7 +78,7 @@ public class BushFeature extends DefaultFeature {
world,
p,
leaves.defaultBlockState().setValue(LeavesBlock.DISTANCE, 1)
);
);
} else {
BlocksHelper.setWithoutUpdate(world, p, leaves.defaultBlockState());
}

View file

@ -12,7 +12,8 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import net.minecraft.world.level.material.Material;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
import org.betterx.bclib.sdf.operator.SDFScale3D;
@ -21,7 +22,6 @@ import org.betterx.bclib.sdf.operator.SDFTranslate;
import org.betterx.bclib.sdf.primitive.SDFSphere;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import java.util.function.Function;
@ -79,7 +79,7 @@ public class BushWithOuterFeature extends DefaultFeature {
info.setBlockPos(
info.getPos().relative(dir),
outer_leaves.defaultBlockState().setValue(BlockStateProperties.FACING, dir)
);
);
}
}
}
@ -95,7 +95,7 @@ public class BushWithOuterFeature extends DefaultFeature {
world,
p,
leaves.defaultBlockState().setValue(LeavesBlock.DISTANCE, 1)
);
);
} else {
BlocksHelper.setWithoutUpdate(world, p, leaves.defaultBlockState());
}

View file

@ -9,12 +9,12 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BlockProperties;
import org.betterx.bclib.blocks.BlockProperties.TripleShape;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.registry.EndBlocks;
public class LargeAmaranitaFeature extends DefaultFeature {
@ -42,13 +42,13 @@ public class LargeAmaranitaFeature extends DefaultFeature {
world,
mut.move(Direction.UP),
state.setValue(BlockProperties.TRIPLE_SHAPE, TripleShape.MIDDLE)
);
);
}
BlocksHelper.setWithUpdate(
world,
mut.move(Direction.UP),
state.setValue(BlockProperties.TRIPLE_SHAPE, TripleShape.TOP)
);
);
return true;
}

View file

@ -9,10 +9,10 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.blocks.EndBlockProperties.LumecornShape;
import org.betterx.betterend.blocks.LumecornBlock;
import org.betterx.betterend.registry.EndBlocks;
@ -46,7 +46,7 @@ public class Lumecorn extends DefaultFeature {
world,
mut,
EndBlocks.LUMECORN.defaultBlockState().setValue(LumecornBlock.SHAPE, LumecornShape.BOTTOM_SMALL)
);
);
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), bottom);
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), topMiddle);
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), top);
@ -57,18 +57,18 @@ public class Lumecorn extends DefaultFeature {
world,
mut,
EndBlocks.LUMECORN.defaultBlockState().setValue(LumecornBlock.SHAPE, LumecornShape.BOTTOM_SMALL)
);
);
} else {
BlocksHelper.setWithoutUpdate(
world,
mut,
EndBlocks.LUMECORN.defaultBlockState().setValue(LumecornBlock.SHAPE, LumecornShape.BOTTOM_BIG)
);
);
BlocksHelper.setWithoutUpdate(
world,
mut.move(Direction.UP),
EndBlocks.LUMECORN.defaultBlockState().setValue(LumecornBlock.SHAPE, LumecornShape.MIDDLE)
);
);
height--;
}
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), bottom);

View file

@ -12,7 +12,8 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.material.Material;
import com.google.common.collect.Lists;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.blocks.BlockProperties;
import org.betterx.bclib.blocks.BlockProperties.TripleShape;
import org.betterx.bclib.sdf.SDF;
@ -23,7 +24,6 @@ import org.betterx.bclib.sdf.operator.SDFTranslate;
import org.betterx.bclib.sdf.primitive.SDFSphere;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.blocks.basis.FurBlock;
import org.betterx.betterend.noise.OpenSimplexNoise;
import org.betterx.betterend.registry.EndBlocks;
@ -54,7 +54,7 @@ public class TenaneaBushFeature extends DefaultFeature {
vec.x() * 0.2,
vec.y() * 0.2,
vec.z() * 0.2
) * 3).setSource(sphere);
) * 3).setSource(sphere);
sphere = new SDFDisplacement().setFunction((vec) -> MHelper.randRange(-2F, 2F, random)).setSource(sphere);
sphere = new SDFSubtraction().setSourceA(sphere)
.setSourceB(new SDFTranslate().setTranslate(0, -radius, 0).setSource(sphere));
@ -75,7 +75,7 @@ public class TenaneaBushFeature extends DefaultFeature {
info.setBlockPos(
info.getPos().relative(d),
EndBlocks.TENANEA_OUTER_LEAVES.defaultBlockState().setValue(FurBlock.FACING, d)
);
);
}
}

View file

@ -11,13 +11,13 @@ import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
import com.google.common.collect.Lists;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
import org.betterx.bclib.sdf.operator.SDFRotation;
import org.betterx.bclib.sdf.primitive.SDFTorus;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import java.util.List;
@ -41,7 +41,7 @@ public class ArchFeature extends DefaultFeature {
BlockPos pos = getPosOnSurfaceWG(
world,
new BlockPos((origin.getX() & 0xFFFFFFF0) | 7, 0, (origin.getZ() & 0xFFFFFFF0) | 7)
);
);
if (!world.getBlockState(pos.below(5)).is(CommonBlockTags.GEN_END_STONES)) {
return false;
}
@ -58,13 +58,13 @@ public class ArchFeature extends DefaultFeature {
OpenSimplexNoise noise = new OpenSimplexNoise(random.nextLong());
arch = new SDFDisplacement().setFunction((vec) -> {
return (float) (Math.abs(noise.eval(vec.x() * 0.1,
vec.y() * 0.1,
vec.z() * 0.1
)) * 3F + Math.abs(noise.eval(
vec.y() * 0.1,
vec.z() * 0.1
)) * 3F + Math.abs(noise.eval(
vec.x() * 0.3,
vec.y() * 0.3 + 100,
vec.z() * 0.3
)) * 1.3F) - smallRadiusF * Math.abs(1 - vec.y() / bigRadius);
)) * 1.3F) - smallRadiusF * Math.abs(1 - vec.y() / bigRadius);
}).setSource(arch);
List<BlockPos> surface = Lists.newArrayList();

View file

@ -8,13 +8,13 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.material.Material;
import com.mojang.math.Vector3f;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFRotation;
import org.betterx.bclib.sdf.primitive.SDFHexPrism;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.registry.EndBlocks;
public class BigAuroraCrystalFeature extends DefaultFeature {

View file

@ -11,10 +11,10 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.level.material.Material;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.util.BlockFixer;
@ -116,7 +116,7 @@ public class DesertLakeFeature extends DefaultFeature {
x * 0.2,
y * 0.2,
z * 0.2
) * 0.25 + 0.75)) - 1.0 / size;
) * 0.25 + 0.75)) - 1.0 / size;
if (r > 0) {
r *= r;
if (x2 + z2 <= r) {
@ -127,7 +127,7 @@ public class DesertLakeFeature extends DefaultFeature {
pos = POS.below();
if (world.getBlockState(pos).is(CommonBlockTags.GEN_END_STONES)) {
state = EndBiome.findTopMaterial(world,
pos); //world.getBiome(pos).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial();
pos); //world.getBiome(pos).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial();
if (y > waterLevel + 1) BlocksHelper.setWithoutUpdate(world, pos, state);
else if (y > waterLevel)
BlocksHelper.setWithoutUpdate(
@ -136,13 +136,13 @@ public class DesertLakeFeature extends DefaultFeature {
random.nextBoolean()
? state
: EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
else
BlocksHelper.setWithoutUpdate(
world,
pos,
EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
}
}
} else {
@ -186,8 +186,9 @@ public class DesertLakeFeature extends DefaultFeature {
BlocksHelper.setWithoutUpdate(world, pos, EndBlocks.ENDSTONE_DUST.defaultBlockState());
}
pos = POS.above();
while (canReplace(state = world.getBlockState(pos)) && !state.isAir() && state.getFluidState()
.isEmpty()) {
while (canReplace(state = world.getBlockState(pos)) && !state.isAir() && state
.getFluidState()
.isEmpty()) {
BlocksHelper.setWithoutUpdate(world, pos, pos.getY() < waterLevel ? WATER : AIR);
pos = pos.above();
}
@ -200,19 +201,19 @@ public class DesertLakeFeature extends DefaultFeature {
} else if (y < waterLevel) {
if (world.isEmptyBlock(POS.above())) {
state = EndBiome.findTopMaterial(world,
pos); //world.getBiome(POS).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial();
pos); //world.getBiome(POS).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial();
BlocksHelper.setWithoutUpdate(
world,
POS,
random.nextBoolean() ? state : EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
BlocksHelper.setWithoutUpdate(world, POS.below(), END_STONE);
} else {
BlocksHelper.setWithoutUpdate(
world,
POS,
EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
BlocksHelper.setWithoutUpdate(world, POS.below(), END_STONE);
}
}
@ -226,16 +227,17 @@ public class DesertLakeFeature extends DefaultFeature {
world,
new BlockPos(minX - 2, waterLevel - 2, minZ - 2),
new BlockPos(maxX + 2, blockPos.getY() + 20, maxZ + 2)
);
);
return true;
}
private boolean canReplace(BlockState state) {
return state.getMaterial()
.isReplaceable() || state.is(CommonBlockTags.GEN_END_STONES) || state.is(EndBlocks.ENDSTONE_DUST) || state.getMaterial()
.equals(
Material.PLANT) || state
.isReplaceable() || state.is(CommonBlockTags.GEN_END_STONES) || state.is(EndBlocks.ENDSTONE_DUST) || state
.getMaterial()
.equals(
Material.PLANT) || state
.getMaterial()
.equals(Material.WATER_PLANT);
}

View file

@ -11,10 +11,10 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.level.material.Material;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.util.BlockFixer;
@ -119,7 +119,7 @@ public class EndLakeFeature extends DefaultFeature {
x * 0.2,
y * 0.2,
z * 0.2
) * 0.25 + 0.75)) - 1.0 / size;
) * 0.25 + 0.75)) - 1.0 / size;
if (r > 0) {
r *= r;
if (x2 + z2 <= r) {
@ -138,13 +138,13 @@ public class EndLakeFeature extends DefaultFeature {
random.nextBoolean()
? state
: EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
else
BlocksHelper.setWithoutUpdate(
world,
pos,
EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
}
}
} else {
@ -188,8 +188,9 @@ public class EndLakeFeature extends DefaultFeature {
BlocksHelper.setWithoutUpdate(world, pos, EndBlocks.ENDSTONE_DUST.defaultBlockState());
}
pos = POS.above();
while (canReplace(state = world.getBlockState(pos)) && !state.isAir() && state.getFluidState()
.isEmpty()) {
while (canReplace(state = world.getBlockState(pos)) && !state.isAir() && state
.getFluidState()
.isEmpty()) {
BlocksHelper.setWithoutUpdate(world, pos, pos.getY() < waterLevel ? WATER : AIR);
pos = pos.above();
}
@ -206,7 +207,7 @@ public class EndLakeFeature extends DefaultFeature {
world,
POS,
random.nextBoolean() ? state : EndBlocks.ENDSTONE_DUST.defaultBlockState()
);
);
BlocksHelper.setWithoutUpdate(world, POS.below(), END_STONE);
} else {
BlocksHelper.setWithoutUpdate(world, POS, EndBlocks.ENDSTONE_DUST.defaultBlockState());
@ -222,16 +223,17 @@ public class EndLakeFeature extends DefaultFeature {
world,
new BlockPos(minX - 2, waterLevel - 2, minZ - 2),
new BlockPos(maxX + 2, blockPos.getY() + 20, maxZ + 2)
);
);
return true;
}
private boolean canReplace(BlockState state) {
return state.getMaterial()
.isReplaceable() || state.is(CommonBlockTags.GEN_END_STONES) || state.is(EndBlocks.ENDSTONE_DUST) || state.getMaterial()
.equals(
Material.PLANT) || state
.isReplaceable() || state.is(CommonBlockTags.GEN_END_STONES) || state.is(EndBlocks.ENDSTONE_DUST) || state
.getMaterial()
.equals(
Material.PLANT) || state
.getMaterial()
.equals(Material.WATER_PLANT);
}

View file

@ -10,14 +10,14 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf
import net.minecraft.world.level.material.Material;
import com.mojang.math.Vector3f;
import org.betterx.bclib.api.tag.CommonBlockTags;
import org.betterx.bclib.api.v2.levelgen.features.DefaultFeature;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.sdf.SDF;
import org.betterx.bclib.sdf.operator.SDFDisplacement;
import org.betterx.bclib.sdf.operator.SDFRotation;
import org.betterx.bclib.sdf.operator.SDFTranslate;
import org.betterx.bclib.sdf.primitive.SDFCappedCone;
import org.betterx.bclib.util.MHelper;
import org.betterx.bclib.world.features.DefaultFeature;
import org.betterx.betterend.noise.OpenSimplexNoise;
import org.betterx.betterend.registry.EndBlocks;
@ -30,7 +30,7 @@ public class FallenPillarFeature extends DefaultFeature {
pos = getPosOnSurface(
world,
new BlockPos(pos.getX() + random.nextInt(16), pos.getY(), pos.getZ() + random.nextInt(16))
);
);
if (!world.getBlockState(pos.below(5)).is(CommonBlockTags.GEN_END_STONES)) {
return false;
}

Some files were not shown because too many files have changed in this diff Show more