Jump to content

Recommended Posts

Posted (edited)

Hello, I implemented a way to check if the player is looking at another player. I have to lead my cross-hair because it is only server-side (checks where player is on the server instead of the client's view). Any way I can check what the player is looking at client-side without being easily hackable? Here is what I did: 

https://github.com/PapaVinny/HelpWithCombat/blob/master/java/mod/papavinny/swordfight/SwordfightEvents.java

The aiming part comes in on line 58.

Edited by PapaVinny
Posted
9 hours ago, PapaVinny said:

Any way I can check what the player is looking at client-side without being easily hackable?

What do you mean here?

 

And let's approach this problem in a different way what are you trying to do exactly?

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted (edited)

Thanks for responding. After the event goes off, I am trying to have that if-statement true if the player is looking at another player with their crosshair. I made this part of the mod solely server driven, the if-statement will only go true if you lead you crosshair (if the player you're looking at is moving). I have to aim where the server has its data of the player (I think). I am trying to have this if-statement true based on where the client sees the player. I think the problem falls along the same lines of how hit registration works client-side on most shooter games as far as I know.

Edited by PapaVinny
Posted
18 minutes ago, PapaVinny said:

After the event goes off, I am trying to have that if-statement true if the player is looking at another player with their crosshair. 

No I am asking why are you doing this it might not be that complicated. Plus if the player hits another player with damage that isn't potions or an entity like an arrow. They had to have been looking at the player in question unless they are using hacks.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted (edited)

OH! If the player you attacked has their crosshair on you, they block your attack at the cost of stamina. For them, an arm swing animation goes off and it makes the appropriate sound depending on what's in their hands.

Edited by PapaVinny
Posted

You can simulate what ray tracing does on the server side.

You can also obtain the position of the two players and the pitch and yaw of the defending player, then do some trigonometry to figure out if the defending player is looking in the direction of the attacker.

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Posted
15 minutes ago, DavidM said:

You can simulate what ray tracing does on the server side.

You can also obtain the position of the two players and the pitch and yaw of the defending player, then do some trigonometry to figure out if the defending player is looking in the direction of the attacker.

The problem is that the data isn't always the same between clients and the server. Ping an all.

2 hours ago, PapaVinny said:

OH! If the player you attacked has their crosshair on you, they block your attack at the cost of stamina. For them, an arm swing animation goes off and it makes the appropriate sound depending on what's in their hands

You will either have to keep with what you have and have that little leading thing or trust the client with no way to know if they are being cheaty unless you add some sort of check like if the rotation on the server is definitely not what the client says it was.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
9 hours ago, DavidM said:

You can simulate what ray tracing does on the server side.

 You can also obtain the position of the two players and the pitch and yaw of the defending player, then do some trigonometry to figure out if the defending player is looking in the direction of the attacker.

I thought what I wrote does simulate ray tracing?

Posted
16 minutes ago, PapaVinny said:

This may be a weird question but is there a way to check where the player was, say, (thier ping in ms) ago?

You could track it by storing values yes.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
18 minutes ago, Animefan8888 said:

Yeah and every player tick using the PlayerTickEvent you'll have to update the values.

Thanks, I'll keep that in mind. But I think I want to do the client one. Seems the most accurate. Know where I can start because I'm not sure?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.