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.4

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 AddAllRenderers(java.util.Map<java.lang.Class<? extends pb>,be> renderers)
          Used to add all mod entity renderers.
static void addAnimation(ai 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 AddRecipe(hi output, java.lang.Object... params)
          Add recipe to crafting list.
static void AddShapelessRecipe(hi output, java.lang.Object... params)
          Add recipe to crafting list.
static void AddSmelting(int input, hi output)
          Used to add smelting recipes to the furnace.
static void AddSpawn(java.lang.Class<? extends jm> entityClass, int weightedProb, je spawnList)
          Add entity to spawn list for all biomes except Hell.
static void AddSpawn(java.lang.Class<? extends jm> entityClass, int weightedProb, je spawnList, ig... biomes)
          Add entity to spawn list for selected biomes.
static void AddSpawn(java.lang.String entityName, int weightedProb, je spawnList)
          Add entity to spawn list for all biomes except Hell.
static void AddSpawn(java.lang.String entityName, int weightedProb, je spawnList, ig... biomes)
          Add entity to spawn list for selected biomes.
static boolean DispenseEntity(eb world, double x, double y, double z, float xVel, float zVel, hi item)
          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 cf> 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 java.awt.image.BufferedImage loadImage(ho texCache, java.lang.String path)
          Loads an image from a file in the jar into a BufferedImage.
static void OnTick(net.minecraft.client.Minecraft game)
          This method is called every tick while minecraft is running.
static void OpenGUI(fm player, cf gui)
          Opens GUI for use with mods.
static void PopulateChunk(bs generator, int chunkX, int chunkZ, eb world)
          Used for generating new blocks in the world.
static mz[] RegisterAllKeys(mz[] originals)
          Appends all mod key handlers to the given array and returns it.
static void RegisterAllTextureOverrides(ho texCache)
          Processes all registered texture overrides.
static void RegisterBlock(ra block)
          Adds block to list of blocks the player can use.
static void RegisterBlock(ra block, java.lang.Class<? extends bq> itemclass)
          Adds block to list of blocks the player can use.
static void RegisterEntityID(java.lang.Class<? extends pb> entityClass, java.lang.String entityName, int id)
          Registers an entity ID.
static void RegisterKey(BaseMod mod, mz keyHandler, boolean allowRepeat)
          Use this to add an assignable key to the options menu.
static void RegisterTileEntity(java.lang.Class<? extends ma> tileEntityClass, java.lang.String id)
          Registers a tile entity.
static void RegisterTileEntity(java.lang.Class<? extends ma> tileEntityClass, java.lang.String id, hk renderer)
          Registers a tile entity.
static void RemoveSpawn(java.lang.Class<? extends jm> entityClass, je spawnList)
          Remove entity from spawn list for all biomes except Hell.
static void RemoveSpawn(java.lang.Class<? extends jm> entityClass, je spawnList, ig... biomes)
          Remove entity from spawn list for selected biomes.
static void RemoveSpawn(java.lang.String entityName, je spawnList)
          Remove entity from spawn list for all biomes except Hell.
static void RemoveSpawn(java.lang.String entityName, je spawnList, ig... biomes)
          Remove entity from spawn list for selected biomes.
static boolean RenderBlockIsItemFull3D(int modelID)
          Determines how the block should be rendered.
static void RenderInvBlock(ca renderer, ra block, int metadata, int modelID)
          Renders a block in inventory.
static boolean RenderWorldBlock(ca renderer, tk world, int x, int y, int z, ra 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, cf)
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)

AddAllRenderers

public static void AddAllRenderers(java.util.Map<java.lang.Class<? extends pb>,be> 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, be>)

addAnimation

public static void addAnimation(ai 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.

AddRecipe

public static void AddRecipe(hi output,
                             java.lang.Object... params)
Add recipe to crafting list.

Parameters:
output - ItemStack to create.
params - The recipe. First one to three params should be strings representing the layout of the recipe. Each string should be up to three letters. Following that is a pair of Character and Item, Block, or ItemStack references. The Character should match the one used in first three params.

AddShapelessRecipe

public static void AddShapelessRecipe(hi output,
                                      java.lang.Object... params)
Add recipe to crafting list.

Parameters:
output - ItemStack to create.
params - The recipe. An array of Item, Block, or ItemStack references.

AddSmelting

public static void AddSmelting(int input,
                               hi 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.

AddSpawn

public static void AddSpawn(java.lang.Class<? extends jm> entityClass,
                            int weightedProb,
                            je spawnList)
Add entity to spawn list for all biomes except Hell.

Parameters:
entityClass - Class of entity to spawn.
weightedProb - Higher number means more likely to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.

AddSpawn

public static void AddSpawn(java.lang.Class<? extends jm> entityClass,
                            int weightedProb,
                            je spawnList,
                            ig... biomes)
Add entity to spawn list for selected biomes.

Parameters:
entityClass - Class of entity to spawn.
weightedProb - Higher number means more likely to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.
biomes - Array of biomes to add entity spawning to.

AddSpawn

public static void AddSpawn(java.lang.String entityName,
                            int weightedProb,
                            je spawnList)
Add entity to spawn list for all biomes except Hell.

Parameters:
entityName - Name of entity to spawn.
weightedProb - Higher number means more likely to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.

AddSpawn

public static void AddSpawn(java.lang.String entityName,
                            int weightedProb,
                            je spawnList,
                            ig... biomes)
Add entity to spawn list for selected biomes.

Parameters:
entityName - Name of entity to spawn.
weightedProb - Higher number means more likely to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.
biomes - Array of biomes to add entity spawning to.

DispenseEntity

public static boolean DispenseEntity(eb world,
                                     double x,
                                     double y,
                                     double z,
                                     float xVel,
                                     float zVel,
                                     hi item)
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.
item - Item to chosen to dispense entity.
Returns:
true if item was handled.
See Also:
BaseMod.DispenseEntity(eb, double, double, double, float, float, hi)

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.

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(ca, ra, int, int), if false will be a flat image.
Returns:
assigned block model id.

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 cf> 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.

loadImage

public static java.awt.image.BufferedImage loadImage(ho texCache,
                                                     java.lang.String path)
                                              throws java.lang.Exception
Loads an image from a file in the jar into a BufferedImage.

Parameters:
texCache - Reference to texture cache.
path - Path inside the jar to the image (starts with /).
Returns:
Loaded image to override with.
Throws:
java.lang.Exception

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.

OpenGUI

public static void OpenGUI(fm player,
                           cf gui)
Opens GUI for use with mods.

Parameters:
player - Player instance to open GUI for.
gui - Instance of GUI to open for player.

PopulateChunk

public static void PopulateChunk(bs generator,
                                 int chunkX,
                                 int chunkZ,
                                 eb 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(eb, java.util.Random, int, int), BaseMod.GenerateNether(eb, java.util.Random, int, int)

RegisterAllKeys

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

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

RegisterAllTextureOverrides

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

Parameters:
texCache - Reference to texture cache.

RegisterBlock

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

Parameters:
block - to add.

RegisterBlock

public static void RegisterBlock(ra block,
                                 java.lang.Class<? extends bq> 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 pb> 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,
                               mz 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.

RegisterTileEntity

public static void RegisterTileEntity(java.lang.Class<? extends ma> 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 ma> tileEntityClass,
                                      java.lang.String id,
                                      hk 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.

RemoveSpawn

public static void RemoveSpawn(java.lang.Class<? extends jm> entityClass,
                               je spawnList)
Remove entity from spawn list for all biomes except Hell.

Parameters:
entityClass - Class of entity to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.

RemoveSpawn

public static void RemoveSpawn(java.lang.Class<? extends jm> entityClass,
                               je spawnList,
                               ig... biomes)
Remove entity from spawn list for selected biomes.

Parameters:
entityClass - Class of entity to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.
biomes - Array of biomes to add entity spawning to.

RemoveSpawn

public static void RemoveSpawn(java.lang.String entityName,
                               je spawnList)
Remove entity from spawn list for all biomes except Hell.

Parameters:
entityName - Name of entity to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.

RemoveSpawn

public static void RemoveSpawn(java.lang.String entityName,
                               je spawnList,
                               ig... biomes)
Remove entity from spawn list for selected biomes.

Parameters:
entityName - Name of entity to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.
biomes - Array of biomes to add entity spawning to.

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(ca, ra, int, int).

RenderInvBlock

public static void RenderInvBlock(ca renderer,
                                  ra 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.

RenderWorldBlock

public static boolean RenderWorldBlock(ca renderer,
                                       tk world,
                                       int x,
                                       int y,
                                       int z,
                                       ra 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.

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, cf)

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

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.