-
-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a glossary #148
Open
IchHabeHunger54
wants to merge
30
commits into
neoforged:main
Choose a base branch
from
IchHabeHunger54:feature/glossary
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add a glossary #148
Changes from 29 commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
312442d
rework registries and resource location documentation
IchHabeHunger54 aafbf1b
rework side documentation
IchHabeHunger54 a748304
rework events and lifecycle documentation
IchHabeHunger54 4b2d021
fix broken links
IchHabeHunger54 c49ff55
fix some mistakes regarding `DeferredRegister.Blocks`
IchHabeHunger54 242abf0
add side checks in the event handlers
IchHabeHunger54 a4971bd
fix some of the mistakes in registries.md
IchHabeHunger54 9950d51
remove mention of registry int id syncing (it is discouraged)
IchHabeHunger54 f64b8fe
Merge remote-tracking branch 'upstream/main'
IchHabeHunger54 a1bd87d
update datapack registry datagen
IchHabeHunger54 31b5bf2
registry querying
IchHabeHunger54 ff5d5b1
add back int ID syncing, with a big disclaimer
IchHabeHunger54 965be16
update sync disclaimer
IchHabeHunger54 2e65131
address most feedback by ChampionAsh
IchHabeHunger54 1ed292c
Update docs/blocks/index.md
IchHabeHunger54 e2fbc31
Update docs/concepts/registries.md
IchHabeHunger54 40c17a9
implement most of XFact's feedback
IchHabeHunger54 7a24414
fix datapack registry creation
IchHabeHunger54 55873a1
remove recommendation of separate DR and DH classes
IchHabeHunger54 cdf58f2
fix an oversight
IchHabeHunger54 380db40
Update docs/blocks/index.md
IchHabeHunger54 2a369a7
BootstapContext :screm:
IchHabeHunger54 b1e1966
Merge remote-tracking branch 'origin/main'
IchHabeHunger54 b5a78bb
fix two wrong mentions of Registries
IchHabeHunger54 b6dcbb9
fix exception name
IchHabeHunger54 8d54466
Merge remote-tracking branch 'upstream/main'
IchHabeHunger54 90c3b4a
Merge remote-tracking branch 'upstream/main'
IchHabeHunger54 1d17916
Merge remote-tracking branch 'refs/remotes/upstream/main'
IchHabeHunger54 c4ab092
add glossary.md
IchHabeHunger54 7e72382
Update docs/gettingstarted/glossary.md
IchHabeHunger54 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,236 @@ | ||
# Glossary | ||
|
||
This article contains explanations for various terms and systems you will likely encounter when using NeoForge. | ||
|
||
## A | ||
|
||
### Access Transformer | ||
|
||
Access Transformers, also known as ATs, are a way to change the access modifiers (`private`, `protected`, `public`) and the `final` state of a class, field or method. For more information, see the [Access Transformers article][accesstransformerdocs]. | ||
|
||
## B | ||
|
||
### Block State | ||
|
||
_See [Blockstates][blockstatedocs]._ | ||
|
||
### Bukkit | ||
|
||
Bukkit is a software for Minecraft servers that allows for installing [plugins][plugin]. Plugins run exclusively on the server, allowing vanilla clients to connect (in contrast to [mods][mod], which are generally expected to be present on both sides). | ||
|
||
Bukkit itself was discontinued in 2014, but forks of the project have appeared and are used to this day. Some of the most prominent ones include Spigot and Paper. | ||
|
||
## C | ||
|
||
### Client | ||
|
||
The "display" side of the game, responsible for displaying information to the user, and for processing inputs. The opposite of the client is the [server]. | ||
|
||
_See also: [Sides][sidesdocs]_ | ||
|
||
### Coremod | ||
|
||
A coremod is the term for an ASM transformer file used within a mod. Traditionally, coremods were written as JavaScript files that were then loaded by a special coremod engine during [Forge][forge] or [NeoForge][neoforge] startup. More recently, Java coremods were developed as a more robust alternative. Coremods have a high entry barrier and are generally considered a last resort solution for most problems. Many problems can be solved easier using API methods, or using [mixins][mixin]. | ||
|
||
Historically, the term "coremod" has also been incorrectly used for [library mods][librarymod]. | ||
|
||
### CurseForge | ||
|
||
A platform for mod distribution, found at [https://www.curseforge.com/minecraft][curseforgelink]. Besides Minecraft mods, a number of other games also have mods on CurseForge. CurseForge is not affiliated with [Forge][forge] or [NeoForge][neoforge] in any way, the similar name is merely a coincidence: CurseForge originally started out as a platform for World of Warcraft addons, long before Minecraft itself even existed. | ||
|
||
## D | ||
|
||
### Data Pack | ||
|
||
Data packs are a mechanism in Minecraft that allows modifying game data exposed specifically for this purpose, using JSON files. For example, these include recipes or advancements. | ||
|
||
_See also: [Resources/Data][datapackarticle]_ | ||
|
||
## F | ||
|
||
### Fabric | ||
|
||
Fabric is a modding framework, created as an alternative for [Minecraft Forge][forge] and first released in December 2018 for Minecraft 1.14. Fabric employs some fundamentally different API concepts to NeoForge, which makes for a significantly different development experience compared to [NeoForge][neoforge]. | ||
|
||
### FML | ||
|
||
FancyModLoader, commonly abbreviated as FML, is the [mod loader][modloader] used by and bundled with NeoForge. It is maintained by a separate team and has its own repository on GitHub. It was forked from [Forge][forge]'s Forge Mod Loader, also abbreviated as FML. | ||
|
||
### Forge | ||
|
||
Minecraft Forge, commonly known simply as Forge, is a modding framework for Minecraft, first released in March 2012 for Minecraft 1.1. Forge allows users to install mods into Minecraft, and allows modders to easily interface with the Minecraft source code. Due to a series of disagreements within the Forge team, it was decided to fork Forge, creating the [NeoForge][neoforge] modding framework and the [NeoForged][neoforged] project in July 2023. | ||
|
||
## G | ||
|
||
### Game Library | ||
|
||
A game library is a programming library that references Minecraft or [NeoForge][neoforge] code, but is not a mod. It is usually shipped with an existing mod's JAR using the [Jar-in-Jar][jarinjar] system. | ||
|
||
## I | ||
|
||
### Item Stack | ||
|
||
_See [Item Stacks][itemstackdocs]._ | ||
|
||
## J | ||
|
||
### Jar-in-Jar | ||
|
||
Jar-in-Jar, often shortened to JarJar, is a feature of [NeoGradle][neogradle] and [ModDevGradle][moddevgradle] that allows including library JARs inside a mod JAR, and handles version conflicts for cases where multiple mods ship the same library. | ||
|
||
## L | ||
|
||
### Level | ||
|
||
A level is a part of the world that roughly maps to what the end user knows as a dimension. By default, a world contains three levels: the overworld, the nether and the end. Levels can contain blocks, entities, and block entities, alongside some other data. | ||
|
||
### Library Mod | ||
|
||
A library mod is a programming library that is loaded by the [mod loader][modloader] as if it were a mod. Library mods are often used to minimize code duplication across multiple mods, or to provide common functionality to many mods. [Game libraries][gamelibrary] were developed as an alternative to library mods. | ||
|
||
### License | ||
|
||
A license is a legal document that determines what other people can and cannot do with your work. [NeoForge][neoforge] requires all mods to define a license. | ||
|
||
Generally, if an IP (intellectual property) does not specify a license, it is assumed that the license is ARR (All Rights Reserved). This means that nobody except you, or people with your explicit permission, are legally allowed to use your work. | ||
|
||
In the modding space, it is common to use an open-source license, such as the MIT License, the General Public License, the Lesser General Public License, or a Creative Commons License. There are several websites to assist in choosing a license, for example [https://choosealicense.com]. NeoForge itself is licensed under the Lesser General Public License v2.1. | ||
|
||
## M | ||
|
||
### MDK | ||
|
||
A mod development kit, or MDK for short, is an example mod project for [modders][modder] to start with. NeoForge's MDKs can be found under the [NeoForge MDKs GitHub organization][neoforgemdksgithub]. | ||
|
||
### Mixin | ||
|
||
Mixins are a way to directly modify Minecraft code using special classes annotated with the `@Mixin` annotation. The Mixin library was originally created by the Sponge project (a [Bukkit][bukkit] fork), this version is informally known as SpongeMixin. NeoForge has since switched to using a fork of SpongeMixin maintained by the [Fabric][fabric] developers, commonly referred to as FabricMixin, which offers some additional features and bugfixes. | ||
|
||
### MixinExtras | ||
|
||
An add-on library for [Mixin][mixin] that contains extra functionality for mixin classes. | ||
|
||
### Mod | ||
|
||
A mod, short for modification, is a kind of add-on to an existing program, usually a game. Mods are not a concept exclusive to Minecraft, but exist for many other games as well. Some examples for commonly modded games include Terraria, Factorio and Skyrim. | ||
|
||
Mods may modify any part of the game, ranging from singular bugfixes to adding huge amounts of content, sometimes even more than the base game offers. In the Minecraft context, the term "mod" should be distinguished from other mechanisms to modify the game, such as resource packs, data packs, or plugins. | ||
|
||
### Mod Loader | ||
|
||
A mod loader is a program whose purpose is to load [mods][mod] into the game. All modern modding frameworks for Minecraft include a mod loader and a [modding API][moddingapi]. | ||
|
||
### Modded | ||
|
||
The term "modded" refers to a game with [mods][mod] installed. Since mods exist for other games, the term may also be applied to those (e.g., "modded Terraria", "modded Skyrim"). The opposite of modded is [vanilla]. | ||
|
||
### Modder | ||
|
||
Short for "mod developer", i.e. the person creating [mods][mod]. | ||
|
||
### ModDevGradle | ||
|
||
An alternative gradle plugin for mod development, designed to be easier-to-use (although slightly less powerful) than [NeoGradle][neogradle]. | ||
|
||
### Modding | ||
|
||
The process of creating [mods][mod]. | ||
|
||
### Modding API | ||
|
||
An API created to help [modders][modder] in [modding]. Generally includes ways to make integrating with vanilla systems easier. All modern modding frameworks for Minecraft include a modding API and a [mod loader][modloader]. | ||
IchHabeHunger54 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
### Modpack | ||
|
||
A collection of [mods][mod], usually preconfigured and ready for users to play. Some modpacks may also include bundled [resource packs][resourcepack] and/or [data packs][datapack]. | ||
|
||
### Modrinth | ||
|
||
A platform for mod distribution, found at [https://modrinth.com][modrinthlink]. Unlike [CurseForge][curseforge], Modrinth is solely focused on Minecraft, offering mods, [data packs][datapack], [resource packs][resourcepack] and other Minecraft-related content. | ||
|
||
## N | ||
|
||
### NeoForge | ||
|
||
The software this documentation is about. NeoForge is a modding framework for Minecraft, first released in July 2023 for Minecraft 1.20.1. NeoForge allows users to install mods into Minecraft, and allows modders to easily interface with the Minecraft source code. It was forked from the Minecraft Forge project in July 2023. | ||
|
||
### NeoForged | ||
|
||
The NeoForged project is the organizational structure around [NeoForge][neoforge]. The name was chosen because the `neoforge` username was already taken on GitHub. Simply put, NeoForge (without `d`) is the modding framework, and NeoForged (with `d`) is the surrounding organization. | ||
|
||
### NeoGradle | ||
|
||
The Gradle plugin used for NeoForge development. | ||
|
||
## P | ||
|
||
### Parchment | ||
|
||
Parchment is a system that provides human-readable names for parameters in the Minecraft source code. It is maintained by a separate team, but natively shipped with [NeoGradle][neogradle]. | ||
|
||
### Plugin | ||
|
||
Similar to [mods][mod], plugins are a way to modify Minecraft. Unlike mods, plugins are by design server-only modifications, meaning that vanilla clients will be able to connect to a server that has plugins installed. Plugins are generally run on [Bukkit][bukkit] or one of its derivatives. | ||
|
||
## Q | ||
|
||
### Quilt | ||
|
||
Quilt is a modding framework, forked from [Fabric][fabric] in April 2021 over internal issues within the Fabric team. It is generally compatible with Fabric mods, but not the other way around (so Fabric mods should mostly work on Quilt, but Quilt mods may not work on Fabric). | ||
|
||
## R | ||
|
||
### Resource Packs | ||
|
||
Resource packs are a mechanism in Minecraft that allows changing textures (hence the old name "texture packs"), sounds, models, translations and other display information. | ||
|
||
_See also: [Resources/Assets][resourcepackarticle]_ | ||
|
||
## S | ||
|
||
### Server | ||
|
||
The game-handling side of the game, responsible for handling updates of the world. The opposite of the server is the [client]. | ||
|
||
_See also: [Sides][sidesdocs]_ | ||
|
||
## V | ||
|
||
### Vanilla | ||
|
||
The term "vanilla" refers to a game that has not been [modded], i.e. a game with no [mods][mod] or [mod loader][modloader] installed. It can be applied to any game that has a modding community - vanilla Minecraft, vanilla Factorio, etc. The opposite of vanilla is [modded]. | ||
|
||
[accesstransformerdocs]: ../advanced/accesstransformers.md | ||
[blockstatedocs]: ../blocks/states.md | ||
[bukkit]: #bukkit | ||
[client]: #client | ||
[curseforge]: #curseforge | ||
[curseforgelink]: https://www.curseforge.com/minecraft | ||
[datapack]: #data-pack | ||
[datapackarticle]: ../resources/index.md#data | ||
[fabric]: #fabric | ||
[fml]: #fml | ||
[forge]: #forge | ||
[gamelibrary]: #game-library | ||
[itemstackdocs]: ../items/index.md#itemstacks | ||
[jarinjar]: #jar-in-jar | ||
[librarymod]: #library-mod | ||
[mixin]: #mixin | ||
[mod]: #mod | ||
[modded]: #modded | ||
[modder]: #modder | ||
[moddevgradle]: #moddevgradle | ||
[modding]: #modding | ||
[moddingapi]: #modding-api | ||
[modloader]: #mod-loader | ||
[modrinthlink]: https://modrinth.com | ||
[neoforge]: #neoforge | ||
[neoforgemdksgithub]: https://github.com/neoforgemdks | ||
[neoforged]: #neoforged | ||
[neogradle]: #neogradle | ||
[plugin]: #plugin | ||
[resourcepack]: #resource-packs | ||
[resourcepackarticle]: ../resources/index.md#assets | ||
[server]: #server | ||
[sidesdocs]: ../concepts/sides.md | ||
[vanilla]: #vanilla |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.