Skip to content

Commit

Permalink
Migrate item transactions
Browse files Browse the repository at this point in the history
  • Loading branch information
MrHell228 committed Sep 15, 2024
1 parent 7c349a5 commit 9bbd6dd
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.spongepowered.api.Sponge;
import org.spongepowered.api.item.inventory.Inventory;
import org.spongepowered.api.item.inventory.ItemStack;
import org.spongepowered.api.item.inventory.ItemStackLike;
import org.spongepowered.api.item.inventory.ItemStackSnapshot;
import org.spongepowered.api.util.CopyableBuilder;

Expand Down Expand Up @@ -179,31 +180,47 @@ interface Builder extends org.spongepowered.api.util.Builder<InventoryTransactio
Builder type(final Type type);

/**
* Adds the provided {@link ItemStack itemstacks} as stacks that have been
* @deprecated Use {@link #reject(ItemStackLike...)} instead.
*/
@Deprecated(forRemoval = true)
default Builder reject(ItemStack... itemStacks) {
return this.reject((ItemStackLike[]) itemStacks);
}

/**
* Adds the provided {@link ItemStackLike itemstacks} as stacks that have been
* "rejected".
*
* @param itemStacks The itemstacks being rejected
* @return This builder, for chaining
*/
Builder reject(ItemStack... itemStacks);
Builder reject(ItemStackLike... itemStacks);

/**
* Adds the provided {@link ItemStack itemstacks} as stacks that have been
* Adds the provided {@link ItemStackLike itemstacks} as stacks that have been
* "rejected".
*
* @param itemStacks The itemstacks being rejected
* @return This builder, for chaining
*/
Builder reject(Iterable<ItemStackSnapshot> itemStacks);
Builder reject(Iterable<? extends ItemStackLike> itemStacks);

/**
* @deprecated Use {@link #poll(ItemStackLike)} instead.
*/
@Deprecated(forRemoval = true)
default Builder.PollBuilder poll(ItemStackSnapshot itemStack) {
return this.poll((ItemStackLike) itemStack);
}

/**
* Sets the provided {@link ItemStackSnapshot} as the stack that has been polled from the inventory.
* Sets the provided {@link ItemStackLike} as the stack that has been polled from the inventory.
*
* @param itemStack The polled itemstack
*
* @return This builder, for chaining
*/
Builder.PollBuilder poll(ItemStackSnapshot itemStack);
Builder.PollBuilder poll(ItemStackLike itemStack);

/**
* Adds the provided {@link ItemStack itemstacks} as stacks that are
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import org.spongepowered.api.data.Transaction;
import org.spongepowered.api.item.inventory.ItemStack;
import org.spongepowered.api.item.inventory.ItemStackLike;
import org.spongepowered.api.item.inventory.ItemStackSnapshot;
import org.spongepowered.api.item.inventory.Slot;

Expand All @@ -51,12 +52,20 @@ public SlotTransaction(Slot slot, ItemStackSnapshot original, ItemStackSnapshot
}

/**
* Sets the custom {@link ItemStack} output of this
* @deprecated Use {@link #setCustom(ItemStackLike)} instead.
*/
@Deprecated(forRemoval = true)
public void setCustom(ItemStack stack) {
this.setCustom((ItemStackLike) stack);
}

/**
* Sets the custom {@link ItemStackLike} output of this
* {@link SlotTransaction}.
*
* @param stack The stack
*/
public void setCustom(ItemStack stack) {
public void setCustom(ItemStackLike stack) {
this.setCustom(Objects.requireNonNull(stack, "ItemStack was null").asImmutable());
}

Expand Down

0 comments on commit 9bbd6dd

Please sign in to comment.