Thursday, 26 December 2013

Forge concepts - registering your classes

Forge provides a number of registries to let you extend an existing base class (Block, Item, etc) and then tell the registry about your new Class to integrate it into the game. This is generally the best way to interface with the game, because it is modular, easy to understand and maintain, and relatively robust to changes in the vanilla code.
A broad overview of the different types of registries are listed below.  
  • Registries for adding new Blocks, Items, Entities - These registries are used to assign names to your Blocks, Items, Entities, and TileEntities. These are necessary for Minecraft to be able to save and load them properly.  (It is not automatically the same as the unlocalizedName member variable in each Item and Block.)
  • Registries for rendering objects - In order for your object to be drawn on the screen (Block, Item, Entity, TileEntity) you need to provide a renderer class for that object and register it.
  • Registries for crafting, smelting, spawning, villagers
  • Registries for World generation
  • Miscellaneous Registries - key binding, language, GUI screens, achievement pages


~Overview of Forge (and what it can do for you)
    Forge concepts
           Some general notes
           How Forge starts up your code (@Mod, @SidedProxy, etc)  
           Registering your classes
           Extra methods for vanilla base classes
           Events
     Forge summary - grouped by task
           Blocks
           Items
           TileEntities
           Entities
           World generation, loading, saving
           Miscellaneous - player input, rendering, GUI, chat, sounds

No comments:

Post a Comment