Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package a.b;
- 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.Server;
- import org.bukkit.Sound;
- import org.bukkit.World;
- import org.bukkit.block.Block;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.FileConfigurationOptions;
- 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.block.BlockPlaceEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.PlayerInventory;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitScheduler;
- import org.bukkit.util.Vector;
- public class C
- extends JavaPlugin
- implements Listener
- {
- public void onEnable()
- {
- Bukkit.getPluginManager().registerEvents(this, this);
- getConfig().options().copyDefaults(true);
- saveConfig();
- for (String c : getConfig().getStringList("P-S")) {
- this.s.add(c);
- }
- for (String d : getConfig().getStringList("P-F")) {
- this.f.add(d);
- }
- Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
- {
- public void run()
- {
- for (Player d : Bukkit.getServer().getOnlinePlayers()) {
- if ((C.this.cooldown.containsKey(d.getName())) && (((Double)C.this.cooldown.get(d.getName())).doubleValue() < System.currentTimeMillis())) {
- if (C.this.msg.contains(d.getName()))
- {
- C.this.msg.remove(d.getName());
- d.sendMessage(C.this.color("&cInstantTNT: &eYour ability is now refreshed and ready to use!"));
- }
- else
- {
- return;
- }
- }
- }
- }
- }, 1L, 0L);
- }
- public HashMap<String, Double> cooldown = new HashMap();
- public ArrayList<String> s = new ArrayList();
- public ArrayList<String> msg = new ArrayList();
- public ArrayList<String> f = new ArrayList();
- public ArrayList<String> place = new ArrayList();
- @EventHandler
- public void aaa(PlayerJoinEvent e)
- {
- Player p = e.getPlayer();
- if ((!this.s.contains(p.getName())) &&
- (!this.f.contains(p.getName()))) {
- this.s.add(p.getName());
- }
- }
- @EventHandler
- public void sss(BlockPlaceEvent e)
- {
- final Player p = e.getPlayer();
- Block b = e.getBlock();
- if (b.getType() == Material.TNT)
- {
- ItemStack item = p.getInventory().getItemInHand();
- if ((item.hasItemMeta()) &&
- (item.getItemMeta().getDisplayName().equals(color("&4Instant TnT"))))
- {
- b.setType(Material.AIR);
- Entity tnt = e.getPlayer().getWorld().spawn(b.getLocation().add(0.5D, 0.0D, 0.5D), TNTPrimed.class);
- ((TNTPrimed)tnt).setFuseTicks(50);
- p.playSound(p.getLocation(), Sound.FIRE_IGNITE, 2.0F, 1.0F);
- if (!this.place.contains(p.getName()))
- {
- e.getPlayer().sendMessage(color("&cInstantTNT: &3You have placed tnt!"));
- this.place.add(p.getName());
- BukkitScheduler scheduler = getServer().getScheduler();
- scheduler.scheduleSyncDelayedTask(this, new Runnable()
- {
- public void run()
- {
- C.this.place.remove(p.getName());
- }
- }, 100L);
- }
- else {}
- }
- }
- }
- @EventHandler
- public void leftClickAir(PlayerInteractEvent e)
- {
- Player p = e.getPlayer();
- if ((e.getAction() == Action.LEFT_CLICK_AIR) || (e.getAction() == Action.LEFT_CLICK_BLOCK))
- {
- ItemStack item = p.getInventory().getItemInHand();
- if ((item.hasItemMeta()) &&
- (item.getItemMeta().getDisplayName().equals(color("&4Instant TnT")))) {
- if (p.getItemInHand().getType() == Material.TNT)
- {
- if (p.isSneaking())
- {
- if (this.s.contains(p.getName()))
- {
- this.s.remove(p.getName());
- this.f.add(p.getName());
- getConfig().set("P-S", this.s);
- getConfig().set("P-F", this.f);
- saveConfig();
- p.sendMessage(color("&cInstantTNT: &5You are now shooting &9far"));
- return;
- }
- if (this.f.contains(p.getName()))
- {
- this.f.remove(p.getName());
- this.s.add(p.getName());
- p.sendMessage(color("&cInstantTNT: &5You are now shooting &7short"));
- getConfig().set("P-S", this.s);
- getConfig().set("P-F", this.f);
- saveConfig();
- return;
- }
- return;
- }
- if ((this.cooldown.containsKey(p.getName())) &&
- (((Double)this.cooldown.get(p.getName())).doubleValue() > System.currentTimeMillis()))
- {
- double remainingTime = ((Double)this.cooldown.get(p.getName())).doubleValue() - System.currentTimeMillis();
- p.sendMessage(color("&cInstantTNT: &7Your ability is on cooldown for &5" +
- remainingTime / 1000.0D + " &7seconds!"));
- }
- else
- {
- if (item.getAmount() == 1) {
- p.getInventory().remove(item);
- } else {
- item.setAmount(item.getAmount() - 1);
- }
- Entity tnt = e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), TNTPrimed.class);
- ((TNTPrimed)tnt).setFuseTicks(70);
- if (this.s.contains(p.getName()))
- {
- tnt.setVelocity(e.getPlayer().getLocation().getDirection().multiply(0.65D));
- p.sendMessage(color("&cInstantTNT: &3You have used your ability!"));
- this.cooldown.put(p.getName(), Double.valueOf(System.currentTimeMillis() + 1000L));
- if (this.msg.contains(p.getName())) {
- return;
- }
- this.msg.add(p.getName());
- }
- else if (this.f.contains(p.getName()))
- {
- tnt.setVelocity(e.getPlayer().getLocation().getDirection().multiply(1.1D));
- p.sendMessage(color("&cInstantTNT: &3You have used your ability!"));
- this.cooldown.put(p.getName(), Double.valueOf(System.currentTimeMillis() + 10000L));
- if (this.msg.contains(p.getName())) {
- return;
- }
- this.msg.add(p.getName());
- }
- else if ((!this.f.contains(p.getName())) &&
- (!this.s.contains(p.getName())))
- {
- this.s.add(p.getName());
- getConfig().set("P-S", this.s);
- saveConfig();
- }
- }
- }
- }
- }
- }
- public String color(String string)
- {
- return ChatColor.translateAlternateColorCodes('&', string);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement