• Forums

Navigation

  • Home
  • Contributing to the Docs
    • Style Guide
  • Getting Started
    • Introduction
    • Structuring Your Mod
    • Versioning
  • Core Concepts
    • Registries
    • Sides
    • Events
    • Mod Lifecycle
    • Resources
    • Internationalization
  • Blocks
    • Introduction
    • Block States
  • Items
    • Introduction
    • BlockEntityWithoutLevelRenderer
  • Networking
    • Introduction
    • SimpleImpl
    • Synchronizing Entities
  • Block Entities
    • Introduction
    • BlockEntityRenderer
  • Game Effects
    • Particles
    • Sounds
  • Data Storage
    • Capabilities
    • Saved Data
    • Codecs
  • Graphical User Interfaces
    • Menus
    • Screens
  • Rendering
    • Model Loaders
      • Introduction
      • Baked Model
      • Transform
      • Item Overrides
  • Resources
    • Client Assets
      • Introduction
      • Models
        • Introduction
        • Texture Tinting
        • Item Properties
    • Server Data
      • Introduction
      • Recipes
        • Introduction
        • Custom Recipes
        • Ingredients
        • Non-Datapack Recipes
      • Loot Tables
      • Global Loot Modifiers
      • Tags
      • Advancements
      • Conditionally-Loaded Data
  • Data Generation
    • Introduction
    • Client Assets
      • Model Providers
      • Language Providers
      • Sound Providers
    • Server Data
      • Recipe Providers
      • Loot Table Providers
      • Tag Providers
      • Advancement Providers
      • Global Loot Modifier Providers
      • Datapack Registry Object Providers
  • Miscellaneous Features
    • Configuration
    • Key Mappings
    • Game Tests
    • Forge Update Checker
    • Debug Profiler
  • Advanced Topics
    • Access Transformers
  • Contributing to Forge
    • Introduction
    • Pull Request Guidelines
  • Legacy Versions
    • Introduction
    • Porting to This Version

Contributing to This Documentation

This documentation is meant to be explanatory. Please explain how to do things, and break it down into reasonable chunks. We have a wiki elsewhere that can capture more comprehensive code examples.

Our audience is anyone who wants to understand how to build a mod using Forge.

Please don’t try to turn this documentation into a tutorial on Java Development - it is intended for people who understand how a Java class works, and other fundamental structures of Java.

Style Guide

Important

Please use two spaces to indent, not tabs.

Titles should be capitalized in the standard titling format. For example,

  • Guide For Contributing to This Documentation
  • Building and Testing Your Mod

Essentially, capitalize everything but unimportant words.

Spelling, grammar, and syntax should follow those of American English. Also, prefer using separate words over contractions (e.g. “are not” instead of “aren’t”).

Please use equals and dash underlines, instead of # and ##. For h3 and lower, ### etc. is fine. The source of this file contains an example for equals and dash underlining. Equals underlines create h1 text, and dash underlines create h2 text.

When referencing fields and methods outside of code block snippets, they should use a # separator (e.g. ClassName#methodName). Inner classes should use a $ separator (e.g. ClassName$InnerClassName).

JSON code block snippets should use js syntax highlighting.

All links should have their location specified at the bottom of the page. Any internal links should reference the page via their relative path.

Admonitions (represented by !!! <type>) must be formatted as documented; otherwise they may end up rendering incorrectly.

Built with MkDocs using a custom theme. Hosted by Read the Docs.
Enable Dark Theme