Tree fixes
This commit is contained in:
parent
d0b23a9c9f
commit
affd63646a
11 changed files with 35 additions and 36 deletions
|
@ -277,7 +277,7 @@ public class EndFeatures {
|
|||
}
|
||||
|
||||
private static BCLFeature registerLake(String name, Feature<NoneFeatureConfiguration> feature, int chance) {
|
||||
return BCLCommonFeatures.makeChancedFeature(BetterEnd.makeID(name), Decoration.RAW_GENERATION, feature, chance);
|
||||
return BCLCommonFeatures.makeChancedFeature(BetterEnd.makeID(name), Decoration.LAKES, feature, chance);
|
||||
}
|
||||
|
||||
private static BCLFeature registerChanced(String name, Feature<NoneFeatureConfiguration> feature, int chance) {
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.mojang.math.Vector3f;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.LeavesBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
@ -45,7 +46,7 @@ public class DragonTreeFeature extends DefaultFeature {
|
|||
final Random random = featureConfig.random();
|
||||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
float size = MHelper.randRange(10, 25, random);
|
||||
List<Vector3f> spline = SplineHelper.makeSpline(0, 0, 0, 0, size, 0, 6);
|
||||
|
@ -195,9 +196,9 @@ public class DragonTreeFeature extends DefaultFeature {
|
|||
|
||||
static {
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
/*if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
if (state.getBlock() == EndBlocks.DRAGON_TREE_LEAVES) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -6,13 +6,13 @@ import net.minecraft.core.BlockPos.MutableBlockPos;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
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 net.minecraft.world.level.material.Material;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.blocks.BaseAttachedBlock;
|
||||
import ru.bclib.sdf.PosInfo;
|
||||
import ru.bclib.sdf.SDF;
|
||||
|
@ -36,7 +36,7 @@ public class GiganticAmaranitaFeature extends DefaultFeature {
|
|||
final Random random = featureConfig.random();
|
||||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
float size = MHelper.randRange(5, 10, random);
|
||||
List<Vector3f> spline = SplineHelper.makeSpline(0, 0, 0, 0, size, 0, 5);
|
||||
|
@ -361,7 +361,7 @@ public class GiganticAmaranitaFeature extends DefaultFeature {
|
|||
|
||||
static {
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND) || state.getMaterial().equals(Material.PLANT)) {
|
||||
if (/*state.is(TagAPI.BLOCK_END_GROUND) || */state.getMaterial().equals(Material.PLANT)) {
|
||||
return true;
|
||||
}
|
||||
return state.getMaterial().isReplaceable();
|
||||
|
|
|
@ -3,13 +3,13 @@ package ru.betterend.world.features.trees;
|
|||
import com.mojang.math.Vector3f;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
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 net.minecraft.world.phys.AABB;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.sdf.PosInfo;
|
||||
import ru.bclib.sdf.SDF;
|
||||
import ru.bclib.sdf.operator.SDFRotation;
|
||||
|
@ -37,7 +37,7 @@ public class HelixTreeFeature extends DefaultFeature {
|
|||
final Random random = featureConfig.random();
|
||||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
BlocksHelper.setWithoutUpdate(world, pos, AIR);
|
||||
|
||||
float angle = random.nextFloat() * MHelper.PI2;
|
||||
|
|
|
@ -3,6 +3,7 @@ package ru.betterend.world.features.trees;
|
|||
import com.google.common.collect.Lists;
|
||||
import com.mojang.math.Vector3f;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
@ -36,7 +37,7 @@ public class JellyshroomFeature extends DefaultFeature {
|
|||
final Random random = featureConfig.random();
|
||||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
BlockState bark = EndBlocks.JELLYSHROOM.getBark().defaultBlockState();
|
||||
BlockState membrane = EndBlocks.JELLYSHROOM_CAP_PURPLE.defaultBlockState();
|
||||
|
@ -122,7 +123,7 @@ public class JellyshroomFeature extends DefaultFeature {
|
|||
SplineHelper.offset(ROOT, new Vector3f(0, -0.45F, 0));
|
||||
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND) || state.getMaterial().equals(Material.PLANT)) {
|
||||
if (/*state.is(TagAPI.BLOCK_END_GROUND) || */state.getMaterial().equals(Material.PLANT)) {
|
||||
return true;
|
||||
}
|
||||
return state.getMaterial().isReplaceable();
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.mojang.math.Vector3f;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.LeavesBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
@ -38,7 +39,7 @@ public class LacugroveFeature extends DefaultFeature {
|
|||
final Random random = featureConfig.random();
|
||||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
float size = MHelper.randRange(15, 25, random);
|
||||
List<Vector3f> spline = SplineHelper.makeSpline(0, 0, 0, 0, size, 0, 6);
|
||||
|
@ -188,9 +189,9 @@ public class LacugroveFeature extends DefaultFeature {
|
|||
|
||||
static {
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
/*if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
if (EndBlocks.LACUGROVE.isTreeLog(state)) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.mojang.math.Vector3f;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.LeavesBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
@ -46,7 +47,7 @@ public class LucerniaFeature extends DefaultFeature {
|
|||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
final NoneFeatureConfiguration config = featureConfig.config();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
float size = MHelper.randRange(12, 20, random);
|
||||
int count = (int) (size * 0.3F);
|
||||
|
@ -194,9 +195,9 @@ public class LucerniaFeature extends DefaultFeature {
|
|||
|
||||
static {
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
/*if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
if (state.getBlock() == EndBlocks.LUCERNIA_LEAVES) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ 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 net.minecraft.world.level.material.Material;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.sdf.SDF;
|
||||
import ru.bclib.sdf.operator.SDFBinary;
|
||||
import ru.bclib.sdf.operator.SDFCoordModify;
|
||||
|
@ -172,9 +171,9 @@ public class MossyGlowshroomFeature extends DefaultFeature {
|
|||
.setSourceB(new SDFUnion().setSourceA(HEAD_POS).setSourceB(ROOTS_ROT));
|
||||
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
/*if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
if (state.getMaterial().equals(Material.PLANT)) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@ 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 net.minecraft.world.level.material.Material;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.sdf.PosInfo;
|
||||
import ru.bclib.sdf.SDF;
|
||||
import ru.bclib.sdf.operator.SDFDisplacement;
|
||||
|
@ -188,9 +187,9 @@ public class PythadendronTreeFeature extends DefaultFeature {
|
|||
|
||||
static {
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
/*if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
if (state.getBlock() == EndBlocks.PYTHADENDRON_LEAVES) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -5,13 +5,13 @@ import com.mojang.math.Vector3f;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.LeavesBlock;
|
||||
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 net.minecraft.world.level.material.Material;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.blocks.BlockProperties;
|
||||
import ru.bclib.blocks.BlockProperties.TripleShape;
|
||||
import ru.bclib.sdf.SDF;
|
||||
|
@ -44,7 +44,7 @@ public class TenaneaFeature extends DefaultFeature {
|
|||
final Random random = featureConfig.random();
|
||||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
float size = MHelper.randRange(7, 10, random);
|
||||
int count = (int) (size * 0.45F);
|
||||
|
@ -175,9 +175,9 @@ public class TenaneaFeature extends DefaultFeature {
|
|||
|
||||
static {
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
/*if (state.is(TagAPI.BLOCK_END_GROUND)) {
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
if (state.getBlock() == EndBlocks.TENANEA_LEAVES) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.mojang.math.Vector3f;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.WorldGenLevel;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
@ -44,15 +45,12 @@ public class UmbrellaTreeFeature extends DefaultFeature {
|
|||
final BlockPos pos = featureConfig.origin();
|
||||
final WorldGenLevel world = featureConfig.level();
|
||||
final NoneFeatureConfiguration config = featureConfig.config();
|
||||
if (!world.getBlockState(pos.below()).is(TagAPI.BLOCK_END_GROUND)) return false;
|
||||
if (!world.getBlockState(pos.below()).is(BlockTags.NYLIUM)) return false;
|
||||
|
||||
BlockState wood = EndBlocks.UMBRELLA_TREE.getBark().defaultBlockState();
|
||||
BlockState membrane = EndBlocks.UMBRELLA_TREE_MEMBRANE.defaultBlockState()
|
||||
.setValue(UmbrellaTreeMembraneBlock.COLOR, 1);
|
||||
BlockState center = EndBlocks.UMBRELLA_TREE_MEMBRANE.defaultBlockState()
|
||||
.setValue(UmbrellaTreeMembraneBlock.COLOR, 0);
|
||||
BlockState fruit = EndBlocks.UMBRELLA_TREE_CLUSTER.defaultBlockState()
|
||||
.setValue(UmbrellaTreeClusterBlock.NATURAL, true);
|
||||
BlockState membrane = EndBlocks.UMBRELLA_TREE_MEMBRANE.defaultBlockState().setValue(UmbrellaTreeMembraneBlock.COLOR, 1);
|
||||
BlockState center = EndBlocks.UMBRELLA_TREE_MEMBRANE.defaultBlockState().setValue(UmbrellaTreeMembraneBlock.COLOR, 0);
|
||||
BlockState fruit = EndBlocks.UMBRELLA_TREE_CLUSTER.defaultBlockState().setValue(UmbrellaTreeClusterBlock.NATURAL, true);
|
||||
|
||||
float size = MHelper.randRange(10, 20, random);
|
||||
int count = (int) (size * 0.15F);
|
||||
|
@ -220,8 +218,7 @@ public class UmbrellaTreeFeature extends DefaultFeature {
|
|||
SplineHelper.offset(ROOT, new Vector3f(0, -0.45F, 0));
|
||||
|
||||
REPLACE = (state) -> {
|
||||
if (state.is(TagAPI.BLOCK_END_GROUND) || state.getMaterial()
|
||||
.equals(Material.PLANT) || state.is(EndBlocks.UMBRELLA_TREE_MEMBRANE)) {
|
||||
if (/*state.is(TagAPI.BLOCK_END_GROUND) || */state.getMaterial().equals(Material.PLANT) || state.is(EndBlocks.UMBRELLA_TREE_MEMBRANE)) {
|
||||
return true;
|
||||
}
|
||||
return state.getMaterial().isReplaceable();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue