Jonas Herzig
6289545d84
Remove forge/fml event bus from MCVer
2021-03-14 12:12:53 +01:00
Jonas Herzig
cfb9e15b8a
Make use of new @Pattern feature to centralize version-aware code
...
That is, most of the business code should not be aware that it is being compiled
to multiple versions even when it heavily interacts with MC, preprocessor
statements should be an escape hatch, not the norm.
Similarly, code should not be forced to do `MCVer.getWindow(mc)` instead of the
much more intuitive `mc.getWindow()`, and a new preprocessor (technically remap)
feature makes this possible by defining "search and replace"-like patterns (but
smarter in that they are type-aware) in one or more central places (the
"Patterns.java" files) which then are applied all over the code base.
In a way, this is another step in the automatic back-porting process where
preprocessor statements are used when we cannot yet do something automatically.
Previously we "merely" automatically converted between different mapping, this
new feature now also allows us to automatically perform simple refactoring
tasks like changing field access to a getter+setter (e.g. `mc.getWindow()`), or
changing how a method is called (e.g. `BufferBuilder.begin`), or changing a
method call chain (e.g. `dispatcher.camera.getYaw()`), or most other
search-and-replace-like changes and any combination of those.
The only major limitation is that the replacement itself is not smart, so
arguments must be kept in same order (or be temporarily assigned to local
variables which then can be used in any order).
2021-03-14 12:12:51 +01:00
Jonas Herzig
06a46e6f38
Use callback-style events for crosshair and hotbar render events
2021-02-28 09:52:19 +01:00
Jonas Herzig
da16b0fb78
Add 1.14.4 <> 1.12.2 mapping for Option <> GameSettings.Options
2021-02-28 09:52:19 +01:00
Jonas Herzig
f34b88cf7e
Move MixinShader into 1.7.10 project
2021-02-28 09:52:19 +01:00
Jonas Herzig
d7dde42add
Move HideInvisibleEntities into 1.12.2 project
2021-02-28 09:52:19 +01:00
Jonas Herzig
5f652ec7f2
Move DisableBetterSprinting into 1.12.2 project
2021-02-28 09:52:19 +01:00
Jonas Herzig
05d7971332
Move mapwriter.MixinMinecraft into 1.12.2 project
2021-02-28 09:52:19 +01:00
Jonas Herzig
4eeaca5af1
Use MainWindowAccessor across all versions
2021-02-28 09:52:19 +01:00
Jonas Herzig
e4da7f331b
DRY main MC window resizing
2021-02-28 09:52:19 +01:00
Jonas Herzig
3fbb4b50ea
Rename ChunkLoadingRenderGlobal → ForceChunkLoadingHook
...
More descriptive, less MCP.
2021-02-28 09:52:19 +01:00
Jonas Herzig
ab5b101f96
Add stub ChunkLoadingRenderGlobal for 1.7.10
...
Allows us to get rid of all preprocessor guards around its usages.
2021-02-28 09:52:19 +01:00
Jonas Herzig
c729654f04
Split off 1.14.4 overwrite from ChunkLoadingRenderGlobal
2021-02-28 09:52:19 +01:00
Jonas Herzig
f19ee8ba63
Split off 1.14.4 overwrite from Mixin_ForceChunkLoading
2021-02-28 09:52:19 +01:00
Jonas Herzig
90bbc68443
Replace reflection in ChunkLoadingRenderGlobal with mixin
2021-02-28 09:52:19 +01:00
Jonas Herzig
4b4d18026b
Move GLStateTracker into 1.7.10 project
2021-02-28 09:52:19 +01:00
Jonas Herzig
74580e6649
Remove redundant preprocessor statements
2021-02-28 09:52:19 +01:00
Jonas Herzig
87b55e187c
Replace a few //#if statements with mapping file entries
2021-02-28 09:52:19 +01:00
Jonas Herzig
026bc1fdcb
Move MixinWorldClient into 1.12.2 project
2021-02-28 09:52:19 +01:00
Jonas Herzig
470669b1f7
Move MixinRenderManager into 1.12.2 project
2021-02-23 01:21:44 +01:00
Jonas Herzig
b8bcb4967f
Move MixinFMLClientHandler into 1.7.10 project
2021-02-23 01:05:48 +01:00
Jonas Herzig
6fa746a2e3
Move MixinEntityRenderer into 1.7.10 project
2021-02-23 01:01:55 +01:00
Jonas Herzig
01d47279fd
Split off 1.12.2 overwrite from MixinCamera
2021-02-23 00:59:56 +01:00
Jonas Herzig
06db2ebb92
Move MixinS26PacketMapChunkBulk into 1.7.10 project
2021-02-23 00:47:01 +01:00
Jonas Herzig
6068aabea7
Move MixinPlayerControllerMP into 1.12.2 project
2021-02-23 00:45:12 +01:00
Jonas Herzig
6bc130312a
Move MixinNetworkDispatcher into 1.12.2 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
ba7c478da1
Split off 1.12.2 overwrite from MixinNetHandlerLoginClient
2021-02-23 00:41:22 +01:00
Jonas Herzig
25247a2371
Move MixinGuiScreen into 1.7.10 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
22d1048999
Move FMLHandshakeFilter into 1.12.2 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
6094422792
Split off highly version-dependent code from ModCompat
2021-02-23 00:41:22 +01:00
Jonas Herzig
029b228b26
Move ReplayModTweaker into 1.12.2 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
9bde5fae49
Move ResourcePackRepositoryAccessor into 1.7.10 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
f15eaf95c1
Split off 1.12.2 overwrite from MixinKeyboardListener
2021-02-23 00:41:22 +01:00
Jonas Herzig
9e152f2655
Move GLStateTrackerTransformer into 1.7.10 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
1329f2d703
Move GLErrorTransformer into 1.7.10 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
66c1f63219
Move GuiFactory into 1.12.2 project
2021-02-23 00:41:22 +01:00
Jonas Herzig
633bc19650
Use callback-style events throughout all versions
...
Removes the need for //#if statements on each and every event handler.
Instead we now always use the equivalent Callback and have one central 1.12.2
class which forwards Forge events to the callbacks.
2021-02-23 00:41:22 +01:00
Jonas Herzig
0be2082fe7
Split off highly version dependent code from ReplayMod
2021-02-20 00:43:49 +01:00
Jonas Herzig
bc9d8cb3d1
Split off highly version dependent code from SettingsRegistry
2021-02-20 00:43:46 +01:00
Jonas Herzig
9a67a64555
Drop server-side restrictions implementation
...
I don't think this sees sufficient use to justify updating.
Especially because it's non-trivial with forge's network changes.
Ping me if you actually used this.
2021-02-20 00:43:46 +01:00
Jonas Herzig
1a35234b0a
Move LoadingPlugin into 1.12.2 project
2021-02-19 23:02:39 +01:00
Jonas Herzig
bcde675775
Update jGui
2021-02-19 17:32:41 +01:00
Jonas Herzig
8c2d7d096c
Merge branch 'stable' into develop
2021-02-19 11:58:28 +01:00
Jonas Herzig
c0a95d278e
Add toString implementation to RenderSettings
...
We print them to the log in a few places, that's fairly useless without a
toString implementation.
2021-02-17 21:53:07 +01:00
Jonas Herzig
51a4ade37e
Fix slow drifting in FullReplaySender replay time ( fixes #451 )
2021-02-17 15:16:33 +01:00
Jonas Herzig
56e5df65d5
Use vanilla sound engine to play render success sound ( fixes #286 )
2021-02-17 11:27:09 +01:00
Jonas Herzig
5f0218929b
Process sub-selection of render jobs in displayed order ( fixes #488 )
2021-02-17 03:33:14 +01:00
Jonas Herzig
6d0d50f5b3
Fix "Render All" button in render queue ( fixes #447 )
2021-02-17 03:06:52 +01:00
Jonas Herzig
cdb93a1716
Fix spectating via clicking on forge ( fixes #432 )
2021-02-17 02:55:49 +01:00
Jonas Herzig
ae0b0e3f13
Allow any entity to be spectated on 1.8+ ( fixes #382 )
...
Idk why this was restricted in the first place, ask Marius: 163faddd
2021-02-17 01:19:29 +01:00