38 Commits

Author SHA1 Message Date
Jonas Herzig
e6db9daf80 Update key and mouse handling in preparation for 1.21.9 2025-10-12 20:21:03 +02:00
Jonas Herzig
ad49a69f37 Switch from FG to archloom + essential-gradle-toolkit
- Upgrade Gradle to 8.7
- Increase build daemon max memory to 8GB because archloom can compile a lot
  more projects at the same time.
- Disable Minecraft 1.8 (not 1.8.9) because archloom fails to set up for that
2024-05-12 14:24:43 +02:00
Jonas Herzig
7726550131 Port to MC 1.20 2023-06-12 10:28:08 +02:00
Jonas Herzig
5be57681af Completely bypass Minecraft when window is resized during rendering
Should fix issues where resizing affects the render result.
2022-04-17 12:01:40 +02:00
Jonas Herzig
fd9be55f79 Remove caching of ScaledResolution from Window shim
It'll become stale if the code holds on to the Window shim object for a longer
duration, and there's no reliable mechanism to invalidate it.
2022-04-17 12:01:40 +02:00
Jonas Herzig
abfb3d46f3 Use per-version folder for pack.mcmeta
Comments are not supported here, and depending on the exact environment, that
may break stuff (seems to only happen on fabric in dev).
2022-03-05 17:21:38 +01:00
Andrew S
7e9a1e7c13 Fix Render GUI on Retina Screens (fixes #338)
window.getFramebufferWidth/Height() should be used instead of window.getWidth/Height()

Co-authored-by: Jonas Herzig <me@johni0702.de>
2022-02-27 11:14:57 +01:00
Jonas Herzig
96f7b78a38 Fix spectator hand jittering in 1.12.2 and below 2021-12-08 16:04:47 +01:00
Jonas Herzig
e9bf75b4d6 Remove ModCore
That was never actually finished and we do not need to keep it around anymore.
Whether we add its successor once that is ready for production use remains to be
seen.
2021-07-24 19:15:08 +02:00
Jonas Herzig
f462a5b391 Fix 1.12 shim Window.getScaledHeight 2021-07-01 14:05:52 +02:00
Jonas Herzig
c6b41d76fa Document valid values for MultipleChoiceSettings in config file 2021-03-14 12:12:53 +01:00
Jonas Herzig
3ec81d5c35 Split MixinEntityRenderer into multiple, more focused files 2021-03-14 12:12:53 +01:00
Jonas Herzig
e7a1fafdf9 Extract Mixin_ChromaKeyDisableFog from other mixins 2021-03-14 12:12:53 +01:00
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
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
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
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
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
f15eaf95c1 Split off 1.12.2 overwrite from MixinKeyboardListener 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
1a35234b0a Move LoadingPlugin into 1.12.2 project 2021-02-19 23:02:39 +01:00
Jonas Herzig
fbbca76099 Remove :versions prefix from gradle projects and remove duplicated build code 2018-03-06 12:39:24 +01:00
Jonas Herzig
180fda20d7 Do not shade lombok 2018-03-02 10:40:45 +01:00
Jonas Herzig
94c33df308 Exclude guava from ReplayStudio deps 2018-03-02 10:40:45 +01:00
Jonas Herzig
748b9da443 Combine all versions into a single tree 2018-02-22 18:25:36 +01:00