Advertisement
Guest User

Untitled

a guest
Feb 14th, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. package me.mikept.lsch;
  2.  
  3. import com.sk89q.worldedit.CuboidClipboard;
  4. import com.sk89q.worldedit.EditSession;
  5. import com.sk89q.worldedit.MaxChangedBlocksException;
  6. import com.sk89q.worldedit.Vector;
  7. import com.sk89q.worldedit.bukkit.BukkitWorld;
  8. import com.sk89q.worldedit.bukkit.WorldEditPlugin;
  9. import com.sk89q.worldedit.schematic.MCEditSchematicFormat;
  10. import com.sk89q.worldedit.world.DataException;
  11. import java.io.File;
  12. import java.io.IOException;
  13. import org.bukkit.Bukkit;
  14. import org.bukkit.ChatColor;
  15. import org.bukkit.Location;
  16. import org.bukkit.Material;
  17. import org.bukkit.entity.Player;
  18. import org.bukkit.event.EventHandler;
  19. import org.bukkit.event.Listener;
  20. import org.bukkit.event.player.PlayerInteractEvent;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23. @SuppressWarnings("deprecation")
  24. public class Main
  25. extends JavaPlugin
  26. implements Listener
  27. {
  28. public void onEnable()
  29. {
  30. getServer().getPluginManager().registerEvents(this, this);
  31. }
  32.  
  33. @EventHandler
  34. public void interact(PlayerInteractEvent event)
  35. {
  36. Player player = event.getPlayer();
  37. if (player.getInventory().getItemInHand().getType().equals(Material.STICK))
  38. {
  39. loadSchematic(player);
  40. player.sendMessage(ChatColor.GREEN + "Schematic has been loaded.");
  41. }
  42. }
  43.  
  44. private void loadSchematic(Player player)
  45. {
  46. Location location = player.getLocation();
  47. WorldEditPlugin worldEditPlugin = (WorldEditPlugin)Bukkit.getPluginManager().getPlugin("WorldEdit");
  48. File schematic = new File(getDataFolder() + File.separator + "/schematics/house.schematic");
  49. EditSession session = worldEditPlugin.getWorldEdit().getEditSessionFactory().getEditSession(new BukkitWorld(location.getWorld()), 10000);
  50. try
  51. {
  52. CuboidClipboard clipboard = MCEditSchematicFormat.getFormat(schematic).load(schematic);
  53. clipboard.rotate2D(90);
  54. clipboard.paste(session, new Vector(location.getX(), location.getY(), location.getZ()), false);
  55. }
  56. catch (MaxChangedBlocksException|DataException|IOException e)
  57. {
  58. e.printStackTrace();
  59. }
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement