package me.DDoS.MCCasino.bet;
import me.DDoS.MCCasino.util.MCCUtil;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
/**
*
* @author DDos
*/
public class ItemBet implements Bet {
private final ItemStack item;
private ItemStack[] wonItems;
public ItemBet(ItemStack item) {
this.item = item;
}
@Override
public void applyMultiplier(int multiplier) {
if (((item.getAmount() * multiplier)) <= 64) {
wonItems = new ItemStack[1];
wonItems[0] = new ItemStack(item.getTypeId(), item.getAmount() * multiplier);
return;
}
int totalItems = (item.getAmount() * multiplier);
int numberOfFullStacks = totalItems / 64;
int oddStack = totalItems % 64;
int totalNumberOfStack = (oddStack > 0) ? (numberOfFullStacks + 1) : numberOfFullStacks;
int ID = item.getTypeId();
wonItems = new ItemStack[totalNumberOfStack];
for (int i = 0; i < numberOfFullStacks; i++) {
wonItems[i] = new ItemStack(ID, 64);
}
if (oddStack > 0) {
wonItems[totalNumberOfStack - 1] = new ItemStack(ID, oddStack);
}
}
@Override
public int getAmount() {
int total = 0;
for (ItemStack i : wonItems) {
total += i.getAmount();
}
return total;
}
@Override
public Material getMaterial() {
return wonItems[0].getType();
}
@Override
public void giveReward(Player player) {
MCCUtil.tell(player, "You received " + getAmount() + " of item '" + wonItems[0].getType().toString().toLowerCase() + "'.");
player.getInventory().addItem(wonItems);
player.updateInventory();
}
}