Jump to content

Recommended Posts

Posted

Hey, I am making a mod and I want to add a Gun that will cause damage to entities or other players. However I cannot find how I can get the entity the player is looking at. I tried

public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand)
{

	RayTraceResult mop = Minecraft.getMinecraft().objectMouseOver;
                if(mop != null){
                   System.out.println(mop.entityHit);
                       }
}

but it doesn't work if the player is away from the entity (It displayes the entity when the player has the "Village-Player trade" distance). Does anyone know how I can make it?

Posted

or use World#rayTraceDo(...) or whatever its named.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

it doesn't work if the player is away from the entity (It displayes the entity when the player has the "Village-Player trade" distance). Does anyone know how I can make it?

 

The raytrace done every tick ignores entities that are not within 3 blocks of the player, as you suggested. Like Draco says, you're going to have to do a manual ray trace. However, entities provide a function for ray traces that takes into account rotation and eye height, so you don't have to do it manually. You can see how vanilla sets mc.objectMouseOver in EntityRenderer#getMouseOver, which uses the said ray trace method. If you just want to extend the range, I believe you only have to change 1 number

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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