OtherBounds
OtherBounds creates a circular "soft" border. When a player walks across the border they will start to lose health until they cross back.
Features
- Circular, square (coming soon) or WorldGuard region based boundaries
- "Realistic" boundaries - players are not blocked but discouraged by:
- Warning messages
- Custom damage
- (latest dev build) Potion effects
- (latest dev build) Sounds (any of 150 via the Bukkit API)
- (latest dev build) Any command (as player or OP override)
- (latest dev build) Lightning, explosions and more (note: currently this overrides normal damage, explosions are "coming soon")
- Multiworld support
- Exceptions by player-name or permission
- Detects players regardless of how they leave the area (vehicles, tp, etc)
- Multiple boundaries support (experimental, let me know how this goes)
Planned Features
- inverted boundaries (damage done inside a boundary)
- conditions similar to OtherDrops (eg. boundary only hurts during the night, etc)
- damagerate - easier way to specify damage vs time
Documentation
Installation
Just put the jar file in your plugins folder - it will create an example config on the first run (with a border radius of 200 but no damage).
Example config
"config.yml"
verbosity: normal # controls how many debug messages are sent to console (low, normal, high, highest) ticks: 40 # "OB cycle" - how often we check (& damage) players outside the boundary safeinsideboundary: false # if you have concentric boundaries set to false, if you have non-concentric set to true
"boundaries.yml"
boundaries: main_boundary_1: radius: 200 centre-x: 0 centre-z: 0 world: ALL damage: 1 # 1 half-heart per OB cycle except: [Xyzzy] # optional list of player names, eg. [plugh, xarqn, fred] exceptpermissions: [mainBoundary1Override] # give players otherbounds.custom.mainBoundary1Override (note, cannot include _ characters) messagedanger: "Warning - radiation detected." messagesafe: "You have returned to safer lands." main_boundary_2: radius: 400 centre-x: 0 centre-z: 0 world: ALL damage: 4 # 4 half-hearts per OB cycle except: [Xyzzy] # optional list of player names, eg. [plugh, xarqn, fred] exceptpermissions: [mainBoundary2Override] # give players otherbounds.custom.mainBoundary2Override (note, cannot include _ characters) messagedanger: "Warning - high radiation level detected, turn back." messagesafe: "The radiation is lower here but still dangerous."
Commands
/ob reload - reloads the config file (requires otherbounds.admin.reloadconfig permission) /ob (on|off) - turns OtherBounds on or off until next restart/reload (requires otherbounds.admin.enabledisable permission)
Setting a region type
- If there's a "region" parameter it will set that boundary to a WorldGuard region
- If there's a "radius" parameter it will set that boundary to a circular one
- Otherwise the default is a rectangular boundary defined by "length" and "width" parameters (*not yet supported)
Considerations
- you probably want to put delay rate down to around 5 ticks (that's the minimum at the moment) - I left it at 40 for testing (checks the boundary every 2 seconds)
Changelog
0.1 Release, fixed config file not writing on first startup. 0.1-beta First release
Dev Builds
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Thanks
The plugin is inspired by croxis' BoundaryKill.
Many long nights are spent improving my plugins so if you like it please consider a donation to my coffee fund :)
OtherBounds uses Metrics for anonymous usage stats (learn more). From 0.1 only (0.1-beta1 does not include metrics).
I put it and not let it can attack players or players to break blocks. Only I am the admin that I can break blocks and attack.
this plugin does not block players can break or kill mobs Config: verbosity: normal ticks: 1 safeinsideboundary: false
boundaries: main_boundary: radius: 1250 centre-x: -266 centre-z: 472 world: world damage: 5 except: [Xyzzy] # optional list of player names, eg. [plugh, xarqn, fred] exceptpermissions: [mainBoundaryOverride] # give players otherbounds.custom.mainBoundaryOverride (note, cannot include _ characters) messagedanger: Warning - high radiation level detected. messagesafe: You have returned to safer lands. main_nether_boundary: radius: 300 centre-x: -266 centre-z: 472 world: world_nether damage: 5 except: [Xyzzy] # optional list of player names, eg. [plugh, xarqn, fred] exceptpermissions: [mainBoundaryOverride] # give players otherbounds.custom.mainBoundaryOverride (note, cannot include _ characters) messagedanger: Warning - high radiation level detected. messagesafe: You have returned to safer lands.
@ZariusT
Aw well, thanks for replying. :)
@MrYfory
Sorry MrYfory - it's a cool idea and a self-contained area is pretty cool but neither of those really fit with OtherBounds as it's more about realistic "soft" boundary/borders.
I could probably do the tp to the other side at some point but the world smoothing is beyond my current or planned capabilities.
This is close to what I need, but what I need in addition is:
- When player 'crosses' region, they are tp'd to other side of map. This could be definable, so if player crosses at +1000 they are ported to -800, so they would have to run 200 blocks to give time before re-crossing again.
- Smoothing; so the world borders on opposite sides match up, like a real world. ;)
Are either of these within your capability?
@TommehRRR
Ah - probably that worldguard support - yeah, will work on that soon :)
@TommehRRR
Happy to add WorldGuard support, just need to know how you want to use it. Join the IRC channel if you want - could be quicker to chat :)
Wanted to ask if the World Guard support could be added?
That would be great :I)
@CS_Hague
The current version (0.1-beta1) still works fine :)
It's been a long time coming but as I've been back working on OtherDrops I thought I should clean up OtherBounds too. I haven't posted the file yet but I've fixed a couple of minor bugs and made the config file generate correctly on startup, will post the file tonight.
@GuntherSt
I've fixed this error and the config you posted below works now.
@ezbik
I'll be working on allowing this plugin to work more with OtherDrops (easier now with recent improvements to OtherDrops) to allow use of effects, damage, biome conditions, etc. Just have to work out the best way to work the two of them together.
How can you configure multiple boundaries? when I use the following config:
I get these errors:
It seems that the first boundary is loaded, but then OtherBounds can't load the other boundary...
Is there a link to an updated or near-updated version of this? I'd like to use it to mimick a hostile environment for players to overcome. I read comments and saw a mediafire link that appears to have been removed.
Lol so after a few weeks of use, I'd have to say it does happen often. I don't know if it's due to our 25-average playercount all day, or weird timing, but if I see an error, I typically expect it to have the word otherbounds in it somewhere. Thanks for any work on it.
@1cec0ld
Thanks for that - I'll fix it. Don't worry too much, it's just saying that someone logged in or out whilst I loop through the players - does it happen often (wouldn't expect it to)?
I'll look into the config file generation too, thanks :)
This might be important, maybe not? Don't know what triggered it either.
CB 1.2 R 0.1 OtherBounds latest build (by mediafire link)
No default config is auto-generated, the file exists, but starts completely empty.
On the bright side, the copied example given above works like a charm, center set to 235, 1701 and radius 2534. Thank you!
@ezbik
Yes, definitely considering the conditions - hadn't thought about the potion effects, that would be cool :)
Could you add other conditions to effect besides just health? Say hunger increasing, air depleting, or potion effects even? Would be nifty to specify say: In a desert biome, during the day, potion effect slowness (Arid climate) or: In a mountain biome, between height 128-256, air depletes slowly (because its higher up :D ) . At night, in a swamp, during the rain, vision is impaired.
Let me know if you need testers!