Merge pull request #1019 from Kieaer/patch-4

Add WithdrawEvent
This commit is contained in:
Anuken 2019-12-13 23:19:19 -05:00 committed by GitHub
commit 9033ebcfd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View file

@ -139,9 +139,19 @@ public class EventType{
}
/** Called when a player withdraws items from a block. Tutorial only.*/
/** Called when the player withdraws items from a block. */
public static class WithdrawEvent{
public final Tile tile;
public final Player player;
public final Item item;
public final int amount;
public WithdrawEvent(Tile tile, Player player, Item item, int amount){
this.tile = tile;
this.player = player;
this.item = item;
this.amount = amount;
}
}
/** Called when a player deposits items to a block.*/

View file

@ -42,6 +42,7 @@ public class BlockInventoryFragment extends Fragment{
int removed = tile.block().removeStack(tile, item, amount);
player.addItem(item, removed);
Events.fire(new WithdrawEvent(tile, player, item, amount));
for(int j = 0; j < Mathf.clamp(removed / 3, 1, 8); j++){
Time.run(j * 3f, () -> Call.transferItemEffect(item, tile.drawx(), tile.drawy(), player));
}
@ -100,7 +101,7 @@ public class BlockInventoryFragment extends Fragment{
holding = false;
holdTime = 0f;
Events.fire(new WithdrawEvent());
if(net.client()) Events.fire(new WithdrawEvent(tile, player, lastItem, amount));
}
}
@ -153,7 +154,7 @@ public class BlockInventoryFragment extends Fragment{
lastItem = item;
holding = true;
holdTime = 0f;
Events.fire(new WithdrawEvent());
if(net.client()) Events.fire(new WithdrawEvent(tile, player, item, amount));
}
return true;
}