Notes should be taken with a grain of salt as it's just notes I took during the livestream and since I'm no contributor to forge I cannot attest to the accuracy of facts.
- cpw is rewriting the mod loader and it's going to be merged into 1.13 forge
- 1.13 forge will have java 9 support. (May happen sooner rather than later)
- The mod loader carries a lot of technical debt, which is the reason the load speed is a bit slow, they're working towards improving the performance of the loader.
- Java 10 & 11 support depends on Mojang using it. Go yell at them for support.
- Forge will receive a full audit for 1.13, going over all of the classes for redundancies. Stable 1.13 Forge might take months.
- New coremod system for 1.13, coremods are necessary for forge, but people tend to overuse them right now.
- New system might support swapping mod versions while the game is running.
- Mod system should not scare bukkit plugin devs so much after the rewrite(but forge will never be bukkit/sponge since it's not an abstraction)
- Multicore systems should receive a big speed increase (for the loader?)
- 1.13 updates to LWJGL3 which has support for multithreaded rendering, so they still want someone who does rendering to speed that up.
1.13 Vanilla code changes
- Vanilla command system rewritten, a lot more structured. Uses Brigadier
- Lot of new World generation util that should help for mods like Twilight forest & Betweenlands.
- DataFixers: Could theoretically support porting modded worlds from version to version, but will probably not be a thing.
- More Event driven networking for simplmpl
- async & promises support
- login & handshake, system is getting a rewrite, should make it faster and more lag-resistant. Giving more feedback on how close it is to connecting to the server.
- Login needs support for longer handshakes since the block registry is ~16 times larger, and needs to be synced.
- Breakings changes in forge for 1.13? Yeeeeees. Forge will have a full audit for every line of code, so a lot of things are breaking. Terrain stuff will 100% break.
- Forge's official stance is always use the latest version, but 1.12 will have full support until 1.13 have a stable version that Lex is happy with.
- 1.13 is cooler and more enticing than 1.8 ever where when moving from 1.7
- The more modders that adapt 1.13, the better.
- Grum on entity data models: Not planned by mojang atm.
- Forge team is looking for someone to do rendering.
- Localization is getting a rewrite
- OreDict will be deprecated, Replaced with the new tag system. (Forge did it first, mojang is thieeeeves)
- Forge might take over to init gears/nuggets/iron and all those common occuring ingredients that have tags. atleast as an optional.
- Not much info on how datapacks will be utilized. They don't know if it's feasible yet (probably referring to syncing datapacks to the client).
- Scala removed
- Language support should only have to be -> Require a lang support mod from curse, and start developing.
- Java will always be the language that Forge supports.
- No Annotations processor, MCMOD.info is dead and the mod annotation only have one value.
- Tweakers removed, New loader system uses serviceloaders.
- Bad practice to have enable/disable flags for items/blocks in config. Just register how many you want.
- Block id will persist even if you remove the block that had that id, leaving dead id's. But you can reclaim it.
- They want a world cleanup tool that prunes dead ids. (Someone please write it)
- Registries will still be locked.
- Grum: Recipes should be reloadable in 1.13
- Grum: don't use 2^31 blockstates please hehehe, you are going to have a bad time
- Gui's have not really changed
- World generation is now really modular
- World generation is now THREADED!! (Not multi threaded)
- No changes to build height
- Uses Brigadier
- Will support sub-commands
- They need to probably rethink everyone about how fluid works.
- Might not make the rewrite straight away since mojang is not 100% done with the new fluid system.
- There will probably be a new entry/event for registering liquids.
- They would like FluidStack to be immutable and be more like ItemStack
- ForgeGradle is getting a rewrite
- No ETA
- Should be functional in a few weeks.
- Format will be TOML (Luckily it's not YAML)
- TOML will also be used for the modloader.
- Event to get config values from a TOML object.
- Annotations for config will kind of stay.
- Nested list support, should have all the same capabilities as the existing system.
- Scopes split into GLOBAL(What we have today)/PLAYER/SERVER
- Ability to load defaults from inside the jar.
- The library syncs config automatically.
- It's up to the modder to handle the syncing correctly.
- Paleo (the web dev for the file page) is now also community manager for forge.
- They try their best to inform about new changes on irc/discord, and try to keep the docs up to date.
- Issue tracker for the forge file page https://github.com/MinecraftForge/Web/issues
- tterag in chat: Anyone can contribute to the forge docs.
- It's being actively worked on.
- Lex has been updating MCP for all the snapshots.
- Lex gets help from Sponge devs and other sources to name mappings.
- MCP is still the property of Searge, but the Forge team maintains it right now.
What happens with forge after 1.13?
- They'll worry about it after 1.13
- Cpw is not going anywhere.
- Lex will continue as long as forge can support his livelihood. (not exact quote)
F.A.I.L (Forge abstraction layer)
- Major undertaking, does not sound like it will come to fruition.
- Use sponge instead.
- Many objects would turn into value types.
- Would have massive performance changes? (Tuned out for a bit)
- Might make it into Java 11
- The java dev community is very hyped about it.
- Nothing else would have a bigger impact on performance than this.
- When we get this depends only on Mojang.
- TL;DR Valhalla is huge, but proably far off.
- There could be a Forge util mod for library functions if they can find anyone trustworthy to develop it.
- Call to action, if you want to contribute make yourself known in irc or the git PR's, and as they said earlier they're looking for a rendering "guy".
- Documentation probably won't change a lot until stable release, follow the beta changelogs to keep posted.
- More event registries will be a thing in 1.13
- Only one value for Mod annotation, MODID
- All additional properties for mods are moved to META-INF/mods.toml
- modLoader, you can specify what language loader you want to use, you can also specify the version of the loader.
- Needs to follow apache maven version, use numbers please.
- Support for multiline description
- Can put multiple mods in there with jar-in-jar, but one mod specified is recommended.
- Removed magic derpy strings in annotations, now replaced with suppliers.
- cpw: wants to move away from stringAPIs like annotations, because they're error prone and require some validation.
- Using suppliers and types should be more stable.
- SubscribeEvent and Mod.EventBusSubscriber is not going away.
- SidedProxy annotation will probably not be maintained. Replaced with using SidedExecutor.
- SidedExecutor let's you run code on one side only. Will also trigger events.
- Sided proxies with the overwrite pattern is probably going away in favor of SidedExecutor.
- SideOnly will still exist by necessity. (They explained why but it did go over my head)
- The InterModComms system is getting rewritten.
- Optional is gone, it's not coming back.
Forge Modders Day
- Virtual event.
- Mini minecon for modders.
- cpw wanted to write a history of modding talk.
- They're open for ideas for modders day, talk to the forge team on Discord.
- Pahimar is helping with organization.
- They would love it if Sponge devs would also join in on the fun.
- Might have a modjam event after/before.