@@ -19,10 +19,11 @@ import net.minecraft.world.entity.item.ItemEntity
1919import net.minecraft.world.item.ItemStack
2020import net.minecraft.network.chat.Component
2121import java.util.function.Predicate;
22+ import java.util.function.Supplier;
2223
2324// TODO: How to handle in circles
24- class OpMakePackagedSpell (val isValid : Predicate <ItemStack >, val expectedTypeDesc : Component , val cost : Long ) : SpellAction {
25- constructor (itemType: ItemPackagedHex , cost: Long ) : this ({s -> s.`is `(itemType)}, itemType.description , cost) {}
25+ class OpMakePackagedSpell (val isValid : Predicate <ItemStack >, val expectedTypeDesc : Supplier < Component > , val cost : Long ) : SpellAction {
26+ constructor (itemType: ItemPackagedHex , cost: Long ) : this ({s -> s.`is `(itemType)}, itemType::getDescription , cost) {}
2627
2728 override val argc = 2
2829 override fun execute (
@@ -36,11 +37,11 @@ class OpMakePackagedSpell(val isValid: Predicate<ItemStack>, val expectedTypeDes
3637 val hexHolder = IXplatAbstractions .INSTANCE .findHexHolder(it)
3738 isValid.test(it) && hexHolder != null && ! hexHolder.hasHex()
3839 }
39- ? : throw MishapBadOffhandItem (ItemStack .EMPTY .copy(), expectedTypeDesc) // TODO: hack
40+ ? : throw MishapBadOffhandItem (ItemStack .EMPTY .copy(), expectedTypeDesc.get() ) // TODO: hack
4041
4142 val hexHolder = IXplatAbstractions .INSTANCE .findHexHolder(handStack)
4243 if (! isValid.test(handStack)) {
43- throw MishapBadOffhandItem (handStack, expectedTypeDesc)
44+ throw MishapBadOffhandItem (handStack, expectedTypeDesc.get() )
4445 } else if (hexHolder == null || hexHolder.hasHex()) {
4546 throw MishapBadOffhandItem .of(handStack, " iota.write" )
4647 }
0 commit comments