Advertisement
FaidenTV

SchemUtils

Nov 25th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.World;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.plugin.Plugin;
  10.  
  11. import com.sk89q.worldedit.CuboidClipboard;
  12. import com.sk89q.worldedit.EditSession;
  13. import com.sk89q.worldedit.MaxChangedBlocksException;
  14. import com.sk89q.worldedit.Vector;
  15. import com.sk89q.worldedit.bukkit.BukkitWorld;
  16. import com.sk89q.worldedit.bukkit.WorldEditPlugin;
  17. import com.sk89q.worldedit.data.DataException;
  18.  
  19. public class SchemUtils {
  20.  
  21. private static File schematic;
  22. private static String shem = "jawad.schematic";
  23.  
  24. public static void loadSchematic(Player player){
  25. World world = Bukkit.getWorld("world");
  26.  
  27. EditSession es = new EditSession(new BukkitWorld(world), 999999999);
  28.  
  29. schematic = new File(getWorldEdit().getDataFolder(), "schematics/" + shem);
  30. if(!schematic.exists()){
  31. Bukkit.getPluginManager().disablePlugin(Bukkit.getPluginManager().getPlugin("SchemFaiden"));
  32. }
  33.  
  34. try{
  35. loadArea(es, schematic, new Vector(player.getLocation().getX(), player.getLocation().getY(), player.getLocation().getZ()));
  36. }catch(MaxChangedBlocksException|DataException|IOException e){
  37. e.printStackTrace();
  38. }
  39. }
  40.  
  41. private static WorldEditPlugin getWorldEdit(){
  42. Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
  43. if((plugin == null) || (!(plugin instanceof WorldEditPlugin))){
  44. return null;
  45. }
  46. return (WorldEditPlugin) plugin;
  47. }
  48.  
  49. @SuppressWarnings({ "unused", "unchecked", "rawtypes" })
  50. private static List<Integer> getIntegerList(int start){
  51. List integerList = new ArrayList();
  52. for(int i = start; i != 0; i--){
  53. integerList.add(Integer.valueOf(i));
  54. }
  55. return integerList;
  56. }
  57.  
  58. @SuppressWarnings("deprecation")
  59. private static void loadArea(EditSession es, File file, Vector origin) throws DataException, IOException, MaxChangedBlocksException{
  60. CuboidClipboard cc = CuboidClipboard.loadSchematic(file);
  61. cc.paste(es, origin, false);
  62. }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement