Files
ChatPlus/src/main/java/cn/revaria/chatplus/mixin/compat/DynmapMixin.java
T
CPTProgrammer 43e582fbe6 Add support for Minecraft 26.1
- Since Dynmap has not yet been updated to be compatible with Minecraft 26.1, the compatibility Mixins for Dynmap are currently not enabled for this version.
2026-04-18 06:17:23 +08:00

49 lines
2.1 KiB
Java

package cn.revaria.chatplus.mixin.compat;
import com.llamalad7.mixinextras.sugar.Local;
import com.llamalad7.mixinextras.sugar.ref.LocalRef;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Pseudo;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import static cn.revaria.chatplus.util.TextStyleFormatter.applyStyle;
@Pseudo
@Mixin(targets =
#if MC_VER <= MC_1_19
"org.dynmap.fabric_1_19.DynmapPlugin$ChatHandler"
#elif MC_VER <= MC_1_19_1
"org.dynmap.fabric_1_19_1.DynmapPlugin$ChatHandler"
#elif MC_VER <= MC_1_19_3
{"org.dynmap.fabric_1_19_3.DynmapPlugin$ChatHandler", "org.dynmap.fabric_1_19_4.DynmapPlugin$ChatHandler"}
#elif MC_VER <= MC_1_20
{"org.dynmap.fabric_1_20.DynmapPlugin$ChatHandler", "org.dynmap.fabric_1_20_2.DynmapPlugin$ChatHandler"}
#elif MC_VER <= MC_1_20_3
{"org.dynmap.fabric_1_20_4.DynmapPlugin$ChatHandler", "org.dynmap.fabric_1_20_6.DynmapPlugin$ChatHandler"}
#elif MC_VER <= MC_1_21
{
"org.dynmap.fabric_1_21.DynmapPlugin$ChatHandler",
"org.dynmap.fabric_1_21_1.DynmapPlugin$ChatHandler",
"org.dynmap.fabric_1_21_3.DynmapPlugin$ChatHandler",
"org.dynmap.fabric_1_21_5.DynmapPlugin$ChatHandler",
"org.dynmap.fabric_1_21_7.DynmapPlugin$ChatHandler",
"org.dynmap.fabric_1_21_9_10.DynmapPlugin$ChatHandler",
"org.dynmap.fabric_1_21_11.DynmapPlugin$ChatHandler",
}
#elif MC_VER <= MC_26_1
// TODO: Since Dynmap has not yet been updated to be compatible with Minecraft 26.1,
// the compatibility Mixins for Dynmap are currently not enabled for this version.
{}
#endif
)
public abstract class DynmapMixin {
@Inject(method = "handleChat", at = @At("HEAD"), remap = false)
private void modifyMessage(ServerPlayer player, String message, CallbackInfo ci, @Local(argsOnly = true) LocalRef<String> messageRef) {
messageRef.set(applyStyle(Component.nullToEmpty(message), player).getString());
}
}