Advertisement
Dark_FX

Main

Mar 14th, 2014
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.63 KB | None | 0 0
  1. package dark.net.core;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.PrintStream;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. import net.citizensnpcs.api.npc.NPC;
  10. import net.milkbowl.vault.economy.Economy;
  11.  
  12. import org.bukkit.Bukkit;
  13. import org.bukkit.ChatColor;
  14. import org.bukkit.GameMode;
  15. import org.bukkit.Location;
  16. import org.bukkit.Material;
  17. import org.bukkit.Server;
  18. import org.bukkit.Sound;
  19. import org.bukkit.World;
  20. import org.bukkit.command.Command;
  21. import org.bukkit.command.CommandSender;
  22. import org.bukkit.configuration.file.FileConfiguration;
  23. import org.bukkit.configuration.file.YamlConfiguration;
  24. import org.bukkit.entity.Entity;
  25. import org.bukkit.entity.Player;
  26. import org.bukkit.event.EventHandler;
  27. import org.bukkit.event.Listener;
  28. import org.bukkit.event.entity.PlayerDeathEvent;
  29. import org.bukkit.event.inventory.InventoryClickEvent;
  30. import org.bukkit.event.player.PlayerDropItemEvent;
  31. import org.bukkit.event.player.PlayerRespawnEvent;
  32. import org.bukkit.event.player.PlayerToggleFlightEvent;
  33. import org.bukkit.inventory.Inventory;
  34. import org.bukkit.inventory.ItemStack;
  35. import org.bukkit.inventory.PlayerInventory;
  36. import org.bukkit.inventory.meta.ItemMeta;
  37. import org.bukkit.plugin.PluginManager;
  38. import org.bukkit.plugin.RegisteredServiceProvider;
  39. import org.bukkit.plugin.ServicesManager;
  40. import org.bukkit.plugin.java.JavaPlugin;
  41. import org.bukkit.scheduler.BukkitScheduler;
  42. import org.bukkit.util.Vector;
  43.  
  44. public class main extends JavaPlugin
  45. implements Listener
  46. {
  47. public List<NPC> npcclicked = new ArrayList();
  48. public boolean explosionphys = true;
  49. Inventory unknownjoin = Bukkit.getServer().createInventory(null, 9, ChatColor.YELLOW + "" + ChatColor.BOLD + "Infestation Join Menu");
  50. ArrayList<Player> gemchoice = new ArrayList();
  51. Entity targeted = null;
  52. public List<String> justJumped = new ArrayList();
  53. public List<String> dupe1 = new ArrayList();
  54. public List<String> dupe2 = new ArrayList();
  55. public List<String> dupe3 = new ArrayList();
  56. public List<String> onevone = new ArrayList();
  57.  
  58. public static Economy economy = null;
  59.  
  60. public void onEnable()
  61. {
  62. PluginManager pm = getServer().getPluginManager();
  63. pm.registerEvents(this, this);
  64. System.out.println("Bank Mechanics Enabled");
  65.  
  66. setupEconomy();
  67. for (Entity ent : getServer().getWorld("world").getEntities())
  68. ent.remove();
  69. }
  70.  
  71. public void onDisable()
  72. {
  73. System.out.println("Bank Mechanics Disabled");
  74. }
  75.  
  76. public void save(Player p, Inventory inv)
  77. throws IOException
  78. {
  79. YamlConfiguration c = new YamlConfiguration();
  80.  
  81. getConfig().set(p.getName() + "inventory.content", inv.getContents());
  82. saveConfig();
  83. c.save(new File("", p.getName() + ".yml"));
  84. }
  85.  
  86. public void restore(Player p, Inventory inv) throws IOException {
  87. YamlConfiguration c = YamlConfiguration.loadConfiguration(new File("", p.getName() + ".yml"));
  88. ItemStack[] content = (ItemStack[])((List)getConfig().get(p.getName() + "inventory.armor")).toArray(new ItemStack[0]);
  89.  
  90. content = (ItemStack[])((List)getConfig().get(p.getName() + "inventory.content")).toArray(new ItemStack[0]);
  91. inv.setContents(content);
  92. }
  93. public static void createDisplay(Material material, Inventory inv, int Slot, String name, String lore, String lore2, String lore3) {
  94. ItemStack item = new ItemStack(material);
  95. ItemMeta meta = item.getItemMeta();
  96. meta.setDisplayName(name);
  97. ArrayList Lore = new ArrayList();
  98. Lore.add(lore);
  99. Lore.add(lore2);
  100. Lore.add(lore3);
  101. meta.setLore(Lore);
  102.  
  103. item.setItemMeta(meta);
  104.  
  105. inv.setItem(Slot, item);
  106. }
  107.  
  108. public static void createDataDisplay(Material material, Inventory inv, int Slot, int data, String name, String lore, String lore2, String lore3) {
  109. ItemStack item = new ItemStack(material);
  110. ItemMeta meta = item.getItemMeta();
  111. meta.setDisplayName(name);
  112. ArrayList Lore = new ArrayList();
  113. Lore.add(lore);
  114. Lore.add(lore2);
  115. Lore.add(lore3);
  116. meta.setLore(Lore);
  117.  
  118. item.setItemMeta(meta);
  119. item.setDurability((short)data);
  120. inv.setItem(Slot, item);
  121. }
  122.  
  123. public static boolean isInteger(String s) {
  124. try {
  125. Integer.parseInt(s);
  126. } catch (NumberFormatException e) {
  127. return false;
  128. }
  129.  
  130. return true;
  131. }
  132.  
  133. private boolean setupEconomy()
  134. {
  135. RegisteredServiceProvider economyProvider = getServer().getServicesManager().getRegistration(Economy.class);
  136. if (economyProvider != null) {
  137. economy = (Economy)economyProvider.getProvider();
  138. }
  139.  
  140. return economy != null;
  141. }
  142.  
  143. public double getBalance(String player)
  144. {
  145. double bal = economy.getBalance(player);
  146. return bal;
  147. }
  148.  
  149. public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args)
  150. {
  151. if (!(sender instanceof Player));
  152. Player player = (Player)sender;
  153.  
  154. if (cmd.getLabel().equalsIgnoreCase("minez")) {
  155. Inventory achievement = Bukkit.createInventory(player, 9, ChatColor.DARK_AQUA + "" + ChatColor.BOLD + "" + "Spawn Gear Selection");
  156.  
  157. createDisplay(Material.DIAMOND_SWORD, achievement, 0, ChatColor.AQUA + "Buy Diamond Sword", ChatColor.GRAY + "Click to buy | Right Click for options", ChatColor.GRAY + "$100", ChatColor.GRAY + "30 Days");
  158. createDataDisplay(Material.POTION, achievement, 1, 8226, ChatColor.AQUA + "Buy Speed Pot", ChatColor.GRAY + "Click to buy | Right Click for options", ChatColor.GRAY + "$100", ChatColor.GRAY + "30 Days");
  159. createDisplay(Material.SUGAR, achievement, 2, ChatColor.AQUA + "Buy Sugar", ChatColor.GRAY + "Click to buy | Right Click for options", ChatColor.GRAY + "$100", ChatColor.GRAY + "30 Days");
  160.  
  161. player.openInventory(achievement);
  162. }
  163. return false;
  164. }
  165. @EventHandler
  166. public void onRespawnEvent(final PlayerRespawnEvent e) {
  167. getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
  168. long sec;
  169. long currentSec;
  170. int ticks;
  171. int delay;
  172.  
  173. public void run() {
  174. if (main.this.getConfig().getBoolean(e.getPlayer().getName() + ".spawngear.diamondsword")) {
  175. ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
  176. ItemMeta meta = sword.getItemMeta();
  177. ArrayList<String> lore = new ArrayList<String>();
  178. lore.add(ChatColor.GOLD + "" + ChatColor.ITALIC + "Soulbound");
  179. sword.setItemMeta(meta);
  180. e.getPlayer().getInventory().setItem(0, sword);
  181. main.this.saveConfig();
  182. }
  183.  
  184. if (main.this.getConfig().getBoolean(e.getPlayer().getName() + ".spawngear.sugar")) {
  185. ItemStack sword = new ItemStack(Material.SUGAR);
  186. ItemMeta meta = sword.getItemMeta();
  187. ArrayList<String> lore = new ArrayList<String>();
  188. lore.add(ChatColor.GOLD + "" + ChatColor.ITALIC + "Soulbound");
  189. sword.setItemMeta(meta);
  190. e.getPlayer().getInventory().setItem(7, sword);
  191. main.this.saveConfig();
  192. }
  193.  
  194. if (main.this.getConfig().getBoolean(e.getPlayer().getName() + ".spawngear.speedpot")) {
  195. ItemStack item = new ItemStack(373, 1);
  196.  
  197. item.setDurability((short)8226);
  198.  
  199. ItemMeta meta = item.getItemMeta();
  200. ArrayList<String> lore = new ArrayList<String>();
  201. lore.add(ChatColor.GOLD + "" + ChatColor.ITALIC + "Soulbound");
  202. item.setItemMeta(meta);
  203. e.getPlayer().getInventory().setItem(6, item);
  204. main.this.saveConfig();
  205. }
  206. }
  207. }
  208. , 10L);
  209. }
  210.  
  211. @EventHandler
  212. public void onInventoryOpenEvent(InventoryClickEvent e)
  213. {
  214. try
  215. {
  216. Player p = (Player)e.getWhoClicked();
  217. ItemStack item = e.getCurrentItem();
  218. ItemMeta meta = item.getItemMeta();
  219. ArrayList<String> lore = new ArrayList<String>();
  220.  
  221. if (meta.getDisplayName().equalsIgnoreCase(ChatColor.AQUA + "Buy Diamond Sword")) {
  222. if (p.hasPermission("minez.diamondsword")) {
  223. e.setCancelled(true);
  224. p.closeInventory();
  225. p.sendMessage(ChatColor.GREEN + "Item bought!");
  226. getConfig().set(p.getName() + ".spawngear.diamondsword", Boolean.valueOf(true));
  227. }
  228. else if ((!this.dupe1.contains(p.getName())) && (!this.dupe2.contains(p.getName()))) {
  229. e.setCancelled(true);
  230. p.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.AQUA + "You have been Denied access to this.");
  231. this.dupe1.add(p.getName());
  232. }
  233. else if (this.dupe1.contains(p.getName())) {
  234. e.setCancelled(true);
  235. p.closeInventory();
  236. p.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.AQUA + "Dupe attempt logged.");
  237. this.dupe2.add(p.getName());
  238. this.dupe1.remove(p.getName());
  239. for (Player op : Bukkit.getOnlinePlayers()) {
  240. if (op.isOp()) {
  241. op.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.YELLOW + ChatColor.ITALIC + p.getName() + ChatColor.AQUA + " is attempting to dupe please monitor them.");
  242. }
  243.  
  244. }
  245.  
  246. }
  247. else if (this.dupe2.contains(p.getName())) {
  248. e.setCancelled(true);
  249. p.closeInventory();
  250. getServer().dispatchCommand(getServer().getConsoleSender(), "warn " + p.getName() + " [Watch Dog] Duping attempts, admin please review this player.");
  251. for (Player op : Bukkit.getOnlinePlayers()) {
  252. if (op.isOp()) {
  253. op.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.YELLOW + ChatColor.ITALIC + p.getName() + " is definitely attempting to dupe, Watch Dog will take it from here.");
  254. }
  255.  
  256. }
  257.  
  258. }
  259. else
  260. {
  261. e.setCancelled(true);
  262. p.closeInventory();
  263. }
  264. }
  265.  
  266. if (meta.getDisplayName().equalsIgnoreCase(ChatColor.AQUA + "Buy Speed Pot")) {
  267. if (p.hasPermission("minez.speedpot")) {
  268. e.setCancelled(true);
  269. p.closeInventory();
  270. p.sendMessage(ChatColor.GREEN + "Item bought!");
  271. getConfig().set(p.getName() + ".spawngear.speedpot", Boolean.valueOf(true));
  272. }
  273. else if ((!this.dupe1.contains(p.getName())) && (!this.dupe2.contains(p.getName()))) {
  274. e.setCancelled(true);
  275. p.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.AQUA + "You have been Denied access to this.");
  276. this.dupe1.add(p.getName());
  277. } else if (this.dupe1.contains(p.getName())) {
  278. e.setCancelled(true);
  279. p.closeInventory();
  280. p.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.AQUA + "Dupe attempt logged.");
  281. for (Player op : Bukkit.getOnlinePlayers()) {
  282. if (op.isOp()) {
  283. op.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.YELLOW + ChatColor.ITALIC + p.getName() + ChatColor.AQUA + " is attempting to dupe please monitor them.");
  284. }
  285. }
  286.  
  287. }
  288. else if (this.dupe2.contains(p.getName())) {
  289. e.setCancelled(true);
  290. p.closeInventory();
  291. getServer().dispatchCommand(getServer().getConsoleSender(), "warn " + p.getName() + " [Watch Dog] Duping attempts, admin please review this player.");
  292. for (Player op : Bukkit.getOnlinePlayers()) {
  293. if (op.isOp()) {
  294. op.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.YELLOW + ChatColor.ITALIC + p.getName() + " is definitely attempting to dupe, Watch Dog will take it from here.");
  295. }
  296.  
  297. }
  298.  
  299. }
  300. else
  301. {
  302. e.setCancelled(true);
  303. p.closeInventory();
  304. }
  305. }
  306. if (meta.getDisplayName().equalsIgnoreCase(ChatColor.AQUA + "Buy Sugar")) {
  307. if (p.hasPermission("minez.speedpot"))
  308. {
  309. p.closeInventory();
  310. e.setCancelled(true);
  311. p.sendMessage(ChatColor.GREEN + "Item bought!");
  312. getConfig().set(p.getName() + ".spawngear.sugar", Boolean.valueOf(true));
  313. } else {
  314. e.setCancelled(true);
  315. if ((!this.dupe1.contains(p.getName())) && (!this.dupe2.contains(p.getName()))) {
  316. e.setCancelled(true);
  317. p.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.AQUA + "You have been Denied access to this.");
  318. this.dupe1.add(p.getName());
  319. } else if (this.dupe1.contains(p.getName())) {
  320. e.setCancelled(true);
  321. p.closeInventory();
  322. p.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.AQUA + "Dupe attempt logged.");
  323. for (Player op : Bukkit.getOnlinePlayers()) {
  324. if (op.isOp()) {
  325. op.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.YELLOW + ChatColor.ITALIC + p.getName() + ChatColor.AQUA + " is attempting to dupe please monitor them.");
  326. }
  327. }
  328.  
  329. }
  330. else if (this.dupe2.contains(p.getName())) {
  331. e.setCancelled(true);
  332. p.closeInventory();
  333. getServer().dispatchCommand(getServer().getConsoleSender(), "warn " + p.getName() + " [Watch Dog] Duping attempts, Staff please review this player.");
  334. for (Player op : Bukkit.getOnlinePlayers()) {
  335. if (op.isOp()) {
  336. op.sendMessage(ChatColor.WHITE + "[" + ChatColor.DARK_AQUA + "WatchDog " + ChatColor.WHITE + "] " + ChatColor.YELLOW + ChatColor.ITALIC + p.getName() + " is definitely attempting to dupe, Watch Dog will take it from here.");
  337. }
  338.  
  339. }
  340.  
  341. }
  342. else
  343. {
  344. e.setCancelled(true);
  345. p.closeInventory();
  346. }
  347. }
  348. }
  349. if (meta.getDisplayName().equalsIgnoreCase(ChatColor.GREEN + "Diamond Sword"))
  350. if (getConfig().getBoolean(p.getName() + ".spawngear.usediamondsword")) {
  351. p.sendMessage(ChatColor.GREEN + "Toggled spawning with a diamond sword to OFF.");
  352. getConfig().set(p.getName() + ".spawngear.diamondsword", Boolean.valueOf(false));
  353. } else {
  354. getConfig().set(p.getName() + ".spawngear.usediamondsword", Boolean.valueOf(true));
  355. p.sendMessage(ChatColor.GREEN + "Toggled spawning with a diamond sword to ON.");
  356. }
  357. }
  358. catch (Exception ex) {
  359. }
  360. }
  361.  
  362. @EventHandler
  363. public void onDMGAttempt(PlayerDeathEvent event) {
  364. Player p = event.getEntity();
  365.  
  366. event.getDrops().clear();
  367.  
  368. ItemStack item = new ItemStack(373, 1);
  369.  
  370. item.setDurability((short)8226);
  371.  
  372. ItemMeta meta = item.getItemMeta();
  373. ArrayList<String> lore = new ArrayList<String>();
  374. item.setItemMeta(meta);
  375. item.setDurability((short)16421);
  376. lore.add(ChatColor.GOLD + "" + ChatColor.ITALIC + "Soulbound");
  377. event.getDrops().add(item);
  378. event.getDrops().add(item);
  379. event.getDrops().add(item);
  380. event.getDrops().add(item);
  381. meta.setLore(lore);
  382.  
  383. p.getKiller().sendMessage(ChatColor.GREEN + "You have killed " + p.getName() + "! 10 Gems Received.");
  384. getConfig().set(p.getKiller().getName() + ".gems.money", Integer.valueOf(getConfig().getInt(p.getKiller().getName() + ".gems.money") + 10));
  385. p.playSound(p.getLocation(), Sound.LEVEL_UP, 2.0F, 4.0F);
  386. }
  387. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement