• Stars
    star
    371
  • Rank 115,103 (Top 3 %)
  • Language
    Java
  • License
    Creative Commons ...
  • Created about 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A template for a Forge + Fabric project setup using a Common source set.

MultiLoader Template

This project provides a Gradle project template that can compile mods for both Forge and Fabric using a common sourceset. This project does not require any third party libraries or dependencies. If you have any questions or want to discuss the project join our Discord.

Getting Started

IntelliJ IDEA

This guide will show how to import the MultiLoader Template into IntelliJ IDEA. The setup process is roughly equivalent to setting up Forge and Fabric independently and should be very familiar to anyone who has worked with their MDKs.

  1. Clone or download this repository to your computer.
  2. Configure the project by editing the group, mod_name, mod_author, and mod_id properties in the gradle.properties file. You will also need to change the rootProject.name property in settings.gradle, this should match the folder name of your project, or else IDEA may complain.
  3. Open the template's root folder as a new project in IDEA. This is the folder that contains this README file and the gradlew executable.
  4. If your default JVM/JDK is not Java 17 you will encounter an error when opening the project. This error is fixed by going to File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JVMand changing the value to a valid Java 17 JVM. You will also need to set the Project SDK to Java 17. This can be done by going to File > Project Structure > Project SDK. Once both have been set open the Gradle tab in IDEA and click the refresh button to reload the project.
  5. Open the Gradle tab in IDEA if it has not already been opened. Navigate to Your Project > Common > Tasks > vanilla gradle > decompile. Run this task to decompile Minecraft.
  6. Open the Gradle tab in IDEA if it has not already been opened. Navigate to Your Project > Forge > Tasks > forgegradle runs > genIntellijRuns. Run this task to set up run configurations for Forge.
  7. Open your Run/Debug Configurations. Under the Application category there should now be options to run Forge and Fabric projects. Select one of the client options and try to run it.
  8. Assuming you were able to run the game in step 7 your workspace should now be set up.

Eclipse

While it is possible to use this template in Eclipse it is not recommended. During the development of this template multiple critical bugs and quirks related to Eclipse were found at nearly every level of the required build tools. While we continue to work with these tools to report and resolve issues support for projects like these are not there yet. For now Eclipse is considered unsupported by this project. The development cycle for build tools is notoriously slow so there are no ETAs available.

Development Guide

When using this template the majority of your mod is developed in the Common project. The Common project is compiled against the vanilla game and is used to hold code that is shared between the different loader-specific versions of your mod. The Common project has no knowledge or access to ModLoader specific code, apis, or concepts. Code that requires something from a specific loader must be done through the project that is specific to that loader, such as the Forge or Fabric project.

Loader specific projects such as the Forge and Fabric project are used to load the Common project into the game. These projects also define code that is specific to that loader. Loader specific projects can access all of the code in the Common project. It is important to remember that the Common project can not access code from loader specific projects.

More Repositories

1

ModTweaker

ModTweaker is an addon for CraftTweaker, which provides Integration for an amount of mods.
Java
68
star
2

Clumps

Clumps Items and XP together to reduce lag
Java
63
star
3

Controlling

Gives you more control over the Keybindings menu
Java
60
star
4

CurseForge-Stats

Python
9
star
5

Ambient-Environment

Kotlin
8
star
6

TipTheScales

Allows for more options when adjusting the GUIScale option as well as making it a slider.
Kotlin
8
star
7

searchables

Searchables is a library mod that adds helper methods that allow for searching and filtering elements based on components, as well as offering built in auto-complete functionality.
Java
8
star
8

SlimyBoyos

Makes Slimes pickup items
Kotlin
7
star
9

Fluxed-Crystals-Reborn

Java
7
star
10

FTBTweaks

Java
5
star
11

CreateTweaker

Java
5
star
12

Fluxed-Trinkets

Adds RF powered baubles
Java
5
star
13

MysticalTrinkets

Java
4
star
14

Controlling-for-Fabric

Java
4
star
15

MTLib

Java
4
star
16

WaitingTime

Java
4
star
17

AppliedEnergisticsTweaker

Java
3
star
18

RecipeStages

Java
3
star
19

ModTemplate

Java
3
star
20

IceAndFireTweaker

ZenScript
3
star
21

ContentTweaker

Content tweaker is a minetweaker3 addon
Java
3
star
22

JSON-Ables

Java
2
star
23

Machines-and-Stuff

A Minecraft mod that adds machines, power generation and more!
Java
2
star
24

Visualize

A Minecraft mod that makes changing the Video Options easier!
Java
2
star
25

Fluxed-Core

A mod that holds common methods in all of my mods
Java
2
star
26

DarkRooms

Java
2
star
27

qwik-ui-astro-issues

Astro
1
star
28

FunkyFrames

Java
1
star
29

Fused

Java
1
star
30

BardBot

Java
1
star
31

Fluxed-Crystals

Grow resources using RF!
Java
1
star
32

InitialInventory

Allows you to set an initial inventory for players
Java
1
star
33

SAtIn

Allows to custom Attack Indicator locations and scale
Java
1
star
34

WAIM

A mod that makes the missing entries gui a bit easier to traverse!
Java
1
star