next generation block game utility client
Find a file
alemidev 9821169333
feat: simplified impl with interface + fix loading
only load patches rather than looking into all mods manually. patch
loading is implemented using ServiceLoader, thus removing most unchecked
casts and reflection accesses to methods, and directly invoking
inject(). This is much more efficient and allows to store only loader in
the Launch Plugin and only patches in mods themselves. The modder patch
interface is still super ripe, requiring each method to be implemented
returning a raw string with the unmapped name, but helpers and utils and
build plugins can be developed later on to make this API more friendly.
2023-02-06 01:10:18 +01:00
gradle/wrapper chore: boilerplate 2023-01-24 01:07:30 +01:00
src/main feat: simplified impl with interface + fix loading 2023-02-06 01:10:18 +01:00
.editorconfig chore: boilerplate 2023-01-24 01:07:30 +01:00
.gitignore fix: added gradle.properties to gitignore 2023-01-26 22:52:48 +01:00
build.gradle chore: trim it more 2023-02-02 11:13:18 +01:00
changelog.txt chore: boilerplate 2023-01-24 01:07:30 +01:00
CREDITS.txt chore: boilerplate 2023-01-24 01:07:30 +01:00
gradle.properties.example chore: slimmed down (build|properties).gradle 2023-02-02 00:23:02 +01:00
gradlew chore: boilerplate 2023-01-24 01:07:30 +01:00
gradlew.bat chore: boilerplate 2023-01-24 01:07:30 +01:00
LICENSE.txt chore: boilerplate 2023-01-24 01:07:30 +01:00
README.txt chore: boilerplate 2023-01-24 01:07:30 +01:00

Source installation information for modders
-------------------------------------------
This code follows the Minecraft Forge installation methodology. It will apply
some small patches to the vanilla MCP source code, giving you and it access 
to some of the data and functions you need to build a successful mod.

Note also that the patches are built against "un-renamed" MCP source code (aka
SRG Names) - this means that you will not be able to read them directly against
normal code.

Setup Process:
==============================

Step 1: Open your command-line and browse to the folder where you extracted the zip file.

Step 2: You're left with a choice.
If you prefer to use Eclipse:
1. Run the following command: `gradlew genEclipseRuns` (`./gradlew genEclipseRuns` if you are on Mac/Linux)
2. Open Eclipse, Import > Existing Gradle Project > Select Folder 
   or run `gradlew eclipse` to generate the project.

If you prefer to use IntelliJ:
1. Open IDEA, and import project.
2. Select your build.gradle file and have it import.
3. Run the following command: `gradlew genIntellijRuns` (`./gradlew genIntellijRuns` if you are on Mac/Linux)
4. Refresh the Gradle Project in IDEA if required.

If at any point you are missing libraries in your IDE, or you've run into problems you can 
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything 
{this does not affect your code} and then start the process again.

Mapping Names:
=============================
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields 
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
license, if you do not agree with it you can change your mapping names to other crowdsourced names in your 
build.gradle. For the latest license text, refer to the mapping file itself, or the reference copy here:
https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md

Additional Resources: 
=========================
Community Documentation: http://mcforge.readthedocs.io/en/latest/gettingstarted/  
LexManos' Install Video: https://www.youtube.com/watch?v=8VEdtQLuLO0  
Forge Forum: https://forums.minecraftforge.net/  
Forge Discord: https://discord.gg/UvedJ9m