PointsOfInterest
This plugin allows players to create in-game Points of Interest using signs and allows other players to find them with the standard compass or to view them on a live map with dynmap 1.8+!
Upgrading from versions prior to 1.02 is a Major update. Please refer to release notes and installation guide before upgrading.
Major Features
- Create Points of Interest by creating special signs.
- Find closest Points of Interest and see distance and directions for each.
- [*New in v1.1.x] view Points of Interest on a live map via dynmap 1.8+ integration!
- [*New in v1.0.x] Target nearby POIs with your compass!
- [*New in v1.0.x] Immediately teleport to a Point of Interest.
- [*New in v1.0.x] Most common uses require no typing but there is added flexibility through in-game commands.
For Admins
- Highly configurable with a full suite of
- "Lockdown" config option provides safety in case of a release with breaking config changes. Also allows for temporary disabling of plugin for maintenance purposes with the option to bypass via permissions.
- Uses sqlite as a small, zero-configuration db solution.
- Custom config implementation puts instructions directly above each config node.
Important Links
Commands (In-game help available on each)
- /poi help (List of these actions, or detailed help on a specific action)
- /poi types (List of available POI types) [New in v1.1.x]
- /poi tp (Teleport to a Point of Interest) [New in v1.0.x]
- /poi remove (Removes a Point of Interest)
- /poi search (Radius search for nearby Points of Interest)
- /poi list (List all Points of Interest of a given player, in the current world)
- /poi page (Page through latest results from search or list)
- /poi select (Selects a Point Of Interest by id for further interactions)
- /poi summary (Get a summary of currently selected Point, including directions)
- /poi (Shortcut for /poi summary)
- /poi config (Reloads configuration from file)
Supported Permissions
- crussell52.poi.* - Access to all functionality
- crussell52.poi.view - Ability to search, list, and use compass to find POIs
- crussell52.poi.compass - Ability to use compass to find POIs
- crussell52.poi.action. - Access to all actions under the poi command
- crussell.poi.action.teleport Ability to teleport directly to POIs
- crussell52.poi.action.add - Ability to add POIs - auto-grants remove permission
- crussell52.poi.action.add - Ability to add POIs - auto-grants remove permission
- crussell52.poi.action.remove - Ability to remove your POIs
- crussell52.poi.action.remove.others - Ability to remove POIs owned by self and others
- crussell52.poi.action.search - Ability to search for nearby POIs with command
- crussell52.poi.action.list - Ability to list your POIs or those of others
- crussell52.poi.action.config.reload - Grants the ability to relaod configuration from the file
- crussell52.poi.lockdown.override - Grants ability to operate normally while POI lock down is in effect
- crussell52.poi.max.{dynamic} - Dynamic permissions for unique POI maximums.
- crussell52.poi.type.{dynamic} - Dynamic permissions for access to individual POI types.
Configuration Options
- distanceThreshold: Maximum radius for searching for nearby POIs
- minPoiGap: Minimum distance between any two POIs
- maxSearchResults: Maximum number of POIs returned when searching for nearby POIs
- maxPlayerPoiPerWorld: Maximum number of Points of Interest allowed per player in each World
- crussell52.poi.max: Allows creation of custom permission nodes, each with a specified max (use to override "maxPlayerPoiPerWorld" option)
- worldBlackList: Disallows Points of Interest in listed Worlds
- lockDown: Prevents interaction with POI plugin (overridable via permissions)
- mapMarkerWorlds: Turn on dynmap marker support per world.
- poiTypes: Create POI types. Configure labels, default permissions and what map marker icon to use (if any).
About the Author
I am a 35 year old, professional software developer and I am passionate about quality, maintainable code. I have been playing Minecraft since the early Beta days and love what Bukkit has added to the experience. Like all the other awesome authors of Bukkit Plugins, I created this plugin for the good of the community. This plugin was originally published a couple of years ago and was my first published plugin. I'm happy to have found time to go back and spruce it up and I hope it finds a good home on your server!
If you've enjoyed it, please consider donating. Long gone are the days of "starving college student", but I am recently engaged and also long gone are the days of our parents paying for our wedding! :-) Your donations will help me justify the time I spend working on this instead of other, paid-for, side-work.
Please feel free to view this project's source code on github. If you run into any problems, please let me know and I will do my best to patch it up in a timely manner.
Thank you again, and enjoy!
- Chris
Awesome plugin! seems to work fine in 1.8
@lANTHONYl
Actually an ingame map is possible with this plugin: Server Minimap . Just support needs to be added for it. :)
Would be neat if there was an in game map that updated live with the points of interest.
Please bring back the use of text commands to create Points of Interest. Commands are so much easier than making signs, they don't require that an ugly sign be placed, and they're recorded in the server log (making it easier to track down people who try to make spam points).
@Youramoron Thanks for the feedback!
Based on the integration points of this plugin, I suspect it will work as-is with 1.6.4, but I have not tested it.
I'm out of town this weekend, but I will try to get an official 1.6.4 release up by the end of next weekend. :)
@crussell52 wow okay that was quick. Thank you everything is great now! :D
@lonelyronin
I hope the improved description and added image helps. :)
I don`t know what this plugin do, can u add a description? sorry for the ignorance
@TabascoSkittles
A fixed build has been uploaded and is pending approval. Sorry again, for the inconvenience.
@TabascoSkittles
I have actually found the problem and am I working on a patch. I should have it ready shortly. Thank you for the report!
@TabascoSkittles
Hmm... That message comes from Bukkit itself. Usually in the case of an uncaught exception. Can you check your console and see if you see any errors there?
Can you please also open up a ticket on this issue?
Hey this looks very cool and the teleport to POI command seems to have exactly the functionality that I am looking for, but I have followed the install instructions and I can't seem to teleport to the POIs. I can create and search for them but trying:
/poi tp 1 -> An internal error occurred while attempting to perform this command
For anybody interested, I'm resurrecting this project from the depths of my code depot!
Confirmed fixes:
Confirmed new features:
These features are already coded, but are still being tested and tweaked.
Planned new features:
These features are on my personal "todo" list.
Under consideration:
These are ideas that I'm considering.
@Belgaric
The inability to alias compound commands (such as "poi search") lies at the heart of the challenge. :-/
My recommendation for you is that you alias the "poi" command to "quest". Your users can then do "/quest search". This gives them full access to all commands that they have permissions for and a help screen which still makes sense.
What I will do, however, is make a pass on the code this week and make sure that the help screen reflects the correct command. So if you use bukkit.yml to alias "poi" to "quest", I will make sure the help screen displays properly when your users type: "/quest help. (Currently, it will show "poi" for all commands in the help screen.)
If it helps you, I can also add an option to the config which allows you to rename actions. So for example, you could rename "search" to "hunt". Then you would end up with things like:
/quest goal
instead of
/poi search
Please let me know what you think. :-)
EDIT: I can probably also add a configuration which would allow you to customize help text for a given command. So you could end up with something like this on the help screen:
/quest goals - Find the closest quest goals.
@crussell52
"Unfortunately, I have been unable to find any way to alias commands in a configurable way. All commands and their aliases must be registered in one of the plugin files which appears to make configurable aliases impossible."
Bukkit it self supports aliases via bukkit.yml. I tried this way but bukkit use only the first part of a command pattern.
e.g. essentials plugin.yml
@Belgaric
Unfortunately, I have been unable to find any way to alias commands in a configurable way. All commands and their aliases must be registered in one of the plugin files which appears to make configurable aliases impossible.
I can introduce some hard-coded aliases for the poi comand. If I understand aliases correctly, this would allow something different for the "poi" part of "/poi search".
I can also introduce a way to configure aliases for actions. This would allow configurable aliasing for the "search" part of "/poi search" (for example).
Finally, I could also introduce additional commands which would work the same as poi command/action combinations. For example, a single "/lookaround" command which does the same as "/poi search". My primary concern with this is the increased complexity of the "help" screen.
Thoughts?
This plugin is well done. Would it be possible to get an aliases for /poi search like /search or /lookaround. Would like to use this for handcrafted quests on my server. Another idea would be to use an item via right click to activate the search. The compass would be nice but by default used by WorldEdit.
@DonRedhorse
No, I'm sorry I have not gotten the chance to add dynmap support. Between real-world work and getting my own little server off the ground, I have not had time. I am still maintaining this plugin, and hope to look into dynmap integration in the near future.
hi, any change to hook into dynmap to show the poi's?
Sorry, was bit busy and didn't get a chance to test the patch until just now. The newly generated config.yml is good, and all works 100% now, afaik.
Thanks so much for the timely fix and an extremely awesome plugin to begin with! :D