diff --git a/Metropolis/README.txt b/Metropolis/README.txt
index c66b2e9..0297c0f 100644
--- a/Metropolis/README.txt
+++ b/Metropolis/README.txt
@@ -15,6 +15,7 @@ CONFIG:
Edit the config.yml file. You can set the height to clear above roads, the road width, the plot size (incluing half the road width on either side), the road material, and the level at which the road is generated.
Changelog:
+v0.5
v0.4.6
Added optional generation of a sign identifying owner in plots on creation
Added a Cuboid constructor that takes a worldedit selection
diff --git a/Metropolis/pom.xml b/Metropolis/pom.xml
index 410716a..fd18369 100644
--- a/Metropolis/pom.xml
+++ b/Metropolis/pom.xml
@@ -2,6 +2,6 @@
4.0.0
com.majinnaibu.bukkitplugins
Metropolis
- 0.4.6-SNAPSHOT
+ 0.5-SNAPSHOT
Metropolis
\ No newline at end of file
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 be9a885..9757001 100644
--- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java
+++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java
@@ -35,7 +35,7 @@ import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
public class MetropolisPlugin extends JavaPlugin {
- public static final boolean DEBUG = false;
+ public static final boolean DEBUG = true;
public static final Logger log=Logger.getLogger("Minecraft");
public PluginDescriptionFile pdf = null;
@@ -50,20 +50,28 @@ public class MetropolisPlugin extends JavaPlugin {
int size = 1;
- int plotSizeX = 24;
- int plotSizeZ = 24;
- int roadWidth = 4;
- int roadLevel = 62;
- int spaceAboveRoad = 2;
- int roadMaterial = 4;
- String worldName = "world";
- boolean generateFloor = false;
- int floorMaterial = 2;
- boolean generateSign = false;
+ private int plotSizeX = 24;
+ private int plotSizeZ = 24;
+ private int roadWidth = 4;
+ private int roadLevel = 62;
+ private int spaceAboveRoad = 2;
+ private int roadMaterial = 4;
+ private boolean generateRoadSupports = true;
+ private int roadSupportMaterial = 2;
+ private String worldName = "world";
+ private boolean generateFloor = false;
+ private int floorMaterial = 2;
+ private int spaceAboveFloor = 2;
+ private boolean generateSign = false;
private boolean generateSpawn = true;
private boolean setWorldSpawn = true;
private int spawnFloorMaterial = 4;
-
+ private boolean generateFloorSupports = false;
+ private int floorSupportMaterial = 1;
+ private boolean generateWall = false;
+ private int wallMaterial = 20;
+ private int wallHeight = 128;
+
private Cuboid _spawnCuboid = null;
private Cuboid _cityCuboid = null;
private ProtectedRegion _spawnRegion = null;
@@ -84,17 +92,25 @@ public class MetropolisPlugin extends JavaPlugin {
plotSizeX = config.getInt("plot.sizeX");
plotSizeZ = config.getInt("plot.sizeZ");
+ generateFloor = config.getBoolean("plot.floor.generate");
+ floorMaterial = config.getInt("plot.floor.material");
+ spaceAboveFloor = config.getInt("plot.floor.clearSpaceAbove");
+ generateFloorSupports = config.getBoolean("plot.floor.supports.generate");
+ floorSupportMaterial = config.getInt("plot.floor.supports.material");
+ generateSign = config.getBoolean("plot.sign.generate");
roadWidth = config.getInt("road.width");
spaceAboveRoad = config.getInt("road.clearSpaceAbove");
roadLevel = config.getInt("road.level");
roadMaterial = config.getInt("road.material");
- worldName =config.getString("worldname");
- generateFloor = config.getBoolean("plot.floor.generate");
- floorMaterial = config.getInt("plot.floor.material");
- generateSign = config.getBoolean("plot.sign.generate");
+ generateRoadSupports = config.getBoolean("road.supports.generate");
+ roadSupportMaterial = config.getInt("road.supports.material");
generateSpawn = config.getBoolean("spawn.generate");
setWorldSpawn = config.getBoolean("spawn.setAsWorldSpawn");
spawnFloorMaterial = config.getInt("spawn.material");
+ generateWall = config.getBoolean("wall.generate");
+ wallMaterial = config.getInt("wall.material");
+ wallHeight = config.getInt("wall.material");
+ worldName =config.getString("worldname");
saveConfig();
log.info(String.format("Metropolis: world name is %s", worldName));
@@ -249,9 +265,18 @@ public class MetropolisPlugin extends JavaPlugin {
for(x = plotCuboid.minX + roadWidth/2; x <= plotCuboid.maxX - roadWidth/2; x++){
for(z=plotCuboid.minZ + roadWidth/2; z<=plotCuboid.maxZ - roadWidth/2; z++){
Block block = world.getBlockAt(x, y, z);
+ //Set the floor block
block.setTypeId(floorMaterial);
- for(int i=0; i for each mod.
+ 3. If you have not completed a full ring then run /metropolis-home-generate where n starts at 1 and increases until you have filled a full ring. This will reserve those plots for later or anyone who happens to have that username, but that can be dealth with later.
+ 4. Stop the server and change the plotSize to a smaller number like 32.
+ 5. Restart the server and let your users log in.
+
+Notes:
+ All users will be assigned a small plot when they first connect. When you make them a mod just delete their current region and change the name of one of the reserved home regions to h_.
+ /region remove h_jonnynewadmin
+ /region select test_1
+ /region remove test_1
+ /region define h_johnnynewadmin
+ JohnnyNewAdmin's old home will become available for resettlement. If you want to copy johnny's old blocks into his new home region I'd suggest WorldEdit.
+ This process including optionally copying the blocks will be an upcoming feature. Probably in 0.5.x and maybe in 0.6.
+
+ If you later run out of larger plots you can just set the size back to the larger number and let more generate. Moving and evictions will be coming soon and make this easier.
+ You can manually just create a region for a user before they login named like h_ if you want a specific user to have a really big space as well.
\ No newline at end of file
diff --git a/Metropolis/src/main/resources/Examples/Multiple Plots.txt b/Metropolis/src/main/resources/Examples/Multiple Plots.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Metropolis/src/main/resources/config.yml b/Metropolis/src/main/resources/config.yml
index 297a84c..218451b 100644
--- a/Metropolis/src/main/resources/config.yml
+++ b/Metropolis/src/main/resources/config.yml
@@ -4,6 +4,9 @@ plot:
floor:
generate: true
material: 2
+ supports:
+ generate: true
+ material: 1
sign:
generate: true
road:
@@ -11,8 +14,15 @@ road:
clearSpaceAbove: 66
level: 62
material: 4
+ supports:
+ generate: true
+ material: 1
spawn:
generate: true
setAsWorldSpawn: true
material: 2
+wall:
+ generate: true
+ material: 7
+ height: 66
worldname: world
diff --git a/Metropolis/src/main/resources/plugin.yml b/Metropolis/src/main/resources/plugin.yml
index 2770f0b..c2903e6 100644
--- a/Metropolis/src/main/resources/plugin.yml
+++ b/Metropolis/src/main/resources/plugin.yml
@@ -2,7 +2,7 @@ name: Metropolis
main: com.majinnaibu.bukkitplugins.metropolis.MetropolisPlugin
depend: [WorldGuard]
softdepend: [WorldEdit,CommandBook]
-version: 0.4.6
+version: 0.5
database: false
commands:
metropolis-home-generate:
@@ -20,7 +20,15 @@ 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
+ usage: /metropolis-plot-reserve
+ 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
gentesthomes:
description: This command is ignored on non-debug builds.
permission: metropolis.debug