BananaRegion
BananaRegion
This is a continuation of BananaRegion from codename_B.
How to
Simply surround the area with fences (nether fences and/or fence gates will work, too) and put a sign ontop of these. On the first line of the sign you have to write BananaRegion, use the third line to set the price.
Features
- Protects the region from anyone else interacting (except for wooden doors, wooden pressure plates and fence gates), placing blocks, destroying blocks etc.
- Supports full-world protections.
- Supports freebuild regions.
- Supports for sell regions.
- Supports multiple owners (just create more renting signs for the same region).
- Supports nested regions.
- Makes the region fireproof.
- Makes the region explosion proof.
- Stops fluids from moving into regions.
- Prevents Enderman griefing in the regions.
- Friendly mobs for region owners/admins.
- Rent auto-renews if players have enough money.
- Charges the player to get a 7 day lease on the region - real days NOT minecraft days.
- Players cannot destroy, change, or place rental signs.
- Players cannot destroy the protective fence.
- Automatic godmode in regions for admins and region owners - more incentive to own a region!
- An excellent and easy to use API for devs to add their own things to BananaRegion.
Commands
/rent
To rent the region you're looking at.
/unrent
To unrent the region you're looking at.
/setrent x
To change the monthly fee to x (Warning: This unrents the region, too!)
/brreload
To reload the configuration from disk.
/update BananaRegion
To update this plugin. Have a look here for more information.
Permissions
bananaregion.admin
You need this node to build new regions, destroy old ones, use /unrent for regions you're not owning, to use /setrent and /brreload. Defaults to op.
bananaregion.use
You need this node to use the /rent command. Defaults to all.
autoupdate.announce
Users with this node will be notified about new updates. Defaults to op.
autoupdate.update.bananaregion
Users with this node will be able to /update this plugin. Defaults to op.
for more information about the autoupdate nodes have a look here.
Dependencies
BananaRegion uses Vault. That means: No Vault, no economy support (it will work without, too).
API
If you have a instance of this plugin (Hint: pluginManager.getPlugin("BananaRegion") ) use the method getAPI() to get the API.
int getVersion()
To get the versions number of the API. This number changes whenever the API gets something new added or if something breaks.
boolean canBuild(Block block, Player player)
Returns true if one of the following conditions met:
- The block don't belong to a protected region/world.
- The player owns the region the block is in.
- The player has the permission bananaregion.admin.
- The block belongs to a freebuild region.
boolean canBuild(Block block, String player)
Returns true if:
- The block don't belong to a protected region/world.
- The player owns the region the block is in.
- The player is online and has the permission bananaregion.admin
- A Vault compatible permissions plugin with support for offline players is enabled and the player has the permission bananaregion.admin
- The block belongs to a freebuild region.
String[] getOwners(Block block)
Returns a string array containing the owners of the block (this array can be empty).
boolean isRegion(Block block)
Returns true if the block is part of a region or false if not.
boolean isProtectedRegion(Block block)
Returns true if the block is part of a protected region or false if not.
boolean isFreeRegion(Block block)
Returns true if the block is part of a freebuild region or false if not.
Configuration/World protection
godmode
Activate godmode for region owners/admins.
antiAnimalGrief
Only region owners can damage animals in their region.
WorldProtections
Allow (true) or deny (deny) specific actions globally for your worlds. Admins/Region owners will still be allowed to do anything.
In this section you can also specify the region lease length per world.
Freebuild regions
To make freebuild regions surround a region with fences like always. Also write BananaRegion on the first line of the sign. But this time write [FREE] on the second!
Everybody will be allowed to build in freebuild regions. Else permissions will depend on the WorldProtections.
For sell regions
To define a region for sell write [FOR SELL] on the second sign line.
Videos
Thanks to ChrisC for making this video!
Downloaded ver 4.6 and: 2011-12-27 13:52:09 [SEVERE] Could not pass event CHUNK_LOAD to BananaRegion java.lang.NullPointerException at org.bukkit.craftbukkit.block.CraftSign.getLine(CraftSign.java:24) at de.V10lator.BananaRegion.BRWorldListener.onChunkLoad(BRWorldListener.java:44) at org.bukkit.plugin.java.JavaPluginLoader$52.execute(JavaPluginLoader.java:626) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339) at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:92) at org.bukkit.craftbukkit.CraftWorld.loadChunk(CraftWorld.java:239) at org.bukkit.craftbukkit.CraftWorld.loadChunk(CraftWorld.java:125) at org.getspout.spout.SpoutNetServerHandler.getFastPacket51(SpoutNetServerHandler.java:834) at org.getspout.spout.SpoutNetServerHandler.playerTeleported(SpoutNetServerHandler.java:796) at org.getspout.spout.SpoutNetServerHandler.updateActiveChunks(SpoutNetServerHandler.java:666) at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:528) at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519) at net.minecraft.server.NetServerHandler.teleport(NetServerHandler.java:431) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:396) at org.getspout.spout.player.SpoutCraftPlayer.updateNetServerHandler(SpoutCraftPlayer.java:1280) at org.getspout.spout.SpoutPlayerListener.onPlayerJoin(SpoutPlayerListener.java:55) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:265) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339) at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:129) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:113) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:39) at net.minecraft.server.NetworkListenThread.a(SourceFile:94) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
I cant seem to build using factions to make it safe.
Can you make it not necessary to use Vault because it blocks my PEX and people can't buy the lands
@lipe124 Maybe, but this would require massive code changes and isn't planned atm.
would it be possible to make it in the future that rent from [for rent] goes to the [for sell] person thats equal or nested ?
@lipe124 If you have a for rent and a for sell sign on the same fence one player can rent the area and (another one) can buy it. Nested regions are possible, too. The money will never go from one player to another.
Does the rent go to any player?
for example what if there is a [FOR SELL] and [FOR RENT] sign on the same fence, will the rent guy's money goto the person that used the [for sell]?
What about a large area that has a [for sell] with smaller [for rent] areas inside, will the rent be given to the [for sell] guy?
@Devboi No. They can use Wooden doors, wooden pressure plates and fence gates only.
@silenceheaven This is a strange error. I'll have a look into it but I'm pretty sure this isn't BananaRegions fault (more likely a bug in bukkit or spout).
@re4397 The protection will expire if the user can't pay the bill.
@lipe124 BananaRegion doesn't check for destroyed regions atm. /reload should do the trick. Also just waiting while your users move around should update BananaRegions cache. Thanks for the typo.
Please add a ticketing system.
How do I completely remove protections? I created a protected area, then did /unrent, broke the sign and the fences and did /brreload and its still protected.
Also a typo: "...o use /setrentand /brreload" space missing "../setrent and.."
Suggestion: Add protection expire days.
2011-12-11 18:32:14 [SEVERE] Could not pass event CHUNK_LOAD to BananaRegion java.lang.NullPointerException at org.bukkit.craftbukkit.block.CraftSign.getLine(CraftSign.java:24) at de.V10lator.BananaRegion.chunkHandler.onChunkLoad(chunkHandler.java:43) at org.bukkit.plugin.java.JavaPluginLoader$52.execute(JavaPluginLoader.java:626) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339) at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:92) at org.bukkit.craftbukkit.CraftWorld.loadChunk(CraftWorld.java:239) at org.bukkit.craftbukkit.CraftWorld.loadChunk(CraftWorld.java:125) at org.getspout.spout.SpoutNetServerHandler.getFastPacket51(SpoutNetServerHandler.java:834) at org.getspout.spout.SpoutNetServerHandler.playerTeleported(SpoutNetServerHandler.java:796) at org.getspout.spout.SpoutNetServerHandler.updateActiveChunks(SpoutNetServerHandler.java:666) at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:528) at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519) at net.minecraft.server.NetServerHandler.teleport(NetServerHandler.java:430) at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(CraftPlayer.java:305) at org.bukkit.craftbukkit.entity.CraftEntity.teleport(CraftEntity.java:156) at com.gmail.zelnehlun.HomeX.HomeX.onCommand(HomeX.java:72) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:378) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:180) at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:550) at net.minecraft.server.NetworkListenThread.a(SourceFile:108) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Hi is there any way to allow people to use switches/chests/enchanting tables inside a region without allowing them to build??
@CrashNT BananaRegion has no height limit.
@V10lator
We have a handful of underground dungeons, apartment/different floor regions for shops or different members of a guild, silly stuff like that. I don't suppose there's a way to limit the height a bananaregion works? If so then it would be feasible.
can people build above and below it? how high and deep does the region go?
I would be great if you could also BUY apart from RENT
@Master_Zangetsu All releases should work just fine with CB 1337. :)
Is there a version of this released for bukkit 1337? As far as I am aware that's still bukkits recommended build
@sylvantro What's the problem with disabling WorldGuard and using BananaRegions full world protection?