Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.blockhead7360.skyboxmail;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryCloseEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- public class SkyboxMail extends JavaPlugin implements Listener{
- Map<String, Boolean> map = new HashMap<String, Boolean>();
- Map<String, Boolean> hash = new HashMap<String, Boolean>();
- Map<String, String> maplel = new HashMap<String, String>();
- public void onEnable(){
- saveDefaultConfig();
- getServer().getPluginManager().registerEvents(this, this);
- }
- @SuppressWarnings("unchecked")
- @EventHandler
- public void onInventoryClick(InventoryClickEvent e){
- if (map.get(e.getWhoClicked().getName())){
- e.setCancelled(true);
- }
- if (hash.get(e.getWhoClicked().getName())){
- ItemStack i = e.getCurrentItem();
- List<ItemStack> list = (List<ItemStack>) getConfig().getList("mailbox." + maplel.get(e.getWhoClicked().getName()));
- list.remove(i);
- getConfig().set("mailbox." + maplel.get(e.getWhoClicked().getName()), list);
- saveConfig();
- }
- else if (map.get(e.getWhoClicked().getName()) == false){
- return;
- }
- else return;
- }
- @EventHandler
- public void onInventoryClose(InventoryCloseEvent e){
- if (map.get(e.getPlayer().getName())){
- map.put(e.getPlayer().getName(), false);
- }
- if (hash.get(e.getPlayer().getName())){
- hash.put(e.getPlayer().getName(), false);
- }
- else return;
- }
- public void onDisable(){
- saveConfig();
- }
- String prefix = ChatColor.translateAlternateColorCodes('&', getConfig().getString("prefix")) + " ";
- String dark = ChatColor.DARK_RED + "";
- String red = ChatColor.RED + "";
- String green = ChatColor.GREEN + "";
- String yellow = ChatColor.YELLOW + "";
- String gold = ChatColor.GOLD + "";
- String bold = ChatColor.BOLD + "";
- @SuppressWarnings("unchecked")
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
- if (!(sender instanceof Player)){
- sender.sendMessage(prefix + red + "Sorry. The console cannot use this plugin.");
- return true;
- }
- Player p = (Player) sender;
- if (cmd.getName().equalsIgnoreCase("skyboxmail")){
- if (!sender.hasPermission("skyboxmail.help")){
- sender.sendMessage(prefix + dark + "You do not have permission.");
- return true;
- }
- if (args.length == 0){
- sender.sendMessage(gold + bold + "--- " + prefix + gold + bold + " ---");
- sender.sendMessage(green + "/skyboxmail [reload]" + yellow + " - Help/Reload the plugin");
- sender.sendMessage(green + "/sendmail <player>" + yellow + " - Send the item in your hand to a player\'s mailbox");
- sender.sendMessage(green + "/mailbox [player]" + yellow + " - See your mailbox or that of another player");
- sender.sendMessage(green + "/clearmailbox [player]" + yellow + " - Clear your mailbox or that of another player");
- sender.sendMessage(green + "/mailsign" + yellow + " - Tutorial on how to set up a mailbox sign");
- sender.sendMessage(green + "/sendamail <player>" + yellow + "Send the item in your hand to a player\'s mailbox ANONYMOUSLY");
- sender.sendMessage(ChatColor.BLUE + "SkyboxMail v" + this.getDescription().getVersion() + " by Blockhead7360");
- sender.sendMessage(gold + bold + "--- " + prefix + gold + bold + " ---");
- return true;
- }else{
- if (!sender.hasPermission("skyboxmail.reload")){
- sender.sendMessage(prefix + dark + "You do not have permission.");
- return true;
- }
- reloadConfig();
- sender.sendMessage(green + "The configuration file has been reloaded!");
- return true;
- }
- }
- if (cmd.getName().equalsIgnoreCase("mailbox")){
- if (args.length == 0){
- if (!sender.hasPermission("skyboxmail.box")){
- sender.sendMessage(prefix + dark + "You do not have permission.");
- return true;
- }
- String t = getConfig().getString("inv-title");
- t = t.replace("{player}", sender.getName());
- sender.sendMessage(prefix + green + "Loading mailbox...");
- Inventory v = Bukkit.getServer().createInventory(null, 54, ChatColor.translateAlternateColorCodes('&', t));
- for (Object i : getConfig().getList("mailbox." + sender.getName())){
- ItemStack n = (ItemStack) i;
- v.addItem(n);
- }
- p.openInventory(v);
- hash.put(sender.getName(), true);
- maplel.put(sender.getName(), sender.getName());
- return true;
- }else{
- if (!sender.hasPermission("skyboxmail.box.others")){
- sender.sendMessage(prefix + dark + "You do not have permission.");
- return true;
- }
- String t = getConfig().getString("inv-title");
- t = t.replace("{player}", args[0]);
- sender.sendMessage(prefix + green + "Loading mailbox...");
- Inventory v = Bukkit.getServer().createInventory(null, 54, ChatColor.translateAlternateColorCodes('&', t));
- for (Object i : getConfig().getList("mailbox." + args[0])){
- ItemStack n = (ItemStack) i;
- v.addItem(n);
- }
- p.openInventory(v);
- hash.put(sender.getName(), true);
- maplel.put(sender.getName(), args[0]);
- if (!sender.hasPermission("skyboxmail.box.edit.others")){
- map.put(sender.getName(), true);
- }
- return true;
- }
- }
- if (cmd.getName().equalsIgnoreCase("sendamail")){
- if (!sender.hasPermission("skyboxmail.send.anonymous")){
- sender.sendMessage(prefix + dark + "You do not have permission.");
- return true;
- }
- if (args.length == 1){
- ItemStack i = p.getItemInHand();
- if (i.getType() == Material.AIR){
- sender.sendMessage(prefix + red + "You must hold something in your hand.");
- return true;
- }
- List<String> lore = i.getItemMeta().getLore();
- lore.add(yellow + "Anonymously Sent!");
- i.getItemMeta().setLore(lore);
- List<ItemStack> list = (List<ItemStack>) getConfig().getList("mailbox." + args[0]);
- list.add(i);
- getConfig().set("mailbox." + args[0], list);
- saveConfig();
- sender.sendMessage(prefix + green + "Just sent an item to " + yellow + args[0]);
- sender.sendMessage(prefix + gold + "Material: " + yellow + i.getType());
- if (i.hasItemMeta()){
- if (i.getItemMeta().hasDisplayName()){
- sender.sendMessage(prefix + gold + "Display Name: " + yellow + i.getItemMeta().getDisplayName());
- }
- sender.sendMessage(prefix + gold + "Lore: " + yellow + i.getItemMeta().getLore().toString());
- if (i.getItemMeta().hasEnchants()){
- sender.sendMessage(prefix + gold + "Enchantments: " + yellow + i.getItemMeta().getEnchants().toString());
- }
- }
- return true;
- }else{
- sender.sendMessage(prefix + red + "Usage: /sendamail <player>");
- sender.sendMessage(prefix + red + "WARNING: Player name is CaSe SeNsItIvE");
- return true;
- }
- }
- if (cmd.getName().equalsIgnoreCase("sendmail")){
- if (!sender.hasPermission("skyboxmail.send")){
- sender.sendMessage(prefix + dark + "You do not have permission.");
- return true;
- }
- if (args.length == 1){
- ItemStack i = p.getItemInHand();
- if (i.getType() == Material.AIR){
- sender.sendMessage(prefix + red + "You must hold something in your hand.");
- return true;
- }
- if (i.hasItemMeta() && i.getItemMeta().hasLore()){
- List<String> lore = i.getItemMeta().getLore();
- lore.add(yellow + "Sent from " + sender.getName());
- i.getItemMeta().setLore(lore);
- }
- if (!i.hasItemMeta()){
- List<String> lore = new ArrayList<String>();
- lore.add(yellow + "Sent from " + sender.getName());
- i.getItemMeta().setLore(lore);
- }
- if (i.hasItemMeta() && !i.getItemMeta().hasLore()){
- List<String> lore = new ArrayList<String>();
- lore.add(yellow + "Sent from " + sender.getName());
- i.getItemMeta().setLore(lore);
- }
- List<ItemStack> list = (List<ItemStack>) getConfig().getList("mailbox." + args[0]);
- list.add(i);
- getConfig().set("mailbox." + args[0], list);
- saveConfig();
- sender.sendMessage(prefix + green + "Just sent an item to " + yellow + args[0]);
- sender.sendMessage(prefix + gold + "Material: " + yellow + i.getType());
- if (i.hasItemMeta()){
- if (i.getItemMeta().hasDisplayName()){
- sender.sendMessage(prefix + gold + "Display Name: " + yellow + i.getItemMeta().getDisplayName());
- }
- sender.sendMessage(prefix + gold + "Lore: " + yellow + i.getItemMeta().getLore().toString());
- if (i.getItemMeta().hasEnchants()){
- sender.sendMessage(prefix + gold + "Enchantments: " + yellow + i.getItemMeta().getEnchants().toString());
- }
- }
- return true;
- }else{
- sender.sendMessage(prefix + red + "Usage: /sendmail <player>");
- sender.sendMessage(prefix + red + "WARNING: Player name is CaSe SeNsItIvE");
- return true;
- }
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement