nrubin29

Plots

Apr 10th, 2014
5,537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.35 KB | None | 0 0
  1. package me.pogostick29dev.plots;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.command.Command;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.plugin.Plugin;
  9. import org.bukkit.plugin.java.JavaPlugin;
  10.  
  11. import com.sk89q.worldedit.BlockVector;
  12. import com.sk89q.worldedit.bukkit.WorldEditPlugin;
  13. import com.sk89q.worldedit.bukkit.selections.Selection;
  14. import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
  15. import com.sk89q.worldguard.domains.DefaultDomain;
  16. import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion;
  17.  
  18. public class Plots extends JavaPlugin {
  19.    
  20.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  21.         if (!(sender instanceof Player)) {
  22.             sender.sendMessage(ChatColor.RED + "You cannot create a plot!");
  23.             return true;
  24.         }
  25.        
  26.         Player p = (Player) sender;
  27.        
  28.         if (cmd.getName().equalsIgnoreCase("plot")) {
  29.             Selection sel = getWorldEdit().getSelection(p);
  30.            
  31.             if (sel == null) {
  32.                 p.sendMessage(ChatColor.RED + "You must make a selection!");
  33.                 return true;
  34.             }
  35.            
  36.             ProtectedCuboidRegion region = new ProtectedCuboidRegion(
  37.                     "plot_" + p.getName(),
  38.                     new BlockVector(sel.getNativeMinimumPoint()),
  39.                     new BlockVector(sel.getNativeMaximumPoint())
  40.             );
  41.            
  42.             DefaultDomain owners = new DefaultDomain();
  43.             owners.addPlayer(getWorldGuard().wrapPlayer(p));
  44.            
  45.             region.setOwners(owners);
  46.            
  47.             getWorldGuard().getRegionManager(p.getWorld()).addRegion(region);
  48.            
  49.             p.sendMessage(ChatColor.GREEN + "Created plot with ID " + region.getId());
  50.         }
  51.        
  52.         return true;
  53.     }
  54.  
  55.     private WorldGuardPlugin getWorldGuard() {
  56.         Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("WorldGuard");
  57.      
  58.         // WorldGuard may not be loaded
  59.         if (plugin == null || !(plugin instanceof WorldGuardPlugin)) {
  60.             return null; // Maybe you want throw an exception instead
  61.         }
  62.      
  63.         return (WorldGuardPlugin) plugin;
  64.     }
  65.    
  66.     private WorldEditPlugin getWorldEdit() {
  67.         Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
  68.          
  69.         // WorldGuard may not be loaded
  70.         if (plugin == null || !(plugin instanceof WorldEditPlugin)) {
  71.             return null; // Maybe you want throw an exception instead
  72.         }
  73.      
  74.         return (WorldEditPlugin) plugin;
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment