Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[1.7.10][Sloved] Help - How do I get a player's target block?

Featured Replies

Posted

Hi! I am working on a mod, and I am creating something (I would like to be secret about the mod). I need to know the player's target block for this. Currently I am using

Minecraft.getMinecraft().objectMouseOver

.

Are there a way to do it so it works with mutiplayer? And what would that answer be? I have been looking around for ages after the answer to this.

 

And if I ever helped anyone with anything, let me know

I am a noob in forge

Hi

 

There is a way, but it's secret.

 

:-)

 

Only kidding.

 

I assume that you want something to happen to the block you're looking at, without clicking on it.

objectMouseOver will work fine with multiplayer, so long as you only use it to do things on the client side.  If you want to do something with it that needs to happen on the client side (for example, make the block change or do something that other players will see), then you need to either reproduce the objectMouseOver calculations on the server, or send a packet from the client telling the server which block the player is looking at.

 

-TGG

 

 

That would be your task to figure that out.  First person there causes the action.  All cause the action.  The one with the coolest name causes the action.  Whether you do that on client side and send packets or do it all on the server, you will still have to decide who wins.

Long time Bukkit & Forge Programmer

Happy to try and help

  • Author

mouseOverObject I can't choose what players I would use it on?  And these calculations, how would I do them?

And if I ever helped anyone with anything, let me know

I am a noob in forge

  • Author

Hi

 

There is a way, but it's secret.

 

:-)

 

Only kidding.

 

I assume that you want something to happen to the block you're looking at, without clicking on it.

objectMouseOver will work fine with multiplayer, so long as you only use it to do things on the client side.  If you want to do something with it that needs to happen on the client side (for example, make the block change or do something that other players will see), then you need to either reproduce the objectMouseOver calculations on the server, or send a packet from the client telling the server which block the player is looking at.

 

-TGG

 

But Minecraft.getMinecraft().mouseOverObject I cant choose the player...?

And if I ever helped anyone with anything, let me know

I am a noob in forge

  • Author

That would be your task to figure that out.  First person there causes the action.  All cause the action.  The one with the coolest name causes the action.  Whether you do that on client side and send packets or do it all on the server, you will still have to decide who wins.

 

"Who wins"?!? I don't understand anything with this post.

And if I ever helped anyone with anything, let me know

I am a noob in forge

  • Author

mouseOverObject is client-side only. You must to send packet with object coords/id.

 

But how would you tell mouseOverObject what player you are requesting for?

And if I ever helped anyone with anything, let me know

I am a noob in forge

  • Author

Player sends packet. Server gets packet sender.

 

And how do I send a packet to a server?

MinecraftServer.sendPacket()

or something like that?

And if I ever helped anyone with anything, let me know

I am a noob in forge

Guys, guys....

What about that poor rayTracing?

 

int var9 = Minecraft.getMinecraft().thePlayer.rayTrace(100.0D, 1.0F).blockX;
int var10 = Minecraft.getMinecraft().thePlayer.rayTrace(100.0D, 1.0F).blockY;
int var11 = Minecraft.getMinecraft().thePlayer.rayTrace(100.0D, 1.0F).blockZ;

if(world.getBlock(var9, var10, var11) == Your.block){}

 

And you can use PlayerTickEvent to get the player without pakets.

  • Author

raytrace is clientside

 

Is it? I mean it is a Player. method...

And if I ever helped anyone with anything, let me know

I am a noob in forge

  • Author

Guys, guys....

What about that poor rayTracing?

 

int var9 = Minecraft.getMinecraft().thePlayer.rayTrace(100.0D, 1.0F).blockX;
int var10 = Minecraft.getMinecraft().thePlayer.rayTrace(100.0D, 1.0F).blockY;
int var11 = Minecraft.getMinecraft().thePlayer.rayTrace(100.0D, 1.0F).blockZ;

if(world.getBlock(var9, var10, var11) == Your.block){}

Looks nice :D I think I will try it out :D

And if I ever helped anyone with anything, let me know

I am a noob in forge

  • Author

Guys, how did you get "Forge Modder" text by the way?

And if I ever helped anyone with anything, let me know

I am a noob in forge

raytrace is clientside

Sure it is, but whats the problem with that?

He can always send a packet when he looking at the right block.

  • Author

raytrace is clientside

Sure it is, but whats the problem with that?

He can always send a packet when he looking at the right block.

 

And how do I send a packet?

And if I ever helped anyone with anything, let me know

I am a noob in forge

Sure it is, but whats the problem with that?

He can always send a packet when he looking at the right block.

 

But why he can't use ready-to-use objectMouseOver without problems with partialTicks?

But why he can't use ready-to-use objectMouseOver without problems with partialTicks?

 

I don't know. Mayebe rayTrace is easier to understand.

But it LEGOlords's choise :)

  • Author

But why he can't use ready-to-use objectMouseOver without problems with partialTicks?

 

I don't know. Mayebe rayTrace is easier to understand.

But it LEGOlords's choise :)

 

I think I would like to use mouseOverObject right now.

Maybe rayTrace will help me another day :D

And if I ever helped anyone with anything, let me know

I am a noob in forge

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.