Skip to content

Instantly share code, notes, and snippets.

@Dinner1111
Created July 30, 2013 23:38
Show Gist options
  • Save Dinner1111/6118034 to your computer and use it in GitHub Desktop.
Save Dinner1111/6118034 to your computer and use it in GitHub Desktop.
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