Banana Item Mail
This plugin requires BananaInventoryAPI
Get it here: https://dev.bukkit.org/projects/banana-inventory-api

What is this?
This plugin brings a whole new mail system to Minecraft. It includes an easy to use GUI, as well as plenty of configurable options too.
How to use this:
There are only 2 commands, and 1 of them is only for those who know what they're doing/want to explore. The first command is /mail, which brings up the mail GUI. This gui contains several buttons as well as a storage area. Players are only able to send mail to others who have joined after this plugin is installed.
The Buttons:
Privacy -This button toggles whether or not a player's mailbox is visible to others
Send mail - This button switches the pane to a ton of player heads to whom they can send items
Mailbox - This button switches the pane to the player's mailbox where they can withdraw their mail
Notifications - This button determines whether they will be notified if they get sent something in the mail
Visibility - This button appears in the bottom and can be toggle to show all players or only the online players.
The features:
Cooldowns
World blacklist
Message customization
Mailing range
Truly customizable menu( REALLY!! )
Permissions:
bananaitemmail.mail - Lets the user mail other people
bananaitemmail.admin - Lets the user mail anyone
bananaitemmail.bypass.cooldown - Lets the user bypass the cooldown between sending mail
bananaitemmail.bypass.distance - Mail people anywhere
bananaitemmail.superadmin - Allows you to create the dev config - This permission is false by default
Commands:
/mail - Opens the mail GUI
/enabletheawesomedevconfigforbananaitemmail - creates the dev config for supreme customization
Config:
# BananaItemMail config - Created by BananaPuncher714
# Whether or not you can mail to yourself
mail-to-self: false
# Whether or not you can mail to offline players
mail-to-offline-players: true
# Here are some worlds that Banana Mail does not deliver to
blacklisted-worlds:
- world_nether
- world_the_end
# This is the range of mail. Anything greater than 0 is how far away the person must be
# 0 means as long as they're in the same world
# -1 means as long as they're not in a blacklisted world
mail-mode: 0
# This is whether or not to disable the command completely when in a blacklisted world
disable-mail-completely: true
# The cooldown in seconds before you can mail someone
cooldown-time: 10
# Here's a bunch of messages for you to edit to your heart's delight!
# Remember!! When putting color codes in, the color goes before anything else!! ex. bold, italic
# Leave them empty "" if you don't want it to be displayed
# Only certain messages support %p, the name of the player who you're interacting with
# Only the first message supports %t, which is the amount of seconds left before you can mail
messages:
cooldown-message: "&c&lYou have to wait %t seconds before you can send mail!"
sent-mail: "&a&lYou sent mail to %p!"
got-mail: "&b&lYou recieved mail from %p!"
mail-was-empty-so-not-sent: "&c&lYou didn't send any mail!"
too-far: "&c&lYou are too far from %p to send them mail!"
totally-disabled: "&c&lBanana Mail Service is unavailable in this world"
wrong-world: "&c&lYou or %p are in a world that does not receive Banana Mail Service!"
different-world: "&c&lYou and %p are in different worlds!"
no-permission: "&c&lYou do not have permission to use the mailbox!"
The Dev Config:
# This is the master control for the entire format of the mailbox menu
# If you mess up, delete this file to try again :)
# Only mess with these if you know exactly what you are doing! or not...
# Remember!! When putting color codes in, the color goes before anything else!! ex. bold, italic
# These are the default settings
# Here is the main menu config
# Don't bother adding anything because it's all hard-coded into the plugin already
main-menu:
rows: 5
title: "&1&lMailbox"
panels:
selection-panel:
slot: 9
# If x and y expandable are true, setting x and y doesn't make much of a difference
x: 1
y: 1
x-expandable: true
y-expandable: true
panes:
send-mail-pane:
# %p in the display name means the player's name
item-online-display-name: "&a%p"
item-offline-display-name: "&c%p"
item-lore:
- "&7Click to send mail"
buttons:
send-mail:
slot: 3
item-id: 328
display-name: "&b&lSend mail"
lore: []
check-mailbox:
slot: 5
item-id: 339
# %p here means the player that's viewing the mailbox
display-name: "&b&l%p's mailbox"
lore: []
toggle-privacy:
slot: 1
item-id-on: 130
item-id-off: 54
display-name: "&9Click to change mailbox privacy"
lore-on:
- "&7This mailbox is currently public"
lore-off:
- "&7This mailbox is currently private"
toggle-notifications:
slot: 7
item-id-on: 348
item-id-off: 331
display-name-on: "&9Click to disable notifications"
display-name-off: "&9Click to enable notifications"
lore-on:
- "&7Notifications are currently on"
lore-off:
- "&7Notifications are currently off"
toggle-recipients:
slot: 40
item-id-on: 381
item-id-off: 368
display-name: "&aClick to change player visibility"
lore-on:
- "&7Currently viewing all players"
lore-off:
- "&7Currently viewing only online players"
next-page:
slot: 44
item-id: 262
display-name: "&f&lNext Page"
lore: []
previous-page:
slot: 36
item-id: 262
display-name: "&f&lPrevious Page"
lore: []
# Here is the inventory where you send people stuff
# The name of the player who you're sending stuff to
# is automatically placed between the prefix and suffix
outgoing-mail-menu:
rows: 4
prefix: "&1"
suffix: "'s mailbox"
This plugin was created to showcase the power of BananaInventoryAPI. If you have any questions, requests, or bugs, PM me.
Be sure to check out the source code!