Metropolis
Metropolis
Requires WorldGuard and WorldEdit
This plugin may change blocks on startup and on user login. Make sure you understand how this will happen before running on a production server.
Most of the issues so far have been fixed in the current build and I'm working on the promised features for 0.5 again. Testing and comments/bugs are very appreciated.
Changes:
- Odd road widths and plot sizes should now work. (If your road with is 5 each time a plot is generated you'll get 2 road blocks on the negative x and y sides and 3 on the positive sides.)
- Road widths are now no longer part of the plot sizes. This is a breaking change and you'll want to do the math to your config file.
- Config files now have versions so i can auto upgrade them in the future.
Description:
This plugin automates home protection. When each user logs on for the first time they will be assigned a city block of their own and streets will be generated around their block.
Protection is achieved by creating a worldguard region they own. This protects the blocks in that region and their chests. The blocks between regions (roads) are protected by another region that surrounds all of the city block regions.
Configuration:
There is a config.yml file included in the zip with defaults. If missing from "plugins/Metropolis" on plugin startup this file will be created with defaults. You can set the size of blocks and the width of roads among other things in this file.
Standard WorldGuard commands can be used to manage the protected city block regions.
Bugs and Ideas
If you find a bug please create a ticket for it here on bukkit dev or an issue on github.
I've enabled the forum for this project. Please put suggestions there and not on github so it's easier for others to discuss them.
HowTo's
Other Plugins You Might Want
- WorldGuard (Required)
- WorldEdit (Required)
- CommandBook (homes/warps/item spawning/lots more)
- CleanRoomGenerator (for controlling how the world looks outside the town.
TL;DR
This plugin creates a city by giving each user on your server a home plot that only they can build on and makes roads between them.
Test server is up connection info is at http://majinnaibu.com/minecraft/mods/Metropolis
The map on the site is manually updated but I updated every couple days. I just haven't gotten around to writing something to do it for me.
There are no hard rules. If something's allowed by the system it's probably ok to do. Strip mining outside the city is impolite but not bad just please cover the hole when you're done and put a one or 2 block high wall around the hole so nobody falls in.
The server might be rolled back if I upload a new version and it breaks something or there is some sort of major grief. However it is an SMP server not a creative server so there's virtually no spawning of items.
I'm going to post the config files later as an example of how to setup a server.
The next version will be out as soon as I finish the new commands (moving, evicting, teleporting). I decided it was easier to make my own home command /metropolis-home-go that you can alias to /home than try to integrate with everything that has it's own home command.
@Ferkswe How would you want them to get the extra plots? Should it be permission based so they just get assigned up to a certain number the first time they login? Or would you be okay with using a command to gvie them a new one. I'll probably implement both of those eventually.
@Da_Weed_420 I've got something like that working in the next version (it's optional). It ensures that if your road or plot materials are physicsy or liquids then if the block underneath the road/floor is air/liquid/phisicsy then it'll be replaced by the specified block type. I'm going to look up how to change the block type without doing physics calculations so your sand roads will stay floating until someone pokes at them like normal sand ceilings work, well at least normal for minecraft.
I don't have much time during the week to work on this so I might not have another build up this weekend but it should be ready by next weekend.
Love your plugin, thanks for updating it! I could recommend using http://dev.bukkit.org/server-mods/cleanroomgenerator/ if you want a nice and clean city. Whenever the ability to get more than one plot is added this will go live on my server as my plot management plugin. (Freebuild creative) Also an automatic sethome command would be wonderful too, but my users can do that manually. When it's in use and donations (hopefully) roll in I'll send some your way.
Thanks! FerkSwe
You might want to consider adding an option in the config file...where the material used as road ignores physics [applicable only on sand,gravel etc].
This way people can have potholes in their streets if they want [for a more...post apocalyptic feel]
@Da_Weed_420
I should probably take that into account and put something under them in that case.
Although it makes me want to make the roads water now just for the hell of it. Anyone want to try Venice? set plot size to something like 32x32 and roadWidth to 8 for the hell of it.
Edit: I've implemented it but it won't be in until the next release. I'm working on a couple other things for that. Probably by this weekend. Did the same thing for the floors of plots.
@Ferkswe
Just added with the howto on multiple plot sizes.
I am going to make that a configurable option later, but this should get you around that for now.
@cadika_orade I've got a test server that I'm going to make public soon. I'll probably put up some videos when I do that. I just haven't had the chance to sit down and record anything yet. Also, like Ferkswe said there's not much to look at unless I make it generate houses for people.
Just a heads up for people who are about to use this on their server...DONT use gravel [or sand etc] as the roads material...Any adjacent underground cavities will create huge holes in your streets which normal users cant repair [so you will have to run around doing roadwork].
@cadika_orade
There's not really a whole lot to see. It creates a basic ground with a road of configurable size and material and a plot with configurable size and material (?). It's a really cool plugin, specially when he get's the ability to get more than one plot.
Sounds cool! Got any screenshots?
@headhunter45
AWESOME! That is just really really awesome! Would it also be possible to have it use a /sethome command for the plot? Plot one is /sethome 1 next is /sethome 2 etc. If you do that aswell, you are forever my god.
@Ferkswe It's possible, but kind of difficult to do in a good way.
You'll be able to create multiple plots in 0.4.6.
Permission based plotsize? So person A with node metropolis.smallplot get's a smaller plot and person B with metropolis.bigplot get's a bigger plot. Is that possible? Either way, the multiple plots thing is the most important! When I see the functions in this that I really need, I'll send you a couple of bucks as a thanks.
@Tricalcium That version didn't get uploaded here, but it does work in the latest. Sadly the line wraps though.
@Ferkswe I'm planning on that as well as a way to reserve areas like a bigger spawn or parks and other public or publicish spaces. Like a treefarm or a larger building mutiple people will work on but maybe you don't want any of them to own the region.
I probably won't have another update until next weekend, but I'll keep checking here for any bugs/ideas.
Edit: I've added a reserved plots system and changed the way plots check against each other so if you generate a few plots at a certain size and then change the plot size and generate more they won't overlap. I also added a debug command to generate a bunch of plots all and once. 1000 plots took less than 2 minutes. I'm debating doing the generation in a separate thread, but even with a thousand plots generating one more takes less than a second. Unless I see real lag it'll stay like it is. I added spawn generation and setting the world spawn as well as the signs which are all optional. The spawn generation just generates a floor of the specified floor material type and fills in the road around it. I hope to have this build tested and uploaded by Saturday.
Do you think you could add the ability to get more than one plot?
@headhunter45
Awesome, also in your changelog I noticed that you said you already added the welcome message. I just wanted you to know that I'm not getting those welcome messages or my players.
@Tricalcium
I should have another build up today. The plot selection code was overly complicated in an attempt to make it scale better with a lot of users, but I've rewritten it to be simpler. I'm not seeing the overlapping problem on my test server, but this might help.
I've also added optional floor generation and made the material configurable as well.
I've been looking through the api trying to figure out how to make a sign, but there will be a welcome message that will tell you the location of your plot.
I'm also looking for a good way to do spawning in your home. If there was an api for it I'd use that, but I'll probably just make a command to put you into your home.
@Thrawn2112
I completely agree with all of your suggestions, and would love to see these implemented.
As far as the plugin not working it broke after 0.4.2 was released and will hopefully be fixed soon but if you install 0.4 it will build the plots correctly and not overlap. I just tested this on my spare server before I installed it on my main one.
@headhunter45, This is an awesome plugin and I will definitely be sticking around to see how it advances.
@Thrawn2112
I agree with your suggestions, spawning users in their plot would be pretty cool. The only thing that will be tricky with signs is player names that are longer, they always get cut off.
Loving this idea, just tested it out on a test world on my server and there are a few issues with plots overlapping eachother and new plots being made inside existing plots. Not sure if this is due to plugin incompatibilities or not. Thanks for the world option in the config, that definitely made testing this out easier. I'll continue to test it and give feedback, I really want to see this plugin work out, I have some big ideas for implementing it!
A couple suggestions:
Like I said, I love this idea and I really look forward to using it on a live world!
@dafreo
It doesn't modify your inventory. Hit f3 and head to 0, 62, 0 (the middle number is height). It starts creating the world from that location. The middle block is reserved so you can set spawn or build something there.
Look for a cobblestone road around the area. I'll put up a video explaining it soon.
Im not able to get it to work. On my first server I tried running it, nothing spawned in my inv on first join. I then thought that my username would have been registered on the server already so I started a new 1. I only had WorldGuard, WorldEdit and Metropolis in my plugin folder. The Metropolis did create another folder with a config but I just dont seem to get the block on my first time joining the game.