Exopandora / ShoulderSurfing

Shoulder Surfing Reloaded is a highly configurable third person camera mod for minecraft.
MIT License
48 stars 9 forks source link

[BUG] [1.20.4] Force camera perspective switching when using crosshair_type = "DYNAMIC_WITH_1PP" option #146

Closed Tapacywka closed 5 months ago

Tapacywka commented 5 months ago

Description

When using a bow, crossbow, trident and other items that have RMB action, the camera is forced to switch from 3rd person mode to 1st person mode, after which the camera returns back to 3rd person mode. The bug only occurs during the option crosshair_type = "DYNAMIC_WITH_1PP". There are no such problems with the standard "ADAPTIVE" option.

Steps to Reproduce

Options that differ from the standard values ​​in the config:

Expected Behavior

If I'm in 3rd person while aiming, I want to stay in that mode and don't want to be forced into first person.

Screenshots

No response

Game Logs

https://gist.github.com/Tapacywka/9a43842484002c057a9ada1f9096c193

Other Mods

No response

Additional Information

No response

Exopandora commented 5 months ago

Thanks for the report! The behavior you are describing is intentional, as "DYNAMIC_WITH_1PP" is supposed to put you in first person (hence "WITH_1PP") when using an item that needs precise aiming. This includes any item that has a an interaction (bow, trident, etc.) and items that are specified in adaptive_crosshair_items within shoulder surfings config. If you do not want to be put in first person, simply set crosshair_type to "DYNAMIC".

Tapacywka commented 5 months ago

For some reason, it seemed to me earlier that dynamic_with_1st_person works in such a way that the sight, even in 3rd person mode, is rendered with the accuracy of a 1st person sight, that is, they are synchronized, as if you were now in first person mode. Just to hit the mob, I need to shoot from the same bow a little to the left of the mob itself, because even though the crosshair is on the mob, the arrow does not fly where it should. That's why I thought that the dyn_with_1st_person mode works exactly as a “fix” for this sight...

Exopandora commented 5 months ago

When using the "dynamic" crosshair, the crosshair will always point at the location where the player's view vector hits the ground. This is in fact exactly the position that would be in the center of the screen when you switch to first person.