Im 99.99% sure it is initialized... Here is ALL the code:
Main:
package com.dotk.main;
import java.lang.reflect.InvocationTargetException;
import com.dotk.proxies.CommonProxy;
import com.dotk.registry.Registry;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@Mod(modid = Main.MODID, version = Main.VERSION, name = Main.NAME)
public class Main
{
public static final String MODID = "dotk";
public static final String VERSION = "1.0";
public static final String NAME = "Defenders Of The Keep";
public static CreativeTabs tabDotk = new CreativeTabs("Defenders Of The Keep") {
@Override
@SideOnly(Side.CLIENT)
public Item getTabIconItem() {
return Items.nether_star;
}
};
public static Item TestItem;
public static Block TestBlock;
public static Block CastleWall;
public static Block CastleWall1;
public static Block CastleWall2;
public static Block CastleWall3;
@Instance
public static Main instance = new Main();
@SidedProxy(clientSide="com.dotk.proxies.ClientProxy", serverSide="com.dotk.proxies.ServerProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
}
@EventHandler
public void Init(FMLInitializationEvent event) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
Registry.RegisterItem(TestItem, "TestItem", "TestItem");
Registry.RegisterBlock(TestBlock, "TestBlock", "TestBlock");
Registry.RegisterBlock(CastleWall, "CastleWall", "CastleWall");
Registry.RegisterBlock(CastleWall1, "CastleWall1", "CastleWall1");
Registry.RegisterBlock(CastleWall2, "CastleWall2", "CastleWall2");
Registry.RegisterBlock(CastleWall3, "CastleWall3", "CastleWall3");
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
}
REGISTRY:
package com.dotk.registry;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import com.dotk.blocks.TestBlock;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class Registry {
public static void RegisterBlock(Object block, String className, String unlocalizedname) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
className = "com.dotk.blocks." + className;
Class<?> clazz = Class.forName(className);
Constructor<?> ctor = clazz.getConstructor();
GameRegistry.registerBlock((Block) (block = ctor.newInstance(new Object[] {})), unlocalizedname);
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock((Block) block), 0, new ModelResourceLocation("dotk:" + unlocalizedname, "inventory"));
}
public static void RegisterItem(Object item, String className, String unlocalizedname) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
className = "com.dotk.items." + className;
Class<?> clazz = Class.forName(className);
Constructor<?> ctor = clazz.getConstructor();
item = ctor.newInstance(new Object[] {});
GameRegistry.registerItem((Item) item, unlocalizedname);
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register((Item) item, 0, new net.minecraft.client.resources.model.ModelResourceLocation("dotk:" + unlocalizedname, "inventory"));
}
}
]
CASTLEWALL:
package com.dotk.blocks;
import java.util.List;
import com.dotk.main.Main;
import com.dotk.registry.Registry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumWorldBlockLayer;
import net.minecraft.world.World;
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class CastleWall extends Block {
public CastleWall() {
super(Material.rock);
this.setUnlocalizedName("CastleWall");
this.setCreativeTab(Main.tabDotk);
this.setHardness(7.0f);
this.setResistance(5.0f);
this.setHarvestLevel("pickaxe",1);
this.setDefaultState(this.blockState.getBaseState());
}
@Override
public EnumWorldBlockLayer getBlockLayer() {
return EnumWorldBlockLayer.SOLID;
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
worldIn.setBlockState(pos, Main.CastleWall1.getDefaultState());
}
}
CASTLEWALL1:
package com.dotk.blocks;
import java.util.List;
import com.dotk.main.Main;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumWorldBlockLayer;
import net.minecraft.world.World;
public class CastleWall1 extends Block {
public CastleWall1() {
super(Material.rock);
this.setUnlocalizedName("CastleWall1");
this.setCreativeTab(Main.tabDotk);
this.setHardness(7.0f);
this.setResistance(5.0f);
this.setHarvestLevel("pickaxe",1);
this.setDefaultState(this.blockState.getBaseState());
}
@Override
public EnumWorldBlockLayer getBlockLayer() {
return EnumWorldBlockLayer.SOLID;
}
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state, EntityPlayer player) throws InterruptedException {
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
{
}
}