Mod

This article is about unofficial game customization via direct modifications. For the official modding API in Bedrock Edition, see Add-on. For the similar mechanism in Java Edition, see Data pack.
The contents of this page are not supported by Mojang Studios or the Minecraft Wiki.
 
Articles about specific mods are out of scope in the Minecraft Wiki.
 
Under MCW:Notability § Community guidelines, articles about client or server mods are not allowed to be created in the content namespace. This article is for general information about mods only, not descriptions of specific mods.
  • These guidelines do not apply to articles in the project namespace, such as Minecraft Wiki:Hey Wiki mod.
  • For more information about mods, please see the § See also section of this page.
The definition of the term "mod" is disputed.
 
The term "mod" for the purposes of this article refers exclusively to modifications of the game's source code. The notion of modifying the game's content can apply more generally to resource packs, data packs, and add-ons. Please see this article's talk page for discussion.
The Aether, a popular mod released in 2011, originally created by kingbdogz, now working in Mojang Studios as a game designer.

A mod (short for modification) is a piece of unofficial code that is injected into the game for the purpose of modifying its behavior. They can be used to enhance the game by means ranging from fixing bugs, adjusting core mechanics, to completely revamping the way the game is played with unique features.

Overview

Mods are used by the community to create unique experiences from the base game, such as changing the look and feel of the game, giving players more options and customization, or expanding the game with entirely new progression and mechanics. They have control on many aspects of the game such as the physics, graphics, user interface, and various gameplay features. They can add or modify custom features like entities, items, blocks, world generation, and dimensions.

Some mods are used as utilities to improve upon the game while being close to vanilla. They can bring various optimization and performance improvements, making the game run faster and improving accessiblity for everyone. They can also fix many gameplay bugs from the original game, most notably, a significant amount of item duplication bugs.

Mods usually work for specific release versions of the game. When the game is updated, the mod must also be updated accordingly, otherwise, it may no longer work for future versions.[1]

Modding support

Java Edition is written in Java and runs on the JVM, which for technical reasons makes creating mods relatively easy. Due to this, a prolific modding scene exists for that edition. Bedrock Edition is written in C++ and runs as native code, which makes it technically challenging to mod. Mods for that edition exist, but are much less common and less complex, both due to technical challenges, and other reasons such as low interest from the community and add-ons providing official means of adding content to the game.

In Java Edition, a mod loader is used to inject modifications into the game. They serve as an intermediary between the game's and mods' code, providing API and tools for developers to create new mods, and supporting multiple mods loading simultaneously while keeping them compatible to each other. There are multiple well-known mod loaders, such as Forge, Fabric, Quilt, and NeoForge, each of them supporting different API for developing mods. Because of this, mods designed for specific mod loader are not likely interoperable with another mod loader, and vice versa.

Add-ons serve as the official modding API in Bedrock Edition, they can add new content and modify existing features and customizations in the game. In comparison to Java Edition mods, add-ons may be limited in terms of features and customization, but are far more friendly and less complex for creators.[2] An official modding API was mentioned for Java Edition, called "Plugin API" (dubbed "Workbench"), but was subsequently abandoned, with no further mentions or developments of it after Java Edition 1.9 (see Mentioned features § Workbench (Plugin API)).

In Bedrock Edition 1.21.20, Mojang Studios removed debug information (bedrock_server.pdb file) from Bedrock Dedicated Server, making modding more difficult for Bedrock Edition.[3]

While there are other ways to change the experience of Minecraft, such as resource packs and data packs, these are part of the vanilla game and usually not considered mods.

Integration with data packs

This feature is exclusive to Java Edition.
 

Historically, the modification of features such as advancements, enchantments, dimensions, or world generation have required the usage of mods. However, in later versions of the game, the additions and expansions of data packs and resource packs have allowed several of these features to be implemented into the game without any modification of or addition to the game's code. Most modern mod loaders allow data packs and resource packs to be included alongside a mod to provide additional data and resources, such as models or recipes.[4]

Types of mods

"Fabric" redirects here. For the in-game block, see Wool.
This feature is exclusive to Java Edition.
 
Minecraft can be made to look very different with the addition of shader packs and world generation mods.

Client-based

Client mods are direct modifications of the Minecraft game files. They control and add custom content for mobs, particles, items, and blocks, such as models, sounds, textures, and GUIs, but require the server to implement the game mechanics behind them (see § Server-based). They usually modify the client software, or client.jar file.

Functional client mods like Sodium and OptiFine modify and enhance client side features of the game, such as graphics fidelity and rendering, while not adding or changing any gameplay features, making them perfectly compatible with vanilla server without any modifications.

Server-based

Server mods are modifications to the official Minecraft server software. They control features that are handled exclusively in the server, primarily the game mechanics, such as physics, mob AI, chat, commands, player interactions (e.g. crafting, smelting, opening chests or inventory, block placement and destruction), world generation, and much more. They cannot control client side features, and are limited in terms of custom content. Most mods are installed together on the server and client side, allowing for more freedom and complete game customization.

Server mods are commonly used to enhance server administration with more functionality and ease of use. They can provide tools to protect against griefing and cheating, implement tiered privileges for commands, automate server backup, monitor server performance, optimize gameplay features, and more. Most server mods are compatible with vanilla client, without requiring the same modifications on their end (see semivanilla). Most multiplayer minigames, such as spleef, capture the flag, sky wars and bed wars, are implemented using server mods.

Server mods may be referred to as plugins, mainly on Spigot mod loader and its derivatives. Some are implemented as wrappers, which do not modify the server software directly, instead monitoring its output and sending commands to it, typically using the RCON protocol.

Shader pack

This section is about unofficial implementation of shader using game modifications. For official shader implementation in resource pack, see Shader.

A shader pack is a client mod used to alter the visuals and looks of Minecraft. They primarily change the game's graphics, and enhance it by adding shadows, lightnings, reflections, and other customization. Shader packs require a mod designed to load them, such as Iris Shaders or OptiFine. When combined with resource pack, shader packs can drastically transform the game's appearance, allowing players to customize into different styles and settings like medieval, realistic, cinematic, and cartoonish.

Additionally, resource pack can include custom material data loaded by shader packs for use in physically based rendering (PBR). Modern shader packs can implement path tracing and global illumination (GI) for Minecraft, most notably, SEUS PTGI and Continuum RT have done this.

Mod pack

A mod pack is a collections of mods that have been put together and configured so that they work together. Mod packs are often centered around a general theme like tech, quests, or magic. Mod packs often have either custom launchers or installers that make installing and running the mod pack easy. Some of the most popular mod packs include Feed The Beast, Tekkit, RLCraft, and Hexxit.

In addition to making it easy to install mod pack clients, certain launchers can also download server mod packs.

Modded flag

This feature is exclusive to Java Edition.
 

If Minecraft crashes, a modified game is flagged in the crash report. This is possible by first checking the client or server brand is vanilla branded, then verifying if the Java class (where the game crashed from) is signed from a signature file, which is stored on the META-INF directory with .SF file extension in the JAR archive.[5][6] These checks are done on both client.jar and server.jar files.

The signature file that comes from the vanilla build of the game is named MOJANGCS.SF, and stored on the META-INF directory like any other signature files. The creator of the signature file is listed as Microsoft.[7]

The crash report text includes one of these lines near the bottom:

  • Is Modded: Probably not. <environment> jar signature and brand is untouched – the environment (either client or server) brand is unaltered and the signature file is validated.[note 1]
  • Is Modded: Very likely; <environment> jar signature invalidated – the environment (either client or server) is unaltered but the signature file is invalidated.[note 1]
  • Is Modded: Definitely; <environment> brand changed to <custom brand> – the environment (either client or server) brand is changed to a custom brand specified by the mod loader, such as 'fml,forge', 'modloader', or 'fabric', which are for Forge, Risugami's Modloader, and Fabric respectively. However, the game does not check the signature file any futher.

A shortened example crash report is given below:

  1. a b The only validation the game does is checking if a signature file exists, regardless from Microsoft or third-party; that means technically, the signature file could be replaced or added by another one resulting in a false positive.

See also

  • Add-ons, a feature in Bedrock Edition that allows modders to more easily add content to the game.
  • Data packs and resource packs, features in Java Edition which allow the addition of specific content to the game without the use of code modification.
  • Programs and editors/Modding showcases tools for installing and making mods.
  • Feed The Beast Wiki for looking up information about specific mods.
  • MCW:Hey Wiki § Supported wikis for a list of wikis for specific mods.
  • Minecraft modding on Wikipedia, which includes extensive history of Minecraft modding, from alpha to release era.
  • ModJam, a form of community event where participants create fan-made content for Java Edition within a set period of time. Typically focuses on mod-related content, but maps, resource packs, and mod packs have all been included to various degrees.

Trivia

  • The Aether, a popular mod released in 2011,[8] was referenced in an April Fools 2023 update, where players would be able to build the other portal out of glowstone and water, with striking similarity to the Aether portal. In the mod, players can transport to a Heaven-like dimension using the portal, serving as a counterpart to the Nether's hellish environment accessed through an obsidian and fire portal. In its heyday, the mod was easily one of the most popular and iconic Minecraft mods, leading some players to believe it was actually in vanilla Minecraft.[9]
    • A sky dimension similar to the Aether had been planned at some point in Minecraft development, but was ultimately abandoned in favor of The End dimension.[10][11][12] It was commonly referred to as "Skylands" dimension by the developers and community.[13][14]
    • While the developer of the Aether mod, Brandon Pearce (also known as kingbdogz), has actually been hired by Mojang Studios, there are currently no plans to add any new dimension to Minecraft, sky dimension or otherwise,[15] as adding a new dimension would divert attention away from fleshing out the existing ones.

Gallery

Historical screenshots

References

  1. "Minecraft's new faster update schedule will probably fill modders with both despair and nostalgia" by Edwin Evans-Thirlwell – Rock Paper Shotgun, September 11, 2024.
  2. "Minecraft: Java Edition vs Bedrock Edition" by Wesley Copeland – PC Gamer, February 27, 2024.
  3. "Did Mojang Just Remove Modding For Minecraft Bedrock?" (§ Minecraft Bedrock 1.21.20 Update) by Nathan Young – Apex Hosting, August 15, 2024.
  4. "Custom Data/Resource pack Resources" – Fabric Wiki.
  5. The checks can be seen on ModCheck class (Mojang mapping)
  6. "Jarsigner - Signing Your JARs" (§ The Signed JAR File) by Oracle and/or its affiliates – Dev.java, September 14, 2021.
  7. The Created-By entry of client.jar/META-INF/MOJANGCS.SF file.
  8. "Popular Minecraft Mod Gets Update for Modern Versions" by Bruna Telles – Game Rant.
  9. "Minecraft Redditor draws the Aether portal betrayal" by Akshat Kabra – Sportskeeda, 2022-06-03.
  10. "And because PC Gamer made such a big deal of the sky dimension, I guess I'll have to finish it. Consider it confirmed."@notch (Markus Persson) on X (formerly Twitter), May 19, 2011
  11. "It has been rebranded to be The End realm"@jeb_ (Jens Bergensten) on X (formerly Twitter), October 12, 2011
  12. "Probably, yes. :D I love the idea. The Ether mod does it great, try it."@notch (Markus Persson) on X (formerly Twitter), November 10, 2011
  13. "Notch Answers Minecraft 1.8 Questions - Community Questions for Markus (Notch) Persson" – OmniTechNews on YouTube, September 1, 2011
  14. "We have no plans to revisit the skylands"@Dinnerbone (Nathan Adams) on X (formerly Twitter), July 3, 2012
  15. "No we don't plan to return the Sky Dimension"@jeb_ (Jens Bergensten) on X (formerly Twitter), July 2, 2012

External links

Navigation