package nl.sugcube.crystalquest.items;
import nl.sugcube.crystalquest.CrystalQuest;
import nl.sugcube.crystalquest.economy.Multipliers;
import nl.sugcube.crystalquest.game.Arena;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.Random;
import java.util.Set;
/**
* @author SugarCaney
*/
public class CreeperEgg extends ItemExecutor {
private static Random random = new Random();
public CreeperEgg() {
super(Material.MONSTER_EGG);
}
@Override
boolean execute(CrystalQuest plugin, Player player, ItemStack itemStack) {
// Summon creeper
World world = player.getWorld();
Location targetLocation = player.getTargetBlock((Set<Material>)null, 64).getLocation();
targetLocation = targetLocation.add(0, 1, 0);
Creeper creeper = world.spawn(targetLocation, Creeper.class);
player.playSound(targetLocation, Sound.ENTITY_CREEPER_PRIMED, 10L, 10L);
// Handle upgrades
double chance = Multipliers.getMultiplier(
"creeper",
(plugin.economy.getLevel(player, "creepers", "upgrade")),
false
);
// Charged
if (random.nextInt(1000) <= chance * 1000) {
creeper.setPowered(true);
}
player.playSound(player.getLocation(), Sound.ENTITY_CREEPER_PRIMED, 12F, 12F);
// Register creeper
Arena arena = plugin.getArenaManager().getArena(player.getUniqueId());
arena.getGameCreepers().add(creeper);
return true;
}
}