World::setBlockState(pos, THE_BLOCK_STATE_YOU_WANT)
This will place the block and the TileEntity into the world.
World::getTileEntity(pos)
This will get the TileEntity at the BlockPos pos.
Use the CapabilityItemHandler.ITEM_HANDLER_CAPABILITY to add the items to it.
What is ItemInit? Your ItemStackTileEntityRenderer constructor cannot except any parameters except the ones you give it.
IE if you want it to take in an Item
setISTER(() -> () -> new ShieldRenderer(MY_ITEM))
is what it would have to look like.
setISTER takes a Supplier<Callable<ItemStackTileEntityRenderer>>
() -> is a lambda for a functional interface
ShieldRenderer::new is a Callable/constructor.
So () -> ShieldRenderer::new is a Supplier<Callable<ItemStackTileEntityRenderer>> where ShieldRenderer extends ItemStackTileEntityRenderer
Remove this. Do not post code that is not yours.
You edit the build.gradle file.
Look for a line that looks like this.
Go to http://export.mcpbot.bspk.rs/snapshot/ to get the latest mappings.
It's the name for the enum field. There are no requirements for it.
What does this mean? The code doesn't compile. It doesn't do what you expect? If so what does it do?
Odd how did you setup your workspace and what IDE are you using? Also have you tried looking in the Block class to see what it looks like in there? You may need to update your mappings.