Jump to content

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


LEGOlord208

Recommended Posts

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

Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • [SOLVED]  public class RenderGUIHandler { @SubscribeEvent public void renderGUI(RenderGameOverlayEvent.Text event){ Client.hud.draw(); } } As I was playing around a little with the code, i found out about an option to change The RenderGameOverlayEvent.Post to RenderGameOverlayEvent.Text
    • public class HUD { public Minecraft mc = Minecraft.getMinecraft(); public static class ModuleComparator implements Comparator<Module>{ @Override public int compare(Module o1, Module o2) { if (Minecraft.getMinecraft().fontRendererObj.getStringWidth(o1.name) > Minecraft.getMinecraft().fontRendererObj.getStringWidth(o2.name)){ return -1; } if (Minecraft.getMinecraft().fontRendererObj.getStringWidth(o1.name) < Minecraft.getMinecraft().fontRendererObj.getStringWidth(o2.name)){ return 1; } return 0; } } public void draw(){ ScaledResolution sr = new ScaledResolution(mc); FontRenderer fr = mc.fontRendererObj; Collections.sort(Client.modules, new ModuleComparator()); GlStateManager.pushMatrix(); GlStateManager.translate(4,4,0); GlStateManager.scale(1.5,1.5,1); GlStateManager.translate(-4, -4, 0); fr.drawString("Skyline", 10, 10, -1); GlStateManager.popMatrix(); int count = 0; for (Module m : Client.modules){ if (!m.toggled || m.name.equals("TabGUI")) continue; int offset = count* (fr.FONT_HEIGHT + 6); GL11.glTranslated(0.0f, 0.0f, -1.0f); Gui.drawRect(sr.getScaledWidth() - fr.getStringWidth(m.name) - 10, offset, sr.getScaledWidth() - fr.getStringWidth(m.name) - 8, 6 + fr.FONT_HEIGHT + offset, -1); Gui.drawRect(sr.getScaledWidth() - fr.getStringWidth(m.name) - 8, offset, sr.getScaledWidth(), 6 + fr.FONT_HEIGHT + offset, 0x90000000); fr.drawString(m.name, sr.getScaledWidth() - fr.getStringWidth(m.name) - 4, offset + 4, -1); count++; } Client.onEvent(new EventRenderGUI()); } } I have just recently stumbled upon this Problem, where the HudRenderer renders the wrong section of the textures and therefore completely destroys the Minecraft Armour and Hunger Bar. I am currently thinking if it is an issue with the DrawRect changing something it shouldn't. But I couldn't find anything about it. (To keep things Clean, the function is Called from another file) public class RenderGUIHandler { @SubscribeEvent public void renderGUI(RenderGameOverlayEvent.Post event){ Client.hud.draw(); } } Any help would be greatly appreciated  
    • Hello, I play on a private server (forge 47.2.0) (about 200 mods) with my friends. Everything is normal until the game crashes. I assume it's due to the generation of a chunk, possibly in a biome from the Aquamirae mod. Caused by: java.lang.NullPointerException: No chunk exists at [9, 38]     at net.minecraft.server.level.WorldGenRegion.m_6325_(WorldGenRegion.java:2079) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.server.level.WorldGenRegion.m_6924_(WorldGenRegion.java:375) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.world.level.levelgen.structure.structures.ShipwreckPieces$ShipwreckPiece.m_213694_(ShipwreckPieces.java:127) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.world.level.levelgen.structure.StructureStart.m_226850_(StructureStart.java:90) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.world.level.chunk.ChunkGenerator.m_223080_(ChunkGenerator.java:320) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422) ~[guava-31.1-jre.jar%2374!/:?]     at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:319) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.world.level.chunk.ChunkStatus.m_279978_(ChunkStatus.java:108) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.m_214024_(ChunkStatus.java:309) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.world.level.chunk.ChunkStatus.m_280308_(ChunkStatus.java:252) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:643) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%2377!/:?]     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[server-1.20.1-20230612.114412-srg.jar%23375!/:?]     at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]     ... 11 more
    • that fixed it! Thank you soo much!!! If there is a way I can like upvote your profile or something let me know!
    • Also add the latest.log from the server after such disconnects
  • Topics

×
×
  • Create New...

Important Information

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