PostalService
About
Postal Service is a mail plugin offering a level of fun, ease of use, and flexibility never available before. Postal Service mixes the best elements of traditional mail and e-mail in an entirely new, visual way and pushes the envelope even further by providing unique ways for players to communicate, share, and trade. By utilizing a GUI and the latest features of Minecraft, the days of memorizing commands, limited functionality, and chat cluttering menus are gone.
Please note: PostalService currently requires a database to function. You can take a look at the full list of requirements below.
Features
Designed with user-experience in mind
PostalService is almost entirely GUI based, and the commands that are needed are made easy with the use of interactive chat messages and tab completion. PostalService even supports writing longer messages in books!
Send just about anything
PostalService can handle different mail types, allowing practically anything to be sent as mail. PostalService comes with 4 built-in mail types and other developers can create their own mail types too! Don't want a particular mail type? No worries! Every mail type can be disabled in the config.
Four built-in mail types:
- Letter - a text only message.
- Package - in-game items.
- Payment - in-game money. (Requires Vault)
- Experience - XP points (not levels)
Mailboxes
PostalService allows you to register chests as mailboxes. Clicking a mailbox opens up the main menu where you can read your mail. You can even require a mailbox to be nearby when players send mail, making mailboxes the hub of all mail related activities.
Multi-world support
For those who have worlds or universes that don't share inventories, xp, currency,etc, you can define "world groups" where mail sent within a world group can only be claimed in that world group.
Permissions for everything
Whether you want only certain permission groups to be able to send a particular mail type, or you want to give permission groups different inbox sizes, PostalService has your back. (Group settings require Vault).
100% translatable with full localization support
Every bit of text, including commands, is phrased in a localization file. Edit it to your hearts content. You can also format and localize time stamps however you like. Players can also set their own timezone settings individually, because not everyone plays in the same timezone, right?
UUID Support
Players can change their name as much as they want without losing their mail data. Disclaimer.
Update Safe
Given there isn't any major API changes, PostalService does not need to be updated after every Minecraft/Bukkit/Spigot update.
Easy Updates
PostalService automatically checks for updates and will alert you when one is available with a button to download the update for you. Too lazy to click the button? New updates can also be automatically downloaded! You can have the auto-downloader download all updates, only minor bugfix updates to your current version, or download none at all! Disclaimer.
Metrics Tracking
This helps to give an idea of how the plugin is being used which in turn gives direction on shaping new features. Disclaimer.
Requirements
- Bukkit/Spigot 1.7+
- Java 7+
- MySQL Database
Getting Started
- Place PostalService in your server's plugins folder. If you plan to use the Payment mail type or permission group settings, make sure Vault is installed as well.
- Restart your server to allow PostalService to generate the default config OR get a copy of the config here and save it to /plugins/PostalService/.
Note: If a config doesn't exist the first time the plugin loads, PostalService will generate the default config file and then disable itself because it needs valid database credentials. - Update the database settings and edit other settings in the config to your liking.
- Restart your server.
- Assign permissions to players.
Future Additions
- Trading Post. A Trade GUI for two players that live updates as player add items to trade. (Nearing completion)
- Send mail to all players as server
- Shipping costs and times
- Mailbox location integration with Dynmap
I welcome your feedback! Drop me a comment telling me what you think. If you have any suggestions, please feel free to submit a ticket with a feature request.
If you have found a bug, issue, or error, please submit a ticket rather than leaving a comment! Players who post errors or file contents straight into a comment will be ignored and comments may be deleted.
Looking for the Spigot page for Postal Service? Here you go!
Love PostalService? Please consider contributing to the pizza and drinks fund. I deeply appreciate your support. Thank you!
@frizzbee30
I am glad you've found the plugin to be useful and I hope the multiworld options suit your needs. I've actually maintained a spigot resource page in tandem with this one since the beginning and there is a link to it above, though it's a little hidden (Towards the bottom, just above the line).
Any plans to put this on the spigot resources site?
Much easier to watch for updates , and I think a lot of server owners have moved over after the great Bukkit 'debacle' :)
@nashoxx
If you google, you will find guidance on how to install a MySQL database locally, that isn't something that can in any way be covered here. Not to seem 'mean' but if you are going to host minecraft, then it is a matter of learning by research, or avoiding plugins that are complex to use.
The plugin works great, and our players are enjoying it's benefits! :)
The plugin isn't working, I type /mail and nothing appear, I've tried every single command and none of them work. I'm working in a private server, hosted from my computer, it requires the database. What do I exactly put in root, password and database? I know these are required to connect to a hosted server from a FTP thingy, which can be something like FileZille, but I'm not using a public server, just a private one hosted from my computer, as I said before. Please I need help.
any way that a player can have ability to receive only specific mail types in a specific world?
i can see it is possible to block sending other postal types, but not receiving. For example block players sending themselves items or money across worlds. Only had a quick look at the perm nodes, but the receive bit seems restricted for that? :)
edit:- ran it on our test server and spotted the world groups :)
This plugin looks impressive, may just manage to squeeze it in if it fits our multi-world restrictions :)
@taha51595
MySQL is structured Query Language, I'm a bit 'befuddled' how you are managing to run a server and config plugins if you don't know what it is?
It's a way of running a large relational database that many plugins use, as opposed to flatfile. You must be very lucky if you haven't found a plugin so far that doesn't at least have MySQL as an option :)
What is MySQL Database I have never heard of that before. is it a plugin?
I am using MCProHosting's MySQL database that comes built in with their services, and for the life of me I can't get your plugin to connect with them.
Hey there ! Great plugin, gotta say. I'm from a small Semi-RP server and we plan on using this and are glad to see a good plugin like this one :) Buuuuuuuut we ran into a small problem '
Whenever we go into DropBox and let an item in there then click onto "Send a Package" the item disapear and so we can't send the package.
Hope you can help us out (We're probably just a bit stupid ._.) Thanks in advance.
Incredible-super-awesome plugin. Keep up the good work.
Awesome plugin! Super-intuitive GUI and perfect set of features. Introduced this to our server today and everyone just loves it. Thanks for making this and cheers!
@ebiggz
Thank you for your reply - makes sense. As it currently functions, you might run into problems with the "flag" indicators, as it only works if it is a dedicated mailbox assignment to a person. It would then makes sense of your suggested need of a private and a public mailbox version, where public mailboxes cannot have indicator lamps.
I have another suggestion: Wouldn't it be cool if your plugin would auto-generate public mailboxes (just a chest on a fence post) while chunks are newly generated - randomly? This would be an awesome feature for the true explorers who wander around the world a lot. Wherever I am on the map, I would send home a note or some items that I wouldn't need on my trip - knowing there is a public mailbox just a couple of chunks away. In your config file you could have an on/off and a setting about the frequency in %. Just a thought...
Maybe a public mailbox should be in every NPC village...?!
Thank you.
@Destrolly
Thanks, Destrolly!
As for your question, currently there isn't a way. Mainly because during the development of PostalService, I flip flopped often on exactly how Mailboxes should function. Currently, mailboxes are simply a block that, when opened, displays the menu for your own inbox. It doesn't matter who's mailbox you open, you will always see your own mail, not the owners. So in the current state, you could create a mailbox (owned by you) for a user at their base and it would function the same as if the user created it, except that they cant remove it. I am still contemplating how I can alter mailbox behavior. Perhaps I could make them have "private" and "public" modes, where private can only be opened by the owner, and public would function as they do now and be opened by anyone, for the cases where players want like a "town mailbox" or something. I'll get an admin command to set a mailbox for another user in soon though, regardless of where I go or don't go with mailbox behavior.
As for your suggestion, I really like that idea. I'll look into the most effective way to go about it.
Nice plugin! I would reccomend this
This is an awesome idea! Thank you for sharing this mod. I'm going to try this out on my server.
Question: As Admin, how can I set a specific mailbox for a user? Example, as Admin, I would like to place a chest and register it for a specific user next to their base - possible? how?
Feature Suggestion: The mailbox needs a visual indicator (like the usual US Mailbox Flags) if I have mail. My idea is, if you place a RedstoneLamp next to or underneath a registered mailbox (chest), your plugin would lit the lamp as "mail in the mailbox" indicator. If read, the lamp would switch off.
Thank you.
@ebiggz
ok,i understand now,i'll hava a try.thank you.
@chinafriend
I had to delete your comment because the error was posted straight into the comment instead of a link to a pastebin.com paste, like requested.
Anyway, it looks like your user has the UUID of "admin", which is not a valid UUID. Is your server in offlinemode or otherwise altering UUIDs? If so, you should set use-uuids to false in the config to avoid this issue.
@xH3LLRAIZ3Rx
Yes, a MySQL database is currently required. I also didn't realize EssentialsX was a thing, so it may be loading after PostalService. I'll make sure EssentialsX loads before PostalService in the next update, I'll have a dev build up in a few minutes.
Edit: The dev build is up now, if you're still interested. Sorry for the issues. I have flat file support on my to-do list, if I see enough need for it, I'll try to get it out the door first.
ahh I didnt know it need Mysql, that could be why