Minecraft modding

From Kiiw
Revision as of 22:17, 3 October 2023 by minecraft>Ferret (Reverted 2 edits by CowHasIceCream (talk): Unexplained removal of sourced content + addition of unsourced content.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Short description

Template:More citations needed Template:Use dmy dates

A Minecraft mod is an independent, user-made modification to the open world sandbox game Minecraft. There are many of these mods,<ref name="Cadenhead1">Cadenhead 2014, p. 367</ref> and users are able to download them from the Internet, for the most part for free. Utilizing additional software, several mods can be used at the same time in order to improve the gameplay.<ref name="Escapist">Template:Cite web</ref><ref name="PUGalacticraft">Van Schaik and Vledder 2015, p. 107</ref>

Minecraft mods are available for computer and mobile versions of the game, but legacy console versions cannot be modded with practical methods.<ref name="MetroConsoles">Template:Cite web</ref><ref name="GigaPEModding">Template:Cite web</ref><ref name="PcGamesMarketplace">Template:Cite web</ref>

Feasibility

Minecraft is a video game particularly known for its adaptability for modifications.<ref name="PCMagHowto">Template:Cite web</ref> Over the course of many years, various independent programmers have taken advantage of that in order to either create additional content for the game or modify existing content for the game. These modifications are more commonly known as "mods".<ref name="PCMagHowto" /><ref name="MercuryNews">Template:Cite web</ref>

The Java Edition of Minecraft (available for Windows, macOS, and Linux) can be modded via the client or server.<ref name="PCWorldInstalling">Template:Cite web</ref> Client-side mods require the player to add files to their game folder and use a mod launcher/loader such as Forge.<ref name="ChipMods">Template:Cite web</ref><ref name="EngadgetHowTo">Template:Cite web</ref> Server modding leaves the player's game folder untouched and only changes the behavior of the server, to which the player can log on in order to play a slightly varied game.<ref name="PCWorldInstalling" /> Client mods can change the behavior and appearance of any aspect of the game, and commonly add new blocks, items, mobs, vehicles, and even dimensions. Server mods (commonly referred to as plugins) can add minigames, anti-cheat, or login systems.

Client mods can result in loss of performance (due to generally heavy resource demands) on older or weaker computers,<ref name="Guardian">Template:Cite web</ref> especially if the player combines many mods together into a "modpack". Modifications to the Java Edition of Minecraft are possible because, for each new version of the game, the community reverse-engineers MinecraftTemplate:'s source code, which is written in Java, to make these modifications.<ref>Template:Cite book</ref> Mojang and Microsoft provide no modding API for the Java edition, although Mojang does provide methods for deobfuscating the game.

Modding for the mobile and console versions of Minecraft on the Bedrock codebase is different as those versions are written in C++ rather than Java.<ref name="ViceModding">Template:Cite web</ref><ref name="MicrosoftDifferences">Template:Cite web</ref> Players who wish to mod their game on Bedrock codebase versions have a simpler process due to the version's built-in official support for "add-ons", which can be installed faster and easier than Java Edition mods and do not require external mod loaders. However, addons in Bedrock Edition have less flexibility and features because they can only modify features that Mojang explicitly allows and exposes.

Data packs

Minecraft also provides a feature known as "data packs" (introduced in update 1.13)<ref>Template:Cite web</ref> which allow players or server operators to provide additional features or content into the game by the use of a limited API that can be interacted with by using a data pack.<ref name=":0">Template:Cite web</ref> This system built upon the idea provided by the resource pack system that already existed and allowed players to customize the game's visuals and sounds.

While data packs are more limited in scope than full mods are, they do not require the installation of third-party launchers as the features are supported by the base game. New commands and rules continue to be added to the data pack API as it is actively in development.

Producing a data pack involves creating a zip file containing JSON files in a structure which Minecraft will understand.<ref name=":0" /> Issues can also arise when multiple data packs are used at once if they all attempt to override the same file provided in the game's default data pack.

History

Template:Update section The first ever version of Minecraft was released in May 2009,<ref name="PcGamerFirstMoments">Template:Cite web</ref> but client-side modding of the game did not become popular in earnest until the game reached its alpha stage in June 2010. The only mods that were released during MinecraftTemplate:'s Indev and Infdev development stages were a few client-side mods that had minor changes to the game.Template:Citation needed

Alpha

With the release of Minecraft Alpha, the first server-side mods began to appear. One of them was hMod,<ref>Template:Cite web</ref> which added some simple but necessary tools to manage a server. Michael Stoyke, also known as Searge<ref>Template:Cite web</ref> (who would later go on to work for Mojang), created Minecraft Coder Pack (MCP).<ref>Template:Cite web</ref> This was later renamed to Mod Coder Pack, keeping the same acronym. MCP<ref>Template:Cite web</ref> (succeeded by MCP Reborn<ref>Template:Citation</ref>) was a tool that decompiled and deobfuscated Minecraft code. MCP would recompile and obfuscate new and changed classes, which could be injected into the game. However, if multiple mods modified the same base code, it could cause conflicts resulting in an error. To solve this problem, Risugami's Template:Sic<ref>Template:Cite web</ref> was created to prevent any conflicts from occurring due to multiple mods modifying the same base classes or game resources.

Beta

Towards the end of 2010, Minecraft was preparing to move into its beta development phase, and popular mods such as IndustrialCraft, Railcraft and BuildCraft were first released. As opposed to their predecessors, these mods had the potential added substantial new content and mechanics instead of simply tweaking minor aspects of it.<ref name="packtpub history">Template:Cite web</ref>

Bukkit, a server-side mod intended to replace CraftBukkit, a server software that implemented the Bukkit API, was also released, it allowed server owners to install plugins to modify the server's way of taking input and giving output to the player without players having to install client-side mods.Template:Citation needed

CurseForge, a website that hosts user-generated content for games, added forums and a section for Minecraft mods in mid-2011.<ref>Template:Citation</ref> At first, CurseForge mainly linked to Bukkit plugins hosted on Bukkit's website.<ref name=curseforge>Template:Citation</ref>

Release

File:@jeb talking at the modders panel @ MineCon 2012.jpg
In 2012, Mojang organized a panel on modding at MineCon 2012, where MinecraftTemplate:'s lead developer Jens Bergensten held a talk.

Around November 2011, the Forge Template:Sic and Minecraft Forge were released. Forge allowed players to be able to run several mods simultaneously, utilizing Mod Coder Pack mappings. A server version of Forge was also released, which allowed players to create modded servers. Forge ended the necessity to manipulate the base source code, allowing separate mods to run together without requiring them to touch the base source code. Forge also included many libraries and hooks which made mod development easier.<ref name="packtpub history" />

After Minecraft was fully released in November 2011, the game's modding community continued to grow.<ref name="packtpub history" /> In February 2012, Mojang hired developers of Bukkit to work on an official modding API, allowing mod developers easier access to the Minecraft game files.<ref name="ModdingAPIEurogamer">Template:Cite web</ref> Bukkit was then maintained by the community.

A fork of CraftBukkit, called zSpigot which was backward compatible with plugins started to be developed. In 2012, Spigot released a server software, called BungeeCord, made to link many servers together via a proxy "linking" server. BungeeCord had a separate plugin API from Spigot where Spigot plugins could work side by side. Many popular Minecraft servers use BungeeCord to link up Minecraft servers together.<ref>Template:Cite web</ref> A programmer by the name of "minecrafter"<ref name="WaterfallGit">Template:Cite web</ref> released a modified version of BungeeCord called Waterfall, which included optimizations that were not present in BungeeCord. This was later continued by Andrew Steinborn (Tux) when he created the Velocity proxy.<ref name="VelocityWebsite">Template:Cite web</ref>

In 2013, Forge would surpass Risugami's Template:Sic as it wasn't being updated in time by its developers.Template:Citation needed

In early 2014, a server software named Sponge was released with a very powerful plugin API compared to Bukkit and support for Forge mods. Sponge also introduced mixins, an alternative to modifying byte code.

Microsoft's acquisition

Template:Refimprove section Concern arose following Microsoft's acquisition of Mojang in mid 2014. Members of the modding community feared that MinecraftTemplate:'s new owners would put an end to Mojang's established practice of giving free rein to mod developers.<ref name="BloombergEdu">Template:Cite web</ref> Despite the concerns, Microsoft did not announce any changes to Mojang's policies, and modding was unaffected.<ref name="BloombergEdu" />

In April 2015, Microsoft announced that it was adding a Minecraft Mod Developer Pack to Microsoft Visual Studio, granting users of the application creation software an easier way to program Minecraft mods.<ref name="GeekVisualStudio">Template:Cite web</ref> Microsoft released the new pack open source and free of charge, amidst a drive to push towards more open source software.<ref name="GeekVisualStudio" /><ref name="MicrosoftOpenSource">Template:Cite magazine</ref>

A server software for 1.12.2 named Magma was released, which allowed using PaperMC plugins and Forge mods together.<ref>Template:Citation</ref>

On 4 July 2015 a "Windows 10" version of Minecraft was announced. This, unlike the previous versions, was to be programmed in C++.<ref name="ViceModding" /> This announcement sparked concern amongst the game's fanbase that the Java-based versions would end up being phased out entirely, which would hamper the production of mods as C++ is not as "reverse engineerable" as Java is known to be. However, Mojang developer Tommaso Chechi reassured fans on Reddit that modding was "too important" to Minecraft for the Java-based versions to be discontinued.<ref name="ViceModding" />

In April 2017, Mojang announced the upcoming creation of the Minecraft Marketplace, where players would be able to sell user-created content for the Windows 10 version of the game (Running on the Minecraft Bedrock codebase).<ref name="PcGamesMarketplace" /> This new digital store would specialize in adventure maps, skins, and texture packs. PC World noted that this addition would move the Windows 10 version "a bit closer to the moddable worlds familiar to classic players" of the original Java Edition.<ref name="PcWorldMarketplace">Template:Cite web</ref>

In 2018, Forge underwent a large rewrite, partially because of the large changes in Java Edition version 1.13 and to create a new long-term support system for upcoming versions.<ref>Template:Cite web</ref> This made many modders use 1.12.2 as their primary version.Template:Citation needed The Mod Coder Pack also stopped receiving updates past 1.12.2.

In December 2018, a new modding toolchain and mod loader called Fabric was released. Fabric aimed to be lightweight and modular. It devised its own set of free mappings to use instead of Forge's Mod Coder Pack mappings and supported Sponge's mixins. Unlike others, Fabric normally worked across different Minecraft versions, including development versions.<ref>Template:Citation</ref>

Template:As of, 21% of mods hosted on CurseForge have a Fabric version while 63 are Quilt-only.<ref>Template:Citation</ref> Meanwhile, 66.9% of mods hosted on Modrinth have a Fabric version while 21.5% are Quilt-only.<ref>Template:Citation</ref>

Mod content

File:Tinkers Construct smeltery.png
The mod Tinkers' Construct adds foundries to the game, which can be used to smelt raw metals into parts for custom-made tools and weapons.

The total number of Minecraft mods is difficult to calculate because of how numerous they are. One repository website, CurseForge, features over 100,000 mods Template:As of.<ref>Template:Cite web</ref>Template:Non-primary source needed

The types and sorts of content added by these modifications also take on many different forms.<ref name="PUGalacticraft" />

Technology mods are mods that adds an assortment of contraptions that can help the player to automate the production of certain in-game resources. Examples of technology-oriented mods include Extra Utilities, a mod that introduces various contraptions that can be used to generate power, and a random assortment of other blocks and items;Template:Cn Ender IO, a mod that adds several contraptions and a multitude of conduits to transport energy, items and fluids;Template:Cn BuildCraft, a classic mod known for its many variants of contraptions, pumps, and pipes;<ref name="TimeMods">Template:Cite magazine</ref><ref name="GamestarMods">Template:Cite web</ref><ref name="YahooMods">Template:Cite web</ref> and IndustrialCraft, a mod which adds metals, electric tools, generators (including nuclear reactors),<ref name="packtpub history" /><ref name="MakeUseOfMods">Template:Cite web</ref> jetpacks, powered armor, and nuclear items. Its power system also tries to mimic real-life electrical circuits in an intuitive way. <ref>Template:Cite web</ref>Template:Non-primary source needed

In addition to IndustrialCraftTemplate:'s metal weapons, other projects allow for an even wider range of available weaponry.

Flan's Mod has modern-style warfare; including guns, tanks and grenades.<ref name="PUGalactiFlansRei">Van Schaik and Vledder 2015, p. 113</ref><ref name="TimeMods" /><ref name="GamestarMods" /> Tinkers' Construct allows players to forge and customize their own tools and weapons, some involving a foundry or a forge.<ref name="RockPaperShotgun" /><ref name="USGamerMods" /><ref name="PCGamerMods" /><ref name="MakeUseOfMods" />

Other mods attempt to customize the natural elements in Minecraft, with mods like Natura and Forestry adding new trees and crops. The latter added multiblock automatic farms, beekeeping and butterfly-keeping.<ref name="PCGamerMods" /><ref name="MakeUseOfMods" /> Mo' Creatures, on the other hand, focuses rather on adding many animal species into Minecraft.<ref name="TimeMods" /><ref name="GamestarMods" /><ref name="PCMagMods">Template:Cite web</ref><ref name="PlaguerMods">Template:Cite web</ref>

Pixelmon supplements the game with monsters and mechanics such as battling, catching, and gyms from the Pokémon franchise.<ref>Template:Cite web</ref><ref name="RockPaperShotgun" /><ref name="ANNPixelmon">Template:Cite web</ref> Fossils & Archaeology provides for dinosaurs.<ref name="YahooMods" /><ref name="IGNMods">Template:Cite web</ref> CustomNPCs and Millenaire upgrade the game's NPC's.<ref name="ChipMods" /><ref name="USGamerMods">Template:Cite web</ref>

There are also mods that add new dimensions that can be visited by the player. Mods like Galacticraft and Advanced Rocketry allow players to build rockets in order to fly to the Moon and several planets, and collect their resources.<ref name="PUGalactiFlansRei" /><ref name="BlastrMods">Template:Cite web</ref> Twilight Forest<ref>Template:Cite web</ref> creates a dimension that enables players to explore a fantasy-style forest and hunt for treasures.<ref name="BlastrMods" /><ref name="USGamerMods" /><ref name="PCGamerMods">Template:Cite web</ref>

Not all mods will add gameplay elements, however. Others merely tweak the GUI, for example by adding a minimap.<ref name="ChipMods" /><ref name="PUGalactiFlansRei" /><ref name="PCMagMods" /><ref name="PlaguerMods" /> Others try to smoothen the game rendering, like OptiFine.<ref name="ChipMods" /><ref name="PCGamerMods" /><ref name="GamestarMods" /><ref name="PlaguerMods" /> Many allow the player to browse through all the items in both the base game and the player's mods and look up how to craft them, like JEI (Just Enough Items).<ref name="RockPaperShotgun" /><ref name="PCGamerMods" /><ref name="GamestarMods" /><ref name="YahooMods" />

OptiFine is the most popular<ref>Template:Cite web</ref>Template:Failed verification Minecraft mod. It decreases the computer resource usage of the game and adds support for installable “shader packs” to Minecraft. These shader packs can completely change the game's graphics by adding shadows, dynamic lights,Template:Failed verification reflective surfaces, and other effects. Some shaders are even beginning to implement more advanced features like ray tracing, physically based rendering, and parallax occlusion mapping into Java Edition.<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref> Most shaders are, however, very hardware-demanding.<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref>

Mods may also exist on multiplayer servers, called plugins, and a notable one is Towny, being used to create "towns" of claimed land and to group them into nations. This is a popular plugin, being used possibly most notably in servers like EarthMC and many others basing the server around it.Template:Cn

Reception

PC WorldTemplate:'s Nate Ralph calls installing mods for Minecraft "a somewhat convoluted process", but does admit it could serve the player who desires "a little more out of the experience" of playing the game.<ref name="PCWorldInstalling" />

Max Eddy of PC Magazine also raises a point concerning the process of setting up a game augmented with mods, claiming "it seems rather complicated" and that at first he was "too afraid to mod Minecraft at all", but learned to appreciate it when he realized that modding Minecraft is "pretty forgiving".<ref name="PCMag10best">Template:Cite web</ref> Eddy does nevertheless mention that he feels Mojang's fast development pace regarding the main game has slowed down the progress of the most popular mods.<ref name="PCMag10best" />

Similarly, Benjamin Abbott of Metro agrees that adding mods to Minecraft is "a thorough pain in the backside", though he concedes that "the result is usually worth it".<ref name="MetroConsoles" />

Minecraft mod Galacticraft was mod of the week in PC Gamer in July 2013.<ref name="PCGamer">Template:Cite web</ref>

At San Jose Mercury News, George Avalos claims that mods are definitely suited for "mainstream enthusiasts", but does warn that precaution must be taken in order to avoid downloading "dangerous and spammy software" when looking for Minecraft mods. Avalos also remarks that installing mods will probably require adult attention,<ref name="MercuryNews" /> even though Minecraft typically appeals to children.<ref name="Fox8children" />

Controversies

In 2013, the developer of GregTech, a mod aimed at increasing MinecraftTemplate:'s difficulty, noticed that some of GregTech's crafting recipes would be overwritten by another mod named "Tinkers' Construct" and deliberately inserted code into GregTech which would crash the game client if it detected any other mods. The authors of both mods later settled their dispute.<ref name="RockPaperShotgun" /><ref name="PcGamesGregTinkers">Template:Cite web</ref>

Another surrounded the mod Bukkit, an API which enabled others to install server-side mods.<ref name="Cadenhead2">Cadenhead 2014, p. 2</ref> In 2014, the leader of the Bukkit team, Warren "EvilSeph" Loo, a former Mojang employee, announced that development would cease, prompting Mojang to take over development.<ref name="AsModTurns">Template:Cite web</ref> With Mojang's announcement, the intellectual rights to the project became ambiguous.<ref name="packtpub history" /> Licensing conflicts arose between the original creators of Bukkit and Mojang's maintainers, largely revolving around who "owned" the project after the primary maintainers resigned. One major contributor pulled their code away from the project, forcing Bukkit to fall in a state of disrepair for a time.<ref name="ProgrammableWeb">Template:Cite web</ref><ref name="packtpub history" /><ref name="AsModTurns" />

Malware

Minecraft mods have been an attack vector of malware by downloading and running malicious mods.<ref>Template:Cite news</ref><ref name="Bleepingcomputer">Template:Cite web</ref>

In March 2017, Slovakian cyber company ESET revealed that 87 examples of trojan horse malware were distributed through the Google Play Store under the guise of Minecraft mods. Their purpose was to either display adverts or con players into downloading other apps. Combined, these fake mods gathered over 1,000,000 downloads in the first three months of early 2017.<ref name="TNHTrojans">Template:Cite web</ref><ref name="SCMTrojans">Template:Cite web</ref>

In June 2023, attackers gained access to popular mods and modpacks including "Better Minecraft" and created new releases which contained malware, dubbed "Fractureiser" after the Curseforge account that uploaded it.<ref name="Bleepingcomputer"/><ref>Template:Cite news</ref>

In July 2023, an arbitrary code execution vulnerability was found in several Forge-based Minecraft mods such as BdLib and EnderCore. The malware was named "BleedingPipe" by a Minecraft security community. It takes advantage of mods incorrectly using deserialization in the "ObjectInputStream" class. Although the vulnerability existed since 2017, a blog post by MMPA brought it mainstream, spreading its use before fixes could be made.<ref>Template:Cite news</ref><ref>Template:Cite news</ref>

Modpacks

Mods are sometimes grouped together in downloadable content called "modpacks". These can be easily downloaded and played by the user without requiring the player to have extensive knowledge on how to set up mods in the game.<ref name="RockPaperShotgun">Template:Cite web</ref><ref name="PUModpack">Van Schaik and Vledder 2015, p. 119</ref> Content creators use this to their advantage in order to allow mods to interact (alter the vanilla gameplay) so that a particular experience can be delivered,<ref name="TechradarModpacks">Template:Cite web</ref> often aided by throwing configuration files and custom textures into the mix.<ref name="Twitchhelp">Template:Cite web</ref><ref name="Cursesupport">Template:Cite web</ref>

The most popular modpacks can be downloaded and installed through custom launchers like Prism Launcher, FTB App, Technic Launcher, ATLauncher, and CurseForge's launcher.<ref name="Softonic">Template:Cite web</ref><ref name="TechradarModpacks" />

Official support

In 2012, Mojang said they were starting work on a repository for Minecraft modifications.<ref name="MojangHelp">Template:Cite web</ref> Their help website lists video tutorials that teach the player how to install and play Minecraft modifications.<ref name="MojangHelp" />

MinecraftTemplate:'s creator Markus "Notch" Persson admitted in 2012 that he was initially skeptical of mods, fearing that the user-made content would threaten his vision for the game.<ref name="NotchVG247">Template:Cite web</ref> Persson says he came around, as he claims to have realized that mods are "a huge reason of what Minecraft is".<ref name="NotchVG247" /> In some cases, authors of mods even ended up getting a job at Mojang,<ref name="GuardianHQTour">Template:Cite web</ref> and some in-game features, such as pistons and horses, were originally from mods.

In 2016, Mojang announced their official support for mods for the Bedrock version of Minecraft, where they are known as "add-ons".

Education

File:Minecraft in school.jpg
Minecraft is a game which is occasionally used in schools worldwide for educational purposes.

Minecraft mods are credited for being a gateway for children to pick up coding and programming.<ref name="verge">Template:Cite web</ref> Several educational projects have been created to further encourage students to learn coding through Minecraft, including LearnToMod,<ref name="Wired">Template:Cite magazine</ref> ComputerCraftEdu,<ref name="GamasutraTeaching">Template:Cite web</ref> and Minecraft: Pi Edition,<ref name="PiEdition">Template:Cite web</ref> all of which are offered free to teachers. Programming classes utilizing Minecraft were also started by the University of California, which aims to teach children aged 8–18 how to program applications.<ref name="Wired" /><ref name="Thoughtstem">Template:Cite web</ref><ref name="Fox8children">Template:Cite web</ref>

In 2011, "MinecraftEDU" was created as a paid mod sold to schools that enabled the teaching of a wider variety of subjects including language, history and art.<ref name="MinecraftEdu">Template:Cite web</ref> In January 2016, Microsoft bought it and turned it into a separate edition of Minecraft called "Minecraft: Education Edition".<ref name="Fox8children" />

In The Parent's Guidebook to Minecraft, author Cori Dusmann denotes that homeschooling and Minecraft make for an interesting match, as creating simple mods can be an "illustration of scientific principles," to which homeschooling providers are receptive.<ref name="ParentsGuidebook">Dusman 2013, p. 214</ref>

The idea of introducing Minecraft into school curriculums was resisted by Tom Bennett, who serves as an adviser to the British government. According to Bennett, Minecraft was a gimmick, and schools would do well to "drain the swamp of gimmicks" and resort to just books for teaching.<ref name="TimesMCEdu">Template:Cite web</ref> Bennett's condemnation was rebutted by a number of journalists for The Guardian, who thought that Minecraft in schools was a worthwhile innovation.<ref>Template:Cite web</ref>

Influence on Minecraft itself

Mod developer Dr. Zhark added horses to the game through the Mo' Creatures mod. Later on, he helped Mojang adapt horses for use in standard-issue Minecraft.<ref>Template:Cite tweet</ref><ref>Template:Cite tweet</ref> Pistons were also originally a part of a mod made by another developer, Hippoplatimus, but they impressed MinecraftTemplate:'s creators so much that they added the feature to the main game.<ref name="Gamasutra">Template:Cite web</ref>

Mojang also admitted that they admired all of the work done on server-side modding API Bukkit. In 2012, the Swedish company ended up hiring the lead developers of the project.<ref name="packtpub history" />

References

Template:Reflist

Bibliography

Template:Minecraft