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>
@mattekure
You are right. This was a bug in 0.7.0, but has been fixed in 0.7.1, which is only compatible with Bukkit for 1.1. Because there is no official release, you can only download it on Github. The download link is here.
Edit: The new version is now approved. You can download it directly here.
> 2012-01-22 16:05:56 [SEVERE] Could not load 'plugins\compassex.jar' in folder 'plugins': while scanning for the next token found character '\t' that cannot start any token in "<reader>", line 22, column 9: compassex.reset: true ^ at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:358) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:591) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:133) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:411) at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:36) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:71) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:215) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:136) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:151) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:127) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457) <
>@titen96
The new version is finally up, with tons of improvements and new features!
@titen96
I will implement it as soon as possible, hopefully this weekend.
can there be a command to set the compass to the persons death point?
@Crazdale
To prevent more confusion I changed them all to `op`.
@Philipp15b
Thanks... fully working, and beautifully might I add. You may want to change your description of the plugin and let people know that all permissions are given, and those nodes need negated for anything you do not wish people to use.
Thanks Philipp15b ;)
@Crazdale
This happened because users had all permissions (except the `admin` one) by default. I changed it and it should work now. Again, the fixed file needs approval now, but you can download it already at GitHub.
Why is it, that permissions do not seem to work for this plugin... at all. The only permissions I am giving is compassex.here, compassex.set, and compassex.reset... yet, players have access to /compassex player as well as /compassex.hide...
So... permissions broken completely?
@saturnineNL
You are right. This seems to be a new bug with Craftbukkit 1.0.1, since I'm sure it didn't appeared before. I'm working on it.
Edit: Somehow I forgot just one character... Should be fixed now in build 5. It needs approval now, but you can download it already on GitHub.
the hide command seems broken ? I have no clue how to fix this. when i do a /cp hide all i get is [compassex] you are now visible again i have the compassex.* rights and i am OP. Could you please look into it ?
thanks in advance