Created
July 30, 2013 23:38
-
-
Save Dinner1111/6118034 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package io.github.Dinner1111.Boomer; | |
import org.bukkit.Bukkit; | |
import org.bukkit.Color; | |
import org.bukkit.FireworkEffect; | |
import org.bukkit.FireworkEffect.Type; | |
import org.bukkit.Location; | |
import org.bukkit.entity.EntityType; | |
import org.bukkit.entity.Firework; | |
import org.bukkit.inventory.meta.FireworkMeta; | |
import org.bukkit.plugin.java.JavaPlugin; | |
import org.bukkit.command.*; | |
import org.bukkit.entity.Player; | |
import org.bukkit.ChatColor; | |
public final class Boomer extends JavaPlugin implements CommandExecutor { | |
@Override | |
public void onEnable() { | |
getLogger().info("Boomer has made an exploding entrance."); | |
getCommand("boom").setExecutor(this); | |
} | |
@Override | |
public void onDisable() { | |
getLogger().info("Boomer goes silent once again."); | |
} | |
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args, Location loc) { | |
Player target = null; | |
if (cmd.getName().equalsIgnoreCase("boom")) { | |
target = Bukkit.getPlayer(args[0]); | |
if (sender.hasPermission("Boomer.boom")) { | |
boolean canBoom = false; | |
if (target == null) { | |
sender.sendMessage(ChatColor.AQUA + args[0] + ChatColor.DARK_RED + " is not online!"); | |
return false; | |
} | |
sender.sendMessage(ChatColor.GREEN + "Boom."); | |
float explosionPower = .1F; | |
target.getLocation().getWorld().createExplosion(target.getLocation(), explosionPower); | |
Firework firework = (Firework) target.getWorld().spawnEntity(target.getLocation(), EntityType.FIREWORK); | |
Firework fireworkHighlight = (Firework) target.getWorld().spawnEntity(target.getLocation(), EntityType.FIREWORK); | |
FireworkMeta fireworkMeta = firework.getFireworkMeta(); | |
fireworkMeta.setPower(5); | |
fireworkMeta.addEffect(FireworkEffect.builder() | |
.with(Type.BALL_LARGE) | |
.withColor(Color.RED) | |
.trail(true) | |
.flicker(true) | |
.build()); | |
fireworkMeta = fireworkHighlight.getFireworkMeta(); | |
fireworkMeta.setPower(5); | |
fireworkMeta.addEffect(FireworkEffect.builder() | |
.with(Type.BURST) | |
.withColor(Color.ORANGE) | |
.trail(false) | |
.flicker(true) | |
.build()); | |
target.setHealth(0); | |
if (args.length == 1 && canBoom == true) { | |
target.sendMessage(ChatColor.DARK_RED + "" + sender.getName() + ChatColor.GRAY + " has boomed you."); | |
} | |
getLogger().info(ChatColor.AQUA + sender.getName() + ChatColor.GRAY + " has boomed " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + "."); | |
return true; | |
} else { | |
sender.sendMessage("Sorry, but you do not have the permission to decimate players."); | |
return false; | |
} | |
} | |
return true; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment