From 6836eb7c988a94e836e7115d7cd5195e04c8308c Mon Sep 17 00:00:00 2001 From: Adubbz Date: Tue, 2 Jan 2024 11:01:34 +1100 Subject: [PATCH] Always allow eating heating/cooling consumables --- .../9dc2e1bbb6dbc88d629e62ed955e4c156b6652a3 | 2 +- .../java/toughasnails/mixin/MixinItem.java | 26 +++++++++++++++++++ .../main/resources/toughasnails.mixins.json | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 common/src/main/java/toughasnails/mixin/MixinItem.java diff --git a/common/src/generated/resources/.cache/9dc2e1bbb6dbc88d629e62ed955e4c156b6652a3 b/common/src/generated/resources/.cache/9dc2e1bbb6dbc88d629e62ed955e4c156b6652a3 index 26f91999..514a4bf3 100644 --- a/common/src/generated/resources/.cache/9dc2e1bbb6dbc88d629e62ed955e4c156b6652a3 +++ b/common/src/generated/resources/.cache/9dc2e1bbb6dbc88d629e62ed955e4c156b6652a3 @@ -1,4 +1,4 @@ -// 1.20.4 2024-01-02T10:32:54.7659436 Tags for minecraft:item mod id toughasnails +// 1.20.4 2024-01-02T11:01:06.4961003 Tags for minecraft:item mod id toughasnails f05342856fe99891fa5e94bbe8db82a4f75ac41e data/toughasnails/tags/items/cooling_armor.json 35133e95f1c8fdd7a1c21afcc231fc0bffefb9a8 data/toughasnails/tags/items/cooling_consumed_items.json 7c304628a9c17ca3ba6cd13e199fcf73ad9c974f data/toughasnails/tags/items/cooling_held_items.json diff --git a/common/src/main/java/toughasnails/mixin/MixinItem.java b/common/src/main/java/toughasnails/mixin/MixinItem.java new file mode 100644 index 00000000..5ab987cf --- /dev/null +++ b/common/src/main/java/toughasnails/mixin/MixinItem.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright 2023, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package toughasnails.mixin; + +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; +import toughasnails.init.ModTags; + +@Mixin(Item.class) +public class MixinItem +{ + @Redirect(method="use", at=@At(value = "INVOKE", target="Lnet/minecraft/world/entity/player/Player;canEat(Z)Z")) + public boolean onUse(Player player, boolean canAlwaysEat, Level level, Player player2, InteractionHand hand) + { + ItemStack stack = player.getItemInHand(hand); + return stack.is(ModTags.Items.HEATING_CONSUMED_ITEMS) || stack.is(ModTags.Items.COOLING_CONSUMED_ITEMS) || player.canEat(canAlwaysEat); + } +} diff --git a/common/src/main/resources/toughasnails.mixins.json b/common/src/main/resources/toughasnails.mixins.json index a4a2eec3..c4768c23 100644 --- a/common/src/main/resources/toughasnails.mixins.json +++ b/common/src/main/resources/toughasnails.mixins.json @@ -4,6 +4,7 @@ "compatibilityLevel": "JAVA_17", "refmap": "toughasnails.refmap.json", "mixins": [ + "MixinItem", "MixinPlayer", "MixinServerLevel", "MixinServerPlayer"