@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface Mod
FMLEvent
at pre-defined times during the loading of the game, based on where you have applied the Mod.EventHandler
annotation.
This annotation is usually paired with a second annotation NetworkMod
, which declares the
network related properties of this mod.
This is a simple example of a Mod. It has the modId of "MyModId", the name of "My example mod", it is
version 1.0, and depends on FML being loaded. It has the NetworkMod
annotation as well, declaring it uses channel
"MyModChannel" and IPacketHandler
class PacketHandler.
package mymod;
// Declare that this is a mod with modId "MyModId", name "My example mod", version "1.0" and dependency on FML.
{@literal @}Mod(modId="MyModId",name="My example mod",version="1.0",dependencies="required-after:FML")
// Declare that this is a network mod using the {@link Packet250CustomPayload} channel "MyModChannel", required on the client if it's present
// on the server, with {@link IPacketHandler} class PacketHandler.
{@literal @}NetworkMod(channels = { "MyModChannel" }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
public class MyMod {
// Populate this field with the instance of the mod created by FML
{@literal @}Instance("MyModId")
public MyMod instance;
// Mark this method for receiving an {@link FMLEvent} (in this case, it's the {@link FMLPreInitializationEvent})
{@literal @}EventHandler public void preInit(FMLPreInitializationEvent event)
{
// Do stuff in pre-init phase (read config, create blocks and items, register them)
}
}
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
modid
The unique mod identifier for this mod
|
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
acceptedMinecraftVersions
The acceptable range of minecraft versions that this mod will load and run in
The default ("empty string") indicates that only the current minecraft version is acceptable.
|
java.lang.String |
asmHookClass
Deprecated.
|
java.lang.String |
bukkitPlugin
An optional bukkit plugin that will be injected into the bukkit plugin framework if
this mod is loaded into the FML framework and the bukkit coremod is present.
|
java.lang.String |
certificateFingerprint
Specifying this field allows for a mod to expect a signed jar with a fingerprint matching this value.
|
Mod.CustomProperty[] |
customProperties
A list of custom properties for this mod.
|
java.lang.String |
dependencies
A simple dependency string for this mod (see modloader's "priorities" string specification)
|
java.lang.String |
modLanguage
The language the mod is authored in.
|
java.lang.String |
name
A user friendly name for the mod
|
boolean |
useMetadata
Whether to use the mcmod.info metadata by default for this mod.
|
java.lang.String |
version
A version string for this mod
|
public abstract java.lang.String modid
public abstract java.lang.String name
public abstract java.lang.String version
public abstract java.lang.String dependencies
public abstract boolean useMetadata
public abstract java.lang.String acceptedMinecraftVersions
public abstract java.lang.String bukkitPlugin
BukkitPluginRef
annotation on fields.
This may be implemented by a bukkit integration. It is not provided with vanilla FML or MinecraftForge.public abstract java.lang.String certificateFingerprint
FMLFingerprintViolationEvent
event firing prior to any other event on the mod.public abstract java.lang.String modLanguage
@Deprecated public abstract java.lang.String asmHookClass
Mod
to do with what it will.IASMHook
.public abstract Mod.CustomProperty[] customProperties