[Change] Migrated to new Feature API

This commit is contained in:
Frank 2022-07-01 13:23:36 +02:00
parent 0ec39fa2da
commit 031a14f278
16 changed files with 242 additions and 120 deletions

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.DragonTreeFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class DragonTreeSaplingBlock extends PottableFeatureSapling {
public class DragonTreeSaplingBlock extends PottableFeatureSapling<DragonTreeFeature, NoneFeatureConfiguration> {
public DragonTreeSaplingBlock() {
super((state) -> EndFeatures.DRAGON_TREE);
super((state) -> EndFeatures.DRAGON_TREE.configuredFeature);
}
@Override

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.HelixTreeFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class HelixTreeSaplingBlock extends PottableFeatureSapling {
public class HelixTreeSaplingBlock extends PottableFeatureSapling<HelixTreeFeature, NoneFeatureConfiguration> {
public HelixTreeSaplingBlock() {
super((state) -> EndFeatures.HELIX_TREE);
super((state) -> EndFeatures.HELIX_TREE.configuredFeature);
}
@Override

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.LacugroveFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class LacugroveSaplingBlock extends PottableFeatureSapling {
public class LacugroveSaplingBlock extends PottableFeatureSapling<LacugroveFeature, NoneFeatureConfiguration> {
public LacugroveSaplingBlock() {
super((state) -> EndFeatures.LACUGROVE);
super((state) -> EndFeatures.LACUGROVE.configuredFeature);
}
@Override

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.LucerniaFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class LucerniaSaplingBlock extends PottableFeatureSapling {
public class LucerniaSaplingBlock extends PottableFeatureSapling<LucerniaFeature, NoneFeatureConfiguration> {
public LucerniaSaplingBlock() {
super((state) -> EndFeatures.LUCERNIA);
super((state) -> EndFeatures.LUCERNIA.configuredFeature);
}
@Override

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.MossyGlowshroomFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class MossyGlowshroomSaplingBlock extends PottableFeatureSapling {
public class MossyGlowshroomSaplingBlock extends PottableFeatureSapling<MossyGlowshroomFeature, NoneFeatureConfiguration> {
public MossyGlowshroomSaplingBlock() {
super(7, (state) -> EndFeatures.MOSSY_GLOWSHROOM);
super(7, (state) -> EndFeatures.MOSSY_GLOWSHROOM.configuredFeature);
}
@Override

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.PythadendronTreeFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class PythadendronSaplingBlock extends PottableFeatureSapling {
public class PythadendronSaplingBlock extends PottableFeatureSapling<PythadendronTreeFeature, NoneFeatureConfiguration> {
public PythadendronSaplingBlock() {
super((state) -> EndFeatures.PYTHADENDRON_TREE);
super((state) -> EndFeatures.PYTHADENDRON_TREE.configuredFeature);
}
@Override

View file

@ -33,7 +33,7 @@ public class SmallAmaranitaBlock extends EndPlantBlock {
BlockPos bigPos = growBig(world, pos);
if (bigPos != null) {
if (EndFeatures.GIGANTIC_AMARANITA.getFeature()
.place(new FeaturePlaceContext<>(
.place(new FeaturePlaceContext<net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration>(
Optional.empty(),
world,
null,
@ -48,14 +48,15 @@ public class SmallAmaranitaBlock extends EndPlantBlock {
}
return;
}
EndFeatures.LARGE_AMARANITA.getFeature().place(new FeaturePlaceContext<>(
Optional.empty(),
world,
null,
random,
pos,
null
));
EndFeatures.LARGE_AMARANITA.getFeature()
.place(new FeaturePlaceContext<net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration>(
Optional.empty(),
world,
null,
random,
pos,
null
));
}
@Override

View file

@ -105,14 +105,15 @@ public class SmallJellyshroomBlock extends BaseAttachedBlock implements RenderLa
@Override
public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) {
BlocksHelper.setWithUpdate(world, pos, Blocks.AIR);
EndFeatures.JELLYSHROOM.getFeature().place(new FeaturePlaceContext<>(
Optional.empty(),
world,
null,
random,
pos,
null
));
EndFeatures.JELLYSHROOM.getFeature()
.place(new FeaturePlaceContext<net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration>(
Optional.empty(),
world,
null,
random,
pos,
null
));
}
@Override

View file

@ -3,15 +3,17 @@ package org.betterx.betterend.blocks;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.TenaneaFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class TenaneaSaplingBlock extends PottableFeatureSapling {
public class TenaneaSaplingBlock extends PottableFeatureSapling<TenaneaFeature, NoneFeatureConfiguration> {
public TenaneaSaplingBlock() {
super((state) -> EndFeatures.TENANEA);
super((state) -> EndFeatures.TENANEA.configuredFeature);
}
@Override

View file

@ -4,15 +4,17 @@ import org.betterx.bclib.client.render.BCLRenderLayer;
import org.betterx.betterend.blocks.basis.PottableFeatureSapling;
import org.betterx.betterend.registry.EndBlocks;
import org.betterx.betterend.registry.EndFeatures;
import org.betterx.betterend.world.features.trees.UmbrellaTreeFeature;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public class UmbrellaTreeSaplingBlock extends PottableFeatureSapling {
public class UmbrellaTreeSaplingBlock extends PottableFeatureSapling<UmbrellaTreeFeature, NoneFeatureConfiguration> {
public UmbrellaTreeSaplingBlock() {
super((state) -> EndFeatures.UMBRELLA_TREE);
super((state) -> EndFeatures.UMBRELLA_TREE.configuredFeature);
}
@Override

View file

@ -1,19 +1,18 @@
package org.betterx.betterend.blocks.basis;
import org.betterx.bclib.api.v2.levelgen.features.BCLFeature;
import org.betterx.bclib.blocks.FeatureSaplingBlock;
import org.betterx.betterend.interfaces.PottablePlant;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration;
import java.util.function.Function;
public abstract class PottableFeatureSapling<F extends Feature<FC>, FC extends FeatureConfiguration> extends FeatureSaplingBlock<F, FC> implements PottablePlant {
public abstract class PottableFeatureSapling extends FeatureSaplingBlock implements PottablePlant {
public PottableFeatureSapling(Function<BlockState, BCLFeature> featureSupplier) {
public PottableFeatureSapling(FeatureSupplier<F, FC> featureSupplier) {
super(featureSupplier);
}
public PottableFeatureSapling(int light, Function<BlockState, BCLFeature> featureSupplier) {
public PottableFeatureSapling(int light, FeatureSupplier<F, FC> featureSupplier) {
super(light, featureSupplier);
}
}