Advertisement
CaptainLepidus

java plugin

Oct 26th, 2013
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1. //Right click with compass to teleport 1 block over with all the blocks you're standing on
  2. if (handItem.getType()==Material.COMPASS) {
  3.                 Location lcto = player.getLocation();
  4.                 double x = lcto.getX();
  5.                 double y = lcto.getY();
  6.                 double z = lcto.getZ();
  7.                 Location lctn = new Location(world,x+1,y,z);
  8.                 lctn.setPitch(lcto.getPitch());
  9.                 lctn.setYaw(lcto.getYaw());
  10.                 Location lctb = new Location(world,x,y-1,z);
  11.                 Block tblock = world.getBlockAt(lctb);
  12.                 ArrayList<Block> blockArray = new ArrayList<Block>();
  13.                 HashSet<Location> locationArray = new HashSet<Location>();
  14.                 o = 0;
  15.                 moveBlock(blockArray,locationArray,tblock);
  16.                 moveBlocks(blockArray,world,1,0,0);
  17.                 player.teleport(lctn);
  18.                 player.sendMessage("Blocks Moved: "+ChatColor.LIGHT_PURPLE + String.valueOf(o) + ChatColor.WHITE + ".");
  19.                 event.setCancelled(true);
  20.             }
  21. //moveBlock; is actually collecting all the blocks under you
  22.     public boolean moveBlock(ArrayList<Block> blockArray,HashSet<Location> locationArray,Block block) {
  23.         if (o>500) {
  24.             return false;
  25.         }
  26.         if (block.getType().equals(Material.AIR) || block.getType().equals(Material.WATER) || block.getType().equals(Material.STATIONARY_WATER) ) {
  27.             return false;
  28.         }
  29.         if (locationArray.contains(block.getLocation())){
  30.             return false;
  31.         }
  32.         World world = block.getWorld();
  33.         int x1 = block.getX();
  34.         int y1 = block.getY();
  35.         int z1 = block.getZ();
  36.         blockArray.add(block);
  37.         locationArray.add(block.getLocation());
  38.         moveBlock(blockArray,locationArray,world.getBlockAt(x1+1,y1,z1));
  39.         moveBlock(blockArray,locationArray,world.getBlockAt(x1-1,y1,z1));
  40.         moveBlock(blockArray,locationArray,world.getBlockAt(x1,y1+1,z1));
  41.         moveBlock(blockArray,locationArray,world.getBlockAt(x1,y1-1,z1));
  42.         moveBlock(blockArray,locationArray,world.getBlockAt(x1,y1,z1+1));
  43.         moveBlock(blockArray,locationArray,world.getBlockAt(x1,y1,z1-1));
  44.         o += 1;
  45.         return true;
  46.     }
  47. //moveBlocks; is moving all those blocks over by 1
  48.     public void moveBlocks(ArrayList<Block> blockArray,World world,int x,int y,int z){
  49.         int i;
  50.         Block block;
  51.         for(i=0;i<blockArray.size();i+=1) {
  52.             block = blockArray.get(i);
  53.             world.getBlockAt(block.getX()+x,block.getY()+y,block.getZ()+z).setType(block.getType());
  54.             block.setType(Material.AIR);
  55.         }
  56.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement