package productions.celestial.examples;
import com.runemate.game.api.client.ClientUI;
import com.runemate.game.api.hybrid.entities.GameObject;
import com.runemate.game.api.hybrid.local.Camera;
import com.runemate.game.api.hybrid.local.hud.interfaces.Inventory;
import com.runemate.game.api.hybrid.location.Coordinate;
import com.runemate.game.api.hybrid.region.GameObjects;
import com.runemate.game.api.hybrid.region.Players;
import com.runemate.game.api.script.Execution;
import com.runemate.game.api.script.framework.LoopingScript;
import java.awt.*;
public class DankPowerminer extends LoopingScript {
private final Coordinate snoopDoggsHouse = new Coordinate(420, 69, 0);
private final Coordinate bluntLocation = new Coordinate(9001, 101, 0);
private final int smokingAnimation = 666;
@Override
public void onStart(String... args) {
if (!Inventory.contains("Weed"))
ClientUI.sendTrayNotification("Out of weed, please contact your dealer.", TrayIcon.MessageType.WARNING);
}
@Override
public void onLoop() {
final GameObject dankRock = GameObjects.newQuery().names("Dank rock").actions("Swing penis at").on(snoopDoggsHouse).results().nearestTo(bluntLocation);
if (dankRock != null) {
if (dankRock.isVisible()) {
if (dankRock.interact("Smoke", "Weed")) {
Execution.delayUntil(() -> Players.getLocal().getAnimationId() == smokingAnimation, 2000);
} else {
Camera.passivelyTurnTo(dankRock);
}
} else {
// if not visible, do other dank stuff
}
}
}
}