I have been following an tutorial on adding a custom block to a mod.
But when the game starts I cant see the block and /give doesnt work either....
My code:
package com.krissy.tutorial.blocks;
import com.krissy.tutorial.Main;
import com.krissy.tutorial.init.ModBlocks;
import com.krissy.tutorial.init.ModItems;
import com.krissy.tutorial.util.IHasModel;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import java.util.Objects;
public class BlockBase extends Block implements IHasModel {
public BlockBase(String name, Material material){
super(material);
setUnlocalizedName(name);
setRegistryName(name);
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
ModBlocks.BLOCKS.add(this);
ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
}
@Override
public void registerModels() {
Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
}
}
package com.krissy.tutorial.init;
import com.krissy.tutorial.blocks.BlockBase;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import java.util.ArrayList;
import java.util.List;
public class ModBlocks {
public static final List<Block> BLOCKS = new ArrayList<Block>();
public static final Block ARTWORK_BLOCK = new BlockBase("artwork_block", Material.CLOTH);
}
package com.krissy.tutorial.util.handlers;
import com.krissy.tutorial.init.ModBlocks;
import com.krissy.tutorial.init.ModItems;
import com.krissy.tutorial.util.IHasModel;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@Mod.EventBusSubscriber
public class RegistryHandler {
@SubscribeEvent
public static void onItemRegister(RegistryEvent.Register<Item> event){
event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
}
public static void onBlockRegister(RegistryEvent.Register<Block> event){
event.getRegistry().registerAll(ModBlocks.BLOCKS.toArray(new Block[0]));
}
@SubscribeEvent
public static void onModelRegister(ModelRegistryEvent event){
for (Item item : ModItems.ITEMS)
{
if(item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
for (Block block : ModBlocks.BLOCKS)
{
if(block instanceof IHasModel)
{
((IHasModel)block).registerModels();
}
}
}
}
blockstates/artwork_block.json:
{
"variants": {
"normal": { "model": "tutmod:artwork_block" }
}
}
models/blocks/artwork_block.json:
{
"parent": "block/cube_all",
"textures": {
"all": "tutmod:blocks/artwork_block"
}
}
models/item/artwork_block.json:
{
"parent": "tutmod:block/artwork_block"
}