Jump to content

Bank Closest To Entity


Recommended Posts

Posted (edited)


Area currentBank = closestTo(myPlayer());


private enum Bank {

DRAYNOR(Banks.DRAYNOR),

AL_KHARID(Banks.AL_KHARID),

LUMBRIDGE(Banks.LUMBRIDGE_UPPER),

FALADOR_EAST(Banks.FALADOR_EAST),

FALADOR_WEST(Banks.FALADOR_WEST),

VARROCK_EAST(Banks.FALADOR_EAST),

VARROCK_WEST(Banks.VARROCK_WEST),

SEERS(Banks.CAMELOT),

CATHERBY(Banks.CATHERBY),

EDGEVILLE(Banks.EDGEVILLE),

YANILLE(Banks.YANILLE),

GNOME_STRONGHOLD(Banks.GNOME_STRONGHOLD),

ARDOUNGE_NORTH(Banks.ARDOUGNE_NORTH),

ARDOUNE_SOUTH(Banks.ARDOUGNE_SOUTH),

CASTLE_WARS(Banks.CASTLE_WARS),

DUEL_ARENA(Banks.DUEL_ARENA),

PEST_CONTROL(Banks.PEST_CONTROL),

CANIFIS(Banks.CANIFIS),

BLAST_FURNACE(new Area(1949, 4956, 1947, 4958)),

TZHAAR(Banks.TZHAAR);

private final Area area;

Bank(Area area) {

this.area = area;

}

}

public static Area closestTo(Entity e) {

HashMap<Bank, Integer> distMap = new HashMap<Bank, Integer>();

for (Bank b : Bank.values()) {

distMap.put(b, e.getPosition().distance(b.area.getRandomPosition()));

}

HashMap<Integer, Bank> distMapSorted = sortByDistance(distMap);

Area cBank = distMapSorted.values().toArray(new Bank[Bank.values().length])[0].area;

return cBank;

}

private static <K, V extends Comparable<? super V>> HashMap<V, K> sortByDistance(Map<K, V> map) {

HashMap<V, K> result = new LinkedHashMap<>();

Stream<Map.Entry<K, V>> st = map.entrySet().stream();

st.sorted(Map.Entry.comparingByValue()).forEachOrdered(e -> result.put(e.getValue(), e.getKey()));

return result;

}

Edited by LoudPacks
  • Like 5
Posted (edited)

Incorrect, the plane is set to "1".

 

When tryign to walk with webwalkevent it doesn't climb the stairs, assumed teh plane was still at 0.

 

I meant adding a point to the overall spectrum, not to the post boge.png

Im almost 100% positive it does work. Ive been using my slayer today and it worked when I had it bank there.

Edited by AresScripts
  • 3 months later...
  • 1 year later...

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