Non-Specific Odyssey
What it does
Non-Specific Odyssey is a random teleport plugin that always gives you good locations!
- never teleport into water or lava
- never teleport inside blocks or caves
- permissions based multi-world support
- configurable & permissions based multi-environment support
- configurable no-damage settings
- configurable cool down period
- teleport to biomes
How it works
Add the NonSpecificOdyssey.jar file to your server's plugins directory and start up the server. A config file will be created automatically with the default values.
Configuration
There are a few config options:
cooldown: [true|false]
Whether to use a cool down period between usage of the random teleport command (/rtp
)
cooldown_time: [seconds]
How long (in seconds) the cool down period is. Default: 120 seconds
no_damage: [true|false]
Whether the player takes no damage (invulnerability) after teleporting. Default: false
no_damage_time: [seconds]
How long (in seconds) the player takes no damage. Default: 20 seconds
max: [distance]
The maximum distance a player can teleport in any direction ie if set to 2048 the random co-ordinate will be between -2048 and +2048. Default: 1024
nether: [true|false]
Whether you can random teleport to the Nether. You can also restrict travel to the Nether using permissions. Default: false
end: [true|false]
Whether you can random teleport to the The End. You can also restrict travel to the The End using permissions. Default: false
initial_step: [number]
The number of blocks the biome search starts searching relative to the player's current location. Use larger values to start the search further away. Default: 0
<<code text>> step: [number]
The number of blocks the biome search uses. Smaller values are more accurate, larger values make the search faster. Default: 10
firstline: [text]
Sets the text that appears between the square brackets on the first line of a Non-Specific Odyssey sign. Default: 'Random TP'
Commands
There are three commands.
/randomteleport
- aliases: [rtp, nso]
- description: Teleport to a random destination
- usage:
/<command> [world]
[world]
is optional, when used with no arguments, it teleports you within the world you are currently in
/biome
- aliases: [rtpb, nsob]
- description: Teleport to a specific biome
- usage:
/<command> [biome|list] [world]
- using
/biome list
will show a list of valid biome names [world]
is optional, when used with no arguments, it teleports you to a biome within the world you are currently in
/nsoadmin
- description: Change config options
- usage:
/<command> [option]
OR/<command> [option] [amount]
- type the config
[option]
as it appears in the config.yml file - for options that are
true|false
just use/nsoadmin [option]
e.g./nsoadmin cooldown
- this toggles the setting - for the rest of the options specify a number for the
[amount]
e.g./nsoadmin max 1500
- type the config
Signs
You can use a sign as a trigger for random and biome teleports.
- Place a sign
- Between opening and closing square brackets type the text specified by
firstline
in the config file, for example: [Random TP] on the first line - You can put anything you like on line two
- To specify a world, type the world name on line three
- To specify a biome, type a biome name on line four
If an invalid world or biome type is specified those lines will be ignored.
Players must have the permission nonspecificodyssey.sign
to use signs, and nonspecificodyssey.admin
to make signs.
To remove a sign, you must be an Op, then just click the Non-Specific Odyssey sign while sneaking.
Permissions
Here they are:
nonspecificodyssey.use
Default: everyone - Allow player to use the random teleport command
nonspecificodyssey.use.[world]
Allow player random teleport in the specified world
nonspecificodyssey.sign
Default: op - Allow players to use Non-Specific Odyssey signs
nonspecificodyssey.end
Default: op - Allow player to random teleport to THE END
nonspecificodyssey.nether
Default: op - Allow player to random teleport to the NETHER
nonspecificodyssey.bypass
Default: op - Allow player to bypass the random teleport cool down
nonspecificodyssey.admin
Default: op - Allow player to change config options, and make Non-Specific Odyssey signs
nonspecificodyssey.*
Default: op - Parent permissions node that has the children:
- nonspecificodyssey.use
- nonspecificodyssey.nether
- nonspecificodyssey.end
- nonspecificodyssey.sign
nonspecificodyssey.biome.*
Default: op - Parent permissions node that has the children:
- nonspecificodyssey.biome.EXTREME_HILLS
- nonspecificodyssey.biome.SWAMPLAND
- nonspecificodyssey.biome.FOREST
- etc, etc
Change log
v1.4.1
- Added a config option for initial biome search step -
initial_step
- default is0
, so it searches from the player's current location. Set it to higher values to start searching further away. - Added
step
andinitial_step
to/nsoadmin
command
v1.4
- Added a [world] argument to the
/biome
command, usage:/biome [biome] [world]
- Added tab completion for biome types to the
/biome
command - Added Non-Specific Odyssey signs
v1.3
- Added a new command -
/biome [biome]
to teleport to the nearest occurrence of the biome type specified- Command aliases:
rtpb
andnsob
- You can list biome types with
/rtpb list
- Grant travel to all biomes with the permission:
nonspecificodyssey.biome.*
- default is OP - Restrict travel to specific biomes using permissions:
nonspecificodyssey.biome.[BIOME]
e.g.nonspecificodyssey.biome.EXTREME_HILLS
- Command aliases:
v1.2
- Built with Bukkit 1.5.2-R0.2
v1.1
- Add command to change config options
/nsoadmin [option] [amount]
- Added teleport sound
v1.0 Initial release
Source code
Metrics
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out
to true
@eccentricnz
Thanks for the response! I will install the update tonight and see how things go tomorrow.
Just another issue that seems to have popped up amongst my players: some people are reporting that they have been warped to the same location multiple times. I have set the plugin to search between -25000 and 25000, so there's no way they should be warping to the same biome within that huge range. Any ideas on why that might be happening? I haven't really had time to test this myself so I'm basically just going with their word.
Also, could you please maybe explain the Step setting in more detail? I'm not too sure what it means.
@Turbotailz
Updated, and awaiting approval: http://dev.bukkit.org/bukkit-plugins/non-specific-odyssey/files/9-non-specific-odyssey-1-4-2/
The only unobtainable biomes now should be (as their shortened names are the same as other biomes):
BIRCH_FOREST_HILLS_MOUNTAINS
EXTREME_HILLS_PLUS_MOUNTAINS
MEGA_SPRUCE_TAIGA_HILLS
MESA_PLATEAU_FOREST_MOUNTAINS
I've never been able to reproduce the 'stuck in blocks' scenario on my test server, so it's a hard one to troubleshoot. I'm pretty sure that it boils down to lag unfortunately... though my test server just runs on my old MacBook Pro so is not the most powerful platform around! Make sure the server has plenty of RAM assigned (I have 4GB assigned to CraftBukkit, but I don't run too many plugins or have a lot of players - when testing its usually only me...)
Hello, thank you very much for developing this plugin, it's amazing!
Just one thing I have a problem with. Some of the longer named biomes will not fit on a sign. I have set up a "Random Warp Hub" with about 20 biomes for people to choose from. I did not think about the biomes that have long names, so now I can't let people warp to them. I don't want people to use the commands.
The three biomes in particular are Sunflower_Plains, Mega_Spruce_Taiga and Ice_Plains_Spikes.
Would it be possible to get these to somehow work with signs?
Also, there have been a few instances where I have warped underground (stuck in blocks), hopefully this can be fixed too, don't want my players suffocating!
Ok, thank you for your speedy response.
@StiDJa
nonspecificodyssey.use.[worldname]
- I need to update the info above.../nsoadmin
command to set options applies them immediately.Hi i have found out that the permission nonspecificodyssey.use does not work..
Users need to have nonspecificodyssey.* to be able to use /rtp and obviously this is a OP permission..
is there a way to remove the [Non-Specifc Odyssey] infront of the teleporting message? Plus can we have a plugin reload command please?
@Baffu
Non-Specific Odyssey v1.4.1 uploaded and awaiting Bukkit approval
initial_step
- default is0
, so it searches from the player's current location. Set it to higher values to start searching further away.step
andinitial_step
to/nsoadmin
commandHey eccentricnz,
I have a separate world that houses the spawn building and some portals to different multiverse worlds.
First off, thats for adding my request! Next, I am trying to let users select a biome to live in from this spawn area (which is on a different world). When I was testing the plugin before I kept landing in the middle of someones farm (in the wrong biome according to f3). I was asking for it to be random to avoid the already claimed land (I have my max set to 20,000).
Perhaps there can be a min distance from the 0,0 on the map?? That way we can avoid the buildings in the central 3000 block radius or so?
@Nickbbeezy
Request added, see change log
@Baffu
New file uploaded and awaiting Bukkit approval, see change log above.
I don't know what the
/region
command is, or what the nexus world is for that matter...The biome command is random in the fact that it chooses a random direction to start searching in, but that's about as random as it is ever going to get.
Love the plugin, is it possible we have /region forest survival_world or the likes? I want the region selector signs to be on the nexus world.
EDIT: can you allow random with biome selected? so people can find a random ocean or something?
Hey brother. Well over a year and I am still using NSO and love it. I have a couple suggestions that would make this plugin just that much more awesome..
95% of the time the teleport works great but every so often it does teleport players just a few blocks underground. I was thinking this could easily be fixed by adding a "safe_blocks" option in the config. Like so.. http://pastebin.com/xpReKBsT
Also would be very nice if you could add a portal function. The admin would be required to build a portal out of obsidian in the normal 4x5 configuration then place a sign anywhere on the portal frame. first line "NSO" second line "Worldname" then when a player walks through the portal it randomly teleports them in the world specified on the sign. Permissions, nonspecificodyssey.use.portal & nonspecificodyssey.create.portal would need to be added.
@markdf
There's a very good chance.. have PMed you.
Any chance this could use a sign to port players to a random location? I'd like it at spawn, but not allow players to use it as a command.
@KJ_Shipp
Please post the errors from the server log.
@KJ_Shipp
Will update it tonight, though I expect the only code that will need changing is adding the new biomes...
EDIT: The biome code should be fine as it just uses the Bukkit internals anyway
Wondering if you are going to be updating this to 1.7.2. Experiencing errors. Going to try to troubleshoot and see what exactly is causing it. I'll open a ticket if I can't figure it out.
@eccentricnz
Figured out the steps to reproduce it. I'm currently using http://dev.bukkit.org/bukkit-plugins/variabletriggers/ to run a script when a player clicks a button to teleport them to a world and random teleport them (http://prntscr.com/2aia0b). It locks up when I try to TP them to a world using an alias that doesn't exist yet so I'm guessing it just keeps trying to find it until it eventually crashes. Fixed by defining the alias before trying to TP the player.
@Nickbbeezy
Does it do it in Bukkit?