Changes

Copy Proper Mod Structuring to MC1.16 archive
Line 17: Line 17:  
A common strategy is to make a subpackage for grouping classes that have a common purpose. For example, your blocks classes can be under <code>blocks</code>, your entities classes can be under <code>entities</code>, your helper utilities can be under <code>helpers</code>, etc.
 
A common strategy is to make a subpackage for grouping classes that have a common purpose. For example, your blocks classes can be under <code>blocks</code>, your entities classes can be under <code>entities</code>, your helper utilities can be under <code>helpers</code>, etc.
   −
It is recommended to add a <code>client</code> subpackage under your main package, to isolate your [[Sides|client-only code/1.16]] from the rest, such as your GUIs and renderers.
+
It is recommended to add a <code>client</code> subpackage under your main package, to isolate your [[Sides/1.16|client-only code]] from the rest, such as your GUIs and renderers.
    
By keeping your code in clean subpackages, you can grow your mod much more organically.
 
By keeping your code in clean subpackages, you can grow your mod much more organically.
Line 56: Line 56:  
showAsResourcePack=false
 
showAsResourcePack=false
   −
[[mods/1.16]]
+
[[mods/1.16|mods]]
 
     modId="examplemod"
 
     modId="examplemod"
 
     version="1.0.0.0"
 
     version="1.0.0.0"
Line 69: Line 69:  
     '''
 
     '''
   −
[[dependencies.examplemod/1.16]]
+
[[dependencies.examplemod/1.16|dependencies.examplemod]]
 
     modId="forge"
 
     modId="forge"
 
     mandatory=true
 
     mandatory=true
Line 76: Line 76:  
     side="BOTH"
 
     side="BOTH"
   −
[[dependencies.examplemod/1.16]]
+
[[dependencies.examplemod/1.16|dependencies.examplemod]]
 
     modId="minecraft"
 
     modId="minecraft"
 
     mandatory=true
 
     mandatory=true
Line 137: Line 137:     
===Mod Properties===
 
===Mod Properties===
A mod entry is defined by a new section starting with a <code><nowiki>[[mods/1.16]]</nowiki></code> header (In TOML, the <code><nowiki>[[mods/1.16]]</nowiki></code> defines an [https://toml.io/en/v1.0.0-rc.2#array-of-tables array of tables]). All properties from that line until the next header will become the properties for that mod.
+
A mod entry is defined by a new section starting with a <code><nowiki>[[mods/1.16|mods]]</nowiki></code> header (In TOML, the <code><nowiki>[[mods/1.16|mods]]</nowiki></code> defines an [https://toml.io/en/v1.0.0-rc.2#array-of-tables array of tables]). All properties from that line until the next header will become the properties for that mod.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 161: Line 161:  
|string
 
|string
 
|<code>"1"</code>
 
|<code>"1"</code>
|.), ideally conforming to [[Semantic_Versioning>Semantic Versioning/1.16]]. The default value in the MDK for this is <code>${file.jarVersion}</code>, which is replaced at runtime with the <code>Implementation-Version</code> found in the jar's manifest file.
+
|.), ideally conforming to [[Semantic Versioning>Semantic Versioning/1.16|Semantic Versioning>Semantic Versioning]]. The default value in the MDK for this is <code>${file.jarVersion}</code>, which is replaced at runtime with the <code>Implementation-Version</code> found in the jar's manifest file.
 
|<code>"0.2.4-beta1"</code>
 
|<code>"0.2.4-beta1"</code>
 
|-
 
|-
Line 223: Line 223:  
Mods can define dependencies for their mods, which are checked by Forge before loading mods. This is used for e.g. ensuring your mod loads after another, or hard-crashing if a mod with a specified version does not exist.
 
Mods can define dependencies for their mods, which are checked by Forge before loading mods. This is used for e.g. ensuring your mod loads after another, or hard-crashing if a mod with a specified version does not exist.
   −
These dependency configurations, like the mod properties, are defined by a new section starting with <code>[[dependencies./1.16]]</code>, with <code></code> being the mod id that has this dependency. All properties from that line until the next header will become the properties of that dependency configuration.
+
These dependency configurations, like the mod properties, are defined by a new section starting with <code>[[dependencies./1.16|dependencies.]]</code>, with <code></code> being the mod id that has this dependency. All properties from that line until the next header will become the properties of that dependency configuration.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 267: Line 267:  
An example: if mod A must load before mod B, and mod B must load before mod A, the game will crash because of the circular cycle.}}
 
An example: if mod A must load before mod B, and mod B must load before mod A, the game will crash because of the circular cycle.}}
   −
[[Category:Getting Started/1.16]]
+
[[Category:Getting Started/1.16|Category:Getting Started]]
      −
[[Category:Beginner Topics/1.16]]
+
[[Category:Beginner Topics/1.16|Category:Beginner Topics]]
372

edits