Class ModLoader

java.lang.Object
  extended by ModLoader

public final class ModLoader
extends java.lang.Object

ModLoader loads classes that inherit from BaseMod and adds them to a list for use.

Version:
Beta 1.3_01

Field Summary
static boolean DEBUG
          Whether debug mode is enabled.
static java.lang.String VERSION
          Current version.
 
Method Summary
static int AddAllFuel(int id)
          Used for adding new sources of fuel to the furnace.
static void AddAllRecipes(fr recipes)
          Used to add recipes from all the mods.
static void AddAllRenderers(java.util.Map<java.lang.Class<? extends om>,bb> renderers)
          Used to add all mod entity renderers.
static void addAnimation(ah anim)
          Registers one animation instance.
static int AddArmor(java.lang.String armor)
          Use this when you need the player to have new armor skin.
static void AddLocalization(java.lang.String key, java.lang.String value)
          Method for adding raw strings to the translation table.
static void AddName(java.lang.Object instance, java.lang.String name)
          This method will allow adding name to item in inventory.
static int addOverride(java.lang.String fileToOverride, java.lang.String fileToAdd)
          Use this to add custom images for your items and blocks.
static void addOverride(java.lang.String path, java.lang.String overlayPath, int index)
          Registers one texture override to be done.
static void AddSmelting(int input, gz output)
          Used to add smelting recipes to the furnace.
static boolean DispenseEntity(dt world, double x, double y, double z, float xVel, float zVel, int itemid)
          Dispenses the entity associated with the selected item.
static java.util.List<BaseMod> getLoadedMods()
          Use this method if you need a list of loaded mods.
static java.util.logging.Logger getLogger()
          Use this to get a reference to the logger ModLoader uses.
static net.minecraft.client.Minecraft getMinecraftInstance()
          Use this method to get a reference to Minecraft instance.
static
<T,E> T
getPrivateValue(java.lang.Class<? super E> instanceclass, E instance, int fieldindex)
          Used for getting value of private fields.
static
<T,E> T
getPrivateValue(java.lang.Class<? super E> instanceclass, E instance, java.lang.String field)
          Used for getting value of private fields.
static int getUniqueBlockModelID(BaseMod mod, boolean full3DItem)
          Assigns a model id for blocks to use for the given mod.
static int getUniqueEntityId()
          Gets next Entity ID to use.
static int getUniqueSpriteIndex(java.lang.String path)
          Gets next available index for this sprite map.
static boolean isGUIOpen(java.lang.Class<? extends cb> gui)
          Use this method to check if GUI is opened for the player.
static boolean isModLoaded(java.lang.String modname)
          Checks if a mod is loaded.
static void OnTick(net.minecraft.client.Minecraft game)
          This method is called every tick while minecraft is running.
static void OpenModGUI(fd player, java.lang.Class<? extends cb> guiclass, java.lang.Object instance)
          Opens GUI for use with mods.
static void PopulateChunk(bo generator, int chunkX, int chunkZ, dt world)
          Used for generating new blocks in the world.
static mk[] RegisterAllKeys(mk[] originals)
          Appends all mod key handlers to the given array and returns it.
static void RegisterAllTextureOverrides(hf texCache)
          Processes all registered texture overrides.
static void RegisterBlock(qk block)
          Adds block to list of blocks the player can use.
static void RegisterBlock(qk block, java.lang.Class<? extends bm> itemclass)
          Adds block to list of blocks the player can use.
static void RegisterEntityID(java.lang.Class<? extends om> entityClass, java.lang.String entityName, int id)
          Registers an entity ID.
static void RegisterGUI(BaseMod mod, java.lang.Class<? extends cb> gui)
          Assigns the given GUI class to a mod.
static void RegisterKey(BaseMod mod, mk keyHandler, boolean allowRepeat)
          Use this to add an assignable key to the options menu.
static void RegisterTileEntity(java.lang.Class<? extends ll> tileEntityClass, java.lang.String id)
          Registers a tile entity.
static void RegisterTileEntity(java.lang.Class<? extends ll> tileEntityClass, java.lang.String id, hb renderer)
          Registers a tile entity.
static boolean RenderBlockIsItemFull3D(int modelID)
          Determines how the block should be rendered.
static void RenderInvBlock(bw renderer, qk block, int metadata, int modelID)
          Renders a block in inventory.
static boolean RenderWorldBlock(bw renderer, so world, int x, int y, int z, qk block, int modelID)
          Renders a block in the world.
static void SetInGameHook(BaseMod mod, boolean enable, boolean useClock)
          Enable or disable BaseMod.OnTickInGame(net.minecraft.client.Minecraft)
static void SetInGUIHook(BaseMod mod, boolean enable, boolean useClock)
          Enable or disable BaseMod.OnTickInGUI(net.minecraft.client.Minecraft, cb)
static
<T,E> void
setPrivateValue(java.lang.Class<? super T> instanceclass, T instance, int fieldindex, E value)
          Used for setting value of private fields.
static
<T,E> void
setPrivateValue(java.lang.Class<? super T> instanceclass, T instance, java.lang.String field, E value)
          Used for setting value of private fields.
static void ThrowException(java.lang.String message, java.lang.Throwable e)
          Used for catching an error and generating an error report.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
Whether debug mode is enabled. Not for use by others.

See Also:
Constant Field Values

VERSION

public static final java.lang.String VERSION
Current version.

See Also:
Constant Field Values
Method Detail

AddAllFuel

public static int AddAllFuel(int id)
Used for adding new sources of fuel to the furnace.

Parameters:
id - ItemID for the item to use as fuel.
Returns:
Duration of fuel provided.
See Also:
BaseMod.AddFuel(int)

AddAllRecipes

public static void AddAllRecipes(fr recipes)
Used to add recipes from all the mods.

Parameters:
recipes - Recipe instance to add to.
See Also:
BaseMod.AddRecipes(fr)

AddAllRenderers

public static void AddAllRenderers(java.util.Map<java.lang.Class<? extends om>,bb> renderers)
Used to add all mod entity renderers.

Parameters:
renderers - HashMap of the renderers. key is an entity class, value is the renderer.
See Also:
BaseMod.AddRenderer(java.util.Map, bb>)

addAnimation

public static void addAnimation(ah anim)
Registers one animation instance.

Parameters:
anim - instance of animation handler.

AddArmor

public static int AddArmor(java.lang.String armor)
Use this when you need the player to have new armor skin. This method will return the index of the skin. This will be located at "/armor/ARMORNAMEHERE_1.png" or "/armor/ARMORNAMEHERE_2.png", depending on armor type.

Parameters:
armor - Name of the armor skin.
Returns:
index assign for the armor skin.

AddLocalization

public static void AddLocalization(java.lang.String key,
                                   java.lang.String value)
Method for adding raw strings to the translation table.

Parameters:
key - tag for string.
value - string to add.

AddName

public static void AddName(java.lang.Object instance,
                           java.lang.String name)
This method will allow adding name to item in inventory. Requires name tag.

Parameters:
instance - A block, item, or item stack reference to name.
name - The name to give.

addOverride

public static int addOverride(java.lang.String fileToOverride,
                              java.lang.String fileToAdd)
Use this to add custom images for your items and blocks. This method should be called where you want to assign the index for the item or block to use.

Parameters:
fileToOverride - "/terrain.png" or "/gui/items.png".
fileToAdd - path to the image you want to add.
Returns:
index assigned to this image.

addOverride

public static void addOverride(java.lang.String path,
                               java.lang.String overlayPath,
                               int index)
Registers one texture override to be done.

Parameters:
path - Path to the texture file to modify.
overlayPath - Path to the texture file which is to be overlaid.
index - Sprite index into the texture to be modified.

AddSmelting

public static void AddSmelting(int input,
                               gz output)
Used to add smelting recipes to the furnace. See dj.class for details.

Parameters:
input - ID of the item, or block, to smelt.
output - the ItemStack created.

DispenseEntity

public static boolean DispenseEntity(dt world,
                                     double x,
                                     double y,
                                     double z,
                                     float xVel,
                                     float zVel,
                                     int itemid)
Dispenses the entity associated with the selected item.

Parameters:
world - reference to the World.
x - X coordinate.
y - Y coordinate.
z - Z coordinate.
xVel - X velocity.
zVel - Z velocity.
itemid - ID of item to chosen to dispense entity.
Returns:
true if item was handled.
See Also:
BaseMod.DispenseEntity(dt, double, double, double, float, float, int)

getLoadedMods

public static java.util.List<BaseMod> getLoadedMods()
Use this method if you need a list of loaded mods.

Returns:
a list of mods.

getLogger

public static java.util.logging.Logger getLogger()
Use this to get a reference to the logger ModLoader uses.

Returns:
the logger instance.

getMinecraftInstance

public static net.minecraft.client.Minecraft getMinecraftInstance()
Use this method to get a reference to Minecraft instance.

Returns:
Minecraft instance.

getPrivateValue

public static <T,E> T getPrivateValue(java.lang.Class<? super E> instanceclass,
                                      E instance,
                                      int fieldindex)
                         throws java.lang.IllegalArgumentException,
                                java.lang.SecurityException,
                                java.lang.NoSuchFieldException
Used for getting value of private fields.

Type Parameters:
T - Return type.
E - Type of instance.
Parameters:
instanceclass - Class to use with instance.
instance - Object to get private field from.
fieldindex - Name of the field.
Returns:
Value of private field.
Throws:
java.lang.IllegalArgumentException - if instance isn't compatible with instanceclass.
java.lang.SecurityException - if the thread is not allowed to access field.
java.lang.NoSuchFieldException - if field does not exist.

getPrivateValue

public static <T,E> T getPrivateValue(java.lang.Class<? super E> instanceclass,
                                      E instance,
                                      java.lang.String field)
                         throws java.lang.IllegalArgumentException,
                                java.lang.SecurityException,
                                java.lang.NoSuchFieldException
Used for getting value of private fields.

Type Parameters:
T - Return type.
E - Type of instance.
Parameters:
instanceclass - Class to use with instance.
instance - Object to get private field from.
field - Name of the field.
Returns:
Value of private field.
Throws:
java.lang.IllegalArgumentException - if instance isn't compatible with instanceclass.
java.lang.SecurityException - if the thread is not allowed to access field.
java.lang.NoSuchFieldException - if field does not exist.

getUniqueEntityId

public static int getUniqueEntityId()
Gets next Entity ID to use.

Returns:
Assigned ID.

getUniqueSpriteIndex

public static int getUniqueSpriteIndex(java.lang.String path)
Gets next available index for this sprite map.

Parameters:
path - Sprite map to get available index from.
Returns:
Assigned sprite index to use.

isGUIOpen

public static boolean isGUIOpen(java.lang.Class<? extends cb> gui)
Use this method to check if GUI is opened for the player.

Parameters:
gui - The type of GUI to check for. If null, will check for any GUI.
Returns:
true if GUI is open.

isModLoaded

public static boolean isModLoaded(java.lang.String modname)
Checks if a mod is loaded.

Parameters:
modname - Name of the mod to check for.
Returns:
Returns true if a mod with supplied name exists in the mod list.

OpenModGUI

public static void OpenModGUI(fd player,
                              java.lang.Class<? extends cb> guiclass,
                              java.lang.Object instance)
Opens GUI for use with mods.

Parameters:
player - Player instance to open GUI for.
guiclass - Class of the GUI to open.
instance - Used for identifying which mod this call is for. Allows for passing extra data to GUI.
See Also:
BaseMod.OpenModGUI(fd, java.lang.Class, java.lang.Object)

PopulateChunk

public static void PopulateChunk(bo generator,
                                 int chunkX,
                                 int chunkZ,
                                 dt world)
Used for generating new blocks in the world.

Parameters:
generator - Generator to pair with.
chunkX - X coordinate of chunk.
chunkZ - Z coordinate of chunk.
world - World to generate blocks in.
See Also:
BaseMod.GenerateSurface(dt, java.util.Random, int, int), BaseMod.GenerateNether(dt, java.util.Random, int, int)

RegisterAllTextureOverrides

public static void RegisterAllTextureOverrides(hf texCache)
Processes all registered texture overrides.

Parameters:
texCache - Reference to texture cache.

RegisterGUI

public static void RegisterGUI(BaseMod mod,
                               java.lang.Class<? extends cb> gui)
Assigns the given GUI class to a mod.

Parameters:
mod - to handle GUI
gui - to be handled

RegisterBlock

public static void RegisterBlock(qk block)
Adds block to list of blocks the player can use.

Parameters:
block - to add.

RegisterBlock

public static void RegisterBlock(qk block,
                                 java.lang.Class<? extends bm> itemclass)
Adds block to list of blocks the player can use. Includes the item to use for block.

Parameters:
block - to add.
itemclass - Class to use for block item.

RegisterEntityID

public static void RegisterEntityID(java.lang.Class<? extends om> entityClass,
                                    java.lang.String entityName,
                                    int id)
Registers an entity ID.

Parameters:
entityClass - Class of entity to register.
entityName - The given name of entity. Used for saving.
id - Numeric ID of entity.

RegisterKey

public static void RegisterKey(BaseMod mod,
                               mk keyHandler,
                               boolean allowRepeat)
Use this to add an assignable key to the options menu. A max of four should be used at a time.

Parameters:
mod - The mod which will use this. 99% of the time you should pass "this".
keyHandler - reference to the key to register. Define this in your mod file.
allowRepeat - when true the command will repeat. When false, only called once per press.

RegisterAllKeys

public static mk[] RegisterAllKeys(mk[] originals)
Appends all mod key handlers to the given array and returns it.

Parameters:
originals - Array of the original keys.
Returns:
the appended array.

getUniqueBlockModelID

public static int getUniqueBlockModelID(BaseMod mod,
                                        boolean full3DItem)
Assigns a model id for blocks to use for the given mod.

Parameters:
mod - to assign id to.
full3DItem - if true the item will have 3D model created from RenderInvBlock(bw, qk, int, int), if false will be a flat image.
Returns:
assigned block model id.

RenderWorldBlock

public static boolean RenderWorldBlock(bw renderer,
                                       so world,
                                       int x,
                                       int y,
                                       int z,
                                       qk block,
                                       int modelID)
Renders a block in the world.

Parameters:
renderer - parent renderer. Methods and fields may be referenced from here.
world - to render block in.
x - XPos
y - YPos
z - ZPos
block - reference to block to render.
modelID - ID of block model to render.
Returns:
true if model was rendered.

RenderInvBlock

public static void RenderInvBlock(bw renderer,
                                  qk block,
                                  int metadata,
                                  int modelID)
Renders a block in inventory.

Parameters:
renderer - parent renderer. Methods and fields may be referenced from here.
block - reference to block to render.
metadata - of block. Damage on an item.
modelID - ID of block model to render.

RenderBlockIsItemFull3D

public static boolean RenderBlockIsItemFull3D(int modelID)
Determines how the block should be rendered.

Parameters:
modelID - ID of block model.
Returns:
true if block should be rendered using RenderInvBlock(bw, qk, int, int).

RegisterTileEntity

public static void RegisterTileEntity(java.lang.Class<? extends ll> tileEntityClass,
                                      java.lang.String id)
Registers a tile entity.

Parameters:
tileEntityClass - Class of tile entity to register.
id - The given name of entity. Used for saving.

RegisterTileEntity

public static void RegisterTileEntity(java.lang.Class<? extends ll> tileEntityClass,
                                      java.lang.String id,
                                      hb renderer)
Registers a tile entity.

Parameters:
tileEntityClass - Class of tile entity to register.
id - The given name of entity. Used for saving.
renderer - Tile entity renderer to assign this tile entity.

SetInGameHook

public static void SetInGameHook(BaseMod mod,
                                 boolean enable,
                                 boolean useClock)
Enable or disable BaseMod.OnTickInGame(net.minecraft.client.Minecraft)

Parameters:
mod - to set
enable - whether to add or remove from list
useClock - if true will only run once each tick on game clock, if false once every render frame

SetInGUIHook

public static void SetInGUIHook(BaseMod mod,
                                boolean enable,
                                boolean useClock)
Enable or disable BaseMod.OnTickInGUI(net.minecraft.client.Minecraft, cb)

Parameters:
mod - to set
enable - whether to add or remove from list
useClock - if true will only run once each tick on game clock, if false once every render frame

OnTick

public static void OnTick(net.minecraft.client.Minecraft game)
This method is called every tick while minecraft is running.

Parameters:
game - instance of the game class.

setPrivateValue

public static <T,E> void setPrivateValue(java.lang.Class<? super T> instanceclass,
                                         T instance,
                                         int fieldindex,
                                         E value)
                            throws java.lang.IllegalArgumentException,
                                   java.lang.SecurityException,
                                   java.lang.NoSuchFieldException
Used for setting value of private fields.

Type Parameters:
T - Type of instance.
E - Type of value.
Parameters:
instanceclass - Class to use with instance.
instance - Object to get private field from.
fieldindex - Offset of field in class.
value - Value to set.
Throws:
java.lang.IllegalArgumentException - if instance isn't compatible with instanceclass.
java.lang.SecurityException - if the thread is not allowed to access field.
java.lang.NoSuchFieldException - if field does not exist.

setPrivateValue

public static <T,E> void setPrivateValue(java.lang.Class<? super T> instanceclass,
                                         T instance,
                                         java.lang.String field,
                                         E value)
                            throws java.lang.IllegalArgumentException,
                                   java.lang.SecurityException,
                                   java.lang.NoSuchFieldException
Used for setting value of private fields.

Type Parameters:
T - Type of instance.
E - Type of value.
Parameters:
instanceclass - Class to use with instance.
instance - Object to get private field from.
field - Name of the field.
value - Value to set.
Throws:
java.lang.IllegalArgumentException - if instance isn't compatible with instanceclass.
java.lang.SecurityException - if the thread is not allowed to access field.
java.lang.NoSuchFieldException - if field does not exist.

ThrowException

public static void ThrowException(java.lang.String message,
                                  java.lang.Throwable e)
Used for catching an error and generating an error report.

Parameters:
message - Title of error report.
e - Exception to report.