Freecam
15 merged pull requests.
New Features
- #21 Added server-controlled config
MiscConfig.hideModOverlays(default: hide); implementedRevealGatewrapper and late-loading mixins for Waila, Thaumcraft, HoloInventory, and Angelica to conditionally disable rendering in freecam. - @Caedis- Added: RevealGate overlay control system, Late-loading mixin infrastructure, Waila, Thaumcraft, HoloInventory overlay suppression, Server-controlled config for overlay hiding
- Removed: Angelica early mixin (migrated to late loading)
- Fixed: Goggles of Revealing overlay interference in freecam
- Closes GTNH#25980
- #14 Added Mods compatibility class with EFR detection and updated ClientEventHandler to skip freecam activation when EFR gamemode switching is triggered. - @Caedis
- Added: EFR gamemode switcher compatibility
- Fixed: keybind conflict with EFR
- Closes #12
- #11 Added fullbright shader support to FreecamController and MiscConfig; removed redundant MixinEntityRenderer fullbright logic. - @Caedis
- Added: fullbright shader support
- Removed: MixinEntityRenderer fullbright mixin
Changes
- #15 Removed default keybind assignments from ClientEventHandler and FreecamMod, requiring users to manually configure keybinds on first use. - @Alexdoru
- Removed: unnecessary default keybinds
- #13 Updated ClientEventHandler to prioritize Angelica zoom events over standard freecam zoom when both are active. - @Caedis
- #6 MiscConfig.disableSubmersionFog default changed from true to false. CollisionMode moved into GeneralConfig, and Perspective no longer carries thirdPersonView values. CameraEntity size went from 0.4x0.2 to 0.4x0.425. FreecamMod gets a @NetworkCheckHandler that rejects a server without the mod on the client side check. - @Caedis
- Added: network check for Freecam on the server
Bug Fixes
- #24 FreecamController.tick returns early when mc.isGamePaused() is true. - @Caedis
- Fixed: freecam camera moving while game is paused
- #23 MixinEntityRenderer replaces the @Redirect on the gammaSetting field read in updateLightmap with MixinExtras @ModifyExpressionValue, so it does not conflict with other injectors on the same field access. - @Caedis
- Fixed: Freecam fullbright conflicting with EFR modernGamma
- #20 Clamp switched from box to sphere with a CLAMP_MARGIN_CHUNKS of 2. CameraEntity.moveEntity splits movement into sub-steps of at most 0.2 blocks, up to 64. Fullbright moved from editing gammaSetting in FreecamController to a redirect in MixinEntityRenderer.updateLightmap. - @Caedis
- Fixed: camera clipping through thin blocks at high speed, gamma stuck on full bright after force-quit in freecam
- #18 Modified
ClientEventHandlerandFreecamControllerto prevent player movement updates when freecam is enabled, preventing flight mod interactions from affecting player position. - @Luca-Guettinger- Fixed: Flight mods moving player during freecam
- Closes GTNH#24162
- #17 Added Controlling mod compatibility to
ClientEventHandlerby detecting and handling multi-keybind inputs; updatedMods.javato register Controlling compat. - @Caedis- Added: Controlling mod compatibility for multi-keybinds
- Fixed: Freecam conflict with Controlling multi-keybinds
- Closes #16
- #10 CameraEntity now extends EntityPlayer with a dummy GameProfile instead of EntityLivingBase, and overrides chat, command permission, push and collision methods. FreecamController.clampToRenderDistance limits the camera to (renderDistanceChunks - 1) * 16 blocks from the player on X and Z each tick. - @Caedis
- Added: camera clamp to render distance
- Fixed: Freecam crash with AquaAcrobatics
- Closes #7
- #9 Added perspective state storage in
FreecamControllerwhen entering tripod mode to restore camera perspective on exit. - @Caedis- Fixed: Tripod render state corruption
- Closes #8
- #5 MixinMinecraft replaces the MixinExtras expression on keyBindTogglePerspective.isPressed with a @Redirect on the thirdPersonView PUTFIELD in runTick. While freecam is active the redirect sets thirdPersonView to 0. - @Caedis
- Fixed: perspective toggle handling while in freecam
Chores
- #22 modId in gradle.properties and FreecamMod.MODID become freecam-gtnh. The mixin config files and refmap names are renamed to match and mcmod.info metadata is updated. - @Caedis
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@Caedis (14), @Alexdoru (4), @Luca-Guettinger (2), @UltraProdigy (2), @JL2210 (1), @Lyfts (1), @mitchej123 (1)