diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java index c87d0d9..e857f5d 100644 --- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java @@ -10,12 +10,15 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.Sign; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; import org.bukkit.configuration.Configuration; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; +import com.majinnaibu.bukkitplugins.metropolis.commands.MetropolisDebugGenerateTestHomesCommand; import com.majinnaibu.bukkitplugins.metropolis.commands.MetropolisFlagResetCommand; import com.majinnaibu.bukkitplugins.metropolis.commands.MetropolisHomeGenerateCommand; import com.majinnaibu.bukkitplugins.metropolis.commands.MetropolisHomeListCommand; @@ -131,6 +134,9 @@ public class MetropolisPlugin extends JavaPlugin { getCommand("metropolis-home-list").setExecutor(new MetropolisHomeListCommand(this)); getCommand("metropolis-flag-reset").setExecutor(new MetropolisFlagResetCommand(this)); getCommand("metropolis-plot-reserve").setExecutor(new MetropolisPlotReserveCommand(this)); + if(DEBUG){ + getCommand("gentesthomes").setExecutor(new MetropolisDebugGenerateTestHomesCommand(this)); + } } private void fillOccupiedPlots(){ @@ -151,6 +157,11 @@ public class MetropolisPlugin extends JavaPlugin { size=calculateCitySize(); } + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + return super.onCommand(sender, command, label, args); + } + public PlayerHome getPlayerHome(Player player) { PlayerHome home = null; diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisDebugGenerateTestHomesCommand.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisDebugGenerateTestHomesCommand.java new file mode 100644 index 0000000..01e6d12 --- /dev/null +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisDebugGenerateTestHomesCommand.java @@ -0,0 +1,32 @@ +package com.majinnaibu.bukkitplugins.metropolis.commands; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; + +import com.majinnaibu.bukkitplugins.metropolis.MetropolisPlugin; + +public class MetropolisDebugGenerateTestHomesCommand implements CommandExecutor { + + private MetropolisPlugin _plugin; + + public MetropolisDebugGenerateTestHomesCommand(MetropolisPlugin plugin) { + _plugin = plugin; + + } + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + try{ + int numHomes = Integer.parseInt(args[0]); + for(int i=1; i<= numHomes; i++){ + _plugin.generateHome(String.format("test%d", i)); + } + + return true; + }catch(NumberFormatException ex){ + return false; + } + } + +} diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotReserveCommand.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotReserveCommand.java index 32bc139..70b6353 100644 --- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotReserveCommand.java +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotReserveCommand.java @@ -19,25 +19,40 @@ public class MetropolisPlotReserveCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + int minX = 0; + int minY = 0; + int minZ = 0; + int maxX = 0; + int maxY = 0; + int maxZ = 0; Cuboid cuboid = new Cuboid(); + if(sender instanceof Player && args.length == 1){ Selection selection = _plugin.worldEdit.getSelection((Player) sender); cuboid = new Cuboid(selection); }else if(args.length == 6){ - int minX = Integer.parseInt(args[1]); - int minY = Integer.parseInt(args[2]); - int minZ = Integer.parseInt(args[3]); - int maxX = Integer.parseInt(args[4]); - int maxY = Integer.parseInt(args[5]); - int maxZ = Integer.parseInt(args[6]); + try{ + minX = Integer.parseInt(args[1]); + minY = Integer.parseInt(args[2]); + minZ = Integer.parseInt(args[3]); + maxX = Integer.parseInt(args[4]); + maxY = Integer.parseInt(args[5]); + maxZ = Integer.parseInt(args[6]); + }catch(NumberFormatException ex){ + return false; + } cuboid = new Cuboid(minX, minY, minZ, maxX, maxY, maxZ); }else if(args.length == 4){ - int minX = Integer.parseInt(args[1]); - int minY = 0; - int minZ = Integer.parseInt(args[2]); - int maxX = Integer.parseInt(args[3]); - int maxY = _plugin.getWorld().getMaxHeight(); - int maxZ = Integer.parseInt(args[4]); + try{ + minX = Integer.parseInt(args[1]); + minY = 0; + minZ = Integer.parseInt(args[2]); + maxX = Integer.parseInt(args[3]); + maxY = _plugin.getWorld().getMaxHeight(); + maxZ = Integer.parseInt(args[4]); + }catch(NumberFormatException ex){ + return false; + } cuboid = new Cuboid(minX, minY, minZ, maxX, maxY, maxZ); }else{ return false; diff --git a/Metropolis/src/main/resources/config.yml b/Metropolis/src/main/resources/config.yml index a368e79..297a84c 100644 --- a/Metropolis/src/main/resources/config.yml +++ b/Metropolis/src/main/resources/config.yml @@ -11,4 +11,8 @@ road: clearSpaceAbove: 66 level: 62 material: 4 +spawn: + generate: true + setAsWorldSpawn: true + material: 2 worldname: world diff --git a/Metropolis/src/main/resources/plugin.yml b/Metropolis/src/main/resources/plugin.yml index d4b03e1..256f492 100644 --- a/Metropolis/src/main/resources/plugin.yml +++ b/Metropolis/src/main/resources/plugin.yml @@ -20,4 +20,8 @@ commands: metropolis-plot-reserve: description: This command reserves a plot so it won't be assigned as a home. permission: metropolis.plot.reserve - usage: /metropolis-plot-reserve \ No newline at end of file + usage: /metropolis-plot-reserve + gentesthomes: + description: + permission: metropolis.debug + usage: /gentesthomes \ No newline at end of file