Forgot auto-equip code.

This commit is contained in:
sigonasr2 2016-08-21 14:59:51 -05:00
parent 6dd39028f7
commit ba064c96e0
2 changed files with 27 additions and 24 deletions

Binary file not shown.

View File

@ -3475,7 +3475,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (ev.getCurrentItem()!=null &&
ev.getCurrentItem().getType()!=Material.AIR) {
//player.getLocation().getWorld().dropItemNaturally(player.getLocation(), ev.getCurrentItem()).setPickupDelay(0);
GenericFunctions.giveItem(player, ev.getCurrentItem());
boolean equipped = AutoEquipItem(ev.getCurrentItem(),player);
if (!equipped) {
GenericFunctions.giveItem(player, ev.getCurrentItem());
}
ev.setCurrentItem(new ItemStack(Material.AIR));
final DecimalFormat df = new DecimalFormat("0.00");
@ -5066,69 +5069,69 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setCancelled(true);
}
}
AutoEquipItem(ev, p);
boolean handled = AutoEquipItem(ev.getItem().getItemStack(), p);
if (handled) {
ev.getItem().remove();
ev.setCancelled(handled);
}
}
public void AutoEquipItem(PlayerPickupItemEvent ev, Player p) {
if (ev.getItem().getItemStack().getType().toString().contains("BOOTS") ||
ev.getItem().getItemStack().getType().toString().contains("LEGGINGS") ||
ev.getItem().getItemStack().getType().toString().contains("CHESTPLATE") ||
ev.getItem().getItemStack().getType().toString().contains("HELMET") ||
ev.getItem().getItemStack().getType().toString().contains("SHIELD")) {
ItemStack armor = ev.getItem().getItemStack();
public boolean AutoEquipItem(ItemStack item, Player p) {
if (item.getType().toString().contains("BOOTS") ||
item.getType().toString().contains("LEGGINGS") ||
item.getType().toString().contains("CHESTPLATE") ||
item.getType().toString().contains("HELMET") ||
item.getType().toString().contains("SHIELD")) {
ItemStack armor = item;
//See if this armor type is not being worn by the player.
if (armor.getType().toString().contains("BOOTS") &&
p.getEquipment().getBoots()==null &&
(!GenericFunctions.isRanger(p) || (armor.getType().toString().contains("LEATHER")))) {
p.getEquipment().setBoots(armor);
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(ev.getItem().getItemStack().getItemMeta().hasDisplayName()?ev.getItem().getItemStack().getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(ev.getItem().getItemStack())));
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(item.getItemMeta().hasDisplayName()?item.getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(item)));
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 1.0f, 1.0f);
GenericFunctions.playProperEquipSound(p,armor.getType());
ev.getItem().remove();
ev.setCancelled(true);
return true;
} else
if (armor.getType().toString().contains("LEGGINGS") &&
p.getEquipment().getLeggings()==null &&
(!GenericFunctions.isRanger(p) || (armor.getType().toString().contains("LEATHER")))) {
p.getEquipment().setLeggings(armor);
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(ev.getItem().getItemStack().getItemMeta().hasDisplayName()?ev.getItem().getItemStack().getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(ev.getItem().getItemStack())));
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(item.getItemMeta().hasDisplayName()?item.getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(item)));
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 1.0f, 1.0f);
GenericFunctions.playProperEquipSound(p,armor.getType());
ev.getItem().remove();
ev.setCancelled(true);
return true;
} else
if (armor.getType().toString().contains("CHESTPLATE") &&
p.getEquipment().getChestplate()==null &&
(!GenericFunctions.isRanger(p) || (armor.getType().toString().contains("LEATHER")))) {
p.getEquipment().setChestplate(armor);
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(ev.getItem().getItemStack().getItemMeta().hasDisplayName()?ev.getItem().getItemStack().getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(ev.getItem().getItemStack())));
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(item.getItemMeta().hasDisplayName()?item.getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(item)));
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 1.0f, 1.0f);
GenericFunctions.playProperEquipSound(p,armor.getType());
ev.getItem().remove();
ev.setCancelled(true);
return true;
} else
if (armor.getType().toString().contains("HELMET") &&
p.getEquipment().getHelmet()==null &&
(!GenericFunctions.isRanger(p) || (armor.getType().toString().contains("LEATHER")))) {
p.getEquipment().setHelmet(armor);
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(ev.getItem().getItemStack().getItemMeta().hasDisplayName()?ev.getItem().getItemStack().getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(ev.getItem().getItemStack())));
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(item.getItemMeta().hasDisplayName()?item.getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(item)));
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 1.0f, 1.0f);
GenericFunctions.playProperEquipSound(p,armor.getType());
ev.getItem().remove();
ev.setCancelled(true);
return true;
} else
if (armor.getType().toString().contains("SHIELD") &&
p.getInventory().getExtraContents()[0]==null &&
!GenericFunctions.isStriker(p) &&
(!GenericFunctions.isRanger(p) || (armor.getType().toString().contains("LEATHER")))) {
p.getInventory().setExtraContents(new ItemStack[]{armor});
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(ev.getItem().getItemStack().getItemMeta().hasDisplayName()?ev.getItem().getItemStack().getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(ev.getItem().getItemStack())));
p.sendMessage(ChatColor.DARK_AQUA+"Automatically equipped "+ChatColor.YELLOW+(item.getItemMeta().hasDisplayName()?item.getItemMeta().getDisplayName():GenericFunctions.UserFriendlyMaterialName(item)));
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 1.0f, 1.0f);
GenericFunctions.playProperEquipSound(p,armor.getType());
ev.getItem().remove();
ev.setCancelled(true);
return true;
}
}
return false;
}
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)