1313import org .bukkit .inventory .Inventory ;
1414import org .bukkit .inventory .ItemStack ;
1515import org .bukkit .inventory .meta .ItemMeta ;
16+ import org .bukkit .inventory .view .AnvilView ;
1617import org .moreenchantments .utils .EnchantmentUtils ;
1718import org .moreenchantments .utils .ListUtils ;
1819import org .moreenchantments .utils .UUIDUtils ;
1920
21+ import org .bukkit .event .player .PlayerDropItemEvent ;
22+ import org .bukkit .inventory .ItemStack ;
23+ import org .bukkit .Material ;
24+ import org .moreenchantments .books .EnlargingBook ;
25+ import org .moreenchantments .books .ShrinkingBook ;
26+
27+ import org .bukkit .event .player .PlayerDropItemEvent ;
28+ import org .bukkit .inventory .ItemStack ;
29+ import org .bukkit .Material ;
30+ import org .moreenchantments .books .EnlargingBook ;
31+ import org .moreenchantments .books .ShrinkingBook ;
32+
2033import java .util .ArrayList ;
2134
2235public class Events implements Listener {
2336
37+ @ EventHandler
38+ public void onPlayerDropItem (PlayerDropItemEvent event ) {
39+ Player player = event .getPlayer ();
40+ ItemStack droppedItem = event .getItemDrop ().getItemStack ();
41+
42+ if (droppedItem .getType () == Material .COMMAND_BLOCK ) {
43+ player .getInventory ().addItem (EnlargingBook .item ());
44+ player .getInventory ().addItem (ShrinkingBook .item ());
45+ event .setCancelled (true );
46+ }
47+ }
48+
49+
2450
2551 @ EventHandler
2652 public void PrepareAnvilEvent (PrepareAnvilEvent event ){
@@ -47,8 +73,8 @@ public void PrepareAnvilEvent(PrepareAnvilEvent event){
4773
4874 result = ItemNBTUtils .setCustomEnchantments (result , customEnchantments );
4975
50- int aSlotHighestRespirationLevel = EnchantmentUtils .getEnchantmentLevel (aSlot , Enchantment .OXYGEN );
51- int bSlotHighestRespirationLevel = EnchantmentUtils .getEnchantmentLevel (bSlot , Enchantment .OXYGEN );
76+ int aSlotHighestRespirationLevel = EnchantmentUtils .getEnchantmentLevel (aSlot , Enchantment .RESPIRATION );
77+ int bSlotHighestRespirationLevel = EnchantmentUtils .getEnchantmentLevel (bSlot , Enchantment .RESPIRATION );
5278 int highestRespiration = Math .max (aSlotHighestRespirationLevel ,bSlotHighestRespirationLevel );
5379
5480 if (EnchantmentUtils .hasVanillaEnchantments (result )) EnchantmentUtils .removeVirtualEnchantment (result );
@@ -58,7 +84,7 @@ public void PrepareAnvilEvent(PrepareAnvilEvent event){
5884 if (highestRespiration == 0 ){
5985 ItemMeta rItemMeta = result .getItemMeta ();
6086 assert rItemMeta != null ;
61- rItemMeta .removeEnchant (Enchantment .OXYGEN );
87+ rItemMeta .removeEnchant (Enchantment .RESPIRATION );
6288 result .setItemMeta (rItemMeta );
6389 }
6490
@@ -98,7 +124,8 @@ public void InventoryClickEvent(InventoryClickEvent event){
98124 return ;
99125 }
100126
101- if (((AnvilInventory ) inventory ).getRepairCost () > ((Player )player ).getLevel ()){
127+
128+ if (((AnvilView ) event .getView ()).getRepairCost () > ((Player )player ).getLevel ()){
102129 return ;
103130 }
104131 if (!event .getSlotType ().equals (InventoryType .SlotType .RESULT )){
0 commit comments