Fix Apotheosis mixin conflict (#626 #784)

This commit is contained in:
IzzelAliz 2022-10-29 17:47:54 +08:00
parent 704a9080a1
commit fd3be88cee
2 changed files with 9 additions and 4 deletions

View File

@ -219,7 +219,7 @@ public abstract class LivingEntityMixin extends EntityMixin implements LivingEnt
protected void dropExperience() { protected void dropExperience() {
// if (!this.world.isRemote && (this.isPlayer() || this.recentlyHit > 0 && this.canDropLoot() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT))) { // if (!this.world.isRemote && (this.isPlayer() || this.recentlyHit > 0 && this.canDropLoot() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT))) {
if (true) { if (true) {
int reward = ForgeEventFactory.getExperienceDrop((LivingEntity)(Object) this, this.lastHurtByPlayer, this.expToDrop); int reward = ForgeEventFactory.getExperienceDrop((LivingEntity) (Object) this, this.lastHurtByPlayer, this.expToDrop);
ExperienceOrb.award((ServerLevel) this.level, this.position(), reward); ExperienceOrb.award((ServerLevel) this.level, this.position(), reward);
bridge$setExpToDrop(0); bridge$setExpToDrop(0);
} }
@ -938,9 +938,13 @@ public abstract class LivingEntityMixin extends EntityMixin implements LivingEnt
public void arclight$muteDamageArmor(LivingEntity entity, DamageSource damageSource, float damage) { public void arclight$muteDamageArmor(LivingEntity entity, DamageSource damageSource, float damage) {
} }
@Redirect(method = "getDamageAfterMagicAbsorb", require = 0, at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;hasEffect(Lnet/minecraft/world/effect/MobEffect;)Z")) @Mixin(value = LivingEntity.class, priority = 1500)
public boolean arclight$mutePotion(LivingEntity livingEntity, MobEffect potionIn) { public static class ApotheosisCompatMixin {
return false;
@Redirect(method = "getDamageAfterMagicAbsorb", require = 0, at = @At(value = "INVOKE", ordinal = 0, target = "Lnet/minecraft/world/entity/LivingEntity;hasEffect(Lnet/minecraft/world/effect/MobEffect;)Z"))
public boolean arclight$mutePotion(LivingEntity livingEntity, MobEffect potionIn) {
return false;
}
} }
@Redirect(method = "travel", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;setSharedFlag(IZ)V")) @Redirect(method = "travel", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;setSharedFlag(IZ)V"))

View File

@ -96,6 +96,7 @@
"world.entity.ItemBaseSteeringMixin", "world.entity.ItemBaseSteeringMixin",
"world.entity.LightningBoltMixin", "world.entity.LightningBoltMixin",
"world.entity.LivingEntityMixin", "world.entity.LivingEntityMixin",
"world.entity.LivingEntityMixin$ApotheosisCompatMixin",
"world.entity.MobMixin", "world.entity.MobMixin",
"world.entity.PathfinderMobMixin", "world.entity.PathfinderMobMixin",
"world.entity.ai.attributes.RangedAttributeMixin", "world.entity.ai.attributes.RangedAttributeMixin",