Skip to content
/ Framework Public template

A client-side multi-loader template mod with example configuration system, keybind and command registration.

License

Notifications You must be signed in to change notification settings

TerminalMC/Framework

Repository files navigation

Icon

Framework

A custom and relatively unstable template mod, based on Jaredlll08's MultiLoader Template.

Environment Latest Minecraft

Loader Loader

Download on Modrinth Download on CurseForge Download on GitHub

Why?

This template was created to accelerate development of new client-side mods by providing more base functionality than the original Multiloader-Template from which it is derived.

It is not better, nor necessarily worse, than the original, it just serves a different purpose.

Features

  • Configuration UI using Cloth Config or YACL (both included, remove the one you don't want)
  • Keybind registration
  • Command registration
  • GitHub, Modrinth and CurseForge publishing via GitHub actions

Usage

This project was created and is maintained for TerminalMC use, so consider it provided as-is, without any warranty or guarantee of support or maintenance. If you choose to use it, you do so at your own risk.

Changing Project Details (IntelliJ IDEA)

  1. Change the root directory name

  2. SHIFT+F6 to rename the source package(s)

  3. SHIFT+F6 to rename the assets directory (common/src/main/resources/assets/framework)

  4. Edit rebrand.properties with the new details

  5. Run the rebrandProject gradle task

  6. Replace the root LICENSE.txt and common/src/main/resources/assets/{mod_id}/license/HEADER.txt files with your choice of license and header (optionally from licenses)

  7. Run the updateLicenses gradle task

  8. Update the license line in gradle.properties accordingly

Dependencies

  • Mod dependencies must be specified in the loader-specific build.gradle file. APIs may be specified in the common build.gradle for usage by the common subproject. If for any reason a mod dependency does not provide a common version, it is usually possible to depend on the project's NeoForge version in the common build.gradle.

  • Dependency repositories must be specified in buildSrc/main/groovy/multiloader-common.gradle.

  • Project properties required by resources/ files must be added to the expandProps map in multiloader-common.gradle.

Licenses

This project is licensed CC0-1.0 Universal, with the mixin classes carrying the MPL-2.0 header as an example of attributing a modified work from another mod licensed MPL-2.0.

License summaries (not legal advice)

CC0-1.0 Universal

  • No restrictions.

Apache-2.0

  • Copyright notices must be retained.
  • License file must be retained (both source and executable form).
  • Modification notices must be added to modified files.
  • Subject to previous points, combined or derivative works may be provided under a different license.

LGPL-3.0-only

  • Complicated, basically;
  • Copyright notices and license file must be retained.
  • Modification notices with modification date must be added to modified files.
  • Copies or derivative works must be distributed under the same license.
  • Source code must be provided when distributing copies or derivative works in executable form.

MIT

  • Copyright notices and permission notices must be retained in all copies or substantial portions.

MPL-2.0

  • Copyright notices must be retained.
  • Distributions of source code (complete or partial, original or modified) must remain under the same license.
  • Source code must be provided when distributing copies or combined works in executable form.
  • Subject to previous points, a combined work may be distributed under a different license.

Contact

Discord

Issues

License

About

A client-side multi-loader template mod with example configuration system, keybind and command registration.

Topics

Resources

License

Stars

Watchers

Forks

Languages