Jump to content

Chop N Burn [Tree's]


Recommended Posts

Posted
    private void lightFire() {
        if (standingOnFire()) {
            getEmptyPosition().ifPresent(position -> {
                WalkingEvent walkingEvent = new WalkingEvent(position);
                walkingEvent.setMinDistanceThreshold(0);
                execute(walkingEvent);
            });
        } else if (!"Tinderbox".equals(getInventory().getSelectedItemName())) {
            getInventory().getItem("Tinderbox").interact("Use");
        } else if (getInventory().getItem("Logs").interact()) {
            Position playerPos = myPosition();
            Sleep.sleepUntil(() -> !myPosition().equals(playerPos), 10_000, 600);
        }
    }

    private boolean standingOnFire() {
        return getObjects().singleFilter(getObjects().getAll(), obj -> obj.getPosition().equals(myPosition()) && obj.getName().equals("Fire")) != null;
    }

    private Optional<Position> getEmptyPosition() {
        List<Position> allPositions = myPlayer().getArea(10).getPositions();

        // Remove any position with an object (except ground decorations, as they can be walked on)
        for (RS2Object object : getObjects().getAll()) {
            if (object instanceof GroundDecoration) {
                continue;
            }
            allPositions.removeIf(position -> object.getPosition().equals(position));
        }

        allPositions.removeIf(position -> !getMap().canReach(position));

        return allPositions.stream().min(Comparator.comparingInt(p -> myPosition().distance(p)));
    }

Take a look at this! From @Explv's AIO.

  • Like 1
Posted
On 5/1/2019 at 1:06 PM, FuryShark said:

public void onMessage(Message message) throws java.lang.InterruptedException{
		if (message.getType() == Message.MessageType.GAME) {
			String txt = message.getMessage().toLowerCase();
			if (txt.contains("you can't light a fire here.") {
				movePosition = true;
			}
		}
	}

 

Using onMessage should be avoided, it uses a seperate thread and will be  constantly listening / checking if the message is there, this takes up more CPU no? Correct me if I'm wrong

 

Always go with as few threads as possible and make use of private code. EXPLVs code above seems to be more efficient for anyone reading this:boge:

  • Like 1

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...