Shoulder Surfing Reloaded

Shoulder Surfing Reloaded

20M Downloads

Incompatible with Better Third Person.

Caitrix opened this issue Β· 30 comments

commented

Description

I remember using both together for best appearance. But now I have to choose. May I ask why the compatibility was removed? I personally prever the third person from BTP but also want to look over the shoulder. How can I have both options together?

Minecraft version

1.21

Incompatible mod name

Better Third Person

Incompatible mod version

(No version. It's ShoulderSurfing itself, which is incompatible.)

Game Logs

(No logs, sry. The mod is incompatible)

commented

Please see #215

commented

Thanks for the quick answer.
They worked perfectly fine together in 1.20.1. Sry, but this mentioned problems seems to me not compatibility related.
From my perspective: I updated to 1.21 and suddenly I can't use both anymore.

commented

Sry if this is not the right place for the question here, but may I ask how I can get BTP with over the shoulder pov?

commented

As of version 3.0.0, Shoulder Surfing Reloaded features a "decoupled camera" mode. When enabled (default), the player rotation and movement will be decoupled from the camera rotation. This is comparable to what Better Third Person does. Having both installed at the same time leads to undefined behavior, as you demonstrated in the video [here]. For this reason, the fabric and neoforge builds (not possible on forge) will refuse to load the game when Better Third Person or any known incompatible mod is installed. In order to solve your issue, simply uninstall Better Third Person and any other incompatible mods listed in the compatibility section of the README and everything should work as expected.

commented

Yeah, I have read that. Problem is, there is no pre 3.0.0 version for 1.21.
"In order to solve your issue..." Not being able to install BTP is the issue why I'm here.

I'm sry, if this can be interpreted as sounding rude. This wasn't my intention.

commented

Letβ€˜s put in other words: Shoulder Surfing Reloaded intentionally prevents you from installing BTP. This is because if you were to install both at the same time, it will bug out. But you no longer need both installed at the same time, because Shoulder Surfing Reloaded now provides similar functionality as BTP out of the box. Simply start the game with just Shoulder Surfing Reloaded installed. There is no need for BTP.

commented

I know it has similar features now. Tbf at first I thought this was why it was tagged as incompatible because it's sort of redundant now. But I personally prefer BTPs way of providing these specific features.

The combination was perfect. not being able to use ether one of both results in as if something is missing.

commented

If you want a more BTP-like experience, you can make the following adjustments to the config options of Shoulder Surfing Reloaded:

[player]
	#Whether to synchronize the x-rot of the player with mouse or controller inputs. This config option only applies when camera is decoupled.
	sync_player_x_rot_with_inputs = true

	[player.turning]
		#The time in ticks the player will remain turned after the interaction has ended. Set to 0 to disable. This config option only applies when camera is decoupled.
		#Range: > 0
		turning_lock_time = 40
commented

Is there a way to disable everything but the original over the shoulder camera position shift, (including the incompatibility check for that matter)?
So that, when I would use this without BTP it would be back to its "just the normal 3rd person perspective but just not from behind the head"?

Sorry, I didn't quite get that. Do you want to use Shoulder Surfing but it should act like BTP?

commented

(Sry for the late answer)
Is there a way to disable everything but the original over the shoulder camera position shift, (including the incompatibility check for that matter)?
So that, when I would use this without BTP it would be back to its "just the normal 3rd person perspective but just not from behind the head"?

commented

Not really, no.
I would like Shoulder Surfing to do just that: move the camera to the side, so that it looks you over the shoulder instead of staring at the back of your head. (aka THE feature, the mod does best)

tbf, what I hope to achieve sounds kinda like a downgrade to the version from before when this "detatche camera from player rotation" feature got implemented.

I know, Shoulder Surfing has basically adapted BTP but "the devil is in the detail". I don't want Shoulder Surfing to "be more like" BTP. Both mods have their own features and ways of doing them. And that's good. But I want 3rd person perspective to be 1:1 exactly like BTP but PLUS having the camera over the shoulder like 1:1 exactly like Shoulder Surfing provides it.

Aka I would like to just be able use both mods together again.
(Even if I would end up with a non-official, private, never-shared, manually altered version of the mod. And I wouldn't even complain if I would have to do these changes everytime I want to install an update of the mod.)

commented

Thanks for the clarification.

Aka I would like to just be able use both mods together again.

Well this is not easily possble, as you would need to rewrite large parts of Shoulder Surfing Reloaded.

I know, Shoulder Surfing has basically adapted BTP but "the devil is in the detail".

May I ask you what those details are?

commented

It starts with how the player responts to inputs. On BTP you rotate the head, as if using WASD is the new "look around" for the player. On Shoulder Surfing Reloaded you move head and body together (like Batman in older movies).
And when I click the mouse the player snap-aims in the direction the camera is looking. On BTP I can choose wether I want aim to snap back, when left or right clicking.
Also the head movement behaves diferently when looking around. With Shoulder Surfing Reloaded it seems to follow all the time. On BTP it only follows the rotation shortly (or longer, when moving slow enough) and only the up and down movements of the mouse will be translated to the head at all time.

And I rember when charging a ranged weapon, the cursor would be placed at the distante position where your aim was landing. But I am not sure, it this was a feature from Shoulder Surfing Reloaded or from BTP.
But so or so, that great feature is missing too now.

Maybe there are other differences, but these are the once I can spot easily. If there are more, they might be subtle enough so that I might only be able to name them, if both mods would elsewise behave identically.

commented

as you would need to rewrite large parts

So, no simple opening in noteped and commenting out lines?
But jokes aside. I know, what I dream to get, would result in a drastic change to the mod. Basically nullifying the entire work since around 1.20.1 or so.
(At least that's how I sound to myself here. And still ... the mod was perfect before, imo.)

commented

Thank you very much for this informaion. Tbh, I feel kinda dumb now. I didn't knew that the mod was that configurable. May I ask wether there are plans to make this adjustable in game, maybe via the mod menu?

I am currently using your config suggestions. (I assume you meant the shouldersurfing-client.toml file?) looking up and down now works. But block target is still on the cursor instead of where the player is looking at. So I still snap rotate when clicking the mouse.
How can I resolve that?
Tbh, if this is possible, I could fully switch from BTP to SSR, since that is basically the one most prominient difference. (And the batman like stiff neck would just be a feature to visualy differentiate both mods ^^.)

And speaking about the config file, is it possible to make the targeting ALWAYS uses the dynamic croshair positioning from ranged weapons? This would help when the targed is not on the cameras fix cursor position but actually on the player (aka the feature why I tried to stick to BTP so far). That alone would make SSR's 3rd person perspective instantly 100x better compared to BTP. Since there, even though your block selection and aim follows the player head, it's still kinda hard to tell where precisely your aim is.

commented

May I ask wether there are plans to make this adjustable in game, maybe via the mod menu?

This is a bit complicated. While there are some mods that already do what you are looking for, i.e. Forge Config Screens and Configured, they may not be available for every Minecraft and Modloader version, or were unreliable in the past. From my side, I do not currently have plans to make a custom implementation. I also do not plan in migrating to a different config library.

But block target is still on the cursor instead of where the player is looking at. So I still snap rotate when clicking the mouse.
How can I resolve that?

You most likely missed the when_interacting config option from my previous post.

And speaking about the config file, is it possible to make the targeting ALWAYS uses the dynamic croshair positioning from ranged weapons?

I'm not 100% sure what you are trying to say, but the turning options have nothing to with the crosshair. They just define when the player should be rotated. However, you can configure items that trigger the dynamic crosshair. For that, take a look at the adaptive_crosshair_hold_items and adaptive_crosshair_use_items config options.

commented

Most of your points can be addressed by simply configuring Shoulder Surfing Reloaded accordingly:

And when I click the mouse the player snap-aims in the direction the camera is looking. On BTP I can choose wether I want aim to snap back, when left or right clicking.

You can also configure this in Shoulder Surfing Reloaded, with even more fine-grained control:

[player]
	[player.turning]
		#Whether to turn the player when attacking. This config option only applies when camera is decoupled.
		#Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET
		when_attacking = "NEVER"
		#Whether to turn the player when interacting with blocks. This config option only applies when camera is decoupled.
		#Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET
		when_interacting = "NEVER"
		#Whether to turn the player when picking blocks or entities. This config option only applies when camera is decoupled.
		#Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET
		when_picking = "NEVER"
		#Whether to turn the player when using an item. This config option only applies when camera is decoupled.
		#Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET
		when_using_item = "NEVER"

Also the head movement behaves diferently when looking around. With Shoulder Surfing Reloaded it seems to follow all the time. On BTP it only follows the rotation shortly (or longer, when moving slow enough) and only the up and down movements of the mouse will be translated to the head at all time.

This is indeed missing.

And I rember when charging a ranged weapon, the cursor would be placed at the distante position where your aim was landing.

This is the adaptive mode of Shoulder Surfing Reloaded, which was the default in versions 2.x. You can still go back to it using the config file:

[crosshair]
	#Crosshair type to use for shoulder surfing.
	#Allowed Values: ADAPTIVE, DYNAMIC, STATIC, STATIC_WITH_1PP, DYNAMIC_WITH_1PP
	crosshair_type = "ADAPTIVE"

So, no simple opening in noteped and commenting out lines?

Nope, the changes requied are way more complex than that.

commented

"when_interacting" is set to "never". Maybe "when_attacking" has to be set to "never" too? I did set that one to "always" for precise combat for now.

I'm not 100% sure what you are trying to say [...] For that, take a look at the adaptive_crosshair_hold_items and adaptive_crosshair_use_items config options.

(I'm sry for sounding confusing. I would like to blame the fact that I have to translate but no, it's just the normal me.)
Right now my target is whery the camera looks at. And everytime I want to interact with it, the player snap-looks at the targeted block/entity. When this is resolved (aka when I have it so that the target is where the player is looking, not where the camera is pointing at) I would love the croshair to be in adaptive mode, but all the time.
Aka I want the croshair too to be placed where ever the player is looking at and not fixed in the middle of the screen.

So does that mean I would have to write every single Item that exists in minecraft into this list? But what about when having mods/packs that introduce new/costume items? Do I need to manually add them too? And what about being empty handed? How to write that into the list?

...
Btw, no that I pay atention to it, the adaptive croshair on the bow, even though it does change position when drawing, it is barely helpfull because of grafity pulling on the projectile. The more I think about it, the less I understnand why I moves when drawing. But for now that rabbit hole might be a bit offtoppic.

commented

I would love the croshair to be in adaptive mode, but all the time.

Simply set the crosshair type to DYNAMIC.

commented

Sry, my mistake. I though you said I should set the crosshair_type to "ADAPTIVE". But thanks, it works now.

Now I have the crosh hair being placed at the distance aka where I am targeting, which is perfect, but the target itself is still where the camera is looking at and not moving whith the player.
Or to be accurate, the target/crosshair moves, where the player WOULD look, it there wouldn't be the new player rotation aka camera decoupling feature.

Maybe It is a bug on my end and that's why we seem to talk past each other?

commented

Sry, my mistake. I though you said I should set the crosshair_type to "ADAPTIVE". But thanks, it works now.

Yes. I said ADAPTIVE, because this is how it was working in versions 2.x. In adaptive mode, the crosshair automatically switches from STATIC to DYNAMIC, when holding or using an item that is configured in the adaptive_[hold,use]_items lists.

Now I have the crosshair being placed at the distance aka where I am targeting, which is perfect, but the target itself is still where the camera is looking at and not moving whith the player.

This is how it is supposed to work. I'm a bit confused why it wasn't working when BTP was installed. Currently I see two options to resolve your problem:

  1. Use the static or dynamic crosshair and get used to the new functionality. It should be way easier to interact with the world and other entities when using the static crosshair, as you are not dependent on the rotation of the player.
  2. There are other mods that can apply a simple camera offset, without any additional side-effects that you could use in combination with BTP, if you want the exact functionality of BTP.
commented

get used to the new functionality

This is why I opened this issue in the first place. I want the target to follow the player, not the camera.

There are other mods

I hoped I could solve this conflict since boths mods are a great combination.
Especially because of the dynamic crosshair feature, added by SSR.

I'm a bit confused why it wasn't working when BTP was installed

It WAS working. Since BTP decoupled the camera from the player and the targed, the crosshair was working as intended. But just that it was following the player and not the camera. (at least when using items which trigered this dynamic mode.)
Which is the very reason why I want to use both mods together again.

Or can I decouple the target from the camera's pov and like it to the player's pov in SSR too? This would resolve it for me personally since that's basically the main feature I don't want to miss.

commented

It WAS working.

Well, this depends on the point of view. Back then (versions 2.x), the raycast should have always come from the camera and not the player (except when using the dynamic crosshair, or ursing an adaptive item). I do not know why it was not working when BTP was installed. So technically, you were playing with a bug from my point of view.

Or can I decouple the target from the camera's pov and like it to the player's pov in SSR too? This would resolve it for me personally since that's basically the main feature I don't want to miss.

Unfortunatley, that is not possible.

commented

Back then (versions 2.x), the raycast should have always come from the camera

That was indeed not working correctly then. Maybe because back then from SSR's pov the camera should have bin always at the same relative position behind the head? I mean the decoupling feature is new in SSR and BTP replaced the default 3rd person perspective. Maybe that's where the "bug" came from. But knowing it, I do not.

Unfortunatley, that is not possible.

I see. That's indeed unfortunate. Hm... You mentioned other mods provide an over the shoulder feature too. May I ask which mods you had in mind?

commented

The only other perspective related mod in the incompatible list is "Nimble" but as far as I understand its description, dies it not provide an over the shoulder camera feature.
I couldn't find a mod with such a feature. That's wh I asked.

commented

Take a look at the other incompatible mods

commented

Camera Utils might work, but it does not provide any type of dynamic crosshair.

commented

Thank's. But sadly doesn't work in combination with BTP since it replaces the 3rd person camera.

Sry, for asking this again, but is SSR realy never going to be compatible with BTP ever again? Even if it was not intentional, it was the sigle best combo to get THE perfect 3rd person experience. At least in my opinion.

commented

Sry, for asking this again, but is SSR realy never going to be compatible with BTP ever again?

SSR is not compatible with BTP for the time being and is not subject to change anytime soon.

commented

I implemented some config options to better support your use case. Namely, it is now possible to change the pick vector from the camera vector to the players view vector when using the dynamic crosshair, Additionally, you can now configure the player to follow the y-rotation of the camera. The new version will be available in a couple of days. Alternatively, you can build the mod from source, if you know how to do that.

[player]
	#Whether the y-rot of the player should follow the camera y-rot. This config option only applies when camera is decoupled.
	player_y_rot_follows_camera = true

[object_picker]
	[object_picker.pick_vector]
		#The vector direction of the raytrace when picking objects. This config option only applies when using the dynamic crosshair.
		#Allowed Values: PLAYER, CAMERA
		pick_vector = "PLAYER"