Code Monkey home page Code Monkey logo

minecraft-cameraoverhaul's Introduction

Img

❗ What's this?!

CameraOverhaul a clientside Minecraft mod that attempts to improve overall satisfaction of the game through the introduction of various camera rotations, to emphasize on the player's movement and improve visual feedback. Strafing and turning around will tilt the camera sideways. Jumping, falling, and moving forward/backwards will affect the camera's pitch.

Info:

⚙️ Can I turn off X and only keep Y?

You can use Mod Menu (or an alternative of your choosing) to configure the mod in-game.

You can also manually find the configuration file with intensity scaling for all features at
.minecraft/config/cameraoverhaul.json.

Set any factor to 0.0 to turn its feature off.
Negative numbers are also usually legal, allowing inverting effects, if that's your thing.

📖 License

All code of this repository is provided under the MIT License.

❤️ Contributors

Thank you to the following contributors for helping improve the mod for everyone!

minecraft-cameraoverhaul's People

Contributors

altrisi avatar mirsario avatar mpustovoi avatar sam-mccarthy avatar themrengman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

minecraft-cameraoverhaul's Issues

Port to older versions of Fabric

Are you willing to port this mod to older versions of Fabric (ex. 1.15.2, 1.14.4)? People still use those and since Fabric seems to be more backwards compatible it should be possible (I have no idea though, I'm just a guy who wants to use mods and has no experience coding them).

Seemingly wrong version descriptions stop from including mod in curse-app modpack

I wanted to put all mods I use into a mod pack with the curseforge client. Problem is, that this mod works with 1.18.1, and even on the mod-homepage on curseforge is a version titled 1.18 But When inspecting the files in the files tab, no file has the 1.18 label.
And because of this, it is impossible to put the mod into a mod pack using the curseforge client.

Toggling perspective (F5) causes camera to shake

Mods:

  • Camera Overhaul (1.4.0)
  • Cloth config
  • Mod Menu
  • Quilted Fabric API

Reproduction: toggle perspective

I feel like this is a relatively easy fix. If this is somehow preventable by changing the config let me know

[Feature request] Add additional effects

Add shake and tilt when:

  • explosion
  • attacking something or shooting a bow

I would also like to be able to configurate the camera tilt when falling and landing

MCO Not working with my Quilt / Fabric client modpack

Hi!

I cannot start the game, cuz it's crashing constantly without even opening Java / MC window. Quilt mod manager won't open as well.

Idk if that's an error, or just my modpack is incompatible (It's a massive client mod folder)

Using:

CameraOverhaul-1.3.1-fabric-universal.jar

I think LamdaDynamicLights got someting to do with it
(have no Idea / not a programmer)

Cheers!

[Feature Request] Crosshair reacts to the camera roll

As it is, the crosshair follows the camera roll. There should be an option where the crosshair would react against the camera roll to show where it is.
An example is by using a riptide III trident and elytra in the rain. The crosshair will point down even though you haven't moved the mouse, but with this feature, it would move up to keep the right angle.

Better Third Person Compatibility

recently i used better third person + shoulder surfing and they worked fine, until i installed camera overhaul and everything started to get broken, first the shaders aren't right in place and it doesn't even enable shoulder surfing, it just in the middle of the screen like the default one but broken, so i suggest either fix the problem somehow or add a feature where it automatically disable the mod when using shoulder surfing and enable when going to first person again (im on 1.16.5 forge btw)

[Feature Request] Mod Compatibility with "Better Third Person"

I love the Camera Overhaul mod, but I recently have tried pairing it together with the Fabric version of the Better Third Person mod. Camera Overhaul works as intended until F5 is hit, and as the camera begins to pan around your character it starts to have a sort of jittery-effect like the two camera mods are interfering with one another. It would be fantastic if you or the Better Third Person mod's author were able to get the two mods to work flawlessly together. I think it could be accomplished if you were able to stop Camera Overhaul's effects while in F5 mode via a config or something of that nature. If it can't be done it's no big deal, but you should definitely look into the possibility. :)

"Better Third Person": https://www.curseforge.com/minecraft/mc-mods/better-third-person

Hand sway while being idle

As many shaders did (like Astralex or Complementary), a hand sway for standing still could be a really matching feature to this mod, besides making it more immersive and compatible with plenty other mods/shaders.

CameraOverhaul is incompatible with Do A Barrel Roll (Fabric 1.19.2)

when launching minecraft with the do a barrel roll mod, the game crashes to the launcher and mentions something with the camera overhaul mod, when taking do a barrel roll out the game launches as normal.

`---- Minecraft Crash Report ----
// There are four lights!

Time: 2023-03-08 14:44:17
Description: Initializing game

java.lang.RuntimeException: Could not execute entrypoint stage 'client' due to errors, provided by 'cameraoverhaul'!
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51)
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:53)
at net.minecraft.class_310.(class_310.java:459)
at net.minecraft.client.main.Main.method_44604(Main.java:205)
at net.minecraft.client.main.Main.main(Main.java:51)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.RuntimeException: Mixin transformation of mirsario.cameraoverhaul.common.systems.CameraSystem failed
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at mirsario.cameraoverhaul.common.CameraOverhaul.onInitializeClient(CameraOverhaul.java:23)
at mirsario.cameraoverhaul.fabric.FabricClientModInitializer.onInitializeClient(FabricClientModInitializer.java:15)
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
... 8 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
... 15 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Argument modifier method doABarrelRoll$cancelYawDeltaRollOffset(F)F in do-a-barrel-roll.compat.cameraoverhaul.mixins.json:CameraSystemMixin from mod do_a_barrel_roll failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap do-a-barrel-roll-fabric-refmap.json
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
... 18 more
`

Mod for 1.19.2?

I know it's not a bug per se, but when will the forge version for 1.19.2 come out?

Cannot read field "enabled" because "config" is null

when entering the world or server, an error occurs:

java.lang.NullPointerException: Cannot read field "enabled" because "config" is null
	at Not Enough Crashes deobfuscated stack trace.(1.19.1+build.6)
	at mirsario.cameraoverhaul.common.systems.CameraSystem.OnCameraUpdate(CameraSystem.java:52)
	at net.minecraft.client.render.Camera.handler$zbj000$OnCameraUpdate(Camera:526)
	at net.minecraft.client.render.Camera.update(Camera:61)
	at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer:1029)
	at net.minecraft.client.render.GameRenderer.render(GameRenderer:816)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1176)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:767)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.client.MinecraftClient.modify$zji000$atTheEndOfSecondCatchBeforePrintingCrashReport(MinecraftClient:8519)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:794)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.client.MinecraftClient.modify$zji000$atTheEndOfSecondCatchBeforePrintingCrashReport(MinecraftClient:8519)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:794)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.client.MinecraftClient.modify$zji000$atTheEndOfSecondCatchBeforePrintingCrashReport(MinecraftClient:8519)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:794)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.client.MinecraftClient.modify$zji000$atTheEndOfSecondCatchBeforePrintingCrashReport(MinecraftClient:8519)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:794)
	at net.minecraft.client.main.Main.main(Main:244)
	at net.minecraft.client.main.Main.main(Main:51)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:568)
	at org.prismlauncher.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.prismlauncher.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176)
	at org.prismlauncher.impl.OneSixLauncher.launch(OneSixLauncher.java:186)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:144)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:74)

is it possible to fix this somehow?
I use quilt loader

Camera motion for horses?

I had to amplyify the effects by 50 in the config to see any difference but I would appreciate these kind of details.
Also falling in third person is very dramatic with normal settings, i cant see my character after 300 blocks.
And third and first person is janky when amplified to 50 but its kinda as expected.

Other than that your mod is pretty cool with making movements more fluid.

[Incompatability] Extensive screen jitter in front-facing third-person

With ImmersivePortals Fabric installed, even if no portals are present in the world, going into the second third-person mode where the camera is pointed at your face, the screen will rapidly tilt left and right continuously what seems like every frame, even when you're standing still, but only in this mode. Behind-head third person and first person continue to work fine.

Confirmed the bug with only CameraOverhaul and ImmersivePortals Fabric
Minecraft 1.16.5; Fabric 0.11.1; Fabric API 0.30.3; CameraOverhaul 1.2.2; ImmersivePortals Fabric 0.68
iPortalTeam/ImmersivePortalsMod#587

This also occurs with the unofficial CameraOverhaul Forge port and ImmersivePortals Forge

Incompatible with LEAWIND's Third Person

It would seem as all mods modifying third person are incompatible with this mod, sadly-
It definitely would be great if it was, especially with the neat mod that is LTP..
As both mods are really heckin cool.

In any case, intended behavior is that the camera should tilt and everything even with the mod, whilst it doesn't.
latest.log
A shame, but an understandable issue.

Hope this message finds you well,
Good day-

[Feature Request] Add a Keybind Toggle to Disable/Enable CameraOverhaul Effects

I really enjoy using CameraOverhaul. The additions to the camera are really fun and are a must-have for adding immersion to the game. However, when I'm trying to do combat with maces or perform any kind of fall clutch, the camera changes can interfere with my ability to do so.

It would be amazing if you could add an option to set a keybind to quickly toggle the mod on and off while in-game. This would be much easier than having to go into the mod settings to disable the mod every time.

Additionally, as the player would be switching the mod on and off on the fly, a value to fade the effects of the mod out when the keybind to disable the effects is pressed would be really cool. This added value for when toggling the mod would prevent whiplash from having the camera just immediately snap back to the vanilla position. The player would then have the option to change how fast the camera moves back to the vanilla position.

Thanks for considering this! I'd be very happy to see this implemented into the mod.

Handheld Items don't move with the camera

This issue pertains specifically to the jumping animation; since it is the exact same animation as the one that existed prior to 1.14, wouldn't it also make sense if the handheld item render also worked the same way as it did then? The behavior in question is basically just keeping it in place while the camera moves rather than moving it with the camera. This is what caused the player's arm/handheld item to slowly move up as they would fall. Personally, this makes more sense and makes jumping feel more tactile than just the camera movement.
Look at the arm in both of the following examples:
Demonstration 1 - Falling
Demonstration 2 - Jumping

[Feature request] Additional camera effects

If there are plans to expand the mod beyond just improving the satisfaction of basic movement, it'd be nice to see some additional effects, such as:

  • Slight camera movement when idle.
  • Camera shaking upon explosion.
  • Enhanced view bobbing replacing vanilla view bobbing to be more realistic.
  • And more if you have anymore ideas.

And if such features are implemented, have them fully configurable and toggleable. I never seen any Java mod bring actual camera shake asides from just doing teleportation commands to forcibly move the player's head to simulate camera shake.

This feedback was given when using:
Mod version: v1.3.0-fabric-universal
Minecraft version: 1.18

Camera shakes when changing perspectives using F5

I am using Java 15 and running on Fabric 1.16.5 and experience this issue.

How I'm Reproducing this Issue:

IMPORTANT: Make sure CameraOverhaul's setting "Enable the mod's effects" are set to "Yes". This issue will not occur when this variable is set to "No".
1.) When pressing F5, when I switch from the 1st-3rd person to the 2nd-3rd person view, it will cause the camera to shake.
2.) When pressing F5, when I switch from the 2nd-3rd person to the 1st person view, it will cause the camera to shake.

List of mods I'm using:
image
image

Port to Forge

Plenty of people want this. And, if I remember correctly, there's a rather simple EntityViewRenderEvent.CameraSetup in forge, so this shouldn't be too difficult.

[Feature request] Reverse left/right tilt when gliding with an elytra

Originally posted a comment on the mod's CurseForge page, got buried so I'm posting it here as well.

Currently, the camera tilts in the opposite direction when turning while gliding with an elytra by default, and it feels super awkward. Reversing the camera tilt in settings (using -1 instead of 1) feels much more natural. There should also be a setting to toggle this, in case for whatever reason the change isn't so nice.

Update mod to 1.20.4

There is still no mod for 1.20.4, which was released quite a long time ago. Please update the mod

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.