# neoforged/neoforge

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/neoforged-neoforge).**

1,949 stars · 306 forks · Java · LGPL-2.1

## Links

- GitHub: https://github.com/neoforged/NeoForge
- Homepage: https://neoforged.net
- awesome-repositories: https://awesome-repositories.com/repository/neoforged-neoforge.md

## Topics

`hacktoberfest` `minecraft` `modding-api` `neoforge` `renovated`

## Description

NeoForge is a development framework and programming interface designed for modifying the Minecraft Java Edition game engine. It provides a standardized environment that allows developers to inject custom logic, extend core gameplay mechanics, and introduce new content into the game.

The platform distinguishes itself by utilizing a system of hooks and registry patterns that manage how modifications interact with the game engine. It maintains stability across different versions by separating client and server execution environments and automating the discovery and loading of mod packages.

The framework covers a broad range of capabilities for game engine modification, including the ability to rewrite class files at runtime and manage complex dependencies between community-made additions. It ensures compatibility between different modifications through a centralized registry system and a manifest-based validation process.

## Tags

### Part of an Awesome List

- [Engine Modification Interfaces](https://awesome-repositories.com/f/awesome-lists/devtools/game-development-plugins/minecraft-plugin-development/engine-modification-interfaces.md) — Creates custom content and gameplay mechanics for Minecraft Java Edition by injecting code into the game engine through a standardized interface.
- [Modding Platforms](https://awesome-repositories.com/f/awesome-lists/devtools/game-development-plugins/minecraft-plugin-development/modding-platforms.md) — Provides a development platform for creating and managing modifications to the Minecraft Java Edition game engine using standardized hooks.
- [Manifest-Based Discovery](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders/mod-identification/manifest-based-discovery.md) — Identifies and validates mod packages by parsing metadata files to determine load order and resolve version conflicts automatically.

### Game Development

- [Modding Frameworks](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/game-development-engines/java-libraries/java-game-engines/modding-frameworks.md) — Builds complex modifications for Java-based games using a shared framework that manages dependencies and ensures compatibility.
- [Game Modding Toolkits](https://awesome-repositories.com/f/game-development/game-modding-toolkits.md) — Provides a set of programming interfaces that allow developers to inject custom logic and content into existing game engine processes.
- [Game Modification Frameworks](https://awesome-repositories.com/f/game-development/game-modification-frameworks.md) — Provides a framework for integrating community-created content and modifications into games while maintaining version stability.

### Programming Languages & Runtimes

- [Runtime Bytecode Instrumentation](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/bytecode/runtime-bytecode-instrumentation.md) — Modifies the game engine at load time by rewriting class files to inject custom logic into existing methods.
- [Class Loading Mechanisms](https://awesome-repositories.com/f/programming-languages-runtimes/dynamic-class-creation/class-loading-mechanisms.md) — Provides a system for dynamically locating and loading binary class definitions into memory at runtime to support mod injection.

### Software Engineering & Architecture

- [Event-Driven Hook Systems](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-hook-systems.md) — Dispatches notifications to registered listeners whenever specific game actions occur to allow modular modification of core behavior.
- [Gameplay Logic Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/cluster-functionality-extenders/server-capability-extenders/gameplay-logic-extenders.md) — Provides interfaces for injecting custom rules and mechanics into game engine logic to extend core gameplay. ([source](https://github.com/neoforged/neoforge#readme))
- [Behavioral Logic Injection](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/game-logic-models/game-logic-controllers/behavioral-logic-injection.md) — Enables the injection of modular, reusable rule sets into game entities to automate state transitions and mechanics. ([source](https://github.com/neoforged/neoforge#readme))
- [Compatibility Layers](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins/minecraft-plugin-apis/compatibility-layers.md) — Provides a stable development environment for building and maintaining complex game modifications that extend core gameplay mechanics.
- [Registry-Driven Architectures](https://awesome-repositories.com/f/software-engineering-architecture/registry-driven-architectures.md) — Utilizes a centralized registry system to map game content types to implementation handlers, ensuring compatibility between modifications.

### Web Development

- [Side Separation Environments](https://awesome-repositories.com/f/web-development/client-side-execution-environments/side-separation-environments.md) — Maintains distinct execution environments for client and server logic to ensure modifications function correctly across different network configurations.
