package de.ellpeck.naturesaura.blocks; import de.ellpeck.naturesaura.data.BlockStateGenerator; import de.ellpeck.naturesaura.reg.ICustomBlockState; import de.ellpeck.naturesaura.reg.ICustomRenderType; import net.minecraft.client.renderer.RenderType; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Material; import java.util.Random; import java.util.function.Supplier; public class BlockDecayedLeaves extends BlockImpl implements ICustomBlockState, ICustomRenderType { public BlockDecayedLeaves() { super("decayed_leaves", Properties.of(Material.LEAVES).strength(0.2F).sound(SoundType.GRASS).noOcclusion().randomTicks()); } @Override public void tick(BlockState state, ServerLevel level, BlockPos pos, Random random) { if (!level.isClientSide) { level.setBlockAndUpdate(pos, Blocks.AIR.defaultBlockState()); } } @Override public void generateCustomBlockState(BlockStateGenerator generator) { generator.simpleBlock(this, generator.models().getExistingFile(generator.modLoc(this.getBaseName()))); } @Override public Supplier getRenderType() { return RenderType::cutoutMipped; } }