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>
I've come across an incredibly annoying issue while debugging the issue I've been having for three hours straight. And this is a weird issue.
Apparently, I cannot logically deduce which plugin CompassEx is incompatible with. This is because there are TWO conditions that need to be satisfied for CompassEx to not run (or it really seems like there are two).
Now, the second point makes sense when talking about plugin incompatibility, but the first does not. Why have I stated the first? Because whenever I've satisfied the above two conditions, and I happen to remove one plugin that isn't even related to compasses (e.g. a plugin that lets you send mail), CompassEx starts working again. I am practically at wit's end.
If you give me your email via a pm, I can send you a list of the plugins I've narrowed it down to, but I doubt you have the time to do testing yourself, and though I have the time to do further testing, I'm just simply clueless and baffled. In other words, I presume you're busy and I'm useless at this point.
@relworPstar
This should not happen (read: this is, according to some Bukkit docs, impossible). And AFAIK nothing major has changed. I'll set up some security measures that this won't happen again, but I want to know: Does this happen multiple times or just once? Did it happen in a specific context? E.g. players joining/leaving/changing worlds?
Thanks for reporting!
Please update for 1.5.2 R3
19.06 10:06:00 [Server] INFO at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) 19.06 10:06:00 [Server] INFO at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410) 19.06 10:06:00 [Server] INFO at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477) 19.06 10:06:00 [Server] INFO at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226) 19.06 10:06:00 [Server] INFO at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:513) 19.06 10:06:00 [Server] INFO at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) 19.06 10:06:00 [Server] INFO at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:53) 19.06 10:06:00 [Server] INFO at de.philworld.bukkit.compassex.TrackingComponent$CompassUpdaterTask.run(TrackingComponent.java:151) 19.06 10:06:00 [Server] INFO java.lang.NullPointerException 19.06 10:06:00 [Server] WARNING Task #59 for CompassEx v3.0.0 generated an exception
@CommodoreAlpha
Well it worked for me and fahlman, so I assume it's not a problem on my side. Do you have any plugins that register the command
/compass
? There could be a conflict, I'll see what can be done there.Even with version 3.0.0 installed, I get this error. It could be a question of plugin compatibility (seeing as the guy below me says it works). I'm going to do more investigation, but it'll take awhile for me to get back to you. Thanks for your time (and for the plugin).
I helped test version 3.0.0 and it works great. The new features are also very good. Thanks Philipp15p for continuing to support this mod. It's the most full-featured compass I'm aware of.
Can you please add a languagefile? So you can change the textoutput? Would be nice :D
@eyalabadi98
CompassEx uses Minecraft's builtin storage for compass targets which are saved in the map data itself if I remember correctly. If you use a plugin to reset the map, maybe the plugin can restore the player data too? This functionality can only be implemented in the reset plugin.
How can make the compass point automaticly at one point everytime? I run a plugin which resets map evertime, will that delete where it points to? Thanks
@Gameguy75
I think this should be possible. If it is, I'll include it in the next version.
@PykeThompson
Thanks a lot :)
@CommodoreAlpha
Well, I have already rewritten the whole plugin from scratch, the only two things that are left to do are documentation and testing. I have to admit I kinda delayed that. Thanks for the reminder, though.
Sorry to be a bother, but are you going to release an update anytime soon?
Philipp You Make The Best Plugins:)
Hi :3 I wanted to have the compass update on right click is this possible and if not is there another plugin that is capable of doing it?
@LEOcab
This is a good idea. Do you think that asking for permission should be the default then and special permission would be needed for executing /compass player without asking the target first?
@NobMapster
At the moment this is not possible. It is difficult to do because every command would have to be changed. What do you think of setting the location of another player to the own player's one? This would not allow letting someone else track a player though.
I'm looking for a compass plugin to use on my server that will allow me to use admin permissions to set other players' compasses to objective points. Can that be done with this plugin? Don't see a command for setting other players' compasses.
@anotherfahlman
I've got a feature request. Add a command similar to /compass player that asks the other player for permission first. Similar to the relationship between /tp and /tpa. My server doesn't have /tpa because it makes the game too easy, but some people can't read coordinates. Your plugin finally allows us to have a compromise! Now this feature would remove the need to use coordinates at all. :)
Thank you for adding Dynmap support!
@skookiesprite
Glad you like it! I just added a donate button :) Also expect some DynMap support soon!
@Philipp15b
Hey man: Must have just been completely ossified or SOMETHING because it works like a charm. Totally had to be user error. BUT, it does give me a chance to ask something even more important: where's your guys' donate button? Absolutely fabulous plugin, man; great work. Now, even mental midgets such as myself can play with coords! EEEs brilliant!
Thanks and cheers!
@skookiesprite
Thanks :)
So this is weird. So you get a missing permission error? Or just another error? I'll try to reproduce this later today.