Postal
There is no substitute for personal service.
New
- GPS address plotting and compass navigation, Detailed item shipment.
- New WorldGuard, Towny and Dynmap support. New bulk mailing capability.
Introduction
Postal is a Craftbukkit plugin dependant on Citizens2. It is a messaging system making it possible for Minecraft players to communicate with one another using the book and quill, written book item. These written communications may span worlds. Postal is an animated postal presence that may be added to any Minecraft town, settlement or mailroom. Chests are used as residence mailboxes as well as mail storage in local post offices.
Postal Pages | ||
|---|---|---|
| Getting Started | Permissions | Economy Support |
| Towny Support | WayPoint Editor | System Notes |
| Postal Wiki |
Postal Crew
Citizen2 based NPC’s are the Postal crew. They are the postmen spawned and dispatched by Postal. These NPC postmen walk regular routes in towns serviced by Postal post offices. A central post office connects all of the local post offices by teleporting a NPC worker called the PostMaster from town to town, or world to world. This central NPC continually monitors and moves out of town mail to the appropriate destination. The local NPC postman takes it from there. Pickups and deliveries are done on foot, cheerfully. They know how to open and close doors, and they are a wonder on stairs. They are polite.
Addresses
Postal has a two part address system it uses to plot the location of the mailbox it services, as well as define the post office that services the address. A typical address looks like this:
<PostOffice [Address]>
Postal commands generally accept addresses as one word, or two words. If one word is indicated as an address, it is assumed that the subject is a post office. A two word address is a complete address indicating a specific residential mailbox.
The exceptions to this rule of thumb are commands that imply a residence but accept a two word address specifying the post office. /setaddr is an example of this. Invoked with a one word parameter implies that the one word is an address name and Postal is to choose the post office.
There is no built in limit on how many post offices a server may have. The Postal system typically traverses worlds.
New post offices and addresses are created and deleted on the fly. These addresses and post offices are part of a tightly written, hierarchically-structured database. This database is designed to meet the requirements of a dispatcher bent on getting mail delivered efficiently. The post man likes to walk around the town when there is nothing better to do, but get out of his way if there is mail to pick up or deliver.
Geo-Aware
Postal always knows what post office or address you are close to when invoking commands and will be as helpful as possible to relieve you of name details. This help is contextual in nature which makes it possible to use commands without any parameters simply based on your location. Complimenting this ease of use is a command-confirm system that makes it possible for Postal to safely attempt to complete complicated names with just a few characters. This is because you have an opportunity to confirm the completed command with a single ‘/’. If the command didn’t come out right you can simply try again without confirming.
For Towny users, Postal always knows when it is on Towny soil and will defer to Towny hierarchy. All appropriate Postal commands are Towny aware and try to accommodate what Towny players need when used
Creating Addresses
The geographic awareness built into Postal makes it easy to create new addresses. To define a new address the only parameter required is the name you would like to use since Postal will automatically find the closest post office for you. Designing the route for the postman is even easier because Postal will figure out everything based on where you are standing. On a new address you will be teleported to the servicing post office, the beginning of the route, and given a compass pointing to your address. A modern HUD display is included to provide helpful stats while clicking on waypoints. Once you double click the final waypoint the postman will automatically appear using the route you just defined to initialize your mail box.
Finding Addresses
- / TLIST Short for town-list, will present the player with a formatted, alphabetical list of towns when entered without parameters. The closest 3 towns, in order of distance, are also shown. If entered with enough characters to identify a particular town, the addresses of that town are listed.
- / ALIST Short for address-list, will list the addresses of the closest town when entered without parameters. Like /tlist, it will list the addresses of a particular town if entered with enough characters to identify it. The two commands complement each other including details that the other doesn’t.
- / PLIST Short for player-list, lists the closes 8 players, in order of distance when entered without parameters. Along with the listed player is the Postal address he/she is closest to with the compass heading required to get there. If entered with enough characters to complete a player name, Postal will list any Postal addresses or post offices owned by the player.
- / GPS Lists the closest 8 post offices or addresses with their respective compass headings when entered without parameters. /gps may also be given the name of a post office, or an address pair to set your compass to this location.
- / GO Teleports to Postal locations. The type type of location is determined by the number of parameters entered. Entered with no parameters assumes the central post office. One parameter assumes a local post office or town. Two parameters indicates a full residential address. Complicated names are automatically completed, and full named locations, as completed by Postal, are displayed for confirmation before teleportation. These location types may be secured or require owner permission to use.
- Dynmap Postal uses Dynmap if it is installed. All addresses and post offices are plotted and labeled. The active routes and post man locations are shown in real-time.
Navigation
Your compass is calibrated to line up with the standard, Minecraft coordinate system when listing headings with the above commands. These are the same compass directions shown when pressing [F3]. So, with your calibrated compass and the distance and heading combination from the list, you have what you need to navigate to it. This is the way compasses are normally used outside of Minecraft. The benefit of navigating to a destination is that you remain aware of where you are in relation to all the listed destinations, as well as other distance and heading destinations received from other plugins ie: GPS, Pplot and gpsTowny.
Mail and Shipping
Postal letters are based on the written book item. This book will handle up to 50 pages of written correspondence. Item shipping is done with single chests. The two commands used for this have the built-in address finding and completing capabilities described above. Indicating desired addresses is done with the minimum amount of typing. The two commands are: /addr <PO [Address]> and /package <PO [Address]>
On servers that have economy turned on, both of these commands tell you the price of the postage or shipping and give you a chance to confirm it.
Once addressed, letters may be put in any accessible Postal mailbox, and Postal will take it from there. Shipments involve the creation of a shipping label which may be mailed like any letter. Once packaged, the shipment is sign-sealed and indestructible until the post man picks up the shipping label. The post man removes the chest at that point for transport to the recipient.
The recipient of a shipment may refuse the shipment. If refused, the shipment is returned to the sender.
Mass mailings sent to entire towns, even worlds are available to administrators, Towny mayors and post office owners. The /distr command facilitates this.
Capacity Management
Full mail boxes are managed. If the chest is full, the postman will delete the oldest junk mail if he finds one. If that doesn't create the room he needs, he will look for a non-book to delete. If unable to find room in a mailbox, the postman will continue trying to deliver until successful. Mail is otherwise held at the local post office.
Bulk distributions available to post office owners, Towny mayors, and administrators are sent with an expiration date. Regular information mailings therefore do not back up and become undesired clutter
Dispatcher
The NPC dispatcher provides regular coverage and route-walking, oldest next. This dispatcher is also preemptive in that it recognizes mail waiting to be delivered or picked up. The dispatcher manages the route walking schedule to favor actual mail movement over route-walking, or postal presence. Both the post men and the PostMaster are preemptively dispatched to keep the mail moving efficiently.
Chunk Manager
Postal has a chunk manager that monitors chunks required for postal routes. These chunks are automatically loaded and kept loaded. This makes it possible for NPC's to continue doing their job when there is no player in sight. NPC's have a tendency to go to sleep when no player is around. This chunk manager also facilitates the control of spawning monsters on Postal routes. There is a switch in the config file that controls this. By default, Postal routes are kept monster free.
WatchDog
Postal has an evolved watchdog, monitoring system. The Postal workers are vigilantly monitored. It is capable of respawning a NPC worker if something happens to it. It can restart itself if needed. Mail is always backed up. A Server crash or NPC griefing should not result in lost mail. The Citizens NPC’s are pretty reliable on their own.
General Notes
The Bukkit versioning that started early December 2012, applies to all plugins that go outside the Bukkit api to reach the Minecraft api. This started with 145.R1, the first recommended build for 145.
Coincidently, and the cause for much confusion here, The Bukkit api was expanded to include dealing with Book and Quill items. Pre 145.R1 Postal does go beyond the Bukkit api to deal with written books because it has to. Post 145.Ri uses the Bukkit api instead and is therefore exempt from the Bukkit versioning restrictions.
There are only two versions of Postal, delineated by an api improvement not a versioning requirement.
Citizens2 Note: At Citizens build 762 the NPCs underwent navigational, speed refinement. As this relates to Postal there is a modest speed change. It causes the NPCs to move a little slower. It can trigger watchdog activity by Postal since the NPCs don't seem to be on schedule. The fix is simple. Just change the Speed setting in 'Config.yml' from 1.0 to 1.2
Videos
YouTube Getting Started by Hmmcrunchy
-
View User Profile
-
Send Message
Posted Apr 28, 2013@mcfacilitator
Thats pretty much what i want, maby in the main config leave it just as a towny on/off but a new config file for towny configs? that would probably make it less complicated.
-
View User Profile
-
Send Message
Posted Apr 28, 2013@turtledude01
Yes that is possible. I don't have a lot of Towny experience. I'm the mechanic, and I really need to hear what the drivers have to say. I may need something a little more than Towny true/false for configuration, but it would be nice to keep it simple, but intelligent. Simply capping off the PO count for a towny town to one pretty much does what you want.
I do understand the possible problem of mayors going bad and doing something massive with their privileges. Would it make sense to tie the post office count to the size of the town? As towns grow maybe a west station, and a competing fedex. The town name is just going to have to be assumed as the parent of any po's on it.
A lot of effort has gone into ways to look up addresses and po's with the /tlist, /alist and /plist commands. This not only facilitates the addressing of mail and shipments, but there are complimenting tp commands using the same address format. I think I need to show Towny addresses a little differently, and definitely show the parent town name.
btw, the latest cut has the /postal package alternative.
-
View User Profile
-
Send Message
Posted Apr 28, 2013@mcfacilitator
Now your makeing me want all those things. But all configureable right? Any chance of causing the Mayor of a town to only be able to set 1 (configureable) post office with the name of their town as the post office? and maby if they want more than 1, the seccond one gets named <townname>-2. (also configureable?). This would keep people from being abe to spam a tyon of post offices with bad names.
-
View User Profile
-
Send Message
Posted Apr 28, 2013@turtledude01
No problem - I'll get that. Probably '/postal package' Thanks for testing it, I definitely want to hear the problems, especially while I am into it.
That was well timed because I see now that I need to give Towny general residents permission on commands like /package. The whole idea is for Postal to function entirely under Towny permissions in a Towny town. PO & address creation, PO deletion and staying synchronized. Maybe it should be looking for Town removal as well, and remove the PO's along with the town. Then there are times of war when the postmen should stop being so polite, and put on their sentry trait.... (ok, time to stop)
-
View User Profile
-
Send Message
Posted Apr 28, 2013@mcfacilitator
I cant use the /package command (useing t00thtransactions for donations) maby a backdoor method like you have for the accept and deny?. Thanks for everything else, and i am very happy with how the plugin works so far.
-
View User Profile
-
Send Message
Posted Apr 28, 2013@turtledude01
Yeah, I thought this was going to be easy and got a little complacent about it.
There is a backdoor method to accept packages using '/postal accept' for those with questioner.jar conflicts.
I ended up making a page to document Towny since a threshold of depth seems to have been met here.
I found getting started with the Towny api a real bear, but once started, it is not so bad. The important thing is that it works, and works well. (I hope I don't regret putting it that way) :-)
Anyway I will put up the current cut that reflects everything on the Towny page to the pre-release area on the Postal Page in case there are any, much appreciated, testers out there, and I will keep it current.
-
View User Profile
-
Send Message
Posted Apr 27, 2013@mcfacilitator
Yeah, figured that out the hard way. And, they cant define addresses correctly, i dont want to give everyone the permission for it because then they will end up being able to set addresses on every post office. Just found out, i cant use the packages because of a different plugin conflicting :(
-
View User Profile
-
Send Message
Posted Apr 27, 2013@turtledude01
I just realized; Postal doesn't register the mayor with the PO until after it is put in service. I need to fix that, so the mayor can do the whole thing without an op. I'll get that to-morrow. Right now it will take an op to do the /setlocal to get things started.
-
View User Profile
-
Send Message
Posted Apr 27, 2013@turtledude01
I haven't been able to test any of this yet, but will to-morrow. Appreciate the test. Anyone with build permissions can build the physical post office. It will take the mayor to define the addresses, or an assistant with the rank of 'postal'. Ops can do this anyway, but Postal should recognize the town and put the mayor's name on the post office mailbox.
-
View User Profile
-
Send Message
Posted Apr 27, 2013Checking out the pre release now, ill tell you how it works. Just thought of something, are mayors alloud to make the post office, or do i have to set that up using permissions ( but then they would be able to make it anywhere for anything)? And, are they aloud to put it just in their town and named the same as their town, or can they put it anywhere and name it anything.
-
View User Profile
-
Send Message
Posted Apr 27, 2013Just added to the pre-release:
Assistants to the mayor with the rank of 'postal' have admin privileges for the post office(s) in their town.
-
View User Profile
-
Send Message
Posted Apr 27, 2013There is a pre-release on the Postal page of the Citizens2 site with these additions:
Location used to determine the owner of a Towny plot changed from the last waypoint on a route to the location of the mailbox chest.
Refinements to the Towny plugin detection to hopefully eliminate false positives on the status of the plugin.
Towny support expanded to automatically assign post office, ownership privileges to the mayor of the town the post office is located in. Like Towny owned plot integration, 'settings.towny' in 'config.yml' must be set to 'true' for this to be in effect.
I could use some help testing. I am currently looking into what it is going to take for the mayor to be able to delegate management authority to assistants.
-
View User Profile
-
Send Message
Posted Apr 27, 2013@turtledude01
The Towny implementation is relatively recent. Postal has it's own owner based permission system that mirrors the Towny model, but separate. But not so separate any more. If opted in, the plot owners are automatically recognized and granted the equivalent of postal address owners. As you suggest, the next step is to make town owners the privileged owners of any post offices in the owned town. This includes editing, scheduling and eventually the manager of a profit center.
I may as well make it a complete implementation. This is the right spot to leave Towny suggestions. They will be implemented if they make sense.
-
View User Profile
-
Send Message
Posted Apr 26, 2013Do players that are the owner of a town get the permission to setaddresses? they can set routes, but this confuses me. And, is there a way you could allow us to set the specific things that they can do ( kinda like a small permissions thing), like set town owners to be able to set addresses and everything else?
-
View User Profile
-
Send Message
Posted Apr 21, 2013@Sylevar
There is a pre-release on the Postal page of the Citizens2 site that addresses false positive on a Towny installation if you want to try version 294.
-
View User Profile
-
Send Message
Posted Apr 21, 2013@morlanius
There is a pre-release on the Postal page of the Citizens2 wiki that goes by mailbox location. See if that solves the problem.
-
View User Profile
-
Send Message
Posted Apr 21, 2013@morlanius
It is using the last point set with /setroute Maybe I should be using the exact mailbox location. I figured the postman would be on the plot, for sure.
-
View User Profile
-
Send Message
Posted Apr 21, 2013@mcfacilitator
This is going to solve SO many headaches. Thank you.
EDIT: When does it update the signs when its in the normal signcheck routine or just when someone buys/sell/unclaims? its not updating signs here. I changed towny setting to true.
EDIT2: Ok, its not what I thought. the rest of the thing checks the position of the chest relative to the route, but the toeny part checks the position of the sign relative to the plot. as my chests are right on the edge of their plots the signs poke over into a non-owned plot (i used this to stop them from vandalizing them) m
-
View User Profile
-
Send Message
Posted Apr 21, 2013@Sylevar
You found a bug. Just back up a version since you don't have Towny it doesn't matter to you. Here is the link Postal 293
Postal will have economy support in version 3.0
If you could make a pastebin of the stack trace in your server log I would appreciate it.
-
View User Profile
-
Send Message
Posted Apr 20, 2013If this has already been answered I apologize, just tell me and I shall search harder.
When sending an item, the player receiving said item can type /refuse and it works fine, but if they type /accept then it malfunctions with the following code:
"Unhandled exception executing command 'accept' in plugin va_postal v294_146_plus
(bunch of lines)
caused by: java.lang.NoClassDefFoundError com/palmergames/bukkit/towny/exceptions/NotRegisteredException"
(bunch more lines)
What concerns me is that I don't have Towny installed for my server (never could find the plugin) and everything else works perfectly fine so I never figured I needed it. Can you let me know what I've done wrong? I've got the latest Beta build of Bukkit and am also using the Citizens2 plugin.
----
Edit
Also, would it be to complex to add a script that would allow people to send money through the mail (the economy plugin I have uses the /pay command to pay people.) The reason I ask this is because I run an RP server with a "black market" and it would be ideal for shipping items and recieving money as this doesn't show up in my server screen. (thus I wouldn't be able to stop it as a guard)