@@ -80,20 +80,16 @@ public void handleClick(InventoryClickEvent event) {
8080 int amount ;
8181 if (event .getInventory ().getItem (itemSlot ) != null ) {
8282 amount = event .getInventory ().getItem (itemSlot ).getAmount () - 1 ;
83- if (amount == 0 ) {
84- event .getInventory ().setItem (itemSlot , null );
85- } else {
86- event .getInventory ().getItem (itemSlot ).setAmount (amount );
87- }
83+ ItemStack item = event .getInventory ().getItem (itemSlot );
84+ item .setAmount (amount );
85+ event .getInventory ().setItem (itemSlot , item );
8886 }
8987
9088 if (event .getInventory ().getItem (upgradeSlot ) != null ) {
9189 amount = event .getInventory ().getItem (upgradeSlot ).getAmount () - 1 ;
92- if (amount == 0 ) {
93- event .getInventory ().setItem (upgradeSlot , null );
94- } else {
95- event .getInventory ().getItem (upgradeSlot ).setAmount (amount );
96- }
90+ ItemStack item = event .getInventory ().getItem (upgradeSlot );
91+ item .setAmount (amount );
92+ event .getInventory ().setItem (upgradeSlot , item );
9793 }
9894
9995 return ;
@@ -106,17 +102,17 @@ public void handleClick(InventoryClickEvent event) {
106102 public void handleClose (InventoryCloseEvent event ) {
107103 if (!(event .getInventory ().getHolder () instanceof SmithingTable_V1_16 )) return ;
108104
109- if (event .getInventory ().getItem (itemSlot ) != null )
105+ if (event .getInventory ().getItem (itemSlot ) != null && event . getInventory (). getItem ( itemSlot ). getType () != Material . AIR )
110106 event .getPlayer ().getInventory ().addItem (event .getInventory ().getItem (itemSlot ));
111- if (event .getInventory ().getItem (upgradeSlot ) != null )
107+ if (event .getInventory ().getItem (upgradeSlot ) != null && event . getInventory (). getItem ( upgradeSlot ). getType () != Material . AIR )
112108 event .getPlayer ().getInventory ().addItem (event .getInventory ().getItem (upgradeSlot ));
113109 }
114110
115111 @ Override
116112 public void handleDrag (InventoryDragEvent event ) {
117113 if (!(event .getInventory ().getHolder () instanceof SmithingTable_V1_16 )) return ;
118114
119- if (event .getInventory ().getItem (outputSlot ) != null ) {
115+ if (event .getInventory ().getItem (outputSlot ) != null && event . getInventory (). getItem ( outputSlot ). getType () != Material . AIR ) {
120116 event .getInventory ().getItem (outputSlot ).setAmount (0 );
121117 }
122118
0 commit comments