Mods



Mods (short for modifications) are anything that changes Minecraft's game content from what it originally was. Mods are becoming increasingly popular and in-depth, adding whole new experiences and goals to the game.

Purpose of mods
Most mods in Minecraft add content to the game to alter gameplay, change the creative feel, or give the player more options in how they interact with the Minecraft world. Most people who mod Minecraft use Mod Coder Pack to do so. Some may be bigger expansions, such as the Aether mod, which adds a significant amount of new content to the game, such as new blocks, mobs, abilities of the player(s), and items to create and use. Other mods add more settings and options to optimizing speed, graphics, or gameplay of the game. Others, such as MystCraft and Portal Gun, bring another game's features and experiences into Minecraft. Others are "Toy mods" that bring another less useful but entertaining and playful experience to Minecraft. Other mods still can make the game harder or easier. Server mods or plugins mainly give server admins more options and ease of use, and most mods for single-player have a server version that allows or optimizes the mod in multiplayer. Ideally, the creator of a mod updates the mod whenever the game updates - bringing more content, bug fixes, or optimizations. Otherwise, the mod may not work with a newer version. Many in the community appreciate the additional experience and ease of use that come with mods, while others play the original game with only the original content. Minecraft mods are generally safe to install, but one should exercise caution with mods to prevent crashes, deletion of game or save data, system instability, or potential malware infections from a bad link or the mod itself. A useful way to protect your game from such problems, is to back up various files, such as the .minecraft folder, if you choose to use mods. There are many mods or plugins available to complement the original game or give server admins more options and control over their servers.

Mods and bugs
If you install a mod, no matter how simple, it may stop the game from working properly. If that happens, there may not be much point reporting bugs on the bug tracker, because Mojang does not support modified versions of the game. If you encounter a problem while using mods and want to report it, first remove all of your mods and see if the problem still happens. To use an unmodded version you must go to "Edit Profile" in the launcher, choose a version, and then log in. If the problem continues to happen, it can be reported on the bug tracker. Otherwise, try to reproduce the problem with the fewest possible number of mods, and then report the problem to the author(s) of those mods; Mojang won't be able to help.

If Minecraft crashes, a modified game is flagged in the crash report. The following link explains how to obtain a crash report. (Note: If your Minecraft has never crashed, following those instructions won't find anything.)

The crash report text will include a line near the top which will say one of:

Is Modded: Probably not: java signature is still present Is Modded: Very likely Is Modded: Definitely: java signature changed to (present loader, such as forge or modloader)

A shortened example crash report is given below:

undefined

The code that checks for mods is fairly simple, and it's not always correct; it may say 'probably not' even with mods installed. However, it's very difficult to get the 'very likely' message if you haven't modified minecraft.jar somehow, so that's essentially a 'yes'. There's also a 'definitely' message, seen when a Bukkit server crashes and possibly under other similar conditions, like with the Minecraft Forge API installed.

'Probably not' appears when the client/server brand appears to the in-game check to be unaltered (often termed 'vanilla') and the META-INF folder is still there. 'Very likely' appears when the META-INF folder is not present but the client/server brand seems to be vanilla. 'Definitely' plus the client name appears when the client is not vanilla. For example, you might see something like:

Is Modded: Definitely: java signature changed to forge.API

Official Plugin API
The Plugin API is an upcoming feature that allows modders to easily add more content to the game. For more information, see the above link.

How to install mods
The above links provide comprehensive guides on how to install mods using Modloader and Minecraft Forge. Some mod packs have auto-installers that make adding mods to Minecraft extremely easy for the beginner modder. If you are an advanced modder you would know that it also involves extracting and adding modified files manually which create a different feel or certain type of gameplay to Minecraft.

How to create mods
The above link will try to assist in how to create mods, including the usage of APIs.

Modding programs and editors
The above link gives showcases tools for installing and making mods.

Client mods
Client mods are modifications to your game files themselves. They are not custom clients, and they require modification of minecraft.jar. Like high resolution textures, they only work with the launchers, and won't work if you play through a browser.

As the Minecraft server software will ignore custom content from client side, most of the client mods which add new content to the game do not work in SMP unless a modification has also been installed on the server. Some authors of client mods have made server versions of their mods available, and others have not. A few of the Loader/API type client mods (e.g. ModLoader and AudioMod) and many of the functional client mods (e.g. Optifine, Rei's Minimap and TooManyItems) have effect in SMP straight away, without any modification on server side.

Mod list on Minecraft Forums

Server mods
Server mods are modifications to the official Minecraft server software.

Server mods are commonly designed to make administration of servers easier by implementing tiered privileges for commands (such as kicking, banning etc.). They are frequently implemented as "wrappers" which do not actually modify the main server .jar file, instead monitoring its output and sending commands to it.