I no longer get any errors, but the items and blocks aren't registered. The events aren't fired...
Main.
@Mod(modid = Reference.ID, name = Reference.NAME, version = Reference.VERSION, acceptedMinecraftVersions = "[" + Reference.MC_VERSION + "]")
public class AutoMiner {
@Instance
public static AutoMiner INSTANCE = new AutoMiner();
@SidedProxy(clientSide = Reference.CLIENT_PROXY, serverSide = Reference.COMMON_PROXY)
public static IProxy PROXY;
@EventHandler
public static void preInit(FMLPreInitializationEvent event) {
PROXY.registerEntities();
PROXY.registerRecipes();
PROXY.setTitle("Minecraft - " + Reference.MC_VERSION + " AutoMiner - " + Reference.VERSION);
}
@EventHandler
public static void init(FMLInitializationEvent event) {
}
@EventHandler
public static void postInit(FMLPostInitializationEvent event) {
}
}
IProxy.
public interface IProxy {
void setTitle(String title);
void registerEntities();
void registerRecipes();
}
CommonProxy.
public class CommonProxy implements IProxy {
@Override
public void setTitle(String title) {
}
@Override
public void registerEntities() {
GameRegistry.registerTileEntity(TileEntityAutoMiner.class, "AutoMiner");
}
@Override
public void registerRecipes() {
AMUtils.addShapedRecipe("wrench", new ItemStack(AMItems.WRENCH), "S S", "SSS", " S ", 'S', AMItems.STEEL_INGOT);
AMUtils.addShapedRecipe("auto_miner", new ItemStack(AMBlocks.AUTO_MINER), "SSS", "SPS", "SSS", 'S',
AMItems.STEEL_INGOT, 'P', Items.IRON_PICKAXE);
}
}
ClientProxy.
public class ClientProxy implements IProxy {
@Override
public void setTitle(String title) {
Display.setTitle(title);
}
@Override
public void registerEntities() {
}
@Override
public void registerRecipes() {
}
}
Blocks.
public class AMBlocks {
public static final Block STEEL_BLOCK = new Block(Material.IRON).setCreativeTab(AMTabs.AM_TAB).setHardness(8.0F)
.setResistance(15.0F).setRegistryName("steel_block").setUnlocalizedName("steel_block");
public static final Block AUTO_MINER = new BlockAutoMiner().setCreativeTab(AMTabs.AM_TAB).setHardness(7.0F)
.setResistance(20.0F).setRegistryName("auto_miner").setUnlocalizedName("auto_miner");
public static final Block[] BLOCKS = new Block[] { STEEL_BLOCK, AUTO_MINER };
}
Items.
public class AMItems {
public static final Item STEEL_INGOT = new Item().setCreativeTab(AMTabs.AM_TAB).setRegistryName("steel_ingot")
.setUnlocalizedName("steel_ingot");
public static final Item WRENCH = new Item().setCreativeTab(AMTabs.AM_TAB).setMaxDamage(128).setMaxStackSize(1)
.setRegistryName("wrench").setUnlocalizedName("wrench");
public static final Item[] ITEMS = new Item[] { STEEL_INGOT, WRENCH };
}
Client Handler.
@Mod.EventBusSubscriber(modid = Reference.ID, value = Side.CLIENT)
public class AMClientHandler {
@SubscribeEvent
public void registerModels(ModelRegistryEvent event) {
for (int i = 0; i < AMBlocks.BLOCKS.length; i++) {
Block block = AMBlocks.BLOCKS[i];
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
new ModelResourceLocation(block.getRegistryName(), "inventory"));
}
for (int i = 0; i < AMItems.ITEMS.length; i++) {
Item item = AMItems.ITEMS[i];
ModelLoader.setCustomModelResourceLocation(item, 0,
new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
}
}
Common Handler.
@Mod.EventBusSubscriber(modid = Reference.ID, value = Side.SERVER)
public class AMCommonHandler {
@SubscribeEvent
public void registerBlocks(RegistryEvent.Register<Block> event) {
AMBlocks.STEEL_BLOCK.setHarvestLevel("pickaxe", 2);
AMBlocks.AUTO_MINER.setHarvestLevel("pickaxe", 1);
event.getRegistry().registerAll(AMBlocks.BLOCKS);
}
@SubscribeEvent
public void registerItems(RegistryEvent.Register<Item> event) {
event.getRegistry().registerAll(AMItems.ITEMS);
for (int i = 0; i < AMBlocks.BLOCKS.length; i++) {
Block block = AMBlocks.BLOCKS[i];
event.getRegistry().register(new ItemBlock(block).setRegistryName(block.getRegistryName())
.setUnlocalizedName(block.getUnlocalizedName()));
}
}
}