|
1 | 1 | package teamport.aether.mixin.block; |
2 | 2 |
|
3 | | -import com.llamalad7.mixinextras.expression.Definition; |
4 | | -import com.llamalad7.mixinextras.expression.Expression; |
5 | | -import com.llamalad7.mixinextras.injector.ModifyExpressionValue; |
6 | 3 | import com.llamalad7.mixinextras.injector.wrapoperation.Operation; |
7 | 4 | import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; |
8 | 5 | import net.minecraft.core.block.BlockLogicCactus; |
9 | 6 | import net.minecraft.core.entity.Entity; |
10 | | -import net.minecraft.core.entity.Mob; |
11 | 7 | import net.minecraft.core.util.helper.DamageType; |
12 | | -import net.minecraft.core.world.World; |
13 | 8 | import org.spongepowered.asm.mixin.Mixin; |
14 | 9 | import org.spongepowered.asm.mixin.injection.At; |
15 | 10 | import teamport.aether.entity.AetherMobOtherImmunities; |
16 | 11 |
|
17 | 12 | @Mixin(value = BlockLogicCactus.class, remap = false) |
18 | 13 | public abstract class CactusSpikeImmunitiesMixin { |
19 | | - @Definition(id = "Mob", type = {Mob.class}) |
20 | | - @Expression("? instanceof Mob") |
21 | | - @ModifyExpressionValue(method = "onEntityCollidedWithBlock", at = @At("MIXINEXTRAS:EXPRESSION")) |
22 | | - private boolean monsterImmuneToSpikeOne(boolean original, World world, int x, int y, int z, Entity entity) { |
23 | | - return original && entity instanceof AetherMobOtherImmunities; |
24 | | - } |
25 | 14 | @WrapOperation(method = "onEntityCollidedWithBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/entity/Entity;hurt(Lnet/minecraft/core/entity/Entity;ILnet/minecraft/core/util/helper/DamageType;)Z")) |
26 | 15 | private boolean monsterImmuneToSpikes(Entity instance, Entity attacker, int baseDamage, DamageType type, Operation<Boolean> original) { |
27 | 16 | if (!(instance instanceof AetherMobOtherImmunities)) return original.call(instance, attacker, baseDamage, type); |
|
0 commit comments