Skip to content

Instantly share code, notes, and snippets.

@remi6397
Created January 17, 2017 16:46
Show Gist options
  • Save remi6397/fc786316b9915ef505bb6e4e61b6ef1f to your computer and use it in GitHub Desktop.
Save remi6397/fc786316b9915ef505bb6e4e61b6ef1f to your computer and use it in GitHub Desktop.
Defuse!1
package pl.jeremiaszn.defuse;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.*;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
/**
* Created by admin on 2017-01-17.
*/
public class Defuse extends JavaPlugin implements Listener {
private boolean cancelled = false;
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler(priority = EventPriority.MONITOR)
public void onEntityInteract(PlayerInteractEntityEvent e) {
Entity ent = e.getRightClicked();
if (ent.getType() == EntityType.PRIMED_TNT &&
e.getPlayer().hasPermission("defuse.use"))
{
if (e.getPlayer().getInventory().getItemInMainHand()
.getType() == Material.WATER_BUCKET)
e.getPlayer().getInventory().setItemInMainHand(new ItemStack(Material.BUCKET, 1));
else if (e.getPlayer().getInventory().getItemInOffHand()
.getType() == Material.WATER_BUCKET)
e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.BUCKET, 1));
else return;
Location newTntLoc = ent.getLocation();
ent.remove();
newTntLoc.getBlock().setType(Material.TNT);
cancelled = true;
}
}
@EventHandler(priority = EventPriority.MONITOR)
public void onlace(PlayerBucketEmptyEvent e) {
if (cancelled) {
e.setCancelled(true);
cancelled = false;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment