Tweak narrator mixin
This commit is contained in:
parent
8d4a7c3374
commit
44322a7d07
|
|
@ -1,17 +0,0 @@
|
||||||
package org.embeddedt.modernfix.common.mixin.devenv;
|
|
||||||
|
|
||||||
import com.mojang.text2speech.Narrator;
|
|
||||||
import net.minecraft.client.GameNarrator;
|
|
||||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
|
||||||
|
|
||||||
@Mixin(GameNarrator.class)
|
|
||||||
@ClientOnlyMixin
|
|
||||||
public class NarratorMixin {
|
|
||||||
@Redirect(method = "<init>", at = @At(value = "INVOKE", target = "Lcom/mojang/text2speech/Narrator;getNarrator()Lcom/mojang/text2speech/Narrator;", remap = false))
|
|
||||||
private Narrator useDummyNarrator() {
|
|
||||||
return Narrator.EMPTY;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package org.embeddedt.modernfix.common.mixin.feature.suppress_narrator_stacktrace;
|
package org.embeddedt.modernfix.common.mixin.feature.suppress_narrator_stacktrace;
|
||||||
|
|
||||||
|
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||||
|
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||||
import com.mojang.text2speech.Narrator;
|
import com.mojang.text2speech.Narrator;
|
||||||
import com.mojang.text2speech.NarratorLinux;
|
import com.mojang.text2speech.NarratorLinux;
|
||||||
import com.mojang.text2speech.OperatingSystem;
|
import com.mojang.text2speech.OperatingSystem;
|
||||||
|
|
@ -8,17 +10,16 @@ import org.embeddedt.modernfix.ModernFix;
|
||||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
|
||||||
|
|
||||||
@ClientOnlyMixin
|
@ClientOnlyMixin
|
||||||
@Mixin(GameNarrator.class)
|
@Mixin(GameNarrator.class)
|
||||||
public class GameNarratorMixin {
|
public class GameNarratorMixin {
|
||||||
@Redirect(method = "<init>", at = @At(value = "INVOKE", target = "Lcom/mojang/text2speech/Narrator;getNarrator()Lcom/mojang/text2speech/Narrator;"))
|
@WrapOperation(method = "<init>", at = @At(value = "INVOKE", target = "Lcom/mojang/text2speech/Narrator;getNarrator()Lcom/mojang/text2speech/Narrator;"))
|
||||||
private Narrator suppressStacktracePrinting() {
|
private Narrator suppressStacktracePrinting(Operation<Narrator> original) {
|
||||||
try {
|
try {
|
||||||
return switch (OperatingSystem.get()) {
|
return switch (OperatingSystem.get()) {
|
||||||
case LINUX -> new NarratorLinux();
|
case LINUX -> new NarratorLinux();
|
||||||
default -> Narrator.getNarrator();
|
default -> original.call();
|
||||||
};
|
};
|
||||||
} catch (Narrator.InitializeException e) {
|
} catch (Narrator.InitializeException e) {
|
||||||
ModernFix.LOGGER.warn("Failed to initialize Linux Narrator. Make sure you have libflite installed!");
|
ModernFix.LOGGER.warn("Failed to initialize Linux Narrator. Make sure you have libflite installed!");
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,6 @@ public class ModernFixEarlyConfig {
|
||||||
.put("mixin.feature.log_stdout_in_log_files", true)
|
.put("mixin.feature.log_stdout_in_log_files", true)
|
||||||
.put("mixin.devenv", isDevEnv)
|
.put("mixin.devenv", isDevEnv)
|
||||||
.put("mixin.perf.remove_spawn_chunks", isDevEnv)
|
.put("mixin.perf.remove_spawn_chunks", isDevEnv)
|
||||||
.put("mixin.feature.suppress_narrator_stacktrace", !isDevEnv) // Not compatible with mixin.devenv
|
|
||||||
.putConditionally(() -> !isFabric, "mixin.bugfix.fix_config_crashes", true)
|
.putConditionally(() -> !isFabric, "mixin.bugfix.fix_config_crashes", true)
|
||||||
.putConditionally(() -> !isFabric, "mixin.bugfix.forge_at_inject_error", true)
|
.putConditionally(() -> !isFabric, "mixin.bugfix.forge_at_inject_error", true)
|
||||||
.putConditionally(() -> !isFabric, "mixin.feature.registry_event_progress", false)
|
.putConditionally(() -> !isFabric, "mixin.feature.registry_event_progress", false)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user