Sapling, fixes
This commit is contained in:
parent
e103e551e3
commit
1065d770bb
6 changed files with 44 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
package ru.betterend.blocks;
|
package ru.betterend.blocks;
|
||||||
|
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
@ -27,6 +28,7 @@ import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.noise.OpenSimplexNoise;
|
import ru.betterend.noise.OpenSimplexNoise;
|
||||||
import ru.betterend.patterns.BlockPatterned;
|
import ru.betterend.patterns.BlockPatterned;
|
||||||
import ru.betterend.patterns.Patterns;
|
import ru.betterend.patterns.Patterns;
|
||||||
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.MHelper;
|
import ru.betterend.util.MHelper;
|
||||||
|
|
||||||
public class BlockUmbrellaTreeMembrane extends AbstractGlassBlock implements IRenderTypeable, BlockPatterned {
|
public class BlockUmbrellaTreeMembrane extends AbstractGlassBlock implements IRenderTypeable, BlockPatterned {
|
||||||
|
@ -57,7 +59,12 @@ public class BlockUmbrellaTreeMembrane extends AbstractGlassBlock implements IRe
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
|
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
|
||||||
return Lists.newArrayList(new ItemStack(this));
|
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
|
@Override
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -72,6 +72,7 @@ import ru.betterend.blocks.BlockUmbrellaMossTall;
|
||||||
import ru.betterend.blocks.BlockUmbrellaTreeCluster;
|
import ru.betterend.blocks.BlockUmbrellaTreeCluster;
|
||||||
import ru.betterend.blocks.BlockUmbrellaTreeClusterEmpty;
|
import ru.betterend.blocks.BlockUmbrellaTreeClusterEmpty;
|
||||||
import ru.betterend.blocks.BlockUmbrellaTreeMembrane;
|
import ru.betterend.blocks.BlockUmbrellaTreeMembrane;
|
||||||
|
import ru.betterend.blocks.BlockUmbrellaTreeSapling;
|
||||||
import ru.betterend.blocks.BlockVentBubbleColumn;
|
import ru.betterend.blocks.BlockVentBubbleColumn;
|
||||||
import ru.betterend.blocks.EndPortalBlock;
|
import ru.betterend.blocks.EndPortalBlock;
|
||||||
import ru.betterend.blocks.EndStoneSmelter;
|
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 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 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_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 = registerBlock("umbrella_tree_cluster", new BlockUmbrellaTreeCluster());
|
||||||
public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock("umbrella_tree_cluster_empty", new BlockUmbrellaTreeClusterEmpty());
|
public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock("umbrella_tree_cluster_empty", new BlockUmbrellaTreeClusterEmpty());
|
||||||
|
|
|
@ -21,6 +21,9 @@ public class SingleInvertedScatterFeature extends InvertedScatterFeature {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canGenerate(StructureWorldAccess world, Random random, BlockPos center, BlockPos blockPos, float radius) {
|
public boolean canGenerate(StructureWorldAccess world, Random random, BlockPos center, BlockPos blockPos, float radius) {
|
||||||
|
if (!world.isAir(blockPos)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
BlockState state = block.getDefaultState();
|
BlockState state = block.getDefaultState();
|
||||||
if (block instanceof BlockAttached) {
|
if (block instanceof BlockAttached) {
|
||||||
state = state.with(Properties.FACING, Direction.DOWN);
|
state = state.with(Properties.FACING, Direction.DOWN);
|
||||||
|
|
|
@ -36,7 +36,6 @@ public class JellyshroomFeature extends DefaultFeature {
|
||||||
public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, DefaultFeatureConfig config) {
|
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;
|
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 bark = EndBlocks.JELLYSHROOM.bark.getDefaultState();
|
||||||
BlockState membrane = EndBlocks.JELLYSHROOM_CAP_PURPLE.getDefaultState();
|
BlockState membrane = EndBlocks.JELLYSHROOM_CAP_PURPLE.getDefaultState();
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 416 B |
Loading…
Add table
Add a link
Reference in a new issue