As outlined here, Forge is implementing a new set of best practices regarding core mods.
On a basic level, normal mod adds new content into the game, whether this be a machine, or a new type of ore or block. It does this without interfering with the actual core minecraft files. These mods interact with the Minecraft game through Forge. So Forge will add new features into the base Minecraft API that mods then take advantage of. An example of this might be the ore dictionary which lets all the different versions of copper work as substitutes for each other. Or the Capability system which changes the way modders can interact with blocks that have inventories or other special features (like furnaces etc).
When mods want to modify Minecraft code in new ways that Forge does not accommodate and in a way that would only be useful in a select set of cases, they might write a core mod. This will then directly modify the Minecraft code, adding the functionality that the mod requires.
The best practices that the Forge team are implementing are designed to ensure that core mods are only used when they are essential and where appropriate, functionality added by a core mod is instead added directly into Forge itself. For those cases where a core mod is still appropriate then the aim is to ensure that the core mod only includes what is needed, and everything else is pushed into a separate normal mod or library.
The second purpose of the best practices is to help ensure the authenticity of core mods by encouraging mod authors to sign their mods. This essentially allows your computer to check that you are running an unmodified versions from a source you trust. This must be stressed that this is NOT a security measure over the content of the mod. As any mod has the ability to do anything it wants on your computer. You should still only download mods from people you trust.
Lastly, the best practices call for visible source for core mods so that any mod that is directly changing minecraft files can be easily checked to ensure they are working as advertised.
These ‘best practices’ are intended to be voluntary on the part of mod authors. However as a team, FTB fully supports the implementation of these best practices and our goal from 1.12 onwards will be to design and develop mod packs that use mods that follow these best practices. We will also be ensuring that any FTB built mods also follow them. Where appropriate we will work with mod developers when they are looking to follow the best practices but are delayed from making changes for whatever reason.
On a basic level, normal mod adds new content into the game, whether this be a machine, or a new type of ore or block. It does this without interfering with the actual core minecraft files. These mods interact with the Minecraft game through Forge. So Forge will add new features into the base Minecraft API that mods then take advantage of. An example of this might be the ore dictionary which lets all the different versions of copper work as substitutes for each other. Or the Capability system which changes the way modders can interact with blocks that have inventories or other special features (like furnaces etc).
When mods want to modify Minecraft code in new ways that Forge does not accommodate and in a way that would only be useful in a select set of cases, they might write a core mod. This will then directly modify the Minecraft code, adding the functionality that the mod requires.
The best practices that the Forge team are implementing are designed to ensure that core mods are only used when they are essential and where appropriate, functionality added by a core mod is instead added directly into Forge itself. For those cases where a core mod is still appropriate then the aim is to ensure that the core mod only includes what is needed, and everything else is pushed into a separate normal mod or library.
The second purpose of the best practices is to help ensure the authenticity of core mods by encouraging mod authors to sign their mods. This essentially allows your computer to check that you are running an unmodified versions from a source you trust. This must be stressed that this is NOT a security measure over the content of the mod. As any mod has the ability to do anything it wants on your computer. You should still only download mods from people you trust.
Lastly, the best practices call for visible source for core mods so that any mod that is directly changing minecraft files can be easily checked to ensure they are working as advertised.
These ‘best practices’ are intended to be voluntary on the part of mod authors. However as a team, FTB fully supports the implementation of these best practices and our goal from 1.12 onwards will be to design and develop mod packs that use mods that follow these best practices. We will also be ensuring that any FTB built mods also follow them. Where appropriate we will work with mod developers when they are looking to follow the best practices but are delayed from making changes for whatever reason.
Last edited by a moderator: