User Tools

Site Tools


tutorial:terms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tutorial:terms [2019/05/09 03:33] – created draylartutorial:terms [2022/12/22 18:51] (current) – add link to dedicated entrypoint doc page basil4088
Line 5: Line 5:
  
 ==== Mod ID ==== ==== Mod ID ====
-Throughout the tutorial, we'll often refer to a Mod ID, or modid in code. Mod ID stands for "Mod Identifier," and it is the compact version of your full mod nameSome of the starter tutorials will register items and blocks under this basic namespace, and you can think of it as starter template-- keep it for testing if you wantor change it if you feel comfortable to do so+Throughout the documentation, we'll often refer to a Mod ID, or modid in code. Mod ID stands for "Mod Identifier," and it is a string that should uniquely identify your mod. Mod IDs are commonly associated with identifier namespaces of the same name, and as such, follow the same restrictions. Mod IDs can consist only of lowercase characters ''a-z'', numbers ''0-9''and the symbols ''_-''. For example, Minecraft uses the ''minecraft'' namespace. Additionally, a mod ID must consist of at least two characters.
  
-Mod IDs can't have capital letters or spaces. Minecraft's modid is simply minecraft. Let's take project with the name "My Project--" how should we name it? Most community members prefer something like __myproject__; in some cases, __my-project__ also works but dashes in modids can be a slight pain to deal with at times. If you do choose to use your own Mod ID, replace all instances of "modid" with it when you're following along in our basic tutorials.+A mod ID is often compact version of the name of the mod which makes it short but recognizable and prevents naming conflicts. Conventionally, a project named "My Project--" could be called ''myproject'', ''my_project'', or in some cases, ''my-project'' also worksbut dashes in modids can be a slight pain to deal with at times [citation needed]This mod would register items and blocks using this mod ID as a registry namespace.
  
 +Some of the starter tutorials will use a placeholder mod ID and register items and blocks under a placeholder namespace, and you can think of it as a starter template. In Fabric Wiki, we use ''tutorial'' as the mod ID. While leaving this unchanged is not dangerous for testing, remember to change it if you intend to release your project.
  
 +==== Tags ====
 +
 +Tags are groups of blocks, items, or fluids with similar properties, i.e. ''minecraft:saplings'' contains all of the game's saplings.
 +Information about what to call tags for your mod can be found [[tutorial:tags|here]]. 
 +
 +Read more on what tags are on the [[https://minecraft.gamepedia.com/Tag|Minecraft Wiki]]
 +
 +==== Entry Points and Initializers ====
 +Fabric Loader use ''fabric.mod.json'' to detect and load your mod.
 +
 +A mod usually contains at least one initializer class which should implement one of ''ModInitializer'', ''ClientModInitializer'' and ''DedicatedServerModInitializer''. The interfaces are all in the ''net.fabricmc.api'' package. In order to change or add initializers, you need to edit ''fabric.mod.json'' and find ''entrypoints'' block, then edit them accordingly. ''main'' block is for Mod Initializers, ''client'' block is for Client Mod Initializers and ''server'' block is for Server Mod Initializers.
 +
 +<code java>
 +{
 +  [...]
 +  "entrypoints": {
 +    "main": [
 +      "net.fabricmc.ExampleMod"
 +    ],
 +    "client": [
 +      "net.fabricmc.ExampleClientMod"
 +    ]
 +  }
 +  [...]
 +}
 +</code>
 +
 +By implementing Mod Initializer interfaces, you must implement an ''onInitializing()'' (or ''onInitializeClient()'' for Client, ''onInitializeServer()'' for Server) function. You can then write your codes there.
 +
 +Also, there is a block called ''initializers''. For more information on entry points, see the [[documentation:entrypoint|dedicated page]].
 +
 +==== Maven Group & Package Names ====
 +According to Oracle's Java documentation, they are written in all lower case to avoid conflict with the names of classes or interfaces. The reverse of your domain name is used to start the names. Read more at [[https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html]].
tutorial/terms.1557372804.txt.gz · Last modified: 2019/05/09 03:33 by draylar