Skip to content

Commit 53fa354

Browse files
committed
Fixes
1 parent f6e235f commit 53fa354

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

src/main/java/com/artillexstudios/axsmithing/gui/impl/SmithingTable_V1_16.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

src/main/java/com/artillexstudios/axsmithing/listener/InteractListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public void onPlayerInteractEvent(@NotNull final PlayerInteractEvent event) {
2020
if (event.getAction().equals(Action.LEFT_CLICK_BLOCK)) return;
2121

2222
if (AxSmithingPlugin.is1_20()) {
23-
if (Via.getAPI().getPlayerVersion(event.getPlayer()) == ProtocolVersion.v1_20.getVersion()) {
23+
if (Via.getAPI().getPlayerVersion(event.getPlayer()) == ProtocolVersion.v1_20.getVersion() && !AxSmithingPlugin.getConfiguration().getBoolean("menu.v1_20.force-for-1_20-clients")) {
2424
return;
2525
}
2626
} else {

src/main/resources/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ menu:
99
output-slot: 14
1010
# If you need netherite upgrade template to convert a diamond item to netherite
1111
need-netherite-template: true
12+
# If we should force our gui instead of the default one, for 1.20 players.
13+
# Can be useful, if you want to remove the need for netherite template usage
14+
force-for-1_20-clients: false
1215
items:
1316
'1':
1417
slots:

0 commit comments

Comments
 (0)