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;
}