as for the dropping you could try something like:
void dropAllExceptA(String...names) throws InterruptedException {
if(Tab.INVENTORY.isOpen(this.bot)){
for(int i = 1; i < 29; i++){
Item item = inventory.getItemInSlot(i);
if(item != null && !item.getName().equals(names)){
item.interact("Drop");
sleep((long) random(0, 0));
}
}
}else{
tabs.open(Tab.INVENTORY);
sleep((long) random(0, 0));
}
}
void dropAllExceptB(String...names) throws InterruptedException {
if(Tab.INVENTORY.isOpen(this.bot)){
Item[] items = inventory.getItems();
if(items != null) {
for (int i = 0; i < items.length; i++) {
Item item = items[i];
if (item != null && !item.getName().equals(names)) {
item.interact("Drop");
sleep((long) random(0, 0));
}
}
}
}else{
tabs.open(Tab.INVENTORY);
sleep((long) random(0, 0));
}
}
i dont actually know if there's alot of difference between the methods but you could alter the length of sleeps to make it quicker
Yes i wrote 29.