Sapling, fixes

This commit is contained in:
paulevsGitch 2020-12-26 19:10:54 +03:00
parent e103e551e3
commit 1065d770bb
6 changed files with 44 additions and 2 deletions

View file

@ -1,6 +1,7 @@
package ru.betterend.blocks;
import java.io.Reader;
import java.util.Collections;
import java.util.List;
import com.google.common.collect.Lists;
@ -27,6 +28,7 @@ import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.noise.OpenSimplexNoise;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndBlocks;
import ru.betterend.util.MHelper;
public class BlockUmbrellaTreeMembrane extends AbstractGlassBlock implements IRenderTypeable, BlockPatterned {
@ -57,8 +59,13 @@ public class BlockUmbrellaTreeMembrane extends AbstractGlassBlock implements IRe
@Override
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
if (state.get(COLOR) > 0) {
return Lists.newArrayList(new ItemStack(this));
}
else {
return MHelper.RANDOM.nextInt(4) == 0 ? Lists.newArrayList(new ItemStack(EndBlocks.UMBRELLA_TREE_SAPLING)) : Collections.emptyList();
}
}
@Override
public String getStatesPattern(Reader data) {

View file

@ -0,0 +1,31 @@
package ru.betterend.blocks;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.WorldView;
import net.minecraft.world.gen.feature.Feature;
import ru.betterend.blocks.basis.BlockFeatureSapling;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
public class BlockUmbrellaTreeSapling extends BlockFeatureSapling {
public BlockUmbrellaTreeSapling() {
super();
}
@Override
protected Feature<?> getFeature() {
return EndFeatures.UMBRELLA_TREE.getFeature();
}
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
return world.getBlockState(pos.down()).isOf(EndBlocks.JUNGLE_MOSS);
}
@Override
public ERenderLayer getRenderLayer() {
return ERenderLayer.TRANSLUCENT;
}
}

View file

@ -72,6 +72,7 @@ import ru.betterend.blocks.BlockUmbrellaMossTall;
import ru.betterend.blocks.BlockUmbrellaTreeCluster;
import ru.betterend.blocks.BlockUmbrellaTreeClusterEmpty;
import ru.betterend.blocks.BlockUmbrellaTreeMembrane;
import ru.betterend.blocks.BlockUmbrellaTreeSapling;
import ru.betterend.blocks.BlockVentBubbleColumn;
import ru.betterend.blocks.EndPortalBlock;
import ru.betterend.blocks.EndStoneSmelter;
@ -181,6 +182,7 @@ public class EndBlocks {
public static final Block HELIX_TREE_LEAVES = registerBlock("helix_tree_leaves", new BlockHelixTreeLeaves());
public static final WoodenMaterial HELIX_TREE = new WoodenMaterial("helix_tree", MaterialColor.GRAY, MaterialColor.ORANGE);
public static final Block UMBRELLA_TREE_SAPLING = registerBlock("umbrella_tree_sapling", new BlockUmbrellaTreeSapling());
public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock("umbrella_tree_membrane", new BlockUmbrellaTreeMembrane());
public static final Block UMBRELLA_TREE_CLUSTER = registerBlock("umbrella_tree_cluster", new BlockUmbrellaTreeCluster());
public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock("umbrella_tree_cluster_empty", new BlockUmbrellaTreeClusterEmpty());

View file

@ -21,6 +21,9 @@ public class SingleInvertedScatterFeature extends InvertedScatterFeature {
@Override
public boolean canGenerate(StructureWorldAccess world, Random random, BlockPos center, BlockPos blockPos, float radius) {
if (!world.isAir(blockPos)) {
return false;
}
BlockState state = block.getDefaultState();
if (block instanceof BlockAttached) {
state = state.with(Properties.FACING, Direction.DOWN);

View file

@ -36,7 +36,6 @@ public class JellyshroomFeature extends DefaultFeature {
public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, DefaultFeatureConfig config) {
if (!world.getBlockState(pos.down()).getBlock().isIn(EndTags.END_GROUND)) return false;
BlockState log = EndBlocks.JELLYSHROOM.log.getDefaultState();
BlockState bark = EndBlocks.JELLYSHROOM.bark.getDefaultState();
BlockState membrane = EndBlocks.JELLYSHROOM_CAP_PURPLE.getDefaultState();

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B