From 046d931770a8009cca5e2c6d7d4161de3c210228 Mon Sep 17 00:00:00 2001 From: gnembon Date: Tue, 25 Aug 2020 01:01:51 -0300 Subject: [PATCH] cleanLogs rule --- src/main/java/carpet/CarpetSettings.java | 10 +++++++++ .../mixins/SoundEngineInt_cleanLogsMixin.java | 20 ++++++++++++++++++ .../mixins/SoundSystem_cleanLogsMixin.java | 21 +++++++++++++++++++ .../assets/carpet/scripts/ai_tracker.sc | 3 +-- src/main/resources/carpet.mixins.json | 5 ++++- 5 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 src/main/java/carpet/mixins/SoundEngineInt_cleanLogsMixin.java create mode 100644 src/main/java/carpet/mixins/SoundSystem_cleanLogsMixin.java diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index 7127d097..0863910c 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -656,4 +656,14 @@ public class CarpetSettings validate = Validator.PROBABILITY.class ) public static double creativeFlyDrag = 0.09; + + @Rule( + desc = "Removes abnoxious messages from the logs", + extra = { + "Doesn't display 'Maximum sound pool size 247 reached'", + "Which is normal with decent farms and contraptions" + }, + category = {SURVIVAL, CLIENT} + ) + public static boolean cleanLogs = false; } diff --git a/src/main/java/carpet/mixins/SoundEngineInt_cleanLogsMixin.java b/src/main/java/carpet/mixins/SoundEngineInt_cleanLogsMixin.java new file mode 100644 index 00000000..189f39fb --- /dev/null +++ b/src/main/java/carpet/mixins/SoundEngineInt_cleanLogsMixin.java @@ -0,0 +1,20 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import org.apache.logging.log4j.Logger; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(targets="net.minecraft.client.sound.SoundEngine$SourceSetImpl") +public class SoundEngineInt_cleanLogsMixin +{ + @Redirect(method = "createSource", at = @At( + value="INVOKE", + target = "Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;)V" + )) + private void doWarnOrNotWarn(Logger logger, String message, Object p0) + { + if (!CarpetSettings.cleanLogs) logger.warn(message, p0); + } +} diff --git a/src/main/java/carpet/mixins/SoundSystem_cleanLogsMixin.java b/src/main/java/carpet/mixins/SoundSystem_cleanLogsMixin.java new file mode 100644 index 00000000..2334c86e --- /dev/null +++ b/src/main/java/carpet/mixins/SoundSystem_cleanLogsMixin.java @@ -0,0 +1,21 @@ +package carpet.mixins; + +import carpet.CarpetSettings; +import net.minecraft.client.sound.SoundSystem; +import org.apache.logging.log4j.Logger; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(SoundSystem.class) +public class SoundSystem_cleanLogsMixin +{ + @Redirect(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At( + value = "INVOKE", + target = "Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;)V" + )) + private void toWarnOrNotToWarn(Logger logger, String message) + { + if (!CarpetSettings.cleanLogs) logger.warn(message); + } +} diff --git a/src/main/resources/assets/carpet/scripts/ai_tracker.sc b/src/main/resources/assets/carpet/scripts/ai_tracker.sc index bcbc1b95..a186f482 100644 --- a/src/main/resources/assets/carpet/scripts/ai_tracker.sc +++ b/src/main/resources/assets/carpet/scripts/ai_tracker.sc @@ -494,9 +494,8 @@ __handle_entity(e) -> put(shapes_to_display, null, abnoxious_to_display, 'extend'); if (labels_to_add, - base_pos = [0.5, e~'height'+0.4, 0.5]; base_height = 0; - snap = if(e~'type'=='player', 'xyz', 'dxydz'); + [snap, base_pos] = if(e~'type'=='player', ['xyz', [0, e~'height', 0]], ['dxydz', [0.5, e~'height'+0.4, 0.5]]); for (labels_to_add, if (length(_) == 2, [label, text] = _; diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 2bebdd26..bc783228 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -198,7 +198,10 @@ "WorldRenderer_creativeNoClipMixin", "ClientPlayNetworkHandlerMixin", "DebugRenderer_scarpetRenderMixin", - "WorldRenderer_scarpetRenderMixin" + "WorldRenderer_scarpetRenderMixin", + + "SoundEngineInt_cleanLogsMixin", + "SoundSystem_cleanLogsMixin" ], "server": [ ],