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