PaperMail
Introduction
With this plugin you can send other players items,texts, and money with a physical mailbox.
Every player has an default mailbox which can be accessed by left clicking a mailbox sign. Also a mailbox can be created from a chest to add additional space in a players inbox.
Items can be sent either through right clicking with an item or by right clicking a mailbox sign.
Texts which are sent through a command get converted to a physical letter and get placed inside the recipients mailbox.
Money may be sent through the ItemMail GUI by right clicking a mailbox or letterpaper. Inside the ItemMail GUI, there is now a gold Bar item that appears if Sending money is enabled in the config. You may left click to increase the amount and right click to decrease the amount. When you are done, click send and your money will be converted into a "Bank Note" item(a piece of paper) and be sent to the recipient! The recipient may then hold this Bank Note in their hand and right click it to deposit the money into their account.
Features
- Fully configurable default inbox
- Fully configurable sending window
- Sending items to other players inboxes
- Send texts as items
- Charge money to send text mail (v1.0.0.7)
- Charge money to send items, configurable per item or per mail. (v1.0.0.7)
- Send money through a Bank Note Item. (v1.0.1.3)
Screenshots and other images
Because pictures say more than 1000 words here some pictures:
Videos
Plugin Showcase by bobby1727mc :
Special thanks to ApacheMC and Sparky12387 for making this video!
Commands
- /papermail sendtext <PLAYER> <TEXT> Sends a textmail to the player
- /papermail createbox <PLAYER> Creates an InboxChest when typed while looking at a chest.
How to use
Item Mailing
To get started with the item mailing you need to create a mailbox sign or craft some letterpaper to send a itemletter.
You can create the sign by placing a sign and putting "[Mailbox]" in the second line, letter paper can be created by placing paper, a feather and an ink sac into the crafting grid in any shape.
When right-clicking, either the mailbox sign or with the letter paper, the mail window opens.
To define the recipient of the mail add a written book in the top-left slot of the window and add the other items you want to send.
When clicking the send button (the green wool on the right side) your mail will be sent.
Text Mailing
To send a text mail simply enter the command
/papermail sendtext
followed by the recipient and your message.
Permissions
papermail.send.text
Allows to use the command /papermail sendtext Is set by default
papermail.send.item
Allows to use mailbox signs or rightclick with letter paper to send items Is set by default
papermail.createchest
Allows to create inbox chests using /papermail createbox Is set by default
papermail.costs.exempt
Makes the user exempt from mailing costs. is false by default.
Configuration
general: EnableTextMail: true //Allow the use of Text mail messages with /papermail sendtext EnableItemMail: true // Allow the use of Item Mailing EnableEnderchest: true // Allow access to Enderchest from ItemMail GUI EnableMailCosts: false // Enable costs to send texts and Item Mails EnablePerItemCosts: false // Enable Costs per item instead of per mail instance EnableSendMoney: false //Enable the Ability to send Money through the PaperMail GUI CostToText: 0.0 // Cost to send Text mail messages with /papermail sendtext SendItemCost: 0.0 // Cost to send an item(or PerItemCost if PerItemCosts is enabled) MailWindowRows: 3 // Size of the mail window DefaultBoxRows: 4 // Size of the default inbox which is accessed by left clicking the sign EnderChestRequirementID: 368 EnderChestRequirementDV: 0 MailItemID: 339 // Item ID of the Item which is used to create item mails MailItemDV: 1 // Data value of the Item which is used to create item mails MailItemName: Letter paper // Name of the Item which is used to create item mails messages: inbox-full-send: The mailbox of %recipient% is full, the items have been sent back to you. // Message displayed when recipients mailbox is full ingredient-missing: You are missing %item% to create a new letter. // Message displayed when missing ingredients to create Letter Paper Item.
Depends
1.0.0.7 and above softdepends on vault if you want to use the MailCosts or Send Money options with an economy plugin. If no economy is detected but MailCosts is still on, Papermail will default to a Gold Ingot barter system.
To do
Add permissions .exempt for costsAdd ability to send moneyFix Items losing their NBTTag data when mailing items. (This plugin causes some special items created by other plugins such as the EpicItems from EpicBoss Gold Edition to lose their special tag abilities when mailed through the ItemMail system.Make barter item configurable instead of permanently set as GOLD_INGOT.- Create the ability to read from a language,yml to support multiple languages
Fix PaperMail mailing the signed book item also.Create a letterpaper dispenser sign that charges GOLD_INGOTS or money for letterpaper.- Change the Recipient Interface to SignGUI if possible
- Hook into GlobalMarket so you will only need one mailbox
- Create some kind of new mail notification system
- Make it that it doesn't take a command to create a chestbox (Chest on a fencepost)
- Create a command and permission to send money with command. Possible protocolib dependency for this as well? (Use sign GUI to get amount)
Source Code
Want to see the source code? Here it is! https://github.com/BukkitCodersUnited/paperMail
ATTENTION!!!
I REALLY NEED BUG TESTERS! IF INTERESTED PLEASE PM ME!I I WILL GIVE YOU CREDIT ON THE PLUGIN PAGE AND PLUGIN ITSELF FOR YOUR HELP! (This plugin is provided donation free. It takes a lot of time to code a plugin and testing for all possible scenarios is not easy for me :/ To Eliminate time with releasing stable copies of updated PaperMail versions with new features, bug testing helps alot, plus you/your server will have access to early releases of the plugin before they are hosted on bukkit.)
Acclamades
This plugin was featured on Curse! Check out the Spotlight here : http://www.curse.com/spotlight/bukkit-plugins/minecraft/49271-minecraft-spotlight-papermail
Testimonials
"I use a lot of plugins, but this has got to be the most awesome plugin I have ever used!" -DrkMatr1984
Update LORELOCKS!
PaperMail v1.0.1.3 Uploaded and Pending Approval! File number 15. This version changes values in the Config so you may need to delete your config.yml and let a new one spawn. Config now has EnableSendMoney as an option. Set to true to allow players to send money. :) (False by default) Updated Pom to include CraftBukkit 1.7.2-R0.2-SNAPSHOT. Finished adding in support to send money. Money is sent by clicking the Gold Bar GUI item. After the money is sent to the player, the player will find a "Bank Note" (A piece of paper) item in their inbox which they may then right click to deposit their cash.
@ryan_the_leach
Actually in the process of working with the global market author to add a hook so items purchased in global market would be sent to ur papermail inbox instead of needing two seperste mailboxes.
Found out its possible to open up a sign gui to get user input. If possible, should I make it so when u click recipient u get a sign gui to put the name in instead of using the written book item?
@Sudding123
File 13 PaperMail 1.0.1.2 uploaded and pending approval! Fixes Suddings error plus fixes another error that may occur when sending an item to a player that has never joined the server before.
@seppyk
Thank you! Just fixed it and will upload the update ASAP!
I get this error log when trying to define the recipient: Could not pass event InventoryClickEvent to PaperMail v1.0.1.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) [spigot.jar:git-Spigot-1171] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-1171] at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [spigot.jar:git-Spigot-1171] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478) [spigot.jar:git-Spigot-1171] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:1360) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.a(SourceFile:32) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.handle(SourceFile:10) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:647) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:259) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:530) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:442) [spigot.jar:git-Spigot-1171] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1171] Caused by: java.lang.NullPointerException at com.github.derwisch.paperMail.PaperMailListener.onInventoryClick_MailGUI_Send(PaperMailListener.java:115) [?:?] at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) [spigot.jar:git-Spigot-1171] ... 14 more
@DrkMatr1984
I uploaded an update for 1.7.2 a few days ago, still waiting on approval.
This is really cool, nice job, I was wondering whether you would be interested in adding some sort of trading similar to this?
@DrkMatr1984
Update is uploaded and will be available shortly. This is the last version I will compile for 1.6.4.
Will update to CraftBukkit 1.7.2 compatibility in the next two days. Possibly add in mailing money to other players by putting a number into the first line of the written book :)
@DrkMatr1984
Think I fixed the Item Problem by using CorrieKay's method. Will automatically update your old mailbox data to the new format unlike the old update. Sorry that one broke your mailbox's guys!
I must apologize to everyone who uses PaperMail.
I claimed in the current version that I fixed Items losing their NBTTag data on sending. This is only true for MOST itemstacks. While EpicBoss Items will continue to function the same, you are not able to sell them to shops for the same price as their EpicBoss creature drop of the same item. Somehow some of the data that makes the ItemStacks "equal" are being lost.
This being said, I am hard at work the next two days to fix this problem and make it fully support the Items featured in so many new custom item plugins.
@DrkMatr1984
No problem! Thanks for adding the video I really do appreciate it and i'm glad you like it!
@bobby1727mc
Thanks guys! You have no idea how much this means to me!
When I took over this plugin 6 months ago I had no idea what I was doing coding in Java. I vaguely knew how to update imports in the code and that was about it. Recently I've begun to upload updates which actually ADD features and fix known bugs as I get better at Java. Stay tuned for more improvements!
But to the point, this is an awesome show of gratitude for my hard work and time I put into keeping this plugin active. It really does make open-source programming so much more rewarding to me, when you guys, the users of my plugins, take the time to say thanks or make a video like this! :) Thanks again guys!
Also, if you like this plugin, check out some of the updates I have made to TrainTicket. I've created an updated Wiki with links to my github and dev builds!
https://github.com/DrkMatr1984/TrainTicket/wiki
Hey DrkMatr, I saw this plugin and noticed it didn't have a video so I made one because I love the idea of having mailboxes in minecraft. Really good job on the plugin and here is the link to the video for you to add. Thanks!
http://www.youtube.com/watch?v=-mbstCatWDA&feature=youtu.be
I feel like I'm spamming my own comments :/ I Fixed the Items losing their Data when sending through PaperMail. Uploaded and pending Approval. Anyone have any problems/ideas? Let me know!
Uploaded a Hotfix to support nicknames plugins since so many were having problems with this! Sorry it took me so long to get around to it!
Pending Approval!
v1.0.0.7 Uploaded and awaiting approval! Updated description page here, check it out for updates!
If you have had an older version of PaperMail this update breaks the old /plugins/papermail/config.yml. Delete your old one or move it and let a new one generate if running 1.0.0.7 for the first time.
Added mailing costs!
@DrkMatr1984
Working on Linking Vault into this Plugin! So far I have text mail Configurable for prices and an option in Config to enable/disable prices. For item mailing, do people want it per item or per message?