Skip to content

Commit ffd4e09

Browse files
committed
Migrate enchantments and trade offers
1 parent 6ddddd4 commit ffd4e09

File tree

2 files changed

+49
-7
lines changed

2 files changed

+49
-7
lines changed

src/main/java/org/spongepowered/api/item/enchantment/EnchantmentType.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import net.kyori.adventure.text.ComponentLike;
2828
import org.spongepowered.api.block.entity.EnchantmentTable;
2929
import org.spongepowered.api.item.inventory.ItemStack;
30+
import org.spongepowered.api.item.inventory.ItemStackLike;
3031
import org.spongepowered.api.registry.DefaultedRegistryValue;
3132
import org.spongepowered.api.tag.EnchantmenTypeTags;
3233
import org.spongepowered.api.tag.Taggable;
@@ -82,22 +83,38 @@ public interface EnchantmentType extends DefaultedRegistryValue, ComponentLike,
8283
int maximumEnchantabilityForLevel(int level);
8384

8485
/**
85-
* Test if this enchantment type can be applied to an {@link ItemStack}.
86+
* @deprecated Use {@link #canBeAppliedToStack(ItemStackLike)} instead,
87+
*/
88+
@Deprecated(forRemoval = true)
89+
default boolean canBeAppliedToStack(ItemStack stack) {
90+
return this.canBeAppliedToStack((ItemStackLike) stack);
91+
}
92+
93+
/**
94+
* Test if this enchantment type can be applied to an {@link ItemStackLike}.
8695
*
8796
* @param stack The item stack to check
8897
* @return Whether this enchantment type can be applied
8998
*/
90-
boolean canBeAppliedToStack(ItemStack stack);
99+
boolean canBeAppliedToStack(ItemStackLike stack);
100+
101+
/**
102+
* @deprecated Use {@link #canBeAppliedToStack(ItemStackLike)} instead,
103+
*/
104+
@Deprecated(forRemoval = true)
105+
default boolean canBeAppliedByTable(ItemStack stack) {
106+
return this.canBeAppliedByTable((ItemStackLike) stack);
107+
}
91108

92109
/**
93-
* Test if this enchantment type can be applied to an {@link ItemStack} by
110+
* Test if this enchantment type can be applied to an {@link ItemStackLike} by
94111
* the {@link EnchantmentTable}.
95112
*
96113
* @param stack Te item stack to check
97114
* @return Whether this enchantment type can be applied by the
98115
* enchantment table
99116
*/
100-
boolean canBeAppliedByTable(ItemStack stack);
117+
boolean canBeAppliedByTable(ItemStackLike stack);
101118

102119
/**
103120
* Test if this enchantment type can be applied along with

src/main/java/org/spongepowered/api/item/merchant/TradeOffer.java

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.spongepowered.api.data.persistence.DataSerializable;
3030
import org.spongepowered.api.entity.living.Humanoid;
3131
import org.spongepowered.api.item.inventory.ItemStack;
32+
import org.spongepowered.api.item.inventory.ItemStackLike;
3233
import org.spongepowered.api.item.inventory.ItemStackSnapshot;
3334
import org.spongepowered.api.util.CopyableBuilder;
3435

@@ -164,6 +165,14 @@ static Builder builder() {
164165
*/
165166
interface Builder extends org.spongepowered.api.util.Builder<TradeOffer, Builder>, CopyableBuilder<TradeOffer, Builder>, DataBuilder<TradeOffer> {
166167

168+
/**
169+
* @deprecated Use {@link #firstBuyingItem(ItemStackLike)} instead.
170+
*/
171+
@Deprecated(forRemoval = true)
172+
default Builder firstBuyingItem(ItemStack item) {
173+
return this.firstBuyingItem((ItemStackLike) item);
174+
}
175+
167176
/**
168177
* <p>Sets the first selling item of the trade offer to be
169178
* generated.</p>
@@ -173,23 +182,39 @@ interface Builder extends org.spongepowered.api.util.Builder<TradeOffer, Builder
173182
* @param item The first item to buy
174183
* @return This builder
175184
*/
176-
Builder firstBuyingItem(ItemStack item);
185+
Builder firstBuyingItem(ItemStackLike item);
186+
187+
/**
188+
* @deprecated Use {@link #secondBuyingItem(ItemStackLike)} instead.
189+
*/
190+
@Deprecated(forRemoval = true)
191+
default Builder secondBuyingItem(ItemStack item) {
192+
return this.secondBuyingItem((ItemStackLike) item);
193+
}
177194

178195
/**
179196
* Sets the second selling item of the trade offer to be generated.
180197
*
181198
* @param item The second item to buy
182199
* @return This builder
183200
*/
184-
Builder secondBuyingItem(ItemStack item);
201+
Builder secondBuyingItem(ItemStackLike item);
202+
203+
/**
204+
* @deprecated Use {@link #sellingItem(ItemStackLike)} instead.
205+
*/
206+
@Deprecated(forRemoval = true)
207+
default Builder sellingItem(ItemStack item) {
208+
return this.sellingItem((ItemStackLike) item);
209+
}
185210

186211
/**
187212
* Sets the selling item of the trade offer to be generated.
188213
*
189214
* @param item The item to sell
190215
* @return This builder
191216
*/
192-
Builder sellingItem(ItemStack item);
217+
Builder sellingItem(ItemStackLike item);
193218

194219
/**
195220
* Sets the existing uses of the trade offer to be generated. A trade

0 commit comments

Comments
 (0)