Jump to content

[1.7.10] Ray trace of EntityPlayer different on server and client


whizvox

Recommended Posts

So I'm trying to find the block the player is looking at by using the EntityPlayer.rayTrace(double, float) method, and it seems to return a different ray trace depending on whether it's being called on the client or server. It works correctly on the client, but on the server, it thinks I'm looking straight down.

 

Client: http://puu.sh/gWO66/d2ee1e3688.png

 

Server: http://puu.sh/gWOcj/3625eafa4c.png

 

Minecraft w/ F3 Info: http://puu.sh/gWOgI/367deb30a9.png

 

Code:

 

    @Override

    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)

    {

        if (player.isSneaking())

        {

            MovingObjectPosition rayTrace = player.rayTrace(6, 1.0f);

            if (rayTrace == null || !(world.getBlock(rayTrace.blockX, rayTrace.blockY, rayTrace.blockZ) instanceof BlockQuarry))

            {

                if (itemStack.getItemDamage() >= 2)

                {

                    itemStack.setItemDamage(0);

                }

                else

                {

                    itemStack.setItemDamage(itemStack.getItemDamage() + 1);

                }

                Utils.sendPlayerChatMessage_debug(player, "META: " + itemStack.getItemDamage());

            }

        }

        return itemStack;

    }

Link to comment
Share on other sites

This is a bug in Minecraft which is (finally) fixed in 1.8, the server references entities origin, the client references them by their eye position.

You can fix this by adding the eye-height on the server.

 

Damn you're fast. How would I go about creating a Vec3 with the eye height changed?

 

EDIT: Never mind. I'll just use packets.

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



×
×
  • Create New...

Important Information

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