Hi, thanks for the reply and the example!
My lantern is a lot less fancy than the example given but I figured that I needed the following:
- notSolid() to be called in the block properties
- make the getRenderType method return BlockRenderType.MODEL
My new class looks like this:
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraftforge.common.ToolType;
public class GemLanternBase extends LanternBlock {
public GemLanternBase(int lightValue) {
super(LanternBlock.Properties.create(Material.IRON)
.hardnessAndResistance(3.5f, 3.5f)
.sound(SoundType.LANTERN)
.harvestLevel(0)
.harvestTool(ToolType.PICKAXE)
.setRequiresTool()
.setLightLevel(value -> lightValue)
.notSolid());
}
@Override
public BlockRenderType getRenderType(BlockState iBlockState) {
return BlockRenderType.MODEL;
}
}
However, the issue is persisting. The chain still has black pixels where the transparent pixels should be. I also tried applying the voxel model but that didn't seem to make a difference. I'm very confused as to what causes Minecraft to allow for transparency.
Could you elaborate on what is missing from my class?
Many thanks
EDIT:
I've solved the problem!
Nothing was wrong with my class lol, though the example has been very helpful for adding new functionality!
Turns out I needed to call setRenderLayer from RenderTypeLookup in my client setup method. I had no idea this was a thing and when I first saw it I thought it was for blocks structures specifically. As I said I'm very new to this and I'm glad this is figured out, this is my first mod that I'm playing around with.
All I can say is thank god this forums exists, I find the official documentation for this to be kinda lack-lustre.