Skip to content

Commit 204d19d

Browse files
Change EnchantmentHelperMixin
1 parent d7b4ace commit 204d19d

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

src/main/java/com/mmodding/mmodding_lib/mixin/injectors/EnchantmentHelperMixin.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.mmodding.mmodding_lib.library.items.CustomBookItem;
1010
import com.mmodding.mmodding_lib.library.enchantments.CustomEnchantment;
1111
import com.mmodding.mmodding_lib.library.enchantments.types.EnchantmentType;
12+
import com.mmodding.mmodding_lib.library.items.CustomEnchantedBookItem;
1213
import net.minecraft.enchantment.Enchantment;
1314
import net.minecraft.enchantment.EnchantmentHelper;
1415
import net.minecraft.item.Item;
@@ -22,6 +23,21 @@
2223
@Mixin(EnchantmentHelper.class)
2324
public class EnchantmentHelperMixin {
2425

26+
@WrapOperation(method = "get", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;isOf(Lnet/minecraft/item/Item;)Z"))
27+
private static boolean allowGetCustomEnchantedBookItems(ItemStack instance, Item item, Operation<Boolean> original) {
28+
return instance.getItem() instanceof CustomEnchantedBookItem || original.call(instance, item);
29+
}
30+
31+
@WrapOperation(method = "set", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;isOf(Lnet/minecraft/item/Item;)Z"))
32+
private static boolean allowSetCustomEnchantedBookItems(ItemStack instance, Item item, Operation<Boolean> original) {
33+
return instance.getItem() instanceof CustomEnchantedBookItem || original.call(instance, item);
34+
}
35+
36+
@WrapOperation(method = "enchant", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;isOf(Lnet/minecraft/item/Item;)Z"))
37+
private static boolean allowEnchantingCustomBookItems(ItemStack instance, Item item, Operation<Boolean> original) {
38+
return instance.getItem() instanceof CustomBookItem || original.call(instance, item);
39+
}
40+
2541
@WrapOperation(method = "getPossibleEntries", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;isOf(Lnet/minecraft/item/Item;)Z"))
2642
private static boolean addCustomBooks(ItemStack stack, Item item, Operation<Boolean> operation, @Share("type") LocalRef<EnchantmentType> type) {
2743
type.set(stack.getItem() instanceof CustomBookItem book ? book.getType() : EnchantmentType.DEFAULT);

0 commit comments

Comments
 (0)