Created
August 4, 2018 01:06
-
-
Save Asherslab/4a98cbbcacf55cb004e73f58e4bc7e35 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.idea; | |
import net.minecraft.block.Block; | |
import net.minecraft.item.Item; | |
import net.minecraftforge.event.RegistryEvent; | |
import net.minecraftforge.fml.common.Mod; | |
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.eventhandler.SubscribeEvent; | |
import net.minecraftforge.fml.common.registry.GameRegistry; | |
@Mod( | |
modid = IdeaMod.MOD_ID, | |
name = IdeaMod.MOD_NAME, | |
version = IdeaMod.VERSION | |
) | |
public class IdeaMod | |
{ | |
public static final String MOD_ID = "idea"; | |
public static final String MOD_NAME = "Idea"; | |
public static final String VERSION = "1.0-SNAPSHOT"; | |
/** | |
* This is the instance of your mod as created by Forge. It will never be null. | |
*/ | |
@Mod.Instance(MOD_ID) | |
public static IdeaMod INSTANCE; | |
/** | |
* This is the first initialization event. Register tile entities here. | |
* The registry events below will have fired prior to entry to this method. | |
*/ | |
@Mod.EventHandler | |
public void preinit(FMLPreInitializationEvent event) | |
{ | |
} | |
/** | |
* This is the second initialization event. Register custom recipes | |
*/ | |
@Mod.EventHandler | |
public void init(FMLInitializationEvent event) | |
{ | |
} | |
/** | |
* This is the final initialization event. Register actions from other mods here | |
*/ | |
@Mod.EventHandler | |
public void postinit(FMLPostInitializationEvent event) | |
{ | |
} | |
/** | |
* Forge will automatically look up and bind blocks to the fields in this class | |
* based on their registry name. | |
*/ | |
@GameRegistry.ObjectHolder(MOD_ID) | |
public static class Blocks | |
{ | |
/* | |
public static final MySpecialBlock mySpecialBlock = null; // placeholder for special block below | |
*/ | |
} | |
/** | |
* Forge will automatically look up and bind items to the fields in this class | |
* based on their registry name. | |
*/ | |
@GameRegistry.ObjectHolder(MOD_ID) | |
public static class Items | |
{ | |
/* | |
public static final ItemBlock mySpecialBlock = null; // itemblock for the block above | |
public static final MySpecialItem mySpecialItem = null; // placeholder for special item below | |
*/ | |
} | |
/** | |
* This is a special class that listens to registry events, to allow creation of mod blocks and items at the proper time. | |
*/ | |
@Mod.EventBusSubscriber | |
public static class ObjectRegistryHandler | |
{ | |
/** | |
* Listen for the register event for creating custom items | |
*/ | |
@SubscribeEvent | |
public static void addItems(RegistryEvent.Register<Item> event) | |
{ | |
/* | |
event.getRegistry().register(new ItemBlock(Blocks.myBlock).setRegistryName(MOD_ID, "myBlock")); | |
event.getRegistry().register(new MySpecialItem().setRegistryName(MOD_ID, "mySpecialItem")); | |
*/ | |
} | |
/** | |
* Listen for the register event for creating custom blocks | |
*/ | |
@SubscribeEvent | |
public static void addBlocks(RegistryEvent.Register<Block> event) | |
{ | |
/* | |
event.getRegistry().register(new MySpecialBlock().setRegistryName(MOD_ID, "mySpecialBlock")); | |
*/ | |
} | |
} | |
/* EXAMPLE ITEM AND BLOCK - you probably want these in separate files | |
public static class MySpecialItem extends Item { | |
} | |
public static class MySpecialBlock extends Block { | |
} | |
*/ | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment