DiscoverWarps
What it does
DiscoverWarps is a simple Skyrim/RPG style warp/teleportation plugin that lets you warp to locations that you have previously discovered.
Features
- Use stone or wood pressure plates to set discovery points
- Plates are protected from griefing and explosions
- Simple to use
- Set auto-discoverable locations
- Set a cost to buy locations
- Use signs to warp to locations
- Created in response to this request: http:forums.bukkit.org/threads/wip-mech-teleportation-skyrim-traveling.112579/
Installation
Add the DiscoverWarps.jar file to your server's plugins directory and start up the server. Config and database files will be created automatically with the default values.
If you want to use the buying feature you will need to install Vault and the economy plugin of your choice (check the Vault page for supported plugins)
How it works
- Place a stone or wood pressure plate where you want the discovery point to be
- Stand on the pressure plate
- Make the plate a DiscoverPlate by typing
/dw set [name]
- Add as many DiscoverPlates as you want
- Players can show a list of DiscoverPlates by typing
/dw list
- If they have discovered one of the plates (by walking on it) it will be marked as VISITED - Once a player has discovered a DiscoverPlate, they can teleport to it by typing
/dw tp [name]
- Warp to a DiscoverPlate via a GUI (version 1.5.x or higher), type
/dw tp
(without specifying a name) to open the GUI
DiscoverWarp Signs
You can place signs that will warp you to the specified DiscoverWarp plates
- Place a sign
- On the first line type: [DiscoverWarp] - the text to type is configurable
- On the second line type the name of the warp to go to
- Click Done to finish editing the sign - if there is a cost for buying the location, it will be placed on line 3
A player will be warped to the location if:
- they have already discovered the location
- there is a cost set and the player has sufficient balance
WorldGuard region discovery
To set them up:
- Add your WorldGuard region in the usual way
- Add a discoverplate inside the region where you want the warp point to be
- Run the
/dw set [name]
command as usual - The plugin should auto-detect the WorldGuard region and add it to the database along with the plate location
- Get another player to test it out...
- You're done!
Commands
/dw set [name]
- turns the stone or wood pressure plate you are standing on into a DiscoverPlate/dw delete [name]
- removes the specified DiscoverPlate/dw disable [name]
- disables the specified DiscoverPlate/dw enable [name]
- enables the specified DiscoverPlate/dw cost [name] [amount]
- set the cost for a DiscoverPlate/dw auto [name]
- toggle auto-discovery true|false for a DiscoverPlate/dw allow_buying
- toggles allow_buying true|false - requires Vault and a server restart to hook in your economy plugin/dw xp_on_discover
- toggles xp_on_discover true|false/dw sign [text]
- sets the text to type between the square brackets[ ]
on a DiscoverWarps sign/dw list
- lists enabled DiscoverPlates and shows if they are visited/not visited/dw tp [name]
- teleports you to the specified DiscoverPlate, can now be used from the console:- You need to supply a
[player]
argument - so the command becomes:dw tp [name] [player]
- The player must have discovered the plate first, to override discovery, supply a fourth argument -
true
- the command now becomes:dw tp [name] [player] true
- You need to supply a
/dw buy [name]
- Buy the specified DiscoverPlate location
Permissions
discoverwarps.use discoverwarps.admin
All permissions default to OP.
Config
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: 10 seconds
allow_buying: [true|false]
Whether players can buy DiscoverPlate locations. Default: false. Requires Vault to be installed if true
xp_on_discover: [true|false]
Whether players gain XP when finding a DiscoverPlate. Default: false
xp_to_give: [amount]
How much XP to give when finding a DiscoverPlate. Default: 3
sign: [text]
What to type between the square brackets when creating a DiscoverWarps sign. Default: discoverwarp
Video
And one in French: https://www.youtube.com/watch?v=lXB2L2wC3kE
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
UUID conversion
Versions 1.4 and higher of this plugin will connect to api.mojang.com to update player names in the database to UUIDs in order to support the upcoming name changes in Minecraft. It will do this one time only, when the server starts up after installing the new version of the plugin.
Suggestion: Make a GUI which only shows warps you have discovered.
Do you think this could be done?
@DanSpedey
I've just uploaded it... awaiting Bukkit approval now. Until then you can grab it from my Jenkins server: http://keetley.servegame.com:8080/job/DiscoverWarps/lastSuccessfulBuild/me.eccentric_.plugins.discoverwarps$DiscoverWarps/ - however be aware that development builds of this project acquired at the provided continuous integration server have not been approved by the BukkitDev staff. Use them at your own risk. (Even though it's the same as the version uploaded here)
When do you think the latest version to download on bukkit will be out by?
@abstractmadness
Check the server log, did the plugin actually enable?
It was working fine but when I say that there was an update out I put it into my server, now when either an Admin, OP, or default user tries to use any of the commands or check into signs, it does nothing. for example when I try to do '/dw list' it does absolutely nothing. It doesn't display the 'unknown command. Type "/help" for help.' message. any clue to what the problem might be? i'm hoping that it's something in the config that i can change
@DanSpedey
I need to update the UUID conversion code, which I'll do tonight, as it fails if a blank user name gets passed in.
It won't work for me, the UUID conversion keeps failing causing it to disable itself.
@eccentricnz
Thanks, I ended up taking the long route and recompiling the plugin with your source .-.
@SimpleAOB
Is there no way to edit the localisation? I have tried to change the text but it keeps reverting back to how it was before.
@wowzersam
Then they wouldn't be plates would they?
@eccentricnz
Could you allow configuration of what items can be set as a discover plate?
@eccentricnz
Excellent! Thanks!
Also, nevermind the previous request unless you want to.
I figured out I can replicate it with WorldGuard regions by blocking the dw command globally and putting a region on each warp point which overrides the global block.
@Forecaster71
v1.4.1 should fix it, uploading the file now - or you can grab a development build of this project from my continuous integration server - these builds have not been approved by the BukkitDev staff. Use them at your own risk. http://keetley.servegame.com:8080/job/DiscoverWarps/lastSuccessfulBuild/me.eccentric_.plugins.discoverwarps$DiscoverWarps/
When I create the first warp plate this error starts spamming the console:
http://hastebin.com/yopunoseni.avrasm
The plugin seems to work fine anyway, but it fills the console with junk unnecessarily.
Could you please fix this?
Could you add the option to only be able to teleport if the player is close to a point?
Hi! can you add a GUI? when someone writes a command, a GUI opens with the warp available (or something like that), that would be very useful :)
@tomori_peti
Request added, see change log
@eccentricnz
OMG, thank you so much! I admit, I'm a little new to plugins (it's always been pure vanilla servers for me). This helped a lot!
@otterun
I suggest running your permissions.yml through http://yaml-online-parser.appspot.com, you have some missing colons (:) after player names which are causing errors
This should sort you out: http://dev.bukkit.org/paste/9548/