Advertisement
Lisenochek

Untitled

Oct 2nd, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. package com.realistic.signals;
  2.  
  3. import java.util.Random;
  4. import java.util.concurrent.Callable;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.block.Block;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.BlockPlaceEvent;
  15.  
  16. import com.realistic.api.API;
  17. import com.realistic.api.MessageManager;
  18. import com.realistic.api.MessageManager.MsgType;
  19. import com.realistic.config.configMessage;
  20. import com.realistic.crate.Crate_list;
  21. import com.realistic.otherAPI.ParticleEffect;
  22.  
  23. public class Handler_Place implements Listener {
  24.  
  25. private static final Random r = new Random();
  26. public static boolean enabled = true;
  27.  
  28. @EventHandler
  29. public static void onPlace(BlockPlaceEvent e) {
  30.  
  31. Player p = e.getPlayer();
  32. Block b = e.getBlockPlaced();
  33.  
  34. if (e.isCancelled()) {
  35. return;
  36. }
  37.  
  38. if (b.getType() == Material.REDSTONE_TORCH_ON) {
  39.  
  40. if (p.getItemInHand().getItemMeta().getDisplayName() != null
  41. && p.getItemInHand().getItemMeta().getDisplayName()
  42. .equalsIgnoreCase(ChatColor.GOLD + ChatColor.BOLD.toString() + "Сигнальная шашка")) {
  43.  
  44. MessageManager.getManager().msg(p, MsgType.SUCCESS,
  45. configMessage.messageConfig.getString("signal_enable"));
  46.  
  47. spawn(b.getLocation(), b, p);
  48. }
  49. }
  50. }
  51.  
  52. public static void spawn(Location loc, Block b, Player p) {
  53.  
  54. new Thread() {
  55.  
  56. @Override
  57. public void run() {
  58.  
  59. while (true) {
  60.  
  61. try {
  62. Thread.sleep(1000);
  63. } catch (InterruptedException e) {
  64. return;
  65. }
  66.  
  67. ParticleEffect.SMOKE_LARGE.display(0, 2, 0, 0, 5, b.getLocation().add(0.5, 3, 0.5), 200);
  68.  
  69. Bukkit.getScheduler().callSyncMethod(API.getInstance(), new Callable<Crate_list>() {
  70.  
  71. @Override
  72. public Crate_list call() throws Exception {
  73.  
  74. if (r.nextInt(5000) <= 100) {
  75.  
  76. b.setType(Material.AIR);
  77. Crate_list.commonCrate(loc, b, p);
  78. }
  79. return null;
  80. }
  81. });
  82. }
  83. }
  84. }.start();
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement