your logic is really bad :E
there's a check if player is not in furnace area and there's an interact with furnace in there too.
RS2Object furnace = objects.closest("Furnace");
RS2Object bank = objects.closest("Bank booth");
RS2Widget bronze = getWidgets().getWidgetContainingText("Bronze");
final Area FURNACE_AREA = new Area(3274, 3184, 3279, 3188);
final Area BANK_AREA = new Area(3269, 3166, 3271, 3169);
if (!FURNACE_AREA.contains(myPlayer())) {
getWalking().walk(FURNACE_AREA.getRandomPosition());
} else {
if (bronze != null) {
bronze.interact("Smelt X");
sleep(1250);
getKeyboard().typeString("" + (int)((Math.random()*99) + 30));
new ConditionalSleep(150_000) {
@Override
public boolean condition() throws InterruptedException {
return !getInventory().contains("Tin ore");
}
}.sleep();
} else {
furnace.interact("Smelt");
new ConditionalSleep(5_000) {
@Override
public boolean condition() throws InterruptedException {
return bronze != null;
}
}.sleep();
}
}