Minecraft:Add-on: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 10: | Line 10: | ||
== Overview == | == Overview == | ||
=== Packs === | === Packs === | ||
Add-ons can be created with two types of data packs: [[Minecraft:behavior | Add-ons can be created with two types of data packs: [[Minecraft:behavior pack]]s and [[Minecraft:resource pack]]s. Behavior packs can be used to change [[Minecraft:gameplay]] and allow adding and customizing [[Minecraft:Mob AI|entity behaviors]],<ref>{{citation|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/entitybehaviorintroduction?view=minecraft-bedrock-stable|title=Entity Behavior Introduction|website=Microsoft Learn|date=September 19, 2023}}</ref> [[Minecraft:loot table]]s,<ref>{{citation|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/introductiontoloottables?view=minecraft-bedrock-stable|title=Introduction to Loot Tables|website=Microsoft Learn|date=March 6, 2025}}</ref> [[Minecraft:Mob spawning|spawn rules]],<ref>{{citation|url=https://learn.microsoft.com/en-us/minecraft/creator/reference/content/entityreference/examples/cliententitydocumentation/datadrivenspawning?view=minecraft-bedrock-stable|title=Data-Driven Spawn Rules|website=Microsoft Learn|date=November 8, 2023}}</ref> [[Minecraft:item]] behaviors,<ref>{{citation|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/addcustomitems?view=minecraft-bedrock-stable|title=Custom Items|website=Microsoft Learn|date=September 18, 2024}}</ref> item [[Minecraft:recipe]]s,<ref>{{citation|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/recipeintroduction?view=minecraft-bedrock-stable|title=Recipe Introduction|website=Microsoft Learn|date=April 19, 2024}}</ref> biome characteristics,<ref name="biome-component-list">{{citation|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/biomes/biomeoverview?view=minecraft-bedrock-stable|title=Biome JSON and Overview|website=Microsoft Learn|date=April 10, 2025}}</ref> and much more. Resource packs affect how the game looks and have no effect on gameplay, and they allow adding and customizing [[Minecraft:textures]], [[Minecraft:models]], [[Minecraft:music]], texts, and interfaces. | ||
Definitions are written in [[Minecraft:JSON]] files, which are organized in multiple folders by their features. This system allows users to override and modify certain features in the base game, or add unique features with their own pack. | Definitions are written in [[Minecraft:JSON]] files, which are organized in multiple folders by their features. This system allows users to override and modify certain features in the base game, or add unique features with their own pack. | ||
| Line 24: | Line 24: | ||
=== Scripting === | === Scripting === | ||
[[File:Breakpointhit.png|thumb|Scripting in {{w|Visual Studio Code}} with ''Minecraft'' debugger enabled]] | |||
Scripting is an add-on feature used to write a set of procedural instructions for the game to perform custom behaviors and interactions at a certain time or in response to events and actions.<ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/scripting/introduction?view=minecraft-bedrock-stable |title=Introduction to Scripting in Minecraft |website=Microsoft Learn |date=July 17, 2025 |archive=1 }}</ref> It lets users control behaviors of entities, blocks, and items; characteristics of the world; or an entire [[Minecraft:w:Video game programming#Game structure|game loop]].<ref name="intro-scripting">{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/scriptingintroduction?view=minecraft-bedrock-stable |title=Introduction to Scripting in Minecraft |website=Microsoft Learn |date=April 17, 2025 |archive=1 }}</ref> It is fundamentally different from the behavior pack system, the latter uses a component system with preset definitions provided by the game. | Scripting is an add-on feature used to write a set of procedural instructions for the game to perform custom behaviors and interactions at a certain time or in response to events and actions.<ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/scripting/introduction?view=minecraft-bedrock-stable |title=Introduction to Scripting in Minecraft |website=Microsoft Learn |date=July 17, 2025 |archive=1 }}</ref> It lets users control behaviors of entities, blocks, and items; characteristics of the world; or an entire [[Minecraft:w:Video game programming#Game structure|game loop]].<ref name="intro-scripting">{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/scriptingintroduction?view=minecraft-bedrock-stable |title=Introduction to Scripting in Minecraft |website=Microsoft Learn |date=April 17, 2025 |archive=1 }}</ref> It is fundamentally different from the behavior pack system, the latter uses a component system with preset definitions provided by the game. | ||
Script files are written in the {{w|JavaScript}} programming language and loaded by the game under the {{cd|scripts}} directory inside an add-on. Users may use {{w|TypeScript}}, a dialect of JavaScript, which provides better error reporting and a [[Minecraft:w:Type system#Static type checking|static type system]].<ref name="intro-scripting"/><ref>{{citation |url=https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html |title=TypeScript for JavaScript Programmers |website=TypeScript |date=June 2, 2025 }}</ref> The Scripting API provides script modules for users to interact with the game, each module must be added as a dependency in the [[Minecraft:manifest.json]], some notable ones are:<ref>{{citation |url=https://wiki.bedrock.dev/scripting/api-modules |title=API Modules |website=Bedrock Wiki |date=June 8, 2025 }}</ref> | Script files are written in the {{w|JavaScript}} programming language and loaded by the game under the {{cd|scripts}} directory inside an add-on. Users may use {{w|TypeScript}}, a dialect of JavaScript, which provides better error reporting and a [[Minecraft:w:Type system#Static type checking|static type system]].<ref name="intro-scripting"/><ref>{{citation |url=https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html |title=TypeScript for JavaScript Programmers |website=TypeScript |date=June 2, 2025 }}</ref> The Scripting API provides script modules for users to interact with the game, each module must be added as a dependency in the [[Minecraft:manifest.json]], some notable ones are:<ref>{{citation |url=https://wiki.bedrock.dev/scripting/api-modules |title=API Modules |website=Bedrock Wiki |date=June 8, 2025 }}</ref> | ||
{| class="wikitable sortable" style="width:100%" | |||
! style="width:30%" | Module | |||
! Description | |||
! style="width:10%" | Latest versions | |||
! Notes | |||
|- | |||
| {{cd|@minecraft/common}} | |||
| Provides common resources, such as error classes or interfaces. | |||
| 1.3.0 | |||
| – | |||
|- | |||
| {{cd|@minecraft/diagnostics}} | |||
| Provides diagnostics functionality for discovering and diagnosing issues with custom content. Currently provides APIs for [https://sentry.io/ Sentry] service. | |||
| 1.0.0-beta | |||
| – | |||
|- | |||
| {{cd|@minecraft/server}} | |||
| Provides interactions between the script engine and the game world, such as blocks, entities, items, players, and others; additionally provides Custom Components V2 and Custom Commands. | |||
| 2.7.0<br>2.9.0-beta | |||
| – | |||
|- | |||
| {{cd|@minecraft/server-ui}} | |||
| Provides players and server communication through customizable forms. | |||
| 2.0.0<br>2.1.0-beta | |||
| – | |||
|- | |||
| {{cd|@minecraft/server-graphics}} | |||
| Allows scripts to dynamically customize graphical settings from [[Minecraft:Vibrant Visuals]] defined in resource packs; currently only atmospherics. | |||
| 1.0.0-beta | |||
| Pre-release only. | |||
|- | |||
| {{cd|@minecraft/server-net}} | |||
| Provides access to the Internet through [[Minecraft:w:HTTP#Request methods|web requests]], such as GET, POST, and others. | |||
| 1.0.0-beta | |||
| Pre-release only. Only usable on [[Minecraft:Bedrock Dedicated Server]]. | |||
|- | |||
| {{cd|@minecraft/server-gametest}} | |||
| Provides the [[Minecraft:GameTest]] framework for testing behaviors and interactions within the game world. See {{slink|GameTest|Bedrock Edition}} for further information. | |||
| 1.0.0-beta | |||
| Pre-release only. The oldest module for scripting, other names may include: {{cd|mojang-gametest}}. | |||
|- | |||
| {{cd|@minecraft/server-admin}} | |||
| Provides APIs useful for [[Minecraft:dedicated server]] administration, such as whitelist management, and managing player permissions. | |||
| 1.0.0-beta | |||
| Pre-release only. Only usable on [[Minecraft:Bedrock Dedicated Server]]. | |||
|- | |||
| {{cd|@minecraft/server-editor}} | |||
| Provides scripting APIs for [[Minecraft:Bedrock Editor]].{{info needed}} | |||
| 0.1.0-beta | |||
| – | |||
|- | |||
! colspan=5 | External modules | |||
|- | |||
| {{cd|@minecraft/math}} | |||
| Provides utilities and functions for common math operations. | |||
| 2.4.0 | |||
| Notable APIs include: {{cd|Vector3Utils}} and {{cd|Vector3Builder}}. | |||
|- | |||
| {{cd|@minecraft/gameplay-utilities}} | |||
| Provides utilities and functions for common gameplay operations. | |||
| 1.3.0 | |||
| Notables APIs include: {{cd|nextEvent()}} and {{cd|EventPromise}}. | |||
|} | |||
Typing definitions (for use in TypeScript) can be installed via {{w|npm}} package manager from the [https://www.npmjs.com/~mc-npm official packages owned by ''mc-npm'']. There are other built-in modules, [https://wiki.bedrock.dev/scripting/api-modules further reading]. | |||
External modules are not built directly into the game and act as a helpers or utilities for development; they are available on [https://github.com/Mojang/minecraft-scripting-libraries ''minecraft-scripting-libraries'' GitHub] and can only be installed through npm. They need to be merged with the scripting project through a bundler; Mojang recommends [https://esbuild.github.io/getting-started/#your-first-bundle esbuild] for simplicity. | |||
The Scripting API version 2 is a major update to the Scripting API, which provides a new API to define custom components along with other major API changes that aren't backward compatible with the previous version.<ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/scripting/v2-overview?view=minecraft-bedrock-stable |title=Scripting V2 Overview |website=Microsoft Learn| date=July 17, 2025 }}</ref><ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/customcomponents?view=minecraft-bedrock-stable |title=Introducing Custom Components |website=Microsoft Learn |date=March 27, 2025 }}</ref> | The Scripting API version 2 is a major update to the Scripting API, which provides a new API to define custom components and custom commands along with other major API changes that aren't backward compatible with the previous version.<ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/scripting/v2-overview?view=minecraft-bedrock-stable |title=Scripting V2 Overview |website=Microsoft Learn| date=July 17, 2025 }}</ref><ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/customcomponents?view=minecraft-bedrock-stable |title=Introducing Custom Components |website=Microsoft Learn |date=March 27, 2025 }}</ref><ref>{{citation |url=https://learn.microsoft.com/en-us/minecraft/creator/documents/customcommands?view=minecraft-bedrock-stable |title=Scripting Custom Commands Overview |website=Microsoft Learn |date=March 27, 2025 }}</ref> Most changes from the Scripting API version 2 are available from {{cd|@minecraft/server}} version 2.0.0. | ||
=== Marketplace === | === Marketplace === | ||
| Line 157: | Line 216: | ||
| {{tc|Yes}} | | {{tc|Yes}} | ||
|- | |- | ||
|[[File: | |[[File:AMCM Add-on key art.jpg|width=150x150]] | ||
![[Minecraft:A Minecraft Movie: Add-on|A Minecraft Movie]] | ![[Minecraft:A Minecraft Movie: Add-on|A Minecraft Movie]] | ||
|An add-on that adds many features shown in ''A Minecraft Movie''. | |An add-on that adds many features shown in ''A Minecraft Movie''. | ||
| Line 313: | Line 372: | ||
== History == | == History == | ||
{{ | {{For|behavior pack JSON-related APIs additions and changes|Behavior pack#History}} | ||
=== General === | |||
This section includes major additions and milestones of add-ons. It also includes all [[Minecraft:Marketplace]] related history. | |||
{{HistoryTable | {{HistoryTable | ||
|{{HistoryLine||August 12, 2016|link=https://twitter.com/SeargeDP/status/764033531223896064|The concept of add-ons was hinted at in a post by [[Minecraft:Searge]] on August 12, 2016, stating "There will be news about the API at Minecon."<ref>{{tweet|searge|764033531223896064|There will be news about the API at Minecon. I'll talk about the things I'm working on and what our plans are. But no more details for now.|August 12, 2016}}</ref> The next day it was confirmed by [[Minecraft:Grum]] to be a modding API for {{BE}} (formerly called {{PE}}, or ''MCPE''),<ref>{{tweet|_grum|764417838278926336|the MCPE on, would be nice to say that too.|August 13, 2016}}</ref> and at [[Minecraft:MINECON 2016]], the plan and roadmap for the development of add-ons were outlined.}} | |{{HistoryLine||August 12, 2016|link=https://twitter.com/SeargeDP/status/764033531223896064|The concept of add-ons was hinted at in a post by [[Minecraft:Searge]] on August 12, 2016, stating "There will be news about the API at Minecon."<ref>{{tweet|searge|764033531223896064|There will be news about the API at Minecon. I'll talk about the things I'm working on and what our plans are. But no more details for now.|August 12, 2016}}</ref> The next day it was confirmed by [[Minecraft:Grum]] to be a modding API for {{BE}} (formerly called {{PE}}, or ''MCPE''),<ref>{{tweet|_grum|764417838278926336|the MCPE on, would be nice to say that too.|August 13, 2016}}</ref> and at [[Minecraft:MINECON 2016]], the plan and roadmap for the development of add-ons were outlined.}} | ||
|{{HistoryLine|pocket alpha}} | |{{HistoryLine|pocket alpha}} | ||
|{{HistoryLine||v0.16.0 | |{{HistoryLine||v0.16.0|Added user-created [[Minecraft:resource pack]]s that can be installed by world.|Added user-created [[Minecraft:behavior pack]]s. These allow the player to change files coded in JSON to change how the game works.}} | ||
|{{HistoryLine|pocket}} | |{{HistoryLine|pocket}} | ||
|{{HistoryLine||1.0 | |{{HistoryLine||1.1.0|dev=alpha 1.1.0.8|Added the [[Minecraft:Minecraft Marketplace]], in which community resource packs, skin packs, and behavior packs (packaged inside worlds) are distributed.}} | ||
|{{HistoryLine|bedrock}} | |{{HistoryLine|bedrock}} | ||
|{{HistoryLine||February 20, 2024|link=https://www.minecraft.net/en-us/article/introducing-add-ons|Previously, standalone add-ons from the [[Minecraft:Marketplace]] were not available and needed to be packaged with a world to be sold on the Marketplace. However, as of February 2024, individual add-ons can now be sold separately on the Marketplace.<ref>{{mcnet|introducing-add-ons|Introducing add-ons|February 20, 2024|Linn Viberg}}</ref>}} | |{{HistoryLine||February 20, 2024|link=https://www.minecraft.net/en-us/article/introducing-add-ons|Previously, standalone add-ons from the [[Minecraft:Marketplace]] were not available and needed to be packaged with a world to be sold on the Marketplace. However, as of February 2024, individual add-ons can now be sold separately on the Marketplace.<ref>{{mcnet|introducing-add-ons|Introducing add-ons|February 20, 2024|Linn Viberg}}</ref>}} | ||
|{{HistoryLine||1.20.70|dev=Preview 1.20.70.21|Added extra loading tips that appear when a world has add-ons applied.}} | |{{HistoryLine||1.20.70|dev=Preview 1.20.70.21|Added extra loading tips that appear when a world has add-ons applied.}} | ||
|{{HistoryLine||1.21.0|dev=Preview 1.21.0.23|Added eight new extra loading tips that replaced the previous ones.}} | |{{HistoryLine||1.21.0|dev=Preview 1.21.0.23|Added eight new extra loading tips that replaced the previous ones.}} | ||
|{{HistoryLine||1.21. | |{{HistoryLine||March 17, 2026|link=https://education.minecraft.net/en-us/blog/minecraft-add-ons|[[File:MCEDU Add-Ons.jpeg|60px]] Add-ons were introduced into ''[[Minecraft:Minecraft Education]]''.<ref name=":edu">{{Citation|url=https://education.minecraft.net/en-us/blog/minecraft-add-ons|title=Bring New Ideas to Life with Add-Ons in Minecraft Education|website=Minecraft Education|date=March 17, 2026}}</ref><ref name=":video">{{YouTube link|MvBq9yiC5ho|Add-Ons in Minecraft Education Create Customized Learning|Minecraft Education|March 6, 2026}}</ref> These add-ons are all free, and designed to be optional utilities for teachers. All DLC of this nature are referred to as add-ons, however several function as [[Minecraft:skin packs]] instead.}} | ||
}} | |||
=== Scripting === | |||
{{HistoryTable | |||
|{{HistoryLine|bedrock}} | |||
|{{HistoryLine||1.9.0|dev=beta 1.9.0.3|Added Minecraft Script Engine, which uses {{w|JavaScript}}.<ref name="minecraft-script-engine">https://www.minecraft.net/en-us/article/scripting-api-now-public-beta</ref>|Scripts can be written and bundled with behavior packs to listen and respond to game events, get and modify data in components that entities have, and affect different parts of the game.|Scripts can be used to create experimental custom UI with {{w|HTML}}.<ref>https://bedrock.dev/docs/1.9.0.0/1.9.0.3/UI</ref>}} | |||
|{{HistoryLine||1.10.0|dev=beta 1.10.0.3|Packs loading custom UI now required {{cd|experimental_custom_ui}} feature flag in [[Minecraft:manifest.json]].|Fixed several scripting issues affecting custom UI loading, spawn events, filters, and entity validation.}} | |||
|{{HistoryLine||1.12.0|dev=beta 1.12.0.2|Added interaction events to the Scripting API for inventory, item, and block.|Added block query APIs ({{cd|getBlock}} function and overrides) for Scripting.|Added {{cd|executeCommand}} API for Scripting.|Added event data API for Scripting which allows creators to create event data, register and pass it to the event function.|Added custom blocks through Scripting and additional JSON scripting (and only placed by commands).|Added a screen to view content log errors.|Enabled content logging on [[Minecraft:Bedrock Dedicated Server]]s.}} | |||
|{{HistoryLine||1.18.10|dev=beta 1.18.10.28|Removed HTML-based experimental custom UI ({{cd|experimental_custom_ui}} features) and its documentation.<ref>The last instance of custom UI documentation is this version: https://bedrock.dev/docs/1.18.0.0/1.18.10.28/UI</ref>}} | |||
|{{HistoryLine||1.20.80|dev=Preview 1.20.80.20|Added blocks {{cd|minecraft:custom_components}} (version 1) under the Beta APIs experiment.}} | |||
|{{HistoryLine|||dev=Preview 1.20.80.23|Added items {{cd|minecraft:custom_components}} (version 1) under the Beta APIs experiment.}} | |||
|{{HistoryLine||1.21.20|dev=Preview 1.21.10.22|Removed items {{cd|minecraft:custom_components}} (version 1) from the Beta APIs experiment. It's enabled by default for JSON formats 1.21.10 and higher.}} | |||
|{{HistoryLine|||dev=Preview 1.21.10.23|Added {{cd|@minecraft/server-ui}} version 1.2.0.|Added {{cd|@minecraft/server-ui}} version 1.3.0-beta.|Removed blocks {{cd|minecraft:custom_components}} (version 1) from the Beta APIs experiment. It's enabled by default.{{info needed|for what versions of JSON format?}}}} | |||
|{{HistoryLine||1.21.70|dev=Preview 1.21.70.20|Added {{cd|@minecraft/server}} version 1.18.0.|Added {{cd|@minecraft/server}} version 2.0.0-beta.}} | |||
|{{HistoryLine||1.21.80|dev=Preview 1.21.80.22|Added Custom Commands under the Beta APIs experiment.}} | |||
|{{HistoryLine|||dev=Preview 1.21.80.25|Added Custom Components V2 experiment.}} | |||
|{{HistoryLine||1.21.90|dev=Preview 1.21.90.20|Added {{cd|@minecraft/server-ui}} version 2.0.0.|Added {{cd|@minecraft/server-ui}} version 2.1.0-beta.|Added {{cd|@minecraft/server}} version 2.1.0-beta.|Removed Custom Components v2 experiment. Custom Components v2 is enabled when using {{cd|@minecraft/server}} version 2.0.0 and above.}} | |||
|{{HistoryLine|||dev=Preview 1.21.90.21|Added {{cd|@minecraft/server}} version 2.0.0. This marked the release of Scripting API version 2.}} | |{{HistoryLine|||dev=Preview 1.21.90.21|Added {{cd|@minecraft/server}} version 2.0.0. This marked the release of Scripting API version 2.}} | ||
|{{HistoryLine||26.10|dev=Preview 26.10.21|Introduced new UI capabilities called Data-Driven UI (DDUI) under Beta APIs experiment.<ref>{{tweet|CornerHardMC|2019592308178768238|I'm so impressed by what people have been making in the latest Minecraft Preview with the new Data-Driven UI!}}</ref> These APIs introduce a new way to create modal forms with new capabilities and an all new look. APIs are available under {{cd|@minecraft/server-ui}} module.|{{cmd|reload}} command now closes all the Data Driven UI screens as part of the execution.}} | |||
}} | }} | ||
| Line 348: | Line 415: | ||
{{yt|kzWSItyz5Pk}} | {{yt|kzWSItyz5Pk}} | ||
{{yt|zMF3JPahrPQ}} | {{yt|zMF3JPahrPQ}} | ||
=== Historical videos === | |||
These videos were uploaded when add-ons were first introduced. They demonstrate how add-ons could create customized gameplay and modify existing entities. | |||
'''The first introduction of add-ons''' | |||
{{yt|US67Tlb8gyE}} | |||
{{yt|e2MNYIa411k}} | |||
'''Early add-ons tutorial and playthrough''' | |||
{{yt|1jgEfxw3SOE}} | |||
{{yt|3yI3Qwbqk_o}} | |||
{{yt|_ooFM5c}} | |||
'''Early Scripting API and experimental custom UI'''<ref name="minecraft-script-engine"/> | |||
{{yt|PUMeS8C0IRk}} | |||
== Quotes == | == Quotes == | ||
| Line 426: | Line 508: | ||
{{Navbox Bedrock Edition}} | {{Navbox Bedrock Edition}} | ||
{{Navbox mods}} | {{Navbox mods}} | ||
{{ | {{Navbox Marketplace}} | ||
[[Category:Add-ons| ]] | [[Category:Add-ons| ]] | ||
[[Category:Game customization]] | [[Category:Game customization]] | ||
[[Category:Experimental]] | [[Category:Experimental]] | ||
[[Minecraft:de:Add-on]] | [[Minecraft:de:Add-on]] | ||
Latest revision as of 11:00, 28 May 2026
Template:For Template:Exclusive
An add-on is a package format and a type of Minecraft:downloadable content that provides additional custom game features beyond the base game in Minecraft. It contains a set of Template:Ws used for constructing and customizing certain game objects and elements, such as Minecraft:entities, Minecraft:blocks, Minecraft:items, Minecraft:biomes, Minecraft:structures, the Minecraft:user interface, and more. It is officially supported by Minecraft:Mojang Studios, who provide the Creator Documentation for developers.
Add-ons consist of three main APIs: a Minecraft:resource pack for managing assets and resources, a Minecraft:behavior pack for defining data-driven behaviors, and scripting for writing a set of procedural instructions to perform custom behaviors and interactions. These functions and utilities are used for Template:W.
Add-ons are officially hosted on the Minecraft:Marketplace, where players can download or purchase them on their devices using an in-game digital currency called Minecraft:Minecoins. They must be submitted by members in the Minecraft:Minecraft Partner Program and approved by the Minecraft Content Team, or made directly in collaboration with Minecraft:Mojang Studios as official DLC. They can also be packaged for external downloading, but these cannot be imported on consoles.
Overview
Packs
Add-ons can be created with two types of data packs: Minecraft:behavior packs and Minecraft:resource packs. Behavior packs can be used to change Minecraft:gameplay and allow adding and customizing entity behaviors,<ref>Template:Citation</ref> Minecraft:loot tables,<ref>Template:Citation</ref> spawn rules,<ref>Template:Citation</ref> Minecraft:item behaviors,<ref>Template:Citation</ref> item Minecraft:recipes,<ref>Template:Citation</ref> biome characteristics,<ref name="biome-component-list">Template:Citation</ref> and much more. Resource packs affect how the game looks and have no effect on gameplay, and they allow adding and customizing Minecraft:textures, Minecraft:models, Minecraft:music, texts, and interfaces.
Definitions are written in Minecraft:JSON files, which are organized in multiple folders by their features. This system allows users to override and modify certain features in the base game, or add unique features with their own pack.
All contents of an add-on can be packaged together in a zipped Template:Cd file. An add-on file can be automatically imported by the game, which will organize all contents in the dedicated directories in Template:Cd.
Sub-packs
Resource packs and behavior packs can contain other packs inside the root, known as sub-packs.<ref>Template:Cite</ref> A sub-pack has the same format as the main pack and the directory of a sub-pack can have any name. Sub-packs need to be specified in the Template:Cd file of the main pack, where a name and minimum memory tier can also be added. For example, a pack can have multiple less resource-intensive sub-packs for lower memory tiers, but it can also be used for other types of settings. The memory tier, affecting which sub-pack is used, can be adjusted in the pack's settings menu in-game.
Molang
Template:Main Molang is a simple expression-based language designed for fast, data-driven calculation of values at run-time, and with a direct connection to in-game values and systems. It is used Template:In in their add-on system with its purpose being to enable low-level systems like animation to support flexible data-driven behavior for both internal and external creators, while staying highly performant.<ref>"Molang Documentation - Introduction to Molang"</ref>
Scripting
Scripting is an add-on feature used to write a set of procedural instructions for the game to perform custom behaviors and interactions at a certain time or in response to events and actions.<ref>Template:Citation</ref> It lets users control behaviors of entities, blocks, and items; characteristics of the world; or an entire game loop.<ref name="intro-scripting">Template:Citation</ref> It is fundamentally different from the behavior pack system, the latter uses a component system with preset definitions provided by the game.
Script files are written in the Template:W programming language and loaded by the game under the Template:Cd directory inside an add-on. Users may use Template:W, a dialect of JavaScript, which provides better error reporting and a static type system.<ref name="intro-scripting"/><ref>Template:Citation</ref> The Scripting API provides script modules for users to interact with the game, each module must be added as a dependency in the Minecraft:manifest.json, some notable ones are:<ref>Template:Citation</ref>
| Module | Description | Latest versions | Notes | |
|---|---|---|---|---|
| Template:Cd | Provides common resources, such as error classes or interfaces. | 1.3.0 | – | |
| Template:Cd | Provides diagnostics functionality for discovering and diagnosing issues with custom content. Currently provides APIs for Sentry service. | 1.0.0-beta | – | |
| Template:Cd | Provides interactions between the script engine and the game world, such as blocks, entities, items, players, and others; additionally provides Custom Components V2 and Custom Commands. | 2.7.0 2.9.0-beta |
– | |
| Template:Cd | Provides players and server communication through customizable forms. | 2.0.0 2.1.0-beta |
– | |
| Template:Cd | Allows scripts to dynamically customize graphical settings from Minecraft:Vibrant Visuals defined in resource packs; currently only atmospherics. | 1.0.0-beta | Pre-release only. | |
| Template:Cd | Provides access to the Internet through web requests, such as GET, POST, and others. | 1.0.0-beta | Pre-release only. Only usable on Minecraft:Bedrock Dedicated Server. | |
| Template:Cd | Provides the Minecraft:GameTest framework for testing behaviors and interactions within the game world. See Template:Slink for further information. | 1.0.0-beta | Pre-release only. The oldest module for scripting, other names may include: Template:Cd. | |
| Template:Cd | Provides APIs useful for Minecraft:dedicated server administration, such as whitelist management, and managing player permissions. | 1.0.0-beta | Pre-release only. Only usable on Minecraft:Bedrock Dedicated Server. | |
| Template:Cd | Provides scripting APIs for Minecraft:Bedrock Editor.Template:Info needed | 0.1.0-beta | – | |
| External modules | ||||
| Template:Cd | Provides utilities and functions for common math operations. | 2.4.0 | Notable APIs include: Template:Cd and Template:Cd. | |
| Template:Cd | Provides utilities and functions for common gameplay operations. | 1.3.0 | Notables APIs include: Template:Cd and Template:Cd. | |
Typing definitions (for use in TypeScript) can be installed via Template:W package manager from the official packages owned by mc-npm. There are other built-in modules, further reading.
External modules are not built directly into the game and act as a helpers or utilities for development; they are available on minecraft-scripting-libraries GitHub and can only be installed through npm. They need to be merged with the scripting project through a bundler; Mojang recommends esbuild for simplicity.
The Scripting API version 2 is a major update to the Scripting API, which provides a new API to define custom components and custom commands along with other major API changes that aren't backward compatible with the previous version.<ref>Template:Citation</ref><ref>Template:Citation</ref><ref>Template:Citation</ref> Most changes from the Scripting API version 2 are available from Template:Cd version 2.0.0.
Marketplace
The Minecraft:Marketplace is an in-game platform where creators may sell their add-ons to the player-base. All Marketplace content must be submitted by members in the Minecraft:Minecraft Partner Program and approved by the Minecraft Content Team. Purchased content in the Marketplace is synchronized to the player's Microsoft account, and if they are not signed in, it is saved locally on their device.
Free add-ons are released as part of special events, for occasions such as to promote the release of Minecraft:A Minecraft Movie for Minecraft's 15 Years celebration and the eventful McDonald's X A Minecraft Movie promotion. See Template:Slink for a full list of add-ons officially promoted by Minecraft:Mojang Studios.
In addition to the Marketplace, there are community websites dedicated to hosting community-made add-ons, although such add-ons may only be loaded on Windows and mobile, whereas consoles can only access those add-ons through Minecraft:Realms.
Minecraft Education
In 2026, add-ons were introduced into Minecraft:Minecraft Education.<ref name=":edu">Template:Citation</ref><ref name=":video">Template:YouTube link</ref> These add-ons are all free, and designed to be optional utilities for teachers. All DLC of this nature are referred to as add-ons, however several function as Minecraft:skin packs instead.
Loading tipsTemplate:Anchor
Extra Minecraft:loading tip messages appear if the player is loading a world with add-ons applied. The loading message box is titled "Modified World", and loading tip messages would primarily warn the player about the add-ons or resource packs applied. For a full list, see Template:Slink.
Official add-ons
Bedrock Edition
| Image | Name | Description | Release date | Purchasable |
|---|---|---|---|---|
| Minecraft:Minecon 2018 New Entity Sample | A pack to show the usage of add-ons to add custom Minecraft:entities for creators, showcased in Minecraft:MINECON Earth 2018. | November 19, 2018 | Template:Tc | |
| Minecraft:Minecraft Live 2022 Sample Pack | A pack to demonstrate the Minecraft Entity Wizard in Minecraft:Blockbench, showcased in Minecraft:Minecraft Live 2022. | October 17, 2022 | Template:Tc | |
| width=150x150 | Poisonous Potato | An add-on themed around the poisonous potato April Fools' Day event in 2024. | April 1, 2024 | Template:Tc |
| width=150x150 | Minecraft:15 Year Party Supplies | An add-on themed around the Minecraft:15th anniversary of Minecraft with features from Minecraft:15 Year Journey. | May 21, 2024 | Template:Tc |
| width=150x150 | Tetris | A collaborative add-on with features from Minecraft:Tetris. | June 6, 2024 | Template:Tc |
| width=150x150 | Lush Bath Bomb | A collaborative add-on to promote bath bombs from Lush. | August 1, 2024 | Template:Tc |
| width=150x150 | SpongeBob SquarePants | A collaborative add-on with features from Minecraft:SpongeBob SquarePants. | August 20, 2024 | Template:Tc |
| width=150x150 | Ghost Pets | A themed add-on with ghost Minecraft:pet mobs for the Minecraft:Expect the unexpected event around Minecraft:The Garden Awakens. | November 4, 2024 | Template:Tc |
| width=150x150 | Majestic Camping | A camping-themed add-on for the Expect the unexpected event. | November 4, 2024 | Template:Tc |
| width=150x150 | Minecraft:Phantom Frames | A themed add-on for the Expect the unexpected event. | December 4, 2024 | Template:Tc |
| width=150x150 | Scary Furniture | An add-on for the Expect the unexpected event with haunted Minecraft furniture blocks. | December 10, 2024 | Template:Tc |
| width=150x150 | Mob Lights | Another themed add-on for the Expect the unexpected event. | December 10, 2024 | Template:Tc |
| width=150x150 | Monster Food | An add-on featured for Expect the unexpected with haunted food items and mobs. | December 10, 2024 | Template:Tc |
| width=150x150 | Lava Chicken | A promotional add-on for A Minecraft Movie which adds Steve's Lava Chicken shown in the movie. | December 20, 2024 | Template:Tc |
| width=150x150 | Sonic | A collaborative add-on with features from Minecraft:Sonic the Hedgehog. | January 7, 2025 | Template:Tc |
| width=150x150 | A Minecraft Movie | An add-on that adds many features shown in A Minecraft Movie. | February 26, 2025 | Template:Tc |
| width=150x150 | A Minecraft Movie: JetPack | A limited promotional add-on for A Minecraft Movie which could be obtained by purchasing tickets on its opening weekend. | February 27, 2025 | Template:Tc |
| width=150x150 | McDonald's | An add-on themed around the collaboration of A Minecraft Movie with McDonald's. | March 24, 2025 | Template:Tc |
| width=150x150 | Time Capsule | A promotional add-on made for the Minecraft:15 Days of Minecraft event. | May 16, 2025 | Template:Tc |
| width=150x150 | MLB Fan Cave | June 2, 2025 | Template:Tc | |
| width=150x150 | Adidas Adventurers | A collaborative add-on with Minecraft:Adidas. | June 3, 2025 | Template:Tc |
| width=150x150 | How to Train Your Dragon | A collaborative add-on with Minecraft:Universal Studios about the movie How to Train Your Dragon. | June 10, 2025 | Template:Tc |
| width=150x150 | Vibrant Memories | An add-on made to promote Minecraft:Vibrant Visuals after its release. | June 18, 2025 | Template:Tc |
| width=150x150 | Claims Adjuster | An official add-on that has been promoted with the Minecraft:Ice Cube Claims Adjuster series. | August 13, 2025 | Template:Tc |
| width=150x150 | Friendly Fishing | An official collaborative add-on between Marketplace Partners and Conservation International themed around sea life. | September 26, 2025 | Template:Tc |
| Jurassic World | Template:Tc | |||
| TRON | Template:Tc | |||
| width=150x150 | Dungeon Descent | An add-on released to promote new features from Minecraft:Mounts of Mayhem. | January 12, 2026 | Template:Tc |
| width=150x150 | Minecraft:Tiny Takeover: Mini Mania | A minigame-centric add-on released to promote Minecraft:Tiny Takeover. | April 21, 2026 | Template:Tc |
Minecraft Education
| Image | Name | Description | Release date | Available |
|---|---|---|---|---|
| width=150x150 | Minecraft:Dice | An add-on which introduces dice blocks. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Math Chests Division | An add-on which adds chest blocks made for division. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Math Chests Multiplication | An add-on which adds chest blocks made for multiplication. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Roman Balneae Structure Pack | An add-on which adds a Roman structure.Template:Info needed | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Ancient Egypt NPC Pack 1 | An add-on which adds NPC skins. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Ancient Greece NPC Pack 1 | An add-on which adds NPC skins.Template:Info needed | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Number Shaped Blocks | An add-on which adds blocks molded to various numbers. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Number Blocks | An add-on which introduces numeric blocks. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Ancient Rome NPC Pack 1 | An add-on which adds NPC skins. | April 9, 2026 | Template:Tc |
| width=150x150 | Minecraft:Non-transitive Dice | An add-on which adds non-transitive dice. | April 9, 2026 | Template:Tc |
History
General
This section includes major additions and milestones of add-ons. It also includes all Minecraft:Marketplace related history. Template:HistoryTable
Scripting
Videos
Tutorials from the official Minecraft Creator Channel. Template:Yt Template:Yt Template:Yt Template:Yt Template:Yt Template:Yt
Historical videos
These videos were uploaded when add-ons were first introduced. They demonstrate how add-ons could create customized gameplay and modify existing entities.
The first introduction of add-ons Template:Yt Template:Yt
Early add-ons tutorial and playthrough Template:Yt Template:Yt Template:Yt
Early Scripting API and experimental custom UI<ref name="minecraft-script-engine"/> Template:Yt
Quotes
"Within Minecraft, there are so many ways to be creative and build the worlds of your dreams. But when you want to extend Minecraft even further and introduce new mobs, items and other artifacts into your world, you’ll want to go to the next level of creation by building new Add-On packs that can transform Minecraft.
Gallery
-
Promotional artwork released alongside the Minecraft:Change your game, your way! cinematic trailer
-
Render of a "Cake Golem" add-on<ref>Template:Citation</ref>
-
Artwork of a motorcycle add-on<ref>Template:Citation</ref>
-
Animation of the Merchant from the Minecraft:Lush Bath Bomb Add-On<ref>Template:Tweet</ref>
-
Promotional image for Minecraft:achievement compatibility with add-ons
See also
References
External links
Official documentation
- Addons JSON Documentation
- Animation JSON Documentation
- Biome Documentation
- Block JSON Documentation
- Entity JSON Documentation
- Features JSON Documentation
- Item JSON Documentation
- Molang Documentation
- Recipe JSON Documentation
- Particle JSON Documentation
- Schema Documentation
- Script API Documentation
Official tutorials
- Getting Started With Minecraft Add-Ons
- Introduction to Resource Packs
- Introduction to Behavior Packs
- Getting Started with the Minecraft Entity Wizard
- Getting Started with the Minecraft Item Wizard
- Getting Started with the Minecraft Block Wizard
Tools and libraries
Unofficial resources
- Bedrock Wiki
- Minecraft Addons - CurseForge
- Minecraft PE Mods, Maps, Skins, Seeds, Texture Packs | MCPEDL
Templates
Resource and Behavior Example Packs
Script API Example Packs
Template:Navbox add-ons Template:Navbox gameplay Template:Navbox Bedrock Edition Template:Navbox mods Template:Navbox Marketplace
Minecraft:de:Add-on Minecraft:es:Add-on Minecraft:fr:Extension Minecraft:ja:Add-on Minecraft:ko:애드온 Minecraft:lzh:附囊 Minecraft:pt:Complemento Minecraft:ru:Дополнения Minecraft:th:แอดออน Minecraft:uk:Доповнення Minecraft:zh:附加包