This repository has been archived on 2023-11-13. You can view files and clone it, but cannot push or open issues or pull requests.
2023-11-04 02:27:00 +05:00

22 lines
1.0 KiB
Java

package ru.bitheaven.createastrafabric.mixin;
import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.level.material.Fluid;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import ru.bitheaven.createastrafabric.CreateAstraFabric;
import com.simibubi.create.content.equipment.armor.DivingHelmetItem;
@Mixin(DivingHelmetItem.class)
public abstract class DivingHelmetItemMixin {
/**
* Activate helmet "if in water or lava" -> "if in water or bad air or lava"
*/
@Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;isEyeInFluid(Lnet/minecraft/tags/TagKey;)Z"),
method = "breatheUnderwater(Lnet/minecraft/world/entity/LivingEntity;)V")
private static boolean redirectBreatheUnderwater(LivingEntity entity, TagKey<Fluid> fluidTagKey) {
return entity.isEyeInFluid(fluidTagKey) || CreateAstraFabric.airQualityActivatesHelmet(entity);
}
}