Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.mstTeleport.Multi;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Random;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.Server;
- import org.bukkit.World;
- import org.bukkit.block.Block;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.inventory.CraftItemEvent;
- import org.bukkit.event.inventory.InventoryType;
- import org.bukkit.event.inventory.InventoryType.SlotType;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.inventory.CraftingInventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- @SuppressWarnings("unused")
- public class Main
- extends JavaPlugin
- implements Listener
- {
- public void onEnable()
- {
- saveDefaultConfig();
- getServer().getPluginManager().registerEvents(this, this);
- }
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public List<Player> getPlayersInRadius(Location location, int size)
- {
- List<Player> players = new ArrayList();
- for (Player p : location.getWorld().getPlayers()) {
- if (location.distance(p.getLocation()) <= size) {
- players.add(p);
- }
- }
- return players;
- }
- @EventHandler
- public void onCraft(CraftItemEvent e)
- {
- if ((e.getInventory().getType().equals(InventoryType.WORKBENCH)) &&
- (e.getSlotType().toString().equalsIgnoreCase("RESULT")) &&
- (e.getCurrentItem().getType().name().equalsIgnoreCase("JUKEBOX"))) {
- e.setCancelled(true);
- }
- }
- @EventHandler
- public void onInteract(PlayerInteractEvent e)
- {
- if ((e.getAction() == Action.RIGHT_CLICK_BLOCK) && (e.getClickedBlock().getType() == Material.STONE_BUTTON))
- {
- Location block = e.getClickedBlock().getLocation().add(1.0D, 0.0D, 0.0D);
- Location block1 = e.getClickedBlock().getLocation().add(-1.0D, 0.0D, 0.0D);
- Location block2 = e.getClickedBlock().getLocation().add(0.0D, 0.0D, 1.0D);
- Location block3 = e.getClickedBlock().getLocation().add(0.0D, 0.0D, -1.0D);
- if ((block.getBlock().getType() == Material.JUKEBOX) || (block1.getBlock().getType() == Material.JUKEBOX) || (block2.getBlock().getType() == Material.JUKEBOX) || (block3.getBlock().getType() == Material.JUKEBOX)) {
- for (Player p : getPlayersInRadius(e.getClickedBlock().getLocation(), getConfig().getInt("config.getPlayersInRadiusSize")))
- {
- Random rand = new Random();
- double x = rand.nextDouble() * 5000.0D - 2500.0D;
- double z = rand.nextDouble() * 5000.0D - 2500.0D;
- Location loc = new Location(e.getPlayer().getWorld(), x, e.getPlayer().getWorld().getHighestBlockYAt((int)x, (int)z), z);
- e.getPlayer().teleport(loc);
- Location ploc = new Location(e.getPlayer().getWorld(), e.getPlayer().getLocation().getX(), e.getPlayer().getLocation().getY(), e.getPlayer().getLocation().getZ());
- ploc.setY(e.getPlayer().getLocation().getY() + 5.0D);
- e.getPlayer().teleport(ploc);
- p.teleport(e.getPlayer().getLocation());
- p.sendMessage(getConfig().getString("messages.teleport").replaceAll("&", "\u00A7").replace("%z%", String.valueOf((int)z)).replace("%x%", String.valueOf((int)x)));
- }
- }
- if ((block.getBlock().getType() == Material.SPONGE) || (block1.getBlock().getType() == Material.SPONGE) || (block2.getBlock().getType() == Material.SPONGE) || (block3.getBlock().getType() == Material.SPONGE))
- {
- Random rand = new Random();
- double x = rand.nextDouble() * 5000.0D - 2500.0D;
- double z = rand.nextDouble() * 5000.0D - 2500.0D;
- Location loc = new Location(e.getPlayer().getWorld(), x, e.getPlayer().getWorld().getHighestBlockYAt((int)x, (int)z), z);
- e.getPlayer().teleport(loc);
- Location ploc = new Location(e.getPlayer().getWorld(), e.getPlayer().getLocation().getX(), e.getPlayer().getLocation().getY(), e.getPlayer().getLocation().getZ());
- ploc.setY(e.getPlayer().getLocation().getY() + 5.0D);
- e.getPlayer().teleport(ploc);
- e.getPlayer().sendMessage(getConfig().getString("messages.group-teleport").replaceAll("&", "\u00A7").replace("%z%", String.valueOf((int)z)).replace("%x%", String.valueOf((int)x)));
- }
- }
- else {}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement