From 86d89aab2016bb90c6631856251cbfbad1c48172 Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 8 Sep 2021 21:13:17 -0300 Subject: [PATCH] added death messages control to cleanLogs (require showDeathMessages to be false as well). Fixes #1095 --- .../java/carpet/mixins/LivingEntityMixin.java | 27 +++++++++++++++++++ src/main/resources/carpet.mixins.json | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 src/main/java/carpet/mixins/LivingEntityMixin.java diff --git a/src/main/java/carpet/mixins/LivingEntityMixin.java b/src/main/java/carpet/mixins/LivingEntityMixin.java new file mode 100644 index 00000000..22e6c578 --- /dev/null +++ b/src/main/java/carpet/mixins/LivingEntityMixin.java @@ -0,0 +1,27 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.LivingEntity; +import net.minecraft.world.GameRules; +import net.minecraft.world.World; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(LivingEntity.class) +public abstract class LivingEntityMixin extends Entity +{ + + public LivingEntityMixin(EntityType type, World world) + { + super(type, world); + } + + @Redirect(method = "onDeath", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;hasCustomName()Z")) + private boolean shouldLogDeaths(LivingEntity livingEntity) + { + return livingEntity.hasCustomName() && CarpetSettings.cleanLogs && world.getGameRules().getBoolean(GameRules.SHOW_DEATH_MESSAGES); + } +} diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 40d083d7..b1cb8d4f 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -58,6 +58,8 @@ "ChunkTicketManager_spawnChunksMixin", "ServerWorld_spawnChunksMixin", + "LivingEntityMixin", + "MobEntityMixin", "EntityTrackerEntry_leashFixMixin",