Advertisement
Guest User

sdsd

a guest
Apr 17th, 2014
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.44 KB | None | 0 0
  1. package pl.mstTeleport.Multi;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Random;
  6.  
  7. import org.bukkit.Location;
  8. import org.bukkit.Material;
  9. import org.bukkit.Server;
  10. import org.bukkit.World;
  11. import org.bukkit.block.Block;
  12. import org.bukkit.configuration.file.FileConfiguration;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.Listener;
  16. import org.bukkit.event.block.Action;
  17. import org.bukkit.event.inventory.CraftItemEvent;
  18. import org.bukkit.event.inventory.InventoryType;
  19. import org.bukkit.event.inventory.InventoryType.SlotType;
  20. import org.bukkit.event.player.PlayerInteractEvent;
  21. import org.bukkit.inventory.CraftingInventory;
  22. import org.bukkit.inventory.ItemStack;
  23. import org.bukkit.plugin.PluginManager;
  24. import org.bukkit.plugin.java.JavaPlugin;
  25.  
  26. @SuppressWarnings("unused")
  27. public class Main
  28.   extends JavaPlugin
  29.   implements Listener
  30. {
  31.   public void onEnable()
  32.   {
  33.     saveDefaultConfig();
  34.     getServer().getPluginManager().registerEvents(this, this);
  35.   }
  36.  
  37. @SuppressWarnings({ "unchecked", "rawtypes" })
  38. public List<Player> getPlayersInRadius(Location location, int size)
  39.   {
  40.     List<Player> players = new ArrayList();
  41.     for (Player p : location.getWorld().getPlayers()) {
  42.       if (location.distance(p.getLocation()) <= size) {
  43.         players.add(p);
  44.       }
  45.     }
  46.     return players;
  47.   }
  48.  
  49.   @EventHandler
  50.   public void onCraft(CraftItemEvent e)
  51.   {
  52.     if ((e.getInventory().getType().equals(InventoryType.WORKBENCH)) &&
  53.       (e.getSlotType().toString().equalsIgnoreCase("RESULT")) &&
  54.       (e.getCurrentItem().getType().name().equalsIgnoreCase("JUKEBOX"))) {
  55.       e.setCancelled(true);
  56.     }
  57.   }
  58.  
  59.   @EventHandler
  60.   public void onInteract(PlayerInteractEvent e)
  61.   {
  62.     if ((e.getAction() == Action.RIGHT_CLICK_BLOCK) && (e.getClickedBlock().getType() == Material.STONE_BUTTON))
  63.     {
  64.       Location block = e.getClickedBlock().getLocation().add(1.0D, 0.0D, 0.0D);
  65.       Location block1 = e.getClickedBlock().getLocation().add(-1.0D, 0.0D, 0.0D);
  66.       Location block2 = e.getClickedBlock().getLocation().add(0.0D, 0.0D, 1.0D);
  67.       Location block3 = e.getClickedBlock().getLocation().add(0.0D, 0.0D, -1.0D);
  68.       if ((block.getBlock().getType() == Material.JUKEBOX) || (block1.getBlock().getType() == Material.JUKEBOX) || (block2.getBlock().getType() == Material.JUKEBOX) || (block3.getBlock().getType() == Material.JUKEBOX)) {
  69.         for (Player p : getPlayersInRadius(e.getClickedBlock().getLocation(), getConfig().getInt("config.getPlayersInRadiusSize")))
  70.         {
  71.           Random rand = new Random();
  72.           double x = rand.nextDouble() * 5000.0D - 2500.0D;
  73.           double z = rand.nextDouble() * 5000.0D - 2500.0D;
  74.           Location loc = new Location(e.getPlayer().getWorld(), x, e.getPlayer().getWorld().getHighestBlockYAt((int)x, (int)z), z);
  75.           e.getPlayer().teleport(loc);
  76.           Location ploc = new Location(e.getPlayer().getWorld(), e.getPlayer().getLocation().getX(), e.getPlayer().getLocation().getY(), e.getPlayer().getLocation().getZ());
  77.           ploc.setY(e.getPlayer().getLocation().getY() + 5.0D);
  78.           e.getPlayer().teleport(ploc);
  79.           p.teleport(e.getPlayer().getLocation());
  80.           p.sendMessage(getConfig().getString("messages.teleport").replaceAll("&", "\u00A7").replace("%z%", String.valueOf((int)z)).replace("%x%", String.valueOf((int)x)));
  81.         }
  82.       }
  83.       if ((block.getBlock().getType() == Material.SPONGE) || (block1.getBlock().getType() == Material.SPONGE) || (block2.getBlock().getType() == Material.SPONGE) || (block3.getBlock().getType() == Material.SPONGE))
  84.       {
  85.         Random rand = new Random();
  86.         double x = rand.nextDouble() * 5000.0D - 2500.0D;
  87.         double z = rand.nextDouble() * 5000.0D - 2500.0D;
  88.         Location loc = new Location(e.getPlayer().getWorld(), x, e.getPlayer().getWorld().getHighestBlockYAt((int)x, (int)z), z);
  89.         e.getPlayer().teleport(loc);
  90.         Location ploc = new Location(e.getPlayer().getWorld(), e.getPlayer().getLocation().getX(), e.getPlayer().getLocation().getY(), e.getPlayer().getLocation().getZ());
  91.         ploc.setY(e.getPlayer().getLocation().getY() + 5.0D);
  92.         e.getPlayer().teleport(ploc);
  93.         e.getPlayer().sendMessage(getConfig().getString("messages.group-teleport").replaceAll("&", "\u00A7").replace("%z%", String.valueOf((int)z)).replace("%x%", String.valueOf((int)x)));
  94.       }
  95.     }
  96.     else {}
  97.   }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement