Jump to content

get the current object we are interacting with?


Recommended Posts

Posted
1 hour ago, Lemons said:

Character.getInteracting() only works if the other Entity is a Character, aka a Player or NPC. To detect which rock is being mined, you can get a good guess via the players rotation. Note you can be mining a rock and not be near the rock under some circumstances, so don't consider this 100% reliable.


	private RS2Object getRock(Player p) {
		Position facing = p.getPosition();
		int rotation = p.getRotation();
		
		// Determine offset
		if (rotation < 256)       facing = facing.translate( 0, -1);
		else if (rotation < 768)  facing = facing.translate(-1,  0);
		else if (rotation < 1280) facing = facing.translate( 0,  1);
		else if (rotation < 1792) facing = facing.translate( 1,  0);
		else                      facing = facing.translate( 0, -1);
		
		// Search objects at facing position for "Rocks"
		return getObjects().get(facing.getX(), facing.getY())
				.stream().filter(o -> "Rocks".equals(o.getName()))
				.findFirst().get();
	}

I haven't tested this code but should be a good start.

Viston already helped me, thanks tho

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...