From 6b0f593b58b04a9d9c9da395f396392ae3618885 Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Mon, 8 Dec 2025 16:23:09 +0100 Subject: [PATCH 1/8] Update dependencies to prepare update to 1.21.11 --- gradle/libs.versions.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 05fe99a..de74ee8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,13 @@ [versions] # Plugins -fabricLoom = "1.11-SNAPSHOT" +fabricLoom = "1.12-SNAPSHOT" spotless = "8.1.0" # Libraries minecraft = "1.21.10" -fabricYarn = "1.21.10+build.1" -fabricLoader = "0.17.2" -fabricApi = "0.134.1+1.21.10" +fabricYarn = "1.21.10+build.3" +fabricLoader = "0.17.3" +fabricApi = "0.136.0+1.21.10" [libraries] minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" } From 2111e95f679357853beb420643485b2fe8e69f27 Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Mon, 8 Dec 2025 17:25:56 +0100 Subject: [PATCH 2/8] Update to Minecraft 1.21.11-rc3 --- gradle.properties | 2 +- gradle/libs.versions.toml | 10 +++++----- .../communityradargg/fabric/CommunityRadarMod.java | 12 ++++++------ .../fabric/commands/RadarCommand.java | 6 ++++-- .../github/communityradargg/fabric/utils/Utils.java | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4019b01..1af1213 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.parallel=true org.gradle.configuration-cache=true # Mod Properties -mod_version=1.1.0-SNAPSHOT+1.21.10 +mod_version=1.0.0-SNAPSHOT+1.21.11 maven_group=io.github.communityradargg.fabric archives_base_name=communityradar-fabric diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index de74ee8..453e19d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,13 @@ [versions] # Plugins -fabricLoom = "1.12-SNAPSHOT" +fabricLoom = "1.14-SNAPSHOT" spotless = "8.1.0" # Libraries -minecraft = "1.21.10" -fabricYarn = "1.21.10+build.3" -fabricLoader = "0.17.3" -fabricApi = "0.136.0+1.21.10" +minecraft = "1.21.11-rc3" +fabricYarn = "1.21.11-rc3+build.1" +fabricLoader = "0.18.1" +fabricApi = "0.139.4+1.21.11" [libraries] minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" } diff --git a/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java b/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java index f4e8e17..a53edc3 100644 --- a/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java +++ b/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java @@ -31,15 +31,15 @@ public class CommunityRadarMod implements ModInitializer { /** The id of the mod. */ - private static final String MODID = "communityradar"; + private static final String MOD_ID = "communityradar"; /** The version of the mod. */ - private static final String VERSION = getModVersion(MODID); + private static final String VERSION = getModVersion(MOD_ID); private static final Logger logger = LogManager.getLogger(CommunityRadarMod.class); private static RadarListManager listManager; @Override public void onInitialize() { - logger.info("Starting the mod '{}' with the version '{}'!", MODID, VERSION); + logger.info("Starting the mod '{}' with the version '{}'!", MOD_ID, VERSION); final File directoryPath = Paths.get(new File("") .getAbsolutePath(),"communityradar", "lists") .toFile(); @@ -52,7 +52,7 @@ public void onInitialize() { // Needs to be after loading public lists listManager.loadPrivateLists(); registerCommands(); - logger.info("Successfully started the mod '{}'!", MODID); + logger.info("Successfully started the mod '{}'!", MOD_ID); } /** @@ -104,8 +104,8 @@ private void registerPublicLists() { * * @return Returns the modid. */ - public static @NotNull String getModid() { - return MODID; + public static @NotNull String getModId() { + return MOD_ID; } /** diff --git a/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java b/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java index 0e6546f..dea9f70 100644 --- a/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java +++ b/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java @@ -32,6 +32,8 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.network.PlayerListEntry; +import net.minecraft.command.permission.Permission; +import net.minecraft.command.permission.PermissionLevel; import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.Optional; @@ -40,11 +42,11 @@ public class RadarCommand { private static final String COMMAND_NAME = "radar"; private static final List COMMAND_ALIASES = List.of("communityradar", "scammer", "trustedmm", "mm"); - private static final int REQUIRED_PERMISSION_LEVEL = 0; + private static final PermissionLevel REQUIRED_PERMISSION_LEVEL = PermissionLevel.ALL; public static void register(final @NotNull CommandDispatcher dispatcher) { final LiteralCommandNode mainCommand = dispatcher.register(ClientCommandManager.literal(COMMAND_NAME) - .requires(source -> source.getPlayer().hasPermissionLevel(REQUIRED_PERMISSION_LEVEL)) + .requires(source -> source.getPlayer().getPermissions().hasPermission(new Permission.Level(REQUIRED_PERMISSION_LEVEL))) .then(ClientCommandManager.literal("help") .executes(context -> handleHelpSubcommand(context.getSource())) ) diff --git a/src/main/java/io/github/communityradargg/fabric/utils/Utils.java b/src/main/java/io/github/communityradargg/fabric/utils/Utils.java index 703320e..a18e1e5 100644 --- a/src/main/java/io/github/communityradargg/fabric/utils/Utils.java +++ b/src/main/java/io/github/communityradargg/fabric/utils/Utils.java @@ -103,7 +103,7 @@ public class Utils { final HttpRequest httpRequest = HttpRequest.newBuilder() .uri(uri) .timeout(Duration.ofSeconds(3)) - .header("User-Agent", CommunityRadarMod.getModid() + "/" + CommunityRadarMod.getVersion()) + .header("User-Agent", CommunityRadarMod.getModId() + "/" + CommunityRadarMod.getVersion()) .GET() .build(); From b9db4987f9134c6d7532551a79bfbc7ed86aa5ba Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Mon, 8 Dec 2025 17:31:00 +0100 Subject: [PATCH 3/8] Fix mod id spelling --- .../fabric/CommunityRadarMod.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java b/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java index a53edc3..8fce7ea 100644 --- a/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java +++ b/src/main/java/io/github/communityradargg/fabric/CommunityRadarMod.java @@ -76,18 +76,18 @@ private void registerPublicLists() { } /** - * Gets the mod version for a given modid. + * Gets the mod version for a given mod id. * - * @param modid The modid to get the version for. + * @param modId The mod-id to get the version for. * @return Returns the version in a friendly String. - * @throws IllegalArgumentException Thrown, when the mod container cannot be got for the given modid. + * @throws IllegalArgumentException Thrown, when the mod container cannot be got for the given mod id. */ - public static @NotNull String getModVersion(final @NotNull String modid) { - final Optional modContainer = FabricLoader.getInstance().getModContainer(modid); + public static @NotNull String getModVersion(final @NotNull String modId) { + final Optional modContainer = FabricLoader.getInstance().getModContainer(modId); if (modContainer.isPresent()) { return modContainer.get().getMetadata().getVersion().getFriendlyString(); } - throw new IllegalArgumentException("Cannot get the version for the given modid: " + modid); + throw new IllegalArgumentException("Cannot get the version for the given mod id: " + modId); } /** @@ -100,9 +100,9 @@ private void registerPublicLists() { } /** - * Gets the modid. + * Gets the mod id. * - * @return Returns the modid. + * @return Returns the mod id. */ public static @NotNull String getModId() { return MOD_ID; From 47ec531dd8b217680e22d810dbda9bdb7f2a31f9 Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Mon, 8 Dec 2025 18:34:02 +0100 Subject: [PATCH 4/8] Migrate to Mojang mappings --- build.gradle.kts | 2 +- gradle/libs.versions.toml | 2 - .../PlayerEntityRenderStateAccessor.java | 2 +- .../fabric/commands/RadarCommand.java | 88 +++++++++---------- .../fabric/mixin/ChatHudMixin.java | 27 +++--- .../mixin/PlayerEntityRenderStateMixin.java | 6 +- .../mixin/PlayerEntityRendererMixin.java | 38 ++++---- .../fabric/mixin/PlayerListHudMixin.java | 24 ++--- .../fabric/utils/RadarMessage.java | 10 +-- .../communityradargg/fabric/utils/Utils.java | 40 ++++----- 10 files changed, 116 insertions(+), 123 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 98ca127..b83c756 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,7 @@ repositories { dependencies { // To change the versions see the gradle.properties file minecraft(libs.minecraft) - mappings(libs.fabricYarn) + mappings(loom.officialMojangMappings()) modImplementation(libs.fabricLoader) // Make a set of all api modules we wish to use diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 453e19d..55346ad 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,13 +5,11 @@ spotless = "8.1.0" # Libraries minecraft = "1.21.11-rc3" -fabricYarn = "1.21.11-rc3+build.1" fabricLoader = "0.18.1" fabricApi = "0.139.4+1.21.11" [libraries] minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" } -fabricYarn = { group = "net.fabricmc", name = "yarn", version.ref = "fabricYarn" } fabricLoader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabricLoader" } [plugins] diff --git a/src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java b/src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java index 687c041..8c7d8de 100644 --- a/src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java +++ b/src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java @@ -18,7 +18,7 @@ import java.util.UUID; /** - * Serves as accessor for the self added field in the {@link net.minecraft.client.render.entity.PlayerEntityRenderer} class. + * Serves as accessor for the self added field in the {@link net.minecraft.client.renderer.entity.player.AvatarRenderer} class. */ public interface PlayerEntityRenderStateAccessor { /** diff --git a/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java b/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java index dea9f70..d646428 100644 --- a/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java +++ b/src/main/java/io/github/communityradargg/fabric/commands/RadarCommand.java @@ -29,11 +29,11 @@ import io.github.communityradargg.fabric.utils.Utils; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.ClientPlayNetworkHandler; -import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.command.permission.Permission; -import net.minecraft.command.permission.PermissionLevel; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.client.multiplayer.PlayerInfo; +import net.minecraft.server.permissions.Permission; +import net.minecraft.server.permissions.PermissionLevel; import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.Optional; @@ -46,7 +46,7 @@ public class RadarCommand { public static void register(final @NotNull CommandDispatcher dispatcher) { final LiteralCommandNode mainCommand = dispatcher.register(ClientCommandManager.literal(COMMAND_NAME) - .requires(source -> source.getPlayer().getPermissions().hasPermission(new Permission.Level(REQUIRED_PERMISSION_LEVEL))) + .requires(source -> source.getPlayer().permissions().hasPermission(new Permission.HasCommandLevel(REQUIRED_PERMISSION_LEVEL))) .then(ClientCommandManager.literal("help") .executes(context -> handleHelpSubcommand(context.getSource())) ) @@ -162,7 +162,7 @@ public static void register(final @NotNull CommandDispatcher { if (checkPlayerOptional.isEmpty()) { // player uuid could not be fetched source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Check.FAILED) - .build().toText()); + .build().toComponent()); return; } @@ -242,7 +242,7 @@ private static void handleCheckPlayerSubcommand(final @NotNull FabricClientComma if (entryOptional.isEmpty()) { // player uuid is on no list source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Check.FAILED) - .build().toText()); + .build().toComponent()); return; } @@ -253,7 +253,7 @@ private static void handleCheckPlayerSubcommand(final @NotNull FabricClientComma .replace("{cause}", entry.cause()) .replace("{entryCreationDate}", Utils.formatDateTime(entry.entryCreationDate())) .replace("{entryUpdateDate}", Utils.formatDateTime(entry.entryUpdateDate())) - .build().toText()); + .build().toComponent()); }); } @@ -263,21 +263,21 @@ private static void handleCheckPlayerSubcommand(final @NotNull FabricClientComma * @param source The command source, which executed the subcommand. */ private static void handleCheckAllSubcommand(final @NotNull FabricClientCommandSource source) { - final ClientPlayNetworkHandler networkHandler = MinecraftClient.getInstance().getNetworkHandler(); - if (networkHandler == null) { + final ClientPacketListener clientPacketListener = Minecraft.getInstance().getConnection(); + if (clientPacketListener == null) { source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Check.NOT_FOUND) - .build().toText()); + .build().toComponent()); return; } boolean anyPlayerFound = false; - for (final PlayerListEntry player : networkHandler.getPlayerList()) { - if (player.getProfile().id() == null) { + for (final PlayerInfo playerInfo : clientPacketListener.getOnlinePlayers()) { + if (playerInfo.getProfile().id() == null) { continue; } final Optional listEntryOptional = CommunityRadarMod.getListManager() - .getRadarListEntry(player.getProfile().id()); + .getRadarListEntry(playerInfo.getProfile().id()); if (listEntryOptional.isEmpty()) { // player uuid is on no list continue; @@ -285,7 +285,7 @@ private static void handleCheckAllSubcommand(final @NotNull FabricClientCommandS if (!anyPlayerFound) { source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Check.EVERYONE) - .build().toText()); + .build().toComponent()); anyPlayerFound = true; } @@ -296,12 +296,12 @@ private static void handleCheckAllSubcommand(final @NotNull FabricClientCommandS .replace("{cause}", entry.cause()) .replace("{entryCreationDate}", Utils.formatDateTime(entry.entryCreationDate())) .replace("{entryUpdateDate}", Utils.formatDateTime(entry.entryUpdateDate())) - .build().toText()); + .build().toComponent()); } if (!anyPlayerFound) { source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Check.NOT_FOUND) - .build().toText()); + .build().toComponent()); } } @@ -317,17 +317,17 @@ private static void handlePlayerAddSubcommand(final @NotNull FabricClientCommand if (listOptional.isEmpty()) { // list not existing source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.ADD_FAILED) - .build().toText()); + .build().toComponent()); return; } source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.INPUT_PROCESSING) - .build().toText()); + .build().toComponent()); Utils.getUUID(player).thenAccept(uuidOptional -> { if (uuidOptional.isEmpty()) { // player uuid could not be fetched source.sendFeedback(new RadarMessage.RadarMessageBuilder(player.startsWith("!") ? Messages.Player.NAME_INVALID_BEDROCK : Messages.Player.NAME_INVALID) - .build().toText()); + .build().toComponent()); return; } @@ -335,19 +335,19 @@ private static void handlePlayerAddSubcommand(final @NotNull FabricClientCommand if (listOptional.get().isInList(uuid)) { // player already on list source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.ADD_IN_LIST) - .build().toText()); + .build().toComponent()); return; } if (!CommunityRadarMod.getListManager().addRadarListEntry(namespace, uuid, player, cause)) { // list is not private source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.ADD_FAILED) - .build().toText()); + .build().toComponent()); return; } source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.ADD_SUCCESS) - .build().toText()); + .build().toComponent()); }); } @@ -362,18 +362,18 @@ private static void handlePlayerRemoveSubcommand(final @NotNull FabricClientComm if (listOptional.isEmpty()) { // list is not existing source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.REMOVE_FAILED) - .build().toText()); + .build().toComponent()); return; } source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.INPUT_PROCESSING) - .build().toText()); + .build().toComponent()); final RadarList list = listOptional.get(); Utils.getUUID(player).thenAccept(uuidOptional -> { if (uuidOptional.isEmpty()) { // player uuid could not be fetched source.sendFeedback(new RadarMessage.RadarMessageBuilder(player.startsWith("!") ? Messages.Player.NAME_INVALID_BEDROCK : Messages.Player.NAME_INVALID) - .build().toText()); + .build().toComponent()); return; } @@ -381,13 +381,13 @@ private static void handlePlayerRemoveSubcommand(final @NotNull FabricClientComm if (!list.isInList(uuid)) { // player uuid not on list source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.REMOVE_NOT_IN_LIST) - .build().toText()); + .build().toComponent()); return; } list.getPlayerMap().remove(uuid); source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.Player.REMOVE_SUCCESS) - .build().toText()); + .build().toComponent()); }); } @@ -400,19 +400,19 @@ private static void handleListAddSubcommand(final @NotNull FabricClientCommandSo if (CommunityRadarMod.getListManager().getRadarList(namespace).isPresent()) { // list already existing source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.CREATE_FAILED) - .build().toText()); + .build().toComponent()); return; } if (!CommunityRadarMod.getListManager().registerPrivateList(namespace, prefix)) { // list could not be registered source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.CREATE_FAILED) - .build().toText()); + .build().toComponent()); return; } source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.CREATE_SUCCESS) - .build().toText()); + .build().toComponent()); } /** @@ -425,12 +425,12 @@ private static void handleListDeleteSubcommand(final @NotNull FabricClientComman if (!listManager.unregisterList(namespace)) { // list is not existing, list is not private, file cannot be deleted source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.DELETE_FAILED) - .build().toText()); + .build().toComponent()); return; } source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.DELETE_SUCCESS) - .build().toText()); + .build().toComponent()); } /** @@ -443,7 +443,7 @@ private static void handleListShowSubcommand(final @NotNull FabricClientCommandS if (listOptional.isEmpty()) { // list is not existing source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.SHOW_FAILED) - .build().toText()); + .build().toComponent()); return; } @@ -451,7 +451,7 @@ private static void handleListShowSubcommand(final @NotNull FabricClientCommandS if (list.getPlayerMap().isEmpty()) { // list is empty source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.SHOW_EMPTY) - .build().toText()); + .build().toComponent()); return; } @@ -461,7 +461,7 @@ private static void handleListShowSubcommand(final @NotNull FabricClientCommandS .replace("{list}", list.getNamespace()) .replaceWithColorCodes("{prefix}", listOptional.get().getPrefix()) .replace("{players}", players.substring(0, players.length() - 2)) - .build().toText()); + .build().toComponent()); } /** @@ -475,7 +475,7 @@ private static void handleListPrefixSubcommand(final @NotNull FabricClientComman if (listOptional.isEmpty()) { // list is not existing source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.PREFIX_FAILED) - .build().toText()); + .build().toComponent()); return; } @@ -485,6 +485,6 @@ private static void handleListPrefixSubcommand(final @NotNull FabricClientComman source.sendFeedback(new RadarMessage.RadarMessageBuilder(Messages.List.PREFIX_SUCCESS) .replaceWithColorCodes("{prefix}", prefix) - .build().toText()); + .build().toComponent()); } } diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java index f976317..37e3f2f 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java @@ -17,8 +17,8 @@ import io.github.communityradargg.fabric.CommunityRadarMod; import io.github.communityradargg.fabric.utils.Utils; -import net.minecraft.client.gui.hud.ChatHud; -import net.minecraft.text.Text; +import net.minecraft.client.gui.components.ChatComponent; +import net.minecraft.network.chat.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.spongepowered.asm.mixin.Mixin; @@ -30,9 +30,9 @@ import java.util.concurrent.ExecutionException; /** - * An abstract Mixin class for {@link ChatHud}. + * An abstract Mixin class for {@link ChatComponent}. */ -@Mixin(ChatHud.class) +@Mixin(ChatComponent.class) public abstract class ChatHudMixin { @Unique private static final Logger logger = LoggerFactory.getLogger(ChatHudMixin.class); @@ -40,30 +40,25 @@ public abstract class ChatHudMixin { /** * Modifies the player chat messages. This gets called when a message should be added to the player chat. * - * @param text The original chat message text to modify. + * @param component The original chat message component to modify. * @return Returns the modified local variable. */ - @ModifyVariable(method = "addMessage(Lnet/minecraft/text/Text;Lnet/minecraft/network/message/MessageSignatureData;Lnet/minecraft/client/gui/hud/MessageIndicator;)V", at = @At(value = "HEAD"), index = 1, argsOnly = true) - private Text modifyChatMessages(final Text text) { + @ModifyVariable(method = "addMessage(Lnet/minecraft/network/chat/Component;Lnet/minecraft/network/chat/MessageSignature;Lnet/minecraft/client/GuiMessageTag;)V", at = @At(value = "HEAD"), index = 1, argsOnly = true) + private Component modifyChatMessages(final Component component) { if (!Utils.isOnGrieferGames()) { - return text; - } - - final String plainText = text.getString(); - if (plainText == null) { - return text; + return component; } // On a chat message there should be never be the need to call to the Mojang API. try { - final Optional playerUuid = Utils.getChatMessagePlayer(plainText).get(); + final Optional playerUuid = Utils.getChatMessagePlayer(component.getString()).get(); if (playerUuid.isPresent() && CommunityRadarMod.getListManager().isInList(playerUuid.get())) { - return Utils.includePrefixText(playerUuid.get(), text); + return Utils.includePrefixText(playerUuid.get(), component); } } catch (final ExecutionException | InterruptedException e) { logger.error("Could not get the player uuid in the message edit process", e); } - return text; + return component; } } diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java index 3d794e8..2ae3890 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java @@ -16,15 +16,15 @@ package io.github.communityradargg.fabric.mixin; import io.github.communityradargg.fabric.accessors.PlayerEntityRenderStateAccessor; -import net.minecraft.client.render.entity.state.PlayerEntityRenderState; +import net.minecraft.client.renderer.entity.state.AvatarRenderState; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import java.util.UUID; /** - * Mixin for the class {@link PlayerEntityRenderState}. + * Mixin for the class {@link AvatarRenderState}. */ -@Mixin(PlayerEntityRenderState.class) +@Mixin(AvatarRenderState.class) public class PlayerEntityRenderStateMixin implements PlayerEntityRenderStateAccessor { @Unique private UUID communityradar_fabric$playerUuid; diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java index 48c1123..1bd4da7 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java @@ -18,10 +18,10 @@ import com.llamalad7.mixinextras.sugar.Local; import io.github.communityradargg.fabric.accessors.PlayerEntityRenderStateAccessor; import io.github.communityradargg.fabric.utils.Utils; -import net.minecraft.client.render.entity.PlayerEntityRenderer; -import net.minecraft.client.render.entity.state.PlayerEntityRenderState; -import net.minecraft.entity.PlayerLikeEntity; -import net.minecraft.text.Text; +import net.minecraft.client.renderer.entity.player.AvatarRenderer; +import net.minecraft.client.renderer.entity.state.AvatarRenderState; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.Avatar; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -30,45 +30,45 @@ import java.util.UUID; /** - * An abstract Mixin class for {@link PlayerEntityRenderer}. + * An abstract Mixin class for {@link AvatarRenderer}. */ -@Mixin(PlayerEntityRenderer.class) +@Mixin(AvatarRenderer.class) public abstract class PlayerEntityRendererMixin { /** * Modifies the player name tag. This gets called once every tick with the original non-modified prefix. * - * @param text The original text to modify. - * @param playerEntityRenderState The needed local variable of the player entity render state. + * @param component The original component to modify. + * @param avatarRenderState The needed local variable of the avatar render state. * @return Returns the modified local variable. */ @ModifyArg( - method = "renderLabelIfPresent(Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V", + method = "submitNameTag(Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At( value = "INVOKE", - target = "Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;submitLabel(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/util/math/Vec3d;ILnet/minecraft/text/Text;ZIDLnet/minecraft/client/render/state/CameraRenderState;)V", + target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitNameTag(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/world/phys/Vec3;ILnet/minecraft/network/chat/Component;ZIDLnet/minecraft/client/renderer/state/CameraRenderState;)V", ordinal = 1 ), index = 3 ) - private Text modifyPlayerNameTag(final Text text, final @Local(index = 1, argsOnly = true) PlayerEntityRenderState playerEntityRenderState) { - final UUID uuid = ((PlayerEntityRenderStateAccessor) playerEntityRenderState).communityradar_fabric$getPlayerUuid(); + private Component modifyPlayerNameTag(final Component component, final @Local(index = 1, argsOnly = true) AvatarRenderState avatarRenderState) { + final UUID uuid = ((PlayerEntityRenderStateAccessor) avatarRenderState).communityradar_fabric$getPlayerUuid(); if (uuid == null || !Utils.isOnGrieferGames()) { - return text; + return component; } - return Utils.includePrefixText(uuid, text); + return Utils.includePrefixText(uuid, component); } /** * Modifies the player entity render state to set the self added uuid field. * - * @param playerLikeEntity The player like entity as the source for the uuid. - * @param playerEntityRenderState The player entity render state to set the uuid. + * @param avatar The avatar as the source for the uuid. + * @param avatarRenderState The avatar render state to set the uuid. * @param f The float f. * @param ci The callback info. */ - @Inject(method = "updateRenderState(Lnet/minecraft/entity/PlayerLikeEntity;Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;F)V", at = @At(value = "TAIL")) - private void modifyUpdateRenderState(final PlayerLikeEntity playerLikeEntity, final PlayerEntityRenderState playerEntityRenderState, final float f, final CallbackInfo ci) { - ((PlayerEntityRenderStateAccessor) playerEntityRenderState).communityradar_fabric$setPlayerUuid(playerLikeEntity.getUuid()); + @Inject(method = "extractRenderState(Lnet/minecraft/world/entity/Avatar;Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;F)V", at = @At(value = "TAIL")) + private void modifyUpdateRenderState(final Avatar avatar, final AvatarRenderState avatarRenderState, final float f, final CallbackInfo ci) { + ((PlayerEntityRenderStateAccessor) avatarRenderState).communityradar_fabric$setPlayerUuid(avatar.getUUID()); } } diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java index 6686375..30e7c8e 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java @@ -18,29 +18,29 @@ import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; import io.github.communityradargg.fabric.utils.Utils; -import net.minecraft.client.gui.hud.PlayerListHud; -import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.text.Text; +import net.minecraft.client.gui.components.PlayerTabOverlay; +import net.minecraft.client.multiplayer.PlayerInfo; +import net.minecraft.network.chat.Component; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; /** - * An abstract Mixin class for {@link PlayerListHudMixin}. + * An abstract Mixin class for {@link PlayerTabOverlay}. */ -@Mixin(PlayerListHud.class) +@Mixin(PlayerTabOverlay.class) public abstract class PlayerListHudMixin { /** - * Modifies the player player-list entry text. This gets called when the player-list entry gets updated. + * Modifies the player info component. This gets called when the player info gets updated. * - * @param text The original chat message text to modify. - * @param entry The needed local variable of the player list entry. + * @param component The original chat message component to modify. + * @param playerInfo The needed local variable of the player info. * @return Returns the modified local variable. */ - @ModifyReturnValue(method = "getPlayerName", at = @At("RETURN")) - private Text modifyGetPlayerName(final Text text, final @Local(argsOnly = true) PlayerListEntry entry) { + @ModifyReturnValue(method = "getNameForDisplay", at = @At("RETURN")) + private Component modifyGetPlayerName(final Component component, final @Local(argsOnly = true) PlayerInfo playerInfo) { if (!Utils.isOnGrieferGames()) { - return text; + return component; } - return Utils.includePrefixText(entry.getProfile().id(), text); + return Utils.includePrefixText(playerInfo.getProfile().id(), component); } } diff --git a/src/main/java/io/github/communityradargg/fabric/utils/RadarMessage.java b/src/main/java/io/github/communityradargg/fabric/utils/RadarMessage.java index 3e16c4b..a42c651 100644 --- a/src/main/java/io/github/communityradargg/fabric/utils/RadarMessage.java +++ b/src/main/java/io/github/communityradargg/fabric/utils/RadarMessage.java @@ -15,7 +15,7 @@ */ package io.github.communityradargg.fabric.utils; -import net.minecraft.text.Text; +import net.minecraft.network.chat.Component; import org.jetbrains.annotations.NotNull; /** @@ -35,12 +35,12 @@ private RadarMessage(final @NotNull String text, final boolean includePrefix) { } /** - * Converts this class instance to a {@link Text}. + * Converts this class instance to a {@link Component}. * - * @return Returns the text converted to a {@link Text}. + * @return Returns the text converted to a {@link Component}. */ - public @NotNull Text toText() { - return Text.of(text); + public @NotNull Component toComponent() { + return Component.nullToEmpty(text); } /** diff --git a/src/main/java/io/github/communityradargg/fabric/utils/Utils.java b/src/main/java/io/github/communityradargg/fabric/utils/Utils.java index a18e1e5..029a818 100644 --- a/src/main/java/io/github/communityradargg/fabric/utils/Utils.java +++ b/src/main/java/io/github/communityradargg/fabric/utils/Utils.java @@ -18,11 +18,11 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; import io.github.communityradargg.fabric.CommunityRadarMod; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.ClientPlayNetworkHandler; -import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.network.ClientConnection; -import net.minecraft.text.Text; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.client.multiplayer.PlayerInfo; +import net.minecraft.network.Connection; +import net.minecraft.network.chat.Component; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; @@ -64,8 +64,8 @@ public class Utils { * @return Returns a CompletableFuture with an optional with the player uuid. */ public static @NotNull CompletableFuture> getUUID(final @NotNull String playerName) { - final ClientPlayNetworkHandler networkHandler = MinecraftClient.getInstance().getNetworkHandler(); - if (networkHandler == null || networkHandler.getWorld() == null) { + final ClientPacketListener clientPacketListener = Minecraft.getInstance().getConnection(); + if (clientPacketListener == null) { // user has to be in a world return CompletableFuture.completedFuture(Optional.empty()); } @@ -76,10 +76,10 @@ public class Utils { } // checking if there is a player with same name in the loaded world. If so, returning the uuid from the profile - for (final PlayerListEntry playerListEntry : networkHandler.getPlayerList()) { - if (playerListEntry.getProfile().name().equalsIgnoreCase(playerName)) { - uuidNameCache.put(playerName, playerListEntry.getProfile().id()); - return CompletableFuture.completedFuture(Optional.of(playerListEntry.getProfile().id())); + for (final PlayerInfo playerInfo : clientPacketListener.getOnlinePlayers()) { + if (playerInfo.getProfile().name().equalsIgnoreCase(playerName)) { + uuidNameCache.put(playerName, playerInfo.getProfile().id()); + return CompletableFuture.completedFuture(Optional.of(playerInfo.getProfile().id())); } } @@ -168,32 +168,32 @@ private static boolean isGrieferGamesHostName(final @NotNull String hostName) { */ @SuppressWarnings("BooleanMethodIsAlwaysInverted") // better readable this way public static boolean isOnGrieferGames() { - final ClientPlayNetworkHandler networkHandler = MinecraftClient.getInstance().getNetworkHandler(); - if (networkHandler == null) { + final ClientPacketListener clientPacketListener = Minecraft.getInstance().getConnection(); + if (clientPacketListener == null) { return false; } - final ClientConnection connection = networkHandler.getConnection(); - if (connection.isLocal() || !(connection.getAddress() instanceof InetSocketAddress inetSocketAddress)) { + final Connection connection = clientPacketListener.getConnection(); + if (connection.isMemoryConnection() || !(connection.getRemoteAddress() instanceof InetSocketAddress inetSocketAddress)) { return false; } return isGrieferGamesHostName(inetSocketAddress.getHostName()); } /** - * Builds the new text including the radar prefix. + * Builds the new component including the radar prefix. * * @param playerUuid The uuid of the player to get the text with the radar prefix for. - * @param oldNameTagText The old text that should be extended, if needed. - * @return The new text for the including the radar prefix. + * @param oldNameTagText The old component that should be extended, if needed. + * @return The new component for the including the radar prefix. */ - public static Text includePrefixText(final @NotNull UUID playerUuid, final @NotNull Text oldNameTagText) { + public static Component includePrefixText(final @NotNull UUID playerUuid, final @NotNull Component oldNameTagText) { final String addonPrefix = CommunityRadarMod.getListManager() .getPrefix(playerUuid) .replace("&", "§"); if (!addonPrefix.isEmpty()) { - return Text.empty().append(addonPrefix + " ").append(oldNameTagText); + return Component.empty().append(addonPrefix + " ").append(oldNameTagText); } return oldNameTagText; } From 8152442e99aed2c7b6b7b752e60f613ef8c31330 Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Tue, 9 Dec 2025 16:39:02 +0100 Subject: [PATCH 5/8] Rename Mixin classes and methods after Mojang mapping migration --- ...or.java => AvatarRenderStateAccessor.java} | 2 +- ...Mixin.java => AvatarRenderStateMixin.java} | 4 ++-- ...rerMixin.java => AvatarRendererMixin.java} | 12 +++++----- ...tHudMixin.java => ChatComponentMixin.java} | 6 ++--- ...dMixin.java => PlayerTabOverlayMixin.java} | 4 ++-- src/main/resources/communityradar.mixins.json | 22 +++++++++---------- 6 files changed, 25 insertions(+), 25 deletions(-) rename src/main/java/io/github/communityradargg/fabric/accessors/{PlayerEntityRenderStateAccessor.java => AvatarRenderStateAccessor.java} (95%) rename src/main/java/io/github/communityradargg/fabric/mixin/{PlayerEntityRenderStateMixin.java => AvatarRenderStateMixin.java} (88%) rename src/main/java/io/github/communityradargg/fabric/mixin/{PlayerEntityRendererMixin.java => AvatarRendererMixin.java} (84%) rename src/main/java/io/github/communityradargg/fabric/mixin/{ChatHudMixin.java => ChatComponentMixin.java} (94%) rename src/main/java/io/github/communityradargg/fabric/mixin/{PlayerListHudMixin.java => PlayerTabOverlayMixin.java} (90%) diff --git a/src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java b/src/main/java/io/github/communityradargg/fabric/accessors/AvatarRenderStateAccessor.java similarity index 95% rename from src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java rename to src/main/java/io/github/communityradargg/fabric/accessors/AvatarRenderStateAccessor.java index 8c7d8de..34c28e1 100644 --- a/src/main/java/io/github/communityradargg/fabric/accessors/PlayerEntityRenderStateAccessor.java +++ b/src/main/java/io/github/communityradargg/fabric/accessors/AvatarRenderStateAccessor.java @@ -20,7 +20,7 @@ /** * Serves as accessor for the self added field in the {@link net.minecraft.client.renderer.entity.player.AvatarRenderer} class. */ -public interface PlayerEntityRenderStateAccessor { +public interface AvatarRenderStateAccessor { /** * Gets the player uuid field value. * diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRenderStateMixin.java similarity index 88% rename from src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java rename to src/main/java/io/github/communityradargg/fabric/mixin/AvatarRenderStateMixin.java index 2ae3890..52eb9af 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRenderStateMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRenderStateMixin.java @@ -15,7 +15,7 @@ */ package io.github.communityradargg.fabric.mixin; -import io.github.communityradargg.fabric.accessors.PlayerEntityRenderStateAccessor; +import io.github.communityradargg.fabric.accessors.AvatarRenderStateAccessor; import net.minecraft.client.renderer.entity.state.AvatarRenderState; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; @@ -25,7 +25,7 @@ * Mixin for the class {@link AvatarRenderState}. */ @Mixin(AvatarRenderState.class) -public class PlayerEntityRenderStateMixin implements PlayerEntityRenderStateAccessor { +public class AvatarRenderStateMixin implements AvatarRenderStateAccessor { @Unique private UUID communityradar_fabric$playerUuid; diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java similarity index 84% rename from src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java rename to src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java index 1bd4da7..16c9afb 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerEntityRendererMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java @@ -16,7 +16,7 @@ package io.github.communityradargg.fabric.mixin; import com.llamalad7.mixinextras.sugar.Local; -import io.github.communityradargg.fabric.accessors.PlayerEntityRenderStateAccessor; +import io.github.communityradargg.fabric.accessors.AvatarRenderStateAccessor; import io.github.communityradargg.fabric.utils.Utils; import net.minecraft.client.renderer.entity.player.AvatarRenderer; import net.minecraft.client.renderer.entity.state.AvatarRenderState; @@ -33,7 +33,7 @@ * An abstract Mixin class for {@link AvatarRenderer}. */ @Mixin(AvatarRenderer.class) -public abstract class PlayerEntityRendererMixin { +public abstract class AvatarRendererMixin { /** * Modifies the player name tag. This gets called once every tick with the original non-modified prefix. * @@ -50,8 +50,8 @@ public abstract class PlayerEntityRendererMixin { ), index = 3 ) - private Component modifyPlayerNameTag(final Component component, final @Local(index = 1, argsOnly = true) AvatarRenderState avatarRenderState) { - final UUID uuid = ((PlayerEntityRenderStateAccessor) avatarRenderState).communityradar_fabric$getPlayerUuid(); + private Component modifySubmitNameTag(final Component component, final @Local(index = 1, argsOnly = true) AvatarRenderState avatarRenderState) { + final UUID uuid = ((AvatarRenderStateAccessor) avatarRenderState).communityradar_fabric$getPlayerUuid(); if (uuid == null || !Utils.isOnGrieferGames()) { return component; @@ -68,7 +68,7 @@ private Component modifyPlayerNameTag(final Component component, final @Local(in * @param ci The callback info. */ @Inject(method = "extractRenderState(Lnet/minecraft/world/entity/Avatar;Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;F)V", at = @At(value = "TAIL")) - private void modifyUpdateRenderState(final Avatar avatar, final AvatarRenderState avatarRenderState, final float f, final CallbackInfo ci) { - ((PlayerEntityRenderStateAccessor) avatarRenderState).communityradar_fabric$setPlayerUuid(avatar.getUUID()); + private void modifyExtractRenderState(final Avatar avatar, final AvatarRenderState avatarRenderState, final float f, final CallbackInfo ci) { + ((AvatarRenderStateAccessor) avatarRenderState).communityradar_fabric$setPlayerUuid(avatar.getUUID()); } } diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java similarity index 94% rename from src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java rename to src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java index 37e3f2f..d14cfb4 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/ChatHudMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java @@ -33,9 +33,9 @@ * An abstract Mixin class for {@link ChatComponent}. */ @Mixin(ChatComponent.class) -public abstract class ChatHudMixin { +public abstract class ChatComponentMixin { @Unique - private static final Logger logger = LoggerFactory.getLogger(ChatHudMixin.class); + private static final Logger logger = LoggerFactory.getLogger(ChatComponentMixin.class); /** * Modifies the player chat messages. This gets called when a message should be added to the player chat. @@ -44,7 +44,7 @@ public abstract class ChatHudMixin { * @return Returns the modified local variable. */ @ModifyVariable(method = "addMessage(Lnet/minecraft/network/chat/Component;Lnet/minecraft/network/chat/MessageSignature;Lnet/minecraft/client/GuiMessageTag;)V", at = @At(value = "HEAD"), index = 1, argsOnly = true) - private Component modifyChatMessages(final Component component) { + private Component modifyAddMessage(final Component component) { if (!Utils.isOnGrieferGames()) { return component; } diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java similarity index 90% rename from src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java rename to src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java index 30e7c8e..af72f13 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerListHudMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java @@ -28,7 +28,7 @@ * An abstract Mixin class for {@link PlayerTabOverlay}. */ @Mixin(PlayerTabOverlay.class) -public abstract class PlayerListHudMixin { +public abstract class PlayerTabOverlayMixin { /** * Modifies the player info component. This gets called when the player info gets updated. * @@ -37,7 +37,7 @@ public abstract class PlayerListHudMixin { * @return Returns the modified local variable. */ @ModifyReturnValue(method = "getNameForDisplay", at = @At("RETURN")) - private Component modifyGetPlayerName(final Component component, final @Local(argsOnly = true) PlayerInfo playerInfo) { + private Component modifyGetNameForDisplay(final Component component, final @Local(argsOnly = true) PlayerInfo playerInfo) { if (!Utils.isOnGrieferGames()) { return component; } diff --git a/src/main/resources/communityradar.mixins.json b/src/main/resources/communityradar.mixins.json index 6738157..aaf7e53 100644 --- a/src/main/resources/communityradar.mixins.json +++ b/src/main/resources/communityradar.mixins.json @@ -1,17 +1,17 @@ { - "required": true, - "package": "io.github.communityradargg.fabric.mixin", - "compatibilityLevel": "JAVA_21", - "injectors": { - "defaultRequire": 1 - }, + "required": true, + "package": "io.github.communityradargg.fabric.mixin", + "compatibilityLevel": "JAVA_21", + "injectors": { + "defaultRequire": 1 + }, "overwrites": { "requireAnnotations": true }, "client": [ - "ChatHudMixin", - "PlayerEntityRendererMixin", - "PlayerEntityRenderStateMixin", - "PlayerListHudMixin" - ] + "AvatarRendererMixin", + "AvatarRenderStateMixin", + "ChatComponentMixin", + "PlayerTabOverlayMixin" + ] } From ab43bf615ceb07a545d131edf10c3f39fa598990 Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Tue, 9 Dec 2025 18:59:27 +0100 Subject: [PATCH 6/8] Update to Minecraft 1.21.11 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 55346ad..7078a67 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ fabricLoom = "1.14-SNAPSHOT" spotless = "8.1.0" # Libraries -minecraft = "1.21.11-rc3" +minecraft = "1.21.11" fabricLoader = "0.18.1" fabricApi = "0.139.4+1.21.11" From 454bd6dd3ea91b25bb701902459a2d3296e6e494 Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Tue, 9 Dec 2025 19:23:14 +0100 Subject: [PATCH 7/8] Rename further variables and methods with Mojang mappings migration --- .../fabric/mixin/AvatarRendererMixin.java | 2 +- .../fabric/mixin/ChatComponentMixin.java | 2 +- .../fabric/mixin/PlayerTabOverlayMixin.java | 2 +- .../github/communityradargg/fabric/utils/Utils.java | 12 ++++++------ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java index 16c9afb..4159cd6 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/AvatarRendererMixin.java @@ -56,7 +56,7 @@ private Component modifySubmitNameTag(final Component component, final @Local(in if (uuid == null || !Utils.isOnGrieferGames()) { return component; } - return Utils.includePrefixText(uuid, component); + return Utils.includePrefixComponent(uuid, component); } /** diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java index d14cfb4..540380a 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/ChatComponentMixin.java @@ -54,7 +54,7 @@ private Component modifyAddMessage(final Component component) { final Optional playerUuid = Utils.getChatMessagePlayer(component.getString()).get(); if (playerUuid.isPresent() && CommunityRadarMod.getListManager().isInList(playerUuid.get())) { - return Utils.includePrefixText(playerUuid.get(), component); + return Utils.includePrefixComponent(playerUuid.get(), component); } } catch (final ExecutionException | InterruptedException e) { logger.error("Could not get the player uuid in the message edit process", e); diff --git a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java index af72f13..cb53345 100644 --- a/src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java +++ b/src/main/java/io/github/communityradargg/fabric/mixin/PlayerTabOverlayMixin.java @@ -41,6 +41,6 @@ private Component modifyGetNameForDisplay(final Component component, final @Loca if (!Utils.isOnGrieferGames()) { return component; } - return Utils.includePrefixText(playerInfo.getProfile().id(), component); + return Utils.includePrefixComponent(playerInfo.getProfile().id(), component); } } diff --git a/src/main/java/io/github/communityradargg/fabric/utils/Utils.java b/src/main/java/io/github/communityradargg/fabric/utils/Utils.java index 029a818..0a7456a 100644 --- a/src/main/java/io/github/communityradargg/fabric/utils/Utils.java +++ b/src/main/java/io/github/communityradargg/fabric/utils/Utils.java @@ -183,19 +183,19 @@ public static boolean isOnGrieferGames() { /** * Builds the new component including the radar prefix. * - * @param playerUuid The uuid of the player to get the text with the radar prefix for. - * @param oldNameTagText The old component that should be extended, if needed. - * @return The new component for the including the radar prefix. + * @param playerUuid The uuid of the player to get the component with the radar prefix for. + * @param oldNameTagComponent The old component that should be extended, if needed. + * @return The new component including the radar prefix. */ - public static Component includePrefixText(final @NotNull UUID playerUuid, final @NotNull Component oldNameTagText) { + public static Component includePrefixComponent(final @NotNull UUID playerUuid, final @NotNull Component oldNameTagComponent) { final String addonPrefix = CommunityRadarMod.getListManager() .getPrefix(playerUuid) .replace("&", "§"); if (!addonPrefix.isEmpty()) { - return Component.empty().append(addonPrefix + " ").append(oldNameTagText); + return Component.empty().append(addonPrefix + " ").append(oldNameTagComponent); } - return oldNameTagText; + return oldNameTagComponent; } /** From ede34b0276aaca0b196b1192be3a136953918eae Mon Sep 17 00:00:00 2001 From: BlockyTheDev <86119630+BlockyTheDev@users.noreply.github.com> Date: Tue, 9 Dec 2025 19:27:06 +0100 Subject: [PATCH 8/8] Update fabric-loader to v0.18.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7078a67..8f5cc2f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ spotless = "8.1.0" # Libraries minecraft = "1.21.11" -fabricLoader = "0.18.1" +fabricLoader = "0.18.2" fabricApi = "0.139.4+1.21.11" [libraries]