Commit graph

128 commits

Author SHA1 Message Date
LexManos
d697be351f
Bump Dependencies, Notably ASM for Java 27 support 2026-07-21 16:05:10 -07:00
Matt
cb2e205867
Toml parsing errors are now visible in the latest log. (#10847) 2026-07-13 17:05:48 -07:00
LexManos
c5d015e60a
Add mechanic for ImmediateWindowProviders to react to Graphics backed settings
Disable early loading screen when using Vulkan. Fixes #10829
2026-06-30 15:57:35 -07:00
LexManos
72be0c9ccd
ForgeDev 7
Co-authored-by: Jonathing <me@jonathing.me>
Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com>
2026-06-30 12:43:08 -07:00
LexManos
3da1b644d0
26.2 2026-06-17 19:35:27 -07:00
LexManos
5f37e8af53
Work around 3rd party launchers who build incorrect classpaths Closes #10797 2026-04-03 09:31:40 -07:00
LexManos
047e5fe252
26.1 Update
Minecraft is now Unobfuscated and requires Java 25
Lots of changes/code cleanup.
See https://github.com/MinecraftForge/MinecraftForge-Experimental/tree/26.1-dev for non-squashed commits.

Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com>
2026-03-24 14:07:41 -07:00
Paint_Ninja
e1c2add370
Skip runtime annotation scanning for MC itself, blacklist common inconsequential annotations (#10773)
The results of scan data for MC itself aren't useful nor needed in practice. Skipping this speeds up the scanner and saves a bunch of memory. Also blacklisted common inconsequential annotations and cached common super types for further memory usage savings.
2026-02-18 23:13:06 +00:00
Paint_Ninja
3c057d277b
Deprecate RuntimeDistCleaner (#10771)
- Logs warnings when `@OnlyIn` is used by mod devs in their own code
- In a future release, only applies to MC classes during server runs
- Future FG7 and installer versions may shift RuntimeDistCleaner's server effects to compile/setup/install time to completely remove the need for runtime stripping
2026-02-15 15:04:34 -08:00
LexManos
b99abff6ce
Bump ASM to 9.9.1
Bump EventBus to 7.0.1
Bump MixinExtras to 0.5.3
2026-02-15 13:51:14 -08:00
LexManos
929064ee69
Add support for multiple access transformer configs. Closes #10758 2026-02-11 10:38:24 -08:00
LexManos
07f6499143
Remove JavaScript CoreMods and Nashorn (#10746)
The ASMAPI helper methods have been split off into a separate dep which is included with Forge for Java transformers to use.
2026-01-23 22:28:27 +00:00
Lemonnik6484
aa55a6a831
Make Mixin dev mode check a little looser (#10713) 2025-11-10 11:27:19 -08:00
Jonathing
41609a03d2
Introduce MixinExtras as an included, optional dependency (#10709)
Declare ME in userdev config as an effective compile transitive

Co-authored-by: LexManos <LexManos@gmail.com>
2025-11-05 11:34:23 -08:00
LexManos
9b8e5c7109
Add workaround for Mixin bug. Closes #10710 2025-11-02 18:39:39 -08:00
LexManos
6a615f1a4b
Add support for Forge shipping with JarInJar options. (#10683)
These are optional libraries that are only loaded when requested by mods.
Includes new ReadOnlyInMemoryFileSystem to improve performance of JarInJar parsing.
2025-10-30 14:48:46 -07:00
Jonathing
1b99b2cea4
Revert "Remove runtime mods.toml string substitution (#10698)" (#10701)
This reverts commit fc80e30289, 17ce723edf, and 0e6341a23e.
2025-10-21 17:51:24 -07:00
Paint_Ninja
fc80e30289
Remove runtime mods.toml string substitution (#10698) 2025-10-19 21:45:17 +01:00
Paint_Ninja
8f7fbc76e1 Simplify ModLoader#hasCompletedState, some more cleanup to FML internals 2025-10-11 13:43:14 +01:00
Paint_Ninja
ec405958c9
Skip processing vanilla classes in RuntimeDistCleaner when running on a client (#10682) 2025-10-10 21:31:14 +01:00
Paint_Ninja
e2ff990601
Require CapabilityToken subclasses to be anonymous (#10681) 2025-10-10 21:30:22 +01:00
LexManos
b0ccf1a480
Minecraft 1.21.9 update.
There a lot of performance improvements related to events.
  No more InheritableEvent for abstract events that you shouldn't add listeners to anyway, like EntityEvent. Use their sub-events.
  Made a lot more events records and interfaces. Mostly just a binary break, but has better performance.
  Mod bus posting methods are now static, no more ModLoader.get() for those.

ObjectHolder was removed, use RegistryObject.
Changed RuntimeEnumExtender to only target Minecraft classes. If you want other modders to interact with your API, use an Interface instead of Enum.
Moved some abstract event methods to only the relevant sub-events now, e.g. can no longer check the side of a ClientTickEvent, because it'll always be client

Rendering has changed a lot, they now batch most things together so that the game will render faster.
RenderHighlightEvent changed a lot

See https://github.com/MinecraftForge/MinecraftForge-Experimental/tree/1.21.9-dev for unsquashed commits.

Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com>
2025-10-01 13:05:12 -07:00
Paint_Ninja
0a885a77e7
[1.21.8] Deprecate global IExtensibleEnum support (#10662)
This is intended for use with Minecraft classes only. Mod devs can support extending enums through other, more efficient means, such as converting their enum to a record and having static final fields of instances that correspond to each enum value.
2025-09-18 17:13:58 +01:00
Jonathing
4c1c3aafdb
Deprecate JS CoreMods, remove Forge's usages of them (#10659) 2025-09-16 20:13:30 +01:00
Paint_Ninja
7f56986027
Minor cleanup to FML, fix double parsing of mods.toml (#10597) 2025-08-04 12:50:39 -07:00
LexManos
70dd556db6
Use vanilla's entrypoint for GameTest servers 2025-07-01 23:56:59 -07:00
LexManos
e44a558f37
Fix Forge error screen not rendering text correctly. Closes #10569 2025-07-01 23:41:08 -07:00
LexManos
5e8942e0a7
1.21.6 - New EventBus 7
A full rewrite and redesign of the library that offers much better performance, new features and fixes all previous design flaws
See the migration guide here: https://gist.github.com/PaintNinja/ad82c224aecee25efac1ea3e2cf19b91

Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com>
2025-06-18 02:53:58 -07:00
LexManos
d50a3b5ab7
Minecraft 1.21.5
Co-authored-by: Ven <tudurap.com@gmail.com>
Co-authored-by: Jonathing <me@jonathing.me>
2025-03-26 16:34:26 -07:00
Paint_Ninja
8e4e02e258
Skip processing Forge classes in RuntimeDistCleaner (#10199)
Mod classes are still transformed as usual
2024-12-21 22:20:21 +00:00
Paint_Ninja
2f5a6fee48
Skip Forge classes in the RuntimeEnumExtender transformer (#10197)
Mod classes are still transformed as usual
2024-12-21 22:19:07 +00:00
LexManos
0e74886f8d
Add hooks for using Vanilla's new Client data generator (#10206)
Add new hook for custom block models that do not have real blocks backing them
Some workspace cleanup fixing log4j annotation processor
2024-12-19 10:41:21 -08:00
Paint_Ninja
07977ba242
Deprecate @ObjectHolder, add a couple of fast-paths (#10195) 2024-12-06 18:18:53 +00:00
LexManos
cf32a799a4
Speed up mod annotation scanning by ~30% 2024-12-06 10:11:04 -08:00
Paint_Ninja
0fda1d9393
Skip Vanilla classes for the CapabilityTokenSubclass transformer (#10196) 2024-12-06 17:35:09 +00:00
LexManos
041084d1da
Minecraft 1.21.4 2024-12-05 10:22:55 -08:00
LexManos
384286a453
Cleanup lifecycle transitions
Fix mod ordering for multi-mod jars
Make dependency resolution issues easier to debug/diagnose
2024-11-11 03:04:23 -08:00
LexManos
46cfe50108
Properly allow normal mods.toml mods to specify the module names and use a full module-info.
Make FMLModContainer read and apply Add-Opens and Add-Exports manifest entries from mod files.
Forge is now the `net.minecraftforge.forge` module instead of `forge`

https://forums.minecraftforge.net/topic/153333-proper-java-module-support-in-forge-mods/
2024-11-04 16:55:10 -08:00
LexManos
c3ee633897
Fix and cleanup RuntimeDistCleaner 2024-10-08 14:31:17 -07:00
Paint_Ninja
9714512c31
[1.21.1] ModLoading cleanup and optimisations (#10052) 2024-08-16 22:49:11 +01:00
Yeregorix
f106ff0c21
Properly ignore unknown mod files (#10063) 2024-08-14 02:17:09 -07:00
LexManos
dc594f196a
Load mods that declare explicit 1.21 compatibility as 1.21.1 is a minor bugfix. 2024-08-08 14:01:31 -07:00
LexManos
8e0845d032
Add support for named sub-caps 2024-06-19 15:30:46 -07:00
LexManos
3272e995ab
Some code cleanup in ModInfo/ModFileInfo to use less streams and make things easier to debug. 2024-06-18 11:47:11 -07:00
LexManos
8edb551571
Bump NightConfig to 3.7.3, to fix toml sub-configs being completely broken. Fixes #10015 2024-06-18 11:46:34 -07:00
thedarkcolour
06336a40d8
Choose default JarJar mod file type based on parent JAR Closes #9939 2024-06-14 09:50:05 -07:00
Daniel Norris
5505e472aa
Prevent the @OnlyIn being misused on @EventBusSubscriber and @Mod annotated classes (#9891) 2024-05-30 23:51:09 +01:00
LexManos
dffa3dd4c9
Ignore jar files in the mods folder that are not Forge mods. Closes #9968 2024-05-12 03:36:22 -07:00
LexManos
0cad6b14d9
Filter paths discovered by ServiceProvider in ClasspathLocator. Closes #9899 2024-05-09 09:39:25 -07:00
LexManos
7b782e5b05
1.20.6 Initial Update
New Decompiler
Runtime Official mappings
ItemStacks arnt Capability providers anymore, use Vanilla's system.

Co-authored-by: RealMangoRage <64402114+RealMangorage@users.noreply.github.com>
Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com>
2024-04-30 11:42:52 -07:00