Jump to content

Recommended Posts

Posted

Forge Version: 37.0.0

Minecraft Version: 1.17.1

Downloads:


It's time!

The first release of 1.17 is ready!
Before you dive in, we have to address some things.

We were planning to release this sooner, but real-life matters and the update to Java 16 meant we were waiting for other projects to conclude before we can release.
It is not the fault of any one person or project, this delay was caused by a number of factors.
However, enough waiting has occured, and we want to put this in the hands of the players.
 

Notice

This is an *early access beta* build. Nothing here is final, it's merely an introduction for modders to get used to the new features.
We have lots of changes still to come, but the main things are here. The FML peel, the game test system, Java 16 features..


Java 16 and Modules

Almost every Java 16 feature is open to mods. Go ham.
However, modules are a bit of a pain to use.

If you do use the module-info system in your mod, make sure you fully understand what it is and how it is exposed to other modules (mods) at compile time.
Currently, module-infos will be ignored at runtime but NOT at compile time.
Our ongoing advice is to not develop your mod as a module.
 

Extra mentions

Additionally, mixins.
Mixins do not work with the new Modlauncher yet, and we are waiting for Mumfrey to review and update Mixin.
Once he gives us the go ahead that it is stable and supports the new systems, we'll ship it again.
As such, we're going to release the first few builds of Forge without them.
 

LTS

As a reminder, once 1.17 is released, 1.16 and 1.15 become joint LTS versions - 1.15 is now in grace.
In 1 month (22nd August 2021), 1.15 will be dropped altogether.
We plan that once 1.18 releases, 1.16 will stay as LTS and 1.17 will be dropped, but this is just a plan and is not solid.
 

ForgeGradle

ForgeGradle 5 just had a Recommended Build. There will be no breaking changes in the tool until the next minor version.
1.16 and 1.17 now also use ForgeGradle 5 by default, to make it easier for modders that use both versions and don't wish to deal with the mess that is Java 16 support.
ForgeGradle still follows the even-odd versioning, where odd minor versions (5.1, 5.3. 5.5...) have no breaking changes, and even minor versions (5.2, 5.4, 5.6...) are breaking/development phases.

This system may seem strange at first, but it helps us remove unnecessary technical debt.
I recommend hardcoding the version to 5.1.+ (or see the new default MDK buildscript) to avoid unwanted breakages in your project.
 

FML

FML and the Modlauncher system was designed for Java 9+ modularity from the start - using modules is something we have been intending to do from day one.
However, there are a few complications with integrating with such an unnecessarily complicated system as Java modularity, so the internal FML APIs are not solid.

Any mod interfacing with the FML APIs before the RB may encounter crashes with the next update, as we figure out where things belong and move them accordingly.
Anything inside these packages are liable to be moved, changed, or removed on any minor update before the first RB:

  • net.minecraftforge.fmlclient
  • net.minecraftforge.fmllegacy
  • net.minecraftforge.fmlserverevents

However, once it's all finished, we can properly reimplement things like native API exposure for mods via package exports, native jar-in-jar loading, etc.
Lots of cool opportunities for modules in mods.
 

Forge Repo Structure

With the FML Peel complete, the structure of the Forge repos has become a bit more complex;
There are many subprojects, each containing a part of the whole project.

A main part of this is to facilitate the new fmlonly configuration - where the modloader can be built without the API.
This can theoretically enable modding on snapshots, given a small amount of work done on the backend.
 

Installers and the Server

<TECHNICAL>

Due to the way the module system works in Java, the server now launches in a much different way.
It is no longer feasible to provide a single executable jar like was done before, so we use a workaround:

When you install a server, you'll see two run scripts (one for linux and mac, one for Windows) and argument files.
The arguments are added in the order:

java @user_jvm_args.txt @forge_args.txt <user game args>

As you can tell by the name, only the user_jvm_args.txt file is are intended to be modified by the end user.
</TECHNICAL>

There is a written example provided by me in the user_jvm_args file that explains the most commonly used arguments (-Xmx, -Xms).
Tutorials for creating a server will no longer work on Forge >=37.0. You must use one of the command files (.bash / .sh) provided, or the game will not be able to load.

Closing thoughts

With all that said, we're looking forward to having people play with Forge. Remember, if you see any bugs, feel free to report them here (the forums), our Discord server or on the issue tracker.

Happy Modding!

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Reach Out To Rapid Digital: What sapp Info: +1 41 4 80 7 14 85 Email INFO: rap iddi gita lrecov ery @ exe cs. com Hello, my name is Jayson, and I’m 35 years old from the United Kingdom. My family and I recently endured an incredibly challenging experience that I wouldn’t wish on anyone. We became victims of a cryptocurrency investment fraud scheme that saw us lose a staggering $807,000 in USDT and Bitcoins. The fraudsters had created a convincing facade, and we were lured into investing, only to discover later that the platform was a complete scam. We were left devastated, not just financially, but emotionally, as we had trusted these people and believed in the legitimacy of the investment. After the initial shock wore off, we desperately searched for ways to recover the lost funds. It seemed like an impossible task, and we felt as though there was no hope. That’s when, by sheer luck, we stumbled across a post about Rapid Digital Recovery, a cryptocurrency and funds recovery organization with a proven track record in cybersecurity and fraud recovery. We decided to reach out to them, and from the first interaction, we were impressed with their professionalism and transparency. They explained the recovery process in detail and reassured us that they had the skills and expertise to track down the perpetrators and recover our funds. This gave us a renewed sense of hope, something we hadn’t felt in months. What truly stood out during our experience with Rapid Digital Recovery was their dedication to the recovery process. The team went above and beyond, using sophisticated tracking tools and cyber forensics to gather critical information. Within a matter of weeks, they had successfully located the funds and traced the scam back to the fraudsters responsible. They worked with the authorities to ensure the criminals were held accountable for their actions. To our relief, the team at Rapid Digital Recovery was able to recover every single penny we had lost. The funds were returned in full, and the sense of closure we felt was invaluable. We couldn’t have imagined such a positive outcome in the early stages of our recovery journey, and we are deeply grateful for the work they did. If you ever find yourself in a similar situation, I highly recommend contacting Rapid Digital Recovery. Their expertise, transparency, and dedication to their clients make them the go-to choice for anyone seeking to recover lost cryptocurrency or funds. They truly gave us back our financial future.  
    • This is my first time modding anything, so maybe just skill issue. I'm using Forge 54.0.12 and Temurin 21.0.5+11-LTS I wanted to create a custom keybind and to check whether it works I'd like to send a chat message. I tried using Minecraft.getInstance().player.sendSystemMessage(Component.literal("test")); but IntelliJ couldnt resolve sendSystemMessage(...). Since I saw people using it in earlier versions, I tried the same thing with 1.20.6(- 50.1.0), where it works fine, now I can't figure out if this is intentional and whether there are other options for sending chat messages. On that note, is there more documentation than https://docs.minecraftforge.net/en/1.21.x/? It seems very incomplete compared to something like the Oracle Java docs
    • Hi, i'm having this error and I wanna fix it. we try: -Reload drivers -Eliminate .minecraft -Eliminate Java -Restart launcher -Verify if minecraft is using gpu -Mods  in .minecraft is empty -Install the latest and recomended version of forge idk what i have to do, help me pls. the lastest log is: https://mclo.gs/WAMao8x  
    • Read the FAQ, Rule #2. (https://forums.minecraftforge.net/topic/125488-rules-and-frequently-asked-questions-faq/)  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.