Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. package com.plugin.rndsch;
  2.  
  3. import com.sk89q.worldedit.blocks.BlockData;
  4. import com.sk89q.worldedit.EditSession;
  5. import com.sk89q.worldedit.EmptyClipboardException;
  6. import com.sk89q.worldedit.IncompleteRegionException;
  7. import com.sk89q.worldedit.LocalConfiguration;
  8. import com.sk89q.worldedit.LocalSession;
  9. import com.sk89q.worldedit.MaxChangedBlocksException;
  10. import com.sk89q.worldedit.Vector;
  11. import com.sk89q.worldedit.WorldEdit;
  12. import com.sk89q.worldedit.bukkit.BukkitWorld;
  13. import com.sk89q.worldedit.bukkit.WorldEditPlugin;
  14. import com.sk89q.worldedit.schematic.SchematicFormat;
  15. import com.sk89q.worldedit.util.io.file.FilenameException;
  16. import com.sk89q.worldedit.world.DataException;
  17. import com.sk89q.worldedit.scripting.*;
  18. import com.sk89q.worldedit.command.*;
  19. import com.sk89q.worldedit.extension.platform.Actor;
  20. import com.sk89q.worldedit.scripting.java.*;
  21. import com.sk89q.worldedit.function.*;
  22. import com.sk89q.worldedit.LocalPlayer;
  23.  
  24. import java.io.File;
  25. import java.io.IOException;
  26.  
  27. import org.bukkit.World;
  28. import org.bukkit.entity.Player;
  29.  
  30. public class TerrainManager
  31. {
  32. private static final String EXTENSION = "schematic";
  33. private final WorldEdit we;
  34. private final LocalSession localSession;
  35. private final EditSession editSession;
  36. private final Player localPlayer;
  37.  
  38. public TerrainManager(WorldEditPlugin wep, Player player)
  39. {
  40. this.we = wep.getWorldEdit();
  41. this.localPlayer = (Player) wep.wrapPlayer(player);
  42. this.localSession = this.we.hasSession(this.localPlayer);
  43. this.editSession = this.localSession.createEditSession(this.localPlayer);
  44. this.localSession.remember(this.editSession);
  45. }
  46.  
  47. public TerrainManager(WorldEditPlugin wep, World world)
  48. {
  49. this.we = wep.getWorldEdit();
  50. this.localPlayer = null;
  51. this.localSession = new LocalSession(this.we.getConfiguration());
  52. this.editSession = new EditSession(new BukkitWorld(world), this.we.getConfiguration().maxChangeLimit);
  53. }
  54.  
  55. public void loadSchematic(File saveFile, boolean replaceAir)
  56. throws FilenameException, DataException, IOException, MaxChangedBlocksException, EmptyClipboardException, IncompleteRegionException
  57. {
  58. saveFile = this.we.getSafeSaveFile((com.sk89q.worldedit.entity.Player) this.localPlayer,
  59. saveFile.getParentFile(), saveFile.getName(),
  60. "schematic", new String[] { "schematic" });
  61.  
  62. Vector loc = this.localSession.getPlacementPosition((com.sk89q.worldedit.entity.Player) this.localPlayer);
  63. this.editSession.enableQueue();
  64. this.localSession.setClipboard(SchematicFormat.MCEDIT.load(saveFile));
  65. this.localSession.getClipboard().paste(this.editSession, loc, replaceAir, true);
  66. this.localSession.remember(this.editSession);
  67. this.editSession.flushQueue();
  68. this.we.flushBlockBag((Actor) this.localPlayer, this.editSession);
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement