Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. package ru.meloncode.cristalix.prison;
  2.  
  3. import java.util.HashSet;
  4. import java.util.Map;
  5. import java.util.Set;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.GameMode;
  9. import org.bukkit.Material;
  10. import org.bukkit.block.Block;
  11. import org.bukkit.enchantments.Enchantment;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.EventPriority;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.block.BlockBreakEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18. import org.bukkit.event.player.PlayerQuitEvent;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.plugin.Plugin;
  21.  
  22. public class QuickSellBridge implements Listener
  23. {
  24. public static Set<Player> autoSell = new HashSet<Player>();
  25. private static boolean isInstalled;
  26.  
  27. static {
  28. QuickSellBridge.isInstalled = false;
  29. }
  30.  
  31. public QuickSellBridge(final Main plugin) {
  32. Plugin[] plugins;
  33. for (int length = (plugins = Bukkit.getPluginManager().getPlugins()).length, i = 0; i < length; ++i) {
  34. final Plugin plug = plugins[i];
  35. QuickSellBridge.isInstalled = plug.getName().toLowerCase().contains("quicksell");
  36. if (QuickSellBridge.isInstalled) {
  37. break;
  38. }
  39. }
  40. Bukkit.getPluginManager().registerEvents((Listener)this, (Plugin)plugin);
  41. }
  42.  
  43. public static boolean isInstalled() {
  44. return QuickSellBridge.isInstalled;
  45. }
  46.  
  47. @EventHandler
  48. public void onJoin(PlayerJoinEvent event)
  49. {
  50. if(event.getPlayer().hasPermission("prison.autosell"))
  51. {
  52. autoSell.add(event.getPlayer());
  53. }
  54. }
  55.  
  56. @EventHandler
  57. public void onQuit(PlayerQuitEvent event)
  58. {
  59. if(autoSell.contains(event.getPlayer()))
  60. {
  61. autoSell.remove(event.getPlayer());
  62. }
  63. }
  64.  
  65. @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = false)
  66. public void onBreak(final BlockBreakEvent e) {
  67. Block block = e.getBlock();
  68. Player player = e.getPlayer();
  69. if (!e.isCancelled()) {
  70. final PrisonPlayer pp = PrisonPlayer.getPrisonPlayer(player);
  71. if (SellItem.getSellItem(block.getType(), (byte) 0) != null) {
  72. SellItem sellItem = SellItem.getSellItem(block.getType(), (byte) 0);
  73. int amount = 1;
  74. if (autoSell.contains(player))
  75. pp.sellItems(sellItem.getResources() * amount);
  76. else {
  77. Map<Integer, ItemStack> leftItems = player.getInventory().addItem(new ItemStack(block.getType(), amount));
  78. if (!leftItems.isEmpty())
  79. player.sendTitle("§cИнвентарь", "§cзаполнен!");
  80. }
  81. block.setType(Material.AIR);
  82. pp.addBlockDig(block.getType(), 1 * PrisonPlayer.getPrisonPlayer(player).getBlocksMultiplier());
  83. }
  84. }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement