Skip to content

Commit 4e65553

Browse files
committed
Update ContainerDispenser for some Spigot API changes
1 parent c7c3801 commit 4e65553

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/main/java/com/sk89q/craftbook/mechanics/ic/gates/world/items/ContainerDispenser.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,14 @@ public boolean dispenseItem(Inventory inv, ItemStack old) {
166166
BlockFace back = SignUtil.getBack(CraftBookBukkitUtil.toSign(getSign()).getBlock());
167167
Block pipe = getBackBlock().getRelative(back);
168168

169-
PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<>(over.values()), getBackBlock());
169+
ItemStack leftover = new ArrayList<>(over.values()).get(0);
170+
int availableAmount = item.getAmount() - leftover.getAmount();
171+
if (availableAmount <= 0) {
172+
return false;
173+
}
174+
leftover.setAmount(availableAmount);
175+
176+
PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<>(Collections.singletonList(leftover.clone())), getBackBlock());
170177
Bukkit.getPluginManager().callEvent(event);
171178

172179
if(!event.isValid())

0 commit comments

Comments
 (0)