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.
STILL loving this plugin - it's one of my all time faves. Just updated to 1.20.4 and all seems well, but my custom items for each warp have reverted to stone pressure plates in the menu, and I cannot for the life of me recall how I customised them.
Apologies if this is written somewhere obvious - i have tried looking here, github, in game help and I cannot find it. Please help me Obi-Wan.
In reply to ISandbagI:
Found in comments!
/dw icon [name] [material]
In reply to ISandbagI:
/dw icon doesn't appear to be working in 1.20.4. (I could be doing something wrong but it doesn't even look like the command is registering)
Hi bro everytime i set /dw set name or just /dw the chat just display: Type /dw to see help... no matter which command i try it say always the same any idea about why this happen?
In reply to Arckran:
Check server log for errors, report back...
In reply to eccentric_devotion:
i already fix the problem, the problem was the last version its not compatible with 1.12.2 just the version DiscoverWarps 1.5.3 so but thanks anyway.
This plugin is brilliant! Is there a way to clear warps for a player/everyone?
In reply to ISandbagI:
No clear command at this stage, if I get time this weekend, I'll add it...
In reply to ISandbagI:
Added in build #51
I love this plugin, its a great addition to any RPG-style server. I only miss two things:
- Being able to rename a DiscoverWarp
- Being able to change the icon that appears when using /dw tp, helping users to find what they want easily
Apart from that, a must-have plugin for RPG servers.
Well done.
In reply to mowstyl:
Added to DiscoverWarps 1.7.2:
/dw rename [old_name] [new_name]
and
/dw icon [name] [material]
commands.
Also added tab completion to the /dw command so it will auto complete sub commands, warp names and icon materials.
Get it here: http://tardisjenkins.duckdns.org:8080/job/DiscoverWarps/
In reply to eccentric_devotion:
Yup, you are magnificent. No doubts.
Works perfectly, something incredible since you implemented it in just 4 hours.
Can a player head be used as material somehow? Just wondering, not that I need it.
In reply to mowstyl:
Only a Steve head
/dw icon [name] PLAYER_HEAD
Just added to 1.14.4 paper server and upon booting the server i get
[17:05:39 INFO]: [DiscoverWarps] Enabling DiscoverWarps v1.7
[17:05:40 ERROR]: Error occurred while enabling DiscoverWarps v1.7 (Is it up to date?)
java.lang.NoClassDefFoundError: com/sk89q/worldedit/world/World
at me.eccentric_nz.discoverwarps.DiscoverWarps.onEnable(DiscoverWarps.java:65) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.14.4.jar:git-Paper-136]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:338) ~[patched_1.14.4.jar:git-Paper-136]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:420) ~[patched_1.14.4.jar:git-Paper-136]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:467) ~[patched_1.14.4.jar:git-Paper-136]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:381) ~[patched_1.14.4.jar:git-Paper-136]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:474) ~[patched_1.14.4.jar:git-Paper-136]
at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:282) ~[patched_1.14.4.jar:git-Paper-136]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:871) ~[patched_1.14.4.jar:git-Paper-136]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
Caused by: java.lang.ClassNotFoundException: com.sk89q.worldedit.world.World
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_221]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:139) ~[patched_1.14.4.jar:git-Paper-136]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:85) ~[patched_1.14.4.jar:git-Paper-136]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_221]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_221]
... 10 more
[17:05:40 INFO]: [DiscoverWarps] Disabling DiscoverWarps v1.7
In reply to diablo050189:
Install WorldEdit
In reply to eccentric_devotion:
Thank you. Its working fine now but you may want to specify that worldedit is needed in the post or under dependencies.
Wow, nice job :) I only wish you could forget warps you've discovered, anyhow not a big deal. Thanks for the plugin !
Hello. the latest build again dont work with worldguard. :(
In reply to Forge_User_22916050:
Build #37 on the Jenkins server - same link as below
Or should be approved here any minute...
In reply to eccentricnz:
thx eccentricnz. Your plugin its awesome for server rpg :) There is not others equal