Skip to content

Freecam ​

15 merged pull requests.

New Features ​

  • #21 Added server-controlled config MiscConfig.hideModOverlays (default: hide); implemented RevealGate wrapper 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 ClientEventHandler and FreecamController to 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 ClientEventHandler by detecting and handling multi-keybind inputs; updated Mods.java to 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 FreecamController when 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)