MineCity allows players to create cities and plots in Minecraft encouraging them to play together but keeping them safe against unauthorized access or modification.
Note: This plugin is in quick development as we need it ready as soon as possible, it's not ready yet but can be ready in few weeks ;)
The development progress can be found at the project's GitHub.
- Fast. It was created to cause no TPS impact on modded servers with over 100 players online at once.
- Safe. Your server will not go down and griefers will not be able to grief even if the database connection is interrupted.
- Multi-Platform. It currently supports Bukkit, Spigot, MinecraftForge 1.7.10, Cauldron, kCauldron and Themos. There are plains to support Sponge and Forge 1.8.X, 1.9.X and 1.10.X.
- Mod Support. Our servers are modded, so we created MineCity with mod support in mind. If you find issues with mods, just let me know.
- It's Easy. The commands are simple and easy to use. If you want to stop people from entering your plot you would type "/plot deny enter", or if you want to stop just a player "/plot deny enter BadPlayer". What if you want to add a custom message only for him? "/plot deny enter BadPlayer You've stolen my cookies, I don't want you here anymore"
How does the protection works?
Reminder: Everything is configurable, including permissions and restrictions, if you find anything that isn't and should be, just let me know.
There are natures, cities, islands, plots and groups.
Everything that is unclaimed in a world is part of the world's nature, every world has it's own nature, you can adjust what players can do in that world by adjusting the appropriate nature configuration in-game with the /nature command.
Cities are the top level of protection system, a city can have islands, plots and groups.
The primary claims are based on chunks and the claims are assigned to an island, an island represents a contiguous group of claimed chunks to the same city, so the same city can be split in different parts of the world and even in different worlds and dimensions by different islands. The islands are managed automatically by MineCity, it will create, delete or merge them when needed (and when allowed by the settings), that actions normally happens when the player claims or disclaims chunks to or from a city. MineCity also reserves chunks around the island when the island grows, the reserved chunks are not part of the city yet but they will not be claimable by other cities and players will not be able to modify them to avoid griefs around big cities. If someone attempts to claim a chunk too close to an reserved chunk, it will work, however the player will not be able to expand the city toward the reserved chunks because that chunks will already be reserved to the other city. The reservation radius depends on the island's size, the bigger it is more chunks are reserved to it. Note that if a big city starts a new island the newest island will not be affected by the biggest island but will inherit all city's groups, permissions and configurations.
Plots are separated area inside an island, they are not chunk-based and they can stack, you can create a big building with many levels and sell the apartments as plots, you can select any range of blocks as long they don't overlaps unclaimed chunks or other plots. The plots can hold it's own set of permissions, so you can allow players or group to do things there that they can't do in the city's streets, or you can do the opposite if you want. The plots can be owned by the city or by can be owned by a player, when you create them they will be owned by the city by default, that means that if a player can build on the city's streets, the player will be able to build inside the plot unless you directly deny the modify permission inside the plot to that player, when you sell or transfer the plot to a player, the plot will no longer be manageable by the city and the player will be officially a resident of the city. When a plot is directly owned by a player it will not inherit permissions from the city, so the plot owner is safe to store valuable things there even if he doesn't trust the mayor. The player can always resell the plot or return it to the city.
Groups are groups of players created by city owners, you can reference them when you allow or deny permissions in your city or plot even if the group is from an other city. For example, let's say that the "Redstone City" contains a group named "Professional Redstoners" and you own a city named "Funny Trains", you are having trouble trying to setup a minecart system and you want to allow the professional redstoners to change blocks in your city. You could do that by "/city allow modify RedstoneCity ProfessionalRedstoners", now every member of that group will be allowed to modify blocks until you revoke the permission.
You can configure MineCity to run the way you want, you can also rearrange, add custom commands or remove existing ones if you want by tuning a simple xml file. You can also modify any message sent by MineCity in the same way, the message's xml file also allows you to include click actions and to display popup-messages when the player passes the mouse over a section of the message.
We have not decided a license yet, so it's "All right reserved" just for now, but you are allowed to use it on any type of server and to include it in any modpack. You are also allowed to modify the source of your needs as long as you don't claim the plugin to be yours.
The source code can be found at GitHub. If you want to contribute, just fork it and send a pull request, you can also contribute with suggestions and reporting bugs there.