CompassEx
CompassEx 3
Your compass, but heavily improved.
This plugin allows you to easily set your compass to different positions. You can set it to coordinates, players and of course, back to spawn.
Features
- Set your compass to players, coordinates and your current position
- Save your location or current compass target for later use
- Make saved locations private or public
- Automatic updates to player positions
- Set yourself as hidden, so that you cant be tracked by others
- Admins can follow even hidden users
- Economy support with Vault for
save
,private
, andpublic
commands - Dynmap support
- Multiworld support
Commands
The original CompassEx command /compassex
has also aliases: /cp
and /compass
.
Warning: Since CompassEx 3.0.2 only the /compassex
command will always be available,
/compass
may be used by another plugin!. See Bukkit aliases
for more information about how to set /compass
to /compassex
for conflicts.
Basics
Basic commands to set your compass target.
Command | Alias | Description |
---|---|---|
/compass help |
Shows the help page with all commands. | |
/compass reset |
/compass spawn |
Sets the compass back to spawn. |
/compass here |
Sets the compass to the player's current position. | |
/compass bed |
/compass |
Sets the compass to your bed. |
/compass north/east/south/west |
/compass n/e/s/w |
Sets the compass to a specific direction. |
/compass X Y Z |
/compass pos X Y Z |
Sets the compass to the given coordinates. |
/compass deathpoint |
/compass dp |
Sets the compass to the player's latest deathpoint. |
/compass PLAYER |
/compass player PLAYER |
Sets the compass to the given player. |
/compass live PLAYER |
Sets the compass to the player and updates it. |
Saving and Loading
CompassEx allows you to save locations by IDs which can be later loaded.
Since CompassEx 3 these are seperated per player, so that multiple players can have locations saved
with the same name without conflicts. Public locations are also possible.
However, these will be "shadowed" by private locations, for example if there's a public
location named home
and a player has one home
too, then when loading, the private location of the
player will be used.
To create public locations, first create a private one and then publicize
it.
Command | Alias | Description |
---|---|---|
/compass save ID |
Save your current compass target to a private location. | |
/compass save here ID |
Save your current location. | |
/compass load ID |
Set your compass to a previously saved location. It will first try to find a private location and then a public location. | |
/compass rename ID NEWID |
Rename a private compass target. | |
/compass rename public ID NEWID |
Rename a public compass target. | |
/compass rename OWNER ID NEWID |
/compass rename private OWNER ID NEWID | Rename a private compass target. |
/compass remove ID |
Remove a private compass target. | |
/compass remove public ID |
Remove a public compass target. | |
/compass remove OWNER ID |
/compass remove private OWNER ID | Remove a private compass target. |
/compass list public PAGE-NUMBER |
List public compass targets. | |
/compass list PAGE-NUMBER |
/compass list private PAGE-NUMBER |
List private compass targets (all if you have the compassex.list.private.any permission). |
/compass nearest |
/compass near |
Show the three nearest private compass targets. |
/compass nearest public |
/compass near public |
Show the three nearest public compass targets. |
/compass publicize ID |
/compass public ID |
Convert a private compass target to a public compass target. |
/compass publicize OWNER ID |
/compass public OWNER ID |
Convert a private compass target to a public compass target. |
/compass privatize ID |
/compass private ID |
Convert a public compass target back to a private compass target. |
Hiding
Hiding allows you to hide yourself from being tracked by other players through the /compass player
and the /compass live
commands if they're not admins.
Command | Alias | Description |
---|---|---|
/compass hide |
Toggles the player's visibility. | |
/compass hide on |
/compass hon |
Specifically hides the player. |
/compass hide off |
/compass hoff |
Specifically sets the player trackable. |
/compass hidden |
Show if the player is hidden right now. |
Info Commands
These commands show some information about your current compass target or a saved location if an ID is given.
An ID may be just an ID (your own private location), public
followed by the ID (a public location) or a
player name and the ID (a private location of someone).
Command | Alias | Description |
---|---|---|
/compass info [ID] |
Show the coordinates of the location. | |
/compass distance [ID] |
/compass d [ID] |
Show the distance in blocks to the location. |
/compass height [ID] |
/compass h [ID] |
Show the height difference between you and the location. |
Installation
Just copy the jar file into your plugins folder, start your server so that the config gets generated and stop it. Then edit the config file at will. Now start your server again.
Permissions
Heads up! The rename commands use the respective compassex.remove
, compassex.save
and
compassex.publicize
(if the location is public) permissions.
Extra: If you want to have players automatically hidden when they join, give
them the compassex.autohide
permission.
Permission node | Description |
---|---|
compassex.help |
Allow users to display the help. |
compassex.reset |
Access to /compass spawn . |
compassex.here |
Access to /compass here . |
compassex.direction |
Access to /compass north/east/south/west . |
compassex.bed |
Access to /compass bed . |
compassex.live |
Access to /compass live . |
compassex.distance |
Access to /compass distance . |
compassex.height |
Access to /compass height . |
compassex.hide |
Access to /compass hide . |
compassex.deathpoint |
Access to /compass deathpoint . |
compassex.pos |
Access to /compass pos . |
compassex.player |
Access to /compass player . |
compassex.admin |
Allows to track even hidden users. |
compassex.save |
Allows access to the save command. |
compassex.save.free |
Users with this permission won't have to pay for saving a target. |
compassex.load.public |
Allows to access public locations via the load command or the info commands listed above. |
compassex.load.private |
Allows to access own private locations via the load command or the info commands listed above. |
compassex.load.private.any |
Allows to access any private locations via the load command or the info commands listed above. |
compassex.remove.private |
Allows you to remove your own private compass targets. |
compassex.remove.private.any |
Allows you to remove any private compass target. |
compassex.remove.public |
Allows you to remove your own public compass targets. |
compassex.remove.public.any |
Allows you to remove any public compass targets. |
compassex.list.public |
Allows you to list public compass targets. |
compassex.list.private |
Allows you to list private compass targets. |
compassex.list.private.any |
Allows you to list all private locations. |
compassex.nearest.private |
Access to /compass nearest . |
compassex.nearest.public |
Access to /compass nearest public . |
compassex.info |
Allows access to get info about public, and owned private compass targets. |
compassex.info.any |
Allows you to get info about all public and private compass target. |
compassex.privatize |
Allows you to convert owned compass targets to private. |
compassex.privatize.any |
Allows you to convert any compass target to private. |
compassex.privatize.free |
Users with this permission won't have to pay for making a target private. |
compassex.publicize |
Allows you to convert owned compass targets to public. |
compassex.publicize.any |
Allows you to convert any compass target to public. |
compassex.publicize.free |
Users with this permission won't have to pay for making a target public. |
Configuration
The configuration is really simple (you can find it in plugins/CompassEx/config.yml
):
live-update-rate
: Sets how fast the position of the live tracked player get refreshed. Setting it to a small number may result in poor server performance. Recommended value: 200 (2 seconds).help-page-num-commands
: Number of commmands per page of /compassex helpsave-cost
: How much a user withoutcompassex.save.free
permission has to pay to save a target.privatize-cost
: How much a user withoutcompassex.privatize.free
permission has to pay to privatize a target.publicize-cost
: How much a user withoutcompassex.publicize.free
permission has to pay to publicize a target.enable-dynmap
: Whether to show public locations in dynmap.dynmap-icon
: Set a dynmap icon for CompassEx markers.
More
This plugin uses mcstats.org's Plugin Metrics. That means it sends anonymous statistics to mcstats.org to help me develop the plugin. You can find more about it and how to disable it here.
Do you think you found any bugs? Submit one here.
You think you can help by adding a feature or fixing a bug? Go to the GitHub repository.
<small>Compass image from MinecraftWiki.</small>
@dfdgsdfg
Hmm, I can't reproduce this error. Which version of CraftBukkit are you running? Did you modify the jar in some way? Are there more errors before this one?
I've got some error below this.
2012-04-13 10:25:20 [SEVERE] Error occurred while enabling CompassEx v1.0.0 (Is it up to date?) java.lang.NullPointerException at de.philworld.bukkit.compassex.CompassEx.onEnable(CompassEx.java:101) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:371) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:358) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:187) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
I've been using ComPassionate, but I'm making going to give CompassEx a try since the new additions.
@Philipp15b
Ow awesome! I'm honored :D
@Mtihc
It's merged, and I've added you to the contributors list :)
@Philipp15b
I know right haha! You're welcome, and thank you for an amazing plugin!
I have just sent you a pullrequest :) Yay!
@Mtihc
Amazing feature! Thanks a lot! Just make a pull request and it will be merged in ;)
@Mtihc
:/ there's a typo in the permissions.
it says remove.privatize and remove.publicize.
It should be remove.private and remove.public
Edit: Fixed :P
I "forked" this project on GitHub. And added a cool new feature.
You can save your current location, or save your current compass target location.
It will be added to your list of private locations.
You can "load" the location later, so it will set to your compass.
Read all about it here. (I updated the original README's Commands and Permissions)
And download it here.
I hope Philipp approves and adds it for real ! ;)
Just when you thought you were up to date bukkit goes and R6's on ya! ;)
@genesis_aix
And here is version 0.8.0! It now includes support for direction commands:
Also, there was a bug in the help page which has now been fixed.
@Philipp15b Your completely correct about the .hide! I must have forgot to deop myself when testing as a "default rank". Sorry! Splendid that you will take a look on the cardinal directions! =)
@genesis_aix
Thanks a lot again ;). The thing which you mentioned with compassex.hide is weird. The tip should not be shown when you dont have this permission. I will look into this hopefully tomorrow.
Regarding the request for north/south/east/west commands: Great idea! I'll do it hopefully tomorrow too.
Users like you keep me coding :)
@Philipp15b Great work on the latest updates! Now i just have to include one command in my tutorials and the plug will tell the rest =)
I got two more pointers i think would make great additions.
I denied the defaultgroup .hide and .admin, but they use /cp they can still see tip on how to use /cp hidden to check if they are hidden. Since they cannot use this command i do not want them to even know it is there.
- Could we get a permission for /cp hidden? - Could you implement a /cp north/south/east/west?
Here is a plug that does something similar: http://dev.bukkit.org/server-mods/realcompass/
If its any hard to do so, do not feel any pressure. Just letting loose some ideas.
Enjoying this plug a lot =)
@Philipp15b I would go with the normal "You dont have permission" message.
Glad to see i could be of some help, and certainly glad this plug is even getting better. Thanks again! =)
@genesis_aix
I just thought of the help permission; what should happen if the user doesnt have the rights for the help page? Just a normal "You dont have permission" message?
@genesis_aix
Thanks a lot :) I will improve the help messages and add some more commands. The reason I left out some commands is that I thought it would be just too much text ;)
Edit: I'm now waiting for approval for version 0.7.3 which will contain some help updates ;)
Note: I did edit my post. Think you had already started a response that finished 16min after i finished my edit =p
What i point out is nothing critical, but i guess some of those pointers are things you wanted, but just missed. Thanks for a neat plug! Hope it, and you, will stay with us for a long time =)
@genesis_aix
Now only the commands are displayed in the help that are allowed by the permissions ;). You can access the permissions with either `/compass` or `/compass help`.
What do you mean by `compassex.help`? Should I add help permissions?
Added permissions-based help? compassex.help? Very neat plug =)
Edit; Ok i understand what you mean. /cp ingame is suppose to only show commands that you have permission nodes for. Very good idea! However, even if all permissions are given, the /cp command only shows - dp/xyz/liveplayer/player/reset. It is missing here/heigth/hide/hidden.
Mabye you dont need "points your compass" on each line in the help. If you could make one command + explanation stick to one line that would be great =)
Could you add a permission to disallow the /cp (help)?