Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.03 KB | None | 0 0
  1. package me.gon_bao.fawetest;
  2.  
  3. import com.sk89q.worldedit.EditSession;
  4. import com.sk89q.worldedit.WorldEdit;
  5. import com.sk89q.worldedit.WorldEditException;
  6. import com.sk89q.worldedit.bukkit.BukkitWorld;
  7. import com.sk89q.worldedit.extent.clipboard.Clipboard;
  8. import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
  9. import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats;
  10. import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader;
  11. import com.sk89q.worldedit.function.operation.Operation;
  12. import com.sk89q.worldedit.function.operation.Operations;
  13. import com.sk89q.worldedit.math.BlockVector3;
  14. import com.sk89q.worldedit.session.ClipboardHolder;
  15. import com.sk89q.worldedit.world.World;
  16. import org.bukkit.Location;
  17. import org.bukkit.command.Command;
  18. import org.bukkit.command.CommandSender;
  19. import org.bukkit.entity.Player;
  20. import org.bukkit.plugin.Plugin;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23. import java.io.File;
  24. import java.io.FileInputStream;
  25. import java.io.IOException;
  26.  
  27. public class Main extends JavaPlugin {
  28.  
  29.     Plugin plugin;
  30.  
  31.     public void onEnable() {
  32.         plugin = this;
  33.     }
  34.  
  35.     public void onDisable() {
  36.         plugin = null;
  37.     }
  38.  
  39.     public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
  40.         if (commandSender instanceof Player) {
  41.             if (command.getName().equalsIgnoreCase("fawetest")) {
  42.                 Player player = (Player) commandSender;
  43.                 World world = new BukkitWorld(player.getLocation().getWorld());
  44.                 Location playerLocation = player.getLocation();
  45.                 BlockVector3 position = BlockVector3.at(playerLocation.getBlockX(), playerLocation.getBlockY(), playerLocation.getBlockZ());
  46.                 File file = new File(plugin.getDataFolder() + "/schematic.schem");
  47.                 if (file.exists()) {
  48.                     ClipboardFormat clipboardFormat = ClipboardFormats.findByFile(file);
  49.                     Clipboard clipboard = null;
  50.                     try (ClipboardReader clipboardReader = clipboardFormat.getReader(new FileInputStream(file))) {
  51.                         clipboard = clipboardReader.read();
  52.                     } catch (IOException e) {
  53.                         e.printStackTrace();
  54.                         return true;
  55.                     }
  56.  
  57.                     ClipboardHolder clipboardHolder = new ClipboardHolder(clipboard);
  58.  
  59.                     try (EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1)) {
  60.                         Operation operation = clipboardHolder.createPaste(editSession).to(position).ignoreAirBlocks(true).build();
  61.                         Operations.complete(operation);
  62.                         editSession.flushSession();
  63.                     } catch (WorldEditException e) {
  64.                         e.printStackTrace();
  65.                         return true;
  66.                     }
  67.                 }
  68.                 return true;
  69.             }
  70.         }
  71.         return false;
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement