Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.realistic.signals;
- import java.util.Random;
- import java.util.concurrent.Callable;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.BlockPlaceEvent;
- import com.realistic.api.API;
- import com.realistic.api.MessageManager;
- import com.realistic.api.MessageManager.MsgType;
- import com.realistic.config.configMessage;
- import com.realistic.crate.Crate_list;
- import com.realistic.otherAPI.ParticleEffect;
- public class Handler_Place implements Listener {
- private static final Random r = new Random();
- public static boolean finished = false;
- @EventHandler
- public static void onPlace(BlockPlaceEvent e) {
- Player p = e.getPlayer();
- Block b = e.getBlockPlaced();
- if (e.isCancelled()) {
- return;
- }
- if (b.getType() == Material.REDSTONE_TORCH_ON) {
- if (p.getItemInHand().getItemMeta().getDisplayName() != null
- && p.getItemInHand().getItemMeta().getDisplayName()
- .equalsIgnoreCase(ChatColor.GOLD + ChatColor.BOLD.toString() + "Сигнальная шашка")) {
- MessageManager.getManager().msg(p, MsgType.SUCCESS,
- configMessage.messageConfig.getString("signal_enable"));
- spawn(b.getLocation(), b, p);
- }
- }
- }
- public static void spawn(Location loc, Block b, Player p) {
- finished = true;
- new Thread() {
- @SuppressWarnings("deprecation")
- @Override
- public void run() {
- while (true) {
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- return;
- }
- if (finished) {
- p.sendMessage("выкл");
- finished = false;
- this.interrupt();
- this.stop();
- }
- if (loc.getBlock().getType() != Material.AIR) {
- p.sendMessage("1");
- continue;
- }
- ParticleEffect.SMOKE_LARGE.display(0, 2, 0, 0, 5, b.getLocation().add(0.5, 3, 0.5), 200);
- if (r.nextInt(5000) <= 100) {
- Bukkit.getScheduler().callSyncMethod(API.getInstance(), new Callable<Crate_list>() {
- @Override
- public Crate_list call() throws Exception {
- p.sendMessage("2");
- b.setType(Material.AIR);
- Crate_list.commonCrate(loc, b, p);
- return null;
- }
- });
- }
- }
- }
- }.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement