From eb320f09a9d7b1af831abc3ed095537f02694702 Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Wed, 7 Mar 2012 20:21:59 -0800 Subject: [PATCH 1/4] Updated repo url. --- Metropolis/pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Metropolis/pom.xml b/Metropolis/pom.xml index 175df78..8355803 100644 --- a/Metropolis/pom.xml +++ b/Metropolis/pom.xml @@ -37,7 +37,6 @@ - @@ -64,7 +63,7 @@ majinnaibu-repository - ftp://www.majinnaibu.com/majinnaibu/repo + ftp://repo.majinnaibu.com From 8544fd47ea7106c9d59a8657c165e426e5ce091a Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Thu, 8 Mar 2012 03:10:40 -0800 Subject: [PATCH 2/4] updated pom.xml --- Metropolis/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Metropolis/pom.xml b/Metropolis/pom.xml index 175df78..66cbd26 100644 --- a/Metropolis/pom.xml +++ b/Metropolis/pom.xml @@ -64,7 +64,7 @@ majinnaibu-repository - ftp://www.majinnaibu.com/majinnaibu/repo + ftp://repo.majinnaibu.com From f9ed658ed9db0f97f2ee8ec7f790f0184beff8c2 Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Thu, 8 Mar 2012 04:06:43 -0800 Subject: [PATCH 3/4] partially implemented commands --- .../metropolis/MetropolisPlugin.java | 37 +++++++++++++++ .../commands/MetropolisHomeAcquire.java | 35 ++++++++++++++ .../commands/MetropolisHomeMoveCommand.java | 47 ++++++++++++++++--- .../commands/MetropolisPlotGoCommand.java | 39 ++++++++++++--- .../MetropolisPlotReserveCommand.java | 1 - Metropolis/src/main/resources/plugin.yml | 2 +- 6 files changed, 146 insertions(+), 15 deletions(-) create mode 100644 Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeAcquire.java 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 407713f..b555588 100644 --- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java @@ -35,6 +35,7 @@ import com.sk89q.worldedit.BlockVector; import com.sk89q.worldedit.bukkit.WorldEditPlugin; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.domains.DefaultDomain; +import com.sk89q.worldguard.domains.Domain; import com.sk89q.worldguard.protection.databases.ProtectionDatabaseException; import com.sk89q.worldguard.protection.flags.DefaultFlag; import com.sk89q.worldguard.protection.flags.StateFlag; @@ -807,4 +808,40 @@ public class MetropolisPlugin extends JavaPlugin { public int getWallheight(){ return wallHeight; } + + public int getMaxPlots(String name) { + Player player = null; + // TODO Auto-generated method stub + return 0; + } + + public int getNumPlots(String name) { + // TODO Auto-generated method stub + return 1; + } + + public void assignPlot(Player player) { + // TODO Auto-generated method stub + + } + + public String setCurrentHome(Player player, int homeNumber) { + // TODO Auto-generated method stub + return null; + } + + public Plot getPlot(String string) { + // TODO Auto-generated method stub + return null; + } + + public Player getPlayer(String string) { + // TODO Auto-generated method stub + return null; + } + + public String teleportPlayerToPlot(Player player, Plot plot) { + // TODO Auto-generated method stub + return null; + } } diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeAcquire.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeAcquire.java new file mode 100644 index 0000000..ea84cf4 --- /dev/null +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeAcquire.java @@ -0,0 +1,35 @@ +package com.majinnaibu.bukkitplugins.metropolis.commands; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import com.majinnaibu.bukkitplugins.metropolis.MetropolisPlugin; + +public class MetropolisHomeAcquire implements CommandExecutor { + MetropolisPlugin _plugin; + + public MetropolisHomeAcquire(MetropolisPlugin plugin){ + _plugin = plugin; + } + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + if(!(sender instanceof Player)){ + sender.sendMessage("This command can only be used by players"); + return false; + } + + Player player = (Player) sender; + + if(_plugin.getNumPlots(player.getName()) >= _plugin.getMaxPlots(player.getName())){ + sender.sendMessage("You cannot have any more plots"); + return false; + } + + _plugin.assignPlot(player); + return true; + } + +} diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeMoveCommand.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeMoveCommand.java index 681e9a6..5eb3abf 100644 --- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeMoveCommand.java +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisHomeMoveCommand.java @@ -3,20 +3,53 @@ package com.majinnaibu.bukkitplugins.metropolis.commands; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import com.majinnaibu.bukkitplugins.metropolis.MetropolisPlugin; public class MetropolisHomeMoveCommand implements CommandExecutor { + MetropolisPlugin _plugin; - public MetropolisHomeMoveCommand(MetropolisPlugin metropolisPlugin) { - // TODO Auto-generated constructor stub + public MetropolisHomeMoveCommand(MetropolisPlugin plugin) { + _plugin = plugin; } @Override - public boolean onCommand(CommandSender arg0, Command arg1, String arg2, - String[] arg3) { - // TODO Auto-generated method stub - return false; - } + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + Player player = null; + int homeNumber = 0; + + if(sender instanceof Player){ + player = (Player) sender; + } + + + if(args.length == 1 && player != null){ + try{ + homeNumber = Integer.parseInt(args[0]); + }catch(NumberFormatException ex){ + return false; + } + }else if(args.length >= 2){ + try{ + homeNumber = Integer.parseInt(args[0]); + }catch(NumberFormatException ex){ + return false; + } + }else{ + return false; + } + if(homeNumber <= 0){ + return false; + } + + String errorMessage = _plugin.setCurrentHome(player, homeNumber); + if(errorMessage != null){ + sender.sendMessage(errorMessage); + return false; + } + + return true; + } } diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotGoCommand.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotGoCommand.java index 6797416..f689117 100644 --- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotGoCommand.java +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/commands/MetropolisPlotGoCommand.java @@ -3,20 +3,47 @@ package com.majinnaibu.bukkitplugins.metropolis.commands; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import com.majinnaibu.bukkitplugins.metropolis.MetropolisPlugin; +import com.majinnaibu.bukkitplugins.metropolis.Plot; public class MetropolisPlotGoCommand implements CommandExecutor { + MetropolisPlugin _plugin; - public MetropolisPlotGoCommand(MetropolisPlugin metropolisPlugin) { - // TODO Auto-generated constructor stub + public MetropolisPlotGoCommand(MetropolisPlugin plugin) { + _plugin = plugin; } @Override - public boolean onCommand(CommandSender arg0, Command arg1, String arg2, - String[] arg3) { - // TODO Auto-generated method stub - return false; + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + Player player = null; + Plot plot = null; + + if(sender instanceof Player){ + player = (Player) sender; + } + + if(args.length == 1 && player != null){ + plot = _plugin.getPlot(args[0]); + }else if(args.length >= 2){ + player = _plugin.getPlayer(args[1]); + plot = _plugin.getPlot(args[0]); + }else{ + return false; + } + + if(plot == null || player == null){ + return false; + } + + String errorMessage = _plugin.teleportPlayerToPlot(player, plot); + if(errorMessage != null){ + sender.sendMessage(errorMessage); + return false; + } + + return true; } } 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 70b6353..964c3a7 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 @@ -14,7 +14,6 @@ public class MetropolisPlotReserveCommand implements CommandExecutor { public MetropolisPlotReserveCommand(MetropolisPlugin metropolisPlugin) { _plugin = metropolisPlugin; - } @Override diff --git a/Metropolis/src/main/resources/plugin.yml b/Metropolis/src/main/resources/plugin.yml index 4d8c373..ac521e7 100644 --- a/Metropolis/src/main/resources/plugin.yml +++ b/Metropolis/src/main/resources/plugin.yml @@ -4,4 +4,4 @@ depend: [WorldGuard] softdepend: [WorldEdit,CommandBook] version: 0.5 database: false -commands: metropolis-home-generate: description: This command generates a home for a user as if they'd just logged in. permission: metropolis.home.generate usage: /metropolis-home-generate metropolis-home-list: description: This lists the regions managed by Metropolis permission: metropolis.home.list usage: /metropolis-home-list metropolis-home-evict: description: This unassigns a player's current home. permission: metropolis.home.evict usage: /metropolis-home-evict metropolis-home-move: description: This command swaps a player's current home with a reserved plot. permission: metropolis.home.move usage: /metropolis-home-move metropolis-home-go: description: Teleports the user or another player to his home. permission: metropolis.home.go usage: /metropolis-home-go metropolis-flag-reset: description: This command resets the WorldGuard flags for all managed regions (city and h_*). permission: metropolis.flag.reset usage: /metropolis-flag-reset 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 metropolis-plot-go: description: This command teleports the user or another player to a plot. permission: metropolis.plot.go usage: /metropolis-plot-go [playerName] metropolis-debug-generatetesthomes: description: This command is ignored on non-debug builds. permission: metropolis.debug usage: /metropolis-debug-gentesthomes \ No newline at end of file +commands: metropolis-home-acquire: description: This command allocates a home. permission: metropolis.home.acquire usage: /metropolis-home-acquire metropolis-home-generate: description: This command generates a home for a user as if they'd just logged in. permission: metropolis.home.generate usage: /metropolis-home-generate metropolis-home-list: description: This lists the regions managed by Metropolis permission: metropolis.home.list usage: /metropolis-home-list metropolis-home-evict: description: This unassigns a player's current home. permission: metropolis.home.evict usage: /metropolis-home-evict metropolis-home-move: description: This command swaps a player's current home with a reserved plot. permission: metropolis.home.move usage: /metropolis-home-move metropolis-home-go: description: Teleports the user or another player to his home. permission: metropolis.home.go usage: /metropolis-home-go metropolis-flag-reset: description: This command resets the WorldGuard flags for all managed regions (city and h_*). permission: metropolis.flag.reset usage: /metropolis-flag-reset 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 metropolis-plot-go: description: This command teleports the user or another player to a plot. permission: metropolis.plot.go usage: /metropolis-plot-go [playerName] metropolis-debug-generatetesthomes: description: This command is ignored on non-debug builds. permission: metropolis.debug usage: /metropolis-debug-gentesthomes \ No newline at end of file From 3c46c0879a42123a691d2d6f16811a09bd621efa Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Thu, 8 Mar 2012 20:46:32 -0800 Subject: [PATCH 4/4] Updated default config with new entries. --- Metropolis/src/main/resources/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Metropolis/src/main/resources/config.yml b/Metropolis/src/main/resources/config.yml index 3097d2d..e1632a0 100644 --- a/Metropolis/src/main/resources/config.yml +++ b/Metropolis/src/main/resources/config.yml @@ -1,6 +1,6 @@ plot: - sizeX: 24 - sizeZ: 24 + sizeX: 32 sizeY: 256 + sizeZ: 32 ovvsetX: 0 offsetY: 0 offsetZ: 0 defaultMultiplier: 1 maxPerPlayer: 1 initial: 1 floor: generate: true clearSpaceAbove: 66 @@ -9,7 +9,7 @@ plot: generate: true material: 1 sign: - generate: true + generate: true userOverrides: - username: majinnaibu plotMultiplier: 2 maxPlots: 2 - username: hoggrim plotMultiplier: 2 maxPlots: 2 road: width: 4 clearSpaceAbove: 66