Jump to content

Chop N Burn [Tree's]


Imthabawse

Recommended Posts

    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
Link to comment
Share on other sites

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
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
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

  • Recently Browsing   0 members

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