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
@cbcore
I have uploaded a patched version of the jar. It is labeled v0.6.5b and is pending approval.
If you are comfortable doing so, the following steps should also fix the problem. If you do apply this patch, I still recommend downloading the patched version, once it is available.
1. Open PointsOfInterest.jar as a zip file 2. Locate resources/config_tpl.txt 3. Modify config_tpl.txt to contain the following two lines:
4. Try it again!
Hope that helps!
It's all good, it's only me and two or three friends on my server for the time being so I just gave us all the override permission. Like I said, I really enjoy this plugin, thanks for creating it! :D
@cbcore
I'm really not sure what happened with the build I uploaded. It is a strange mix of version 0.6.0 and 0.6.5 :-/
Unfortunately, I can only look at my source code from where I am... I can not do a build. I will get a fixed build up tonight (hopefully by 7:00PM EST).
Thank you for letting know about that!
@cbcore
I'm sorry, but off the top of my head, I don't have an answer for you.
I am on my way into my "day job", but I wanted to stop by and at least let you know that I saw the question.
I will investigate right after work and get back to you with any information as soon as possible.
I have only just found this plugin, and it sounds really interesting, and useful for my build server. I like the idea of the lockdown feature, I'm just having some trouble with it. It seems that the config file wasn't automatically generated with a 'lockDown' field in it, so I tried adding it myself:
lockDown: false
That didn't do anything, it still started with lockdown mode enabled. So for kicks and giggles I changed it:
lockDown: 0
And that returned with:
"Bad configuration for lockDown - - assuming true."
So I know it sees the value for lockDown, but regardless of the fact I put 'false' down as the option, it refuses to start the server with lockdown mode disabled. So I changed it back to 'false' as it should be, and restarted the server, and also even tried just reloading the config through the server with /poi config, and no luck. Any ideas on how to fix this?
Hi All!
In the latest version (the first one released here), I introduced an automatic "lockdown" mode which protects your server until you have a chance to configure the plugin.
This provides for an easier, but still secure installation. In contrast, the choices were to manually configure before starting the server; start the server, stop the server, configure, restart the server; run the server with default settings while you configured it.
In the past, I released PointsOfInterest as a zip file which included a default config for those who wanted to configure before starting the server. With the auto "lockdown" in place, I feel it is now safe to start the server and let the default config be auto-generated since nothing will be accessible until you confirm your config settings.
I felt that approach to be cumbersome. I know that I personally prefer to just download the .jar directly instead of fiddling with a zip file and extra stuff in it. But I also know that the server start/stop/configure/restart can be really inconvenient.
So I'd like some feedback on my "lockdown" approach. Did you find it annoying? Difficult? Easy? Reasonable? Are there any other suggestions for improvements on my approach?
Thank you for the feedback!