Merge pull request #49 from Diet-Cola/bound-fixes
Check anvil if the second item has armour bound pdc
This commit is contained in:
1 file changed
+28
+28
@@ -15,7 +15,9 @@ import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.inventory.PrepareAnvilEvent;
|
||||
import org.bukkit.event.inventory.PrepareItemCraftEvent;
|
||||
import org.bukkit.inventory.AnvilInventory;
|
||||
import org.bukkit.inventory.CraftingInventory;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -114,6 +116,32 @@ public class ArmourBound extends BasicHack {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onAnvilRepair(PrepareAnvilEvent event) {
|
||||
AnvilInventory inventory = event.getInventory();
|
||||
ItemStack first = inventory.getFirstItem();
|
||||
if (first == null || first.getType() == Material.AIR) {
|
||||
return;
|
||||
}
|
||||
ItemStack second = inventory.getSecondItem();
|
||||
if (second == null || second.getType() == Material.AIR) {
|
||||
return;
|
||||
}
|
||||
if (!second.hasItemMeta()) {
|
||||
return;
|
||||
}
|
||||
PersistentDataContainer container = second.getItemMeta().getPersistentDataContainer();
|
||||
if (!container.has(this.key, PersistentDataType.STRING)) {
|
||||
return;
|
||||
}
|
||||
ItemStack result = event.getResult();
|
||||
if (result == null || result.getType() == Material.AIR) {
|
||||
return;
|
||||
}
|
||||
result.setItemMeta(second.getItemMeta());
|
||||
event.setResult(result);
|
||||
}
|
||||
|
||||
private EquipmentSlot getRealSlot(PlayerArmorChangeEvent.SlotType slotType) {
|
||||
switch (slotType) {
|
||||
case HEAD:
|
||||
|
||||
Reference in new issue
Block a user