diff --git a/plugin.yml b/plugin.yml index b9ed9b3..8f631d1 100644 --- a/plugin.yml +++ b/plugin.yml @@ -1,5 +1,5 @@ name: OfflineGive -version: 1.0.0.1 +version: 1.0.1.0 author: Celeo website: http://www.darktidegames.com/ descriptions: Allows a player to receive items when they next login diff --git a/src/com/darktidegames/celeo/offlinegive/OfflineGive.java b/src/com/darktidegames/celeo/offlinegive/OfflineGive.java index c2366d6..348228a 100644 --- a/src/com/darktidegames/celeo/offlinegive/OfflineGive.java +++ b/src/com/darktidegames/celeo/offlinegive/OfflineGive.java @@ -165,8 +165,27 @@ else if (sender instanceof Player) return false; add.setDurability((short) i(args[3])); } - addPending(args[0], add); - sendMessage(sender, String.format("§a%s §ewill recieve §a%s §eof §a%s §enext login.", args[0], args[2], args[1])); + Player online = getServer().getPlayer(args[0]); + if (online != null) + { + if (PendingItem.getSpace(online.getInventory().getContents(), add.getTypeId()) >= add.getAmount()) + { + online.getInventory().addItem(add); + sendMessage(sender, "§eItems given directly to §a" + + online.getName() + "§e, as they are online now"); + } + else + { + addPending(args[0], add); + sendMessage(sender, String.format("§a%s §edoes not have inventory room, but is online. They will recieve §a%s §eof §a%s §enext login.", args[0], args[2], args[1])); + online.sendMessage(""); + } + } + else + { + addPending(args[0], add); + sendMessage(sender, String.format("§a%s §ewill recieve §a%s §eof §a%s §enext login.", args[0], args[2], args[1])); + } return true; } diff --git a/src/com/darktidegames/celeo/offlinegive/PendingItem.java b/src/com/darktidegames/celeo/offlinegive/PendingItem.java index 5415e93..582c56a 100644 --- a/src/com/darktidegames/celeo/offlinegive/PendingItem.java +++ b/src/com/darktidegames/celeo/offlinegive/PendingItem.java @@ -151,7 +151,7 @@ public void transfer(Player player) * int * @return int */ - public int getSpace(ItemStack[] contents, int typeId) + public static int getSpace(ItemStack[] contents, int typeId) { int count = 0; ItemStack addItem = new ItemStack(typeId, 1);