package net.scapeemulator.game.model.npc.drops;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import net.scapeemulator.game.model.player.Item;
public final class SubDropTable {
private static final Random RANDOM = new Random();
private final double chance;
private final List<DropTableItem> items = new ArrayList<>();
public SubDropTable(double chance) {
this.chance = chance;
}
public void addItem(DropTableItem item) {
items.add(item);
}
public void addAll(List<Item> list) {
for (DropTableItem dti : items) {
if (dti.getId() < 1) {
continue;
}
int amt = dti.getAmount();
if (amt > 0) {
list.add(new Item(dti.getId(), amt));
}
}
}
public void addRandom(List<Item> list) {
if (isEmpty()) {
return;
}
DropTableItem dti = items.get(RANDOM.nextInt(items.size()));
if (dti.getId() < 1) {
return;
}
int amt = dti.getAmount();
if (amt > 0) {
list.add(new Item(dti.getId(), amt));
}
}
public List<DropTableItem> getItems() {
return items;
}
public boolean isEmpty() {
return items.isEmpty();
}
public double getChance() {
return chance;
}
}