Skip to content

Instantly share code, notes, and snippets.

@MinesanitySpeed
Created February 7, 2016 01:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MinesanitySpeed/c4afface705002c1d1ac to your computer and use it in GitHub Desktop.
Save MinesanitySpeed/c4afface705002c1d1ac to your computer and use it in GitHub Desktop.
ThrowingTnT
package speed.coder;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
import org.bukkit.util.Vector;
public class Core
extends JavaPlugin
implements Listener {
ArrayList<String> cooldown = new ArrayList();
public void onEnable() {
this.saveDefaultConfig();
System.out.println("MinesanityPvP - Enabling AutoTnT");
System.out.println("MinesanityPvP - Connecting to Database");
System.out.println("MinesanityPvP - Connected!");
System.out.println("MinesanityPvP - Plugin Fully Enabled!");
Bukkit.getServer().getPluginManager().registerEvents((Listener)this, (Plugin)this);
}
public void onDisable() {
System.out.println("MinesanityPvP - Disabling AutoTnT");
System.out.println("MinesanityPvP - Disconnecting from Database");
System.out.println("MinesanityPvP - Disconnected!");
System.out.println("MinesanityPvP - Plugin Fully Disabled!");
}
@EventHandler
public void leftClickAir(PlayerInteractEvent event) {
final Player p = event.getPlayer();
Player player = event.getPlayer();
if (player.hasPermission("autotnt.use")) {
if (this.cooldown.contains(p.getName())) {
p.sendMessage(this.color("&9AutoTnT> &eYou can use TnT every &6%time% &eseconds!".replace("%time%", Integer.toString(this.getConfig().getInt("CooldownDelay")))));
return;
}
if (event.getAction() == Action.LEFT_CLICK_AIR && player.getItemInHand().getType() == Material.TNT) {
player.getInventory().removeItem(new ItemStack[]{new ItemStack(Material.getMaterial((int)46), 1)});
Entity tnt = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), (Class)TNTPrimed.class);
((TNTPrimed)tnt).setFuseTicks(this.getConfig().getInt("SetFuseTicks"));
tnt.setVelocity(event.getPlayer().getLocation().getDirection().multiply(this.getConfig().getDouble("Velocity")));
this.cooldown.add(p.getName());
new BukkitRunnable(){
public void run() {
if (Core.this.cooldown.contains(p.getName())) {
Core.this.cooldown.remove(p.getName());
}
}
}.runTaskLater((Plugin)this, (long)(this.getConfig().getInt("CooldownDelay") * 20));
}
}
}
public String color(String string) {
return ChatColor.translateAlternateColorCodes((char)'&', (String)string);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment