From 9c1083aa8d52201fad825cd35228a7a5f69c3b17 Mon Sep 17 00:00:00 2001 From: RettichLP Date: Fri, 10 Jul 2026 23:36:04 +0200 Subject: [PATCH 1/5] Update Minecraft to 26.2, Loom, and Fabric API versions in configuration files --- gradle.properties | 8 ++++---- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index ddec5b40..a07c9f25 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,16 +7,16 @@ org.gradle.configuration-cache=false # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=26.1.2 +minecraft_version=26.2 loader_version=0.19.3 -loom_version=1.17.11 +loom_version=1.17-SNAPSHOT # Mod Properties mod_version=0.0.0 maven_group=de.rettichlp # Dependencies -fabric_api_version=0.151.0+26.1.2 +fabric_api_version=0.154.2+26.2 # External mods -modmenu_version=18.0.0-beta.1 +modmenu_version=18.0.0 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 65458075..9d0e0b34 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -37,7 +37,7 @@ ], "depends": { "fabricloader": ">=0.19.3", - "minecraft": "~26.1.2", + "minecraft": "~26.2", "java": ">=25", "fabric-api": "*" }, From e0ceeb7cfc206fb67619e8ca3945bcdcf8025a3c Mon Sep 17 00:00:00 2001 From: RettichLP Date: Tue, 14 Jul 2026 16:14:30 +0200 Subject: [PATCH 2/5] Refactor screen-switching logic to use `minecraft.gui.setScreen` for consistency and clarity --- .../ucutils/common/gui/screens/UCUtilsScreen.java | 4 ++-- .../gui/screens/options/MainOptionsScreen.java | 12 ++++++------ .../ucutils/common/models/ShutdownReason.java | 2 +- .../de/rettichlp/ucutils/mixin/PauseScreenMixin.java | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/rettichlp/ucutils/common/gui/screens/UCUtilsScreen.java b/src/main/java/de/rettichlp/ucutils/common/gui/screens/UCUtilsScreen.java index 4e6ccbcd..b1b20ebe 100644 --- a/src/main/java/de/rettichlp/ucutils/common/gui/screens/UCUtilsScreen.java +++ b/src/main/java/de/rettichlp/ucutils/common/gui/screens/UCUtilsScreen.java @@ -73,7 +73,7 @@ public void extractRenderState(@NonNull GuiGraphicsExtractor graphics, int mouse @Override public void onClose() { - this.minecraft.setScreen(null); + this.minecraft.gui.setScreen(null); doOnClose(); } @@ -93,7 +93,7 @@ protected void repositionElements() { public void back() { if (nonNull(this.parent)) { - this.minecraft.setScreen(this.parent); + this.minecraft.gui.setScreen(this.parent); doOnClose(); } else { onClose(); diff --git a/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/MainOptionsScreen.java b/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/MainOptionsScreen.java index 823c1647..a1d6473c 100644 --- a/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/MainOptionsScreen.java +++ b/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/MainOptionsScreen.java @@ -40,16 +40,16 @@ public void initBody() { renderService.addCyclingButton(directionalLayoutWidget, REINFORCEMENT_STYLE_NAME, Options.ReinforcementType.values(), Options.ReinforcementType::getDisplayName, Options::reinforcementType, Options::reinforcementType, 308); LinearLayout directionalLayoutWidget1 = directionalLayoutWidget.addChild(horizontal().spacing(8)); - directionalLayoutWidget1.addChild(Button.builder(TEXT_NAMETAG, button -> this.minecraft.setScreen(new NameTagOptionsScreen(this))).width(150).build()); - directionalLayoutWidget1.addChild(Button.builder(TEXT_CHAT, button -> this.minecraft.setScreen(new ChatOptionsScreen(this))).width(150).build()); + directionalLayoutWidget1.addChild(Button.builder(TEXT_NAMETAG, _ -> this.minecraft.gui.setScreen(new NameTagOptionsScreen(this))).width(150).build()); + directionalLayoutWidget1.addChild(Button.builder(TEXT_CHAT, _ -> this.minecraft.gui.setScreen(new ChatOptionsScreen(this))).width(150).build()); LinearLayout directionalLayoutWidget2 = directionalLayoutWidget.addChild(horizontal().spacing(8)); - directionalLayoutWidget2.addChild(Button.builder(TEXT_CAR, button -> this.minecraft.setScreen(new CarOptionsScreen(this))).width(150).build()); - directionalLayoutWidget2.addChild(Button.builder(TEXT_SOUNDS, button -> this.minecraft.setScreen(new SoundOptionsScreen(this))).width(150).build()); + directionalLayoutWidget2.addChild(Button.builder(TEXT_CAR, _ -> this.minecraft.gui.setScreen(new CarOptionsScreen(this))).width(150).build()); + directionalLayoutWidget2.addChild(Button.builder(TEXT_SOUNDS, _ -> this.minecraft.gui.setScreen(new SoundOptionsScreen(this))).width(150).build()); LinearLayout directionalLayoutWidget3 = directionalLayoutWidget.addChild(horizontal().spacing(8)); - directionalLayoutWidget3.addChild(Button.builder(TEXT_WIDGETS, button -> this.minecraft.setScreen(new TRCOptionsScreen("widgets", this, true))).width(150).build()); - directionalLayoutWidget3.addChild(Button.builder(TEXT_NOTIFICATIONS, button -> this.minecraft.setScreen(new NotificationOptionsScreen(this))).width(150).build()); + directionalLayoutWidget3.addChild(Button.builder(TEXT_WIDGETS, _ -> this.minecraft.gui.setScreen(new TRCOptionsScreen("widgets", this, true))).width(150).build()); + directionalLayoutWidget3.addChild(Button.builder(TEXT_NOTIFICATIONS, _ -> this.minecraft.gui.setScreen(new NotificationOptionsScreen(this))).width(150).build()); LinearLayout directionalLayoutWidget4 = directionalLayoutWidget.addChild(horizontal().spacing(8)); renderService.addToggleButton(directionalLayoutWidget4, HYDRATION_NAME, HYDRATION_TOOLTIP, Options::showHydration, Options::showHydration, 150); diff --git a/src/main/java/de/rettichlp/ucutils/common/models/ShutdownReason.java b/src/main/java/de/rettichlp/ucutils/common/models/ShutdownReason.java index f1f6f4ff..44b0ce06 100644 --- a/src/main/java/de/rettichlp/ucutils/common/models/ShutdownReason.java +++ b/src/main/java/de/rettichlp/ucutils/common/models/ShutdownReason.java @@ -29,7 +29,7 @@ public void activate() { @Override public void run() { Minecraft minecraft = Minecraft.getInstance(); - minecraft.execute(() -> minecraft.setScreen(new ShutdownScreen(ShutdownReason.this))); + minecraft.execute(() -> minecraft.gui.setScreen(new ShutdownScreen(ShutdownReason.this))); } }, 100); } diff --git a/src/main/java/de/rettichlp/ucutils/mixin/PauseScreenMixin.java b/src/main/java/de/rettichlp/ucutils/mixin/PauseScreenMixin.java index 270aac48..b96299d0 100644 --- a/src/main/java/de/rettichlp/ucutils/mixin/PauseScreenMixin.java +++ b/src/main/java/de/rettichlp/ucutils/mixin/PauseScreenMixin.java @@ -30,7 +30,7 @@ protected PauseScreenMixin(Component title) { private void ucutils$createPauseMenuInvoke(CallbackInfo ci, @Local(name = "gridLayout") GridLayout gridLayout, @Local(name = "helper") GridLayout.@NotNull RowHelper helper) { - Button buttonWidget = Button.builder(literal("UCUtils Settings"), _ -> this.minecraft.setScreen(new MainOptionsScreen())) + Button buttonWidget = Button.builder(literal("UCUtils Settings"), _ -> this.minecraft.gui.setScreen(new MainOptionsScreen())) .width(204) .build(); From 66b87858cd4f6044ef37842b5978403cbd4f2c99 Mon Sep 17 00:00:00 2001 From: RettichLP Date: Tue, 14 Jul 2026 16:14:52 +0200 Subject: [PATCH 3/5] Use `gameRenderer.mainRenderTarget` instead of `getMainRenderTarget` for screenshot handling --- .../java/de/rettichlp/ucutils/common/models/ScreenshotType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/rettichlp/ucutils/common/models/ScreenshotType.java b/src/main/java/de/rettichlp/ucutils/common/models/ScreenshotType.java index cb783677..408426c9 100644 --- a/src/main/java/de/rettichlp/ucutils/common/models/ScreenshotType.java +++ b/src/main/java/de/rettichlp/ucutils/common/models/ScreenshotType.java @@ -34,7 +34,7 @@ public enum ScreenshotType { private final String displayName; public void take(Consumer onSuccess) { - Minecraft.getInstance().execute(() -> takeScreenshot(Minecraft.getInstance().getMainRenderTarget(), nativeImage -> { + Minecraft.getInstance().execute(() -> takeScreenshot(Minecraft.getInstance().gameRenderer.mainRenderTarget(), nativeImage -> { try { File screenshotFile = getScreenshotFile(); nativeImage.writeToFile(screenshotFile); From 29148df501bf62974d735f9a724b8aa638eb73a9 Mon Sep 17 00:00:00 2001 From: RettichLP Date: Tue, 14 Jul 2026 16:15:02 +0200 Subject: [PATCH 4/5] Remove unused `distanceToCameraSq` parameter from `submitNameTag` calls --- .../java/de/rettichlp/ucutils/mixin/EntityRendererMixin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/rettichlp/ucutils/mixin/EntityRendererMixin.java b/src/main/java/de/rettichlp/ucutils/mixin/EntityRendererMixin.java index cb2fe220..4d4462a8 100644 --- a/src/main/java/de/rettichlp/ucutils/mixin/EntityRendererMixin.java +++ b/src/main/java/de/rettichlp/ucutils/mixin/EntityRendererMixin.java @@ -55,7 +55,7 @@ public abstract class EntityRendererMixin Date: Tue, 14 Jul 2026 16:16:04 +0200 Subject: [PATCH 5/5] Remove `Color` enum and refactor chat color handling logic to use RGB values --- .../common/configuration/options/Options.java | 7 +-- .../screens/options/ChatOptionsScreen.java | 25 ++++++++-- .../ucutils/common/models/Color.java | 49 ------------------- .../ucutils/common/models/Faction.java | 44 +++++------------ .../common/models/StockMarketEntry.java | 37 +++++--------- .../impl/faction/FactionListener.java | 23 ++++----- .../mixin/EntityHitboxDebugRendererMixin.java | 2 +- 7 files changed, 62 insertions(+), 125 deletions(-) delete mode 100644 src/main/java/de/rettichlp/ucutils/common/models/Color.java diff --git a/src/main/java/de/rettichlp/ucutils/common/configuration/options/Options.java b/src/main/java/de/rettichlp/ucutils/common/configuration/options/Options.java index 8a91f626..967e53a8 100644 --- a/src/main/java/de/rettichlp/ucutils/common/configuration/options/Options.java +++ b/src/main/java/de/rettichlp/ucutils/common/configuration/options/Options.java @@ -1,7 +1,6 @@ package de.rettichlp.ucutils.common.configuration.options; import de.rettichlp.ucutils.common.gui.screens.components.CyclingButtonEntry; -import de.rettichlp.ucutils.common.models.Color; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.Setter; @@ -11,6 +10,8 @@ import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; +import java.awt.Color; + import static de.rettichlp.ucutils.common.configuration.options.Options.AtmInformationType.NONE; import static de.rettichlp.ucutils.common.configuration.options.Options.ReinforcementType.UNICACITYADDON; import static net.minecraft.ChatFormatting.AQUA; @@ -37,8 +38,8 @@ public class Options { private boolean showHydration = true; private boolean checkUnicacityServer = true; private boolean changeFactionChatColor = false; - private Color factionChatColorPrimary = Color.BLUE; - private Color factionChatColorSecondary = Color.DARK_AQUA; + private int factionChatPrimaryColorValue = new Color(85, 85, 255).getRGB(); + private int factionChatSecondaryColorValue = new Color(0, 170, 170).getRGB(); @Getter @AllArgsConstructor diff --git a/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/ChatOptionsScreen.java b/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/ChatOptionsScreen.java index 116ae829..3eafd679 100644 --- a/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/ChatOptionsScreen.java +++ b/src/main/java/de/rettichlp/ucutils/common/gui/screens/options/ChatOptionsScreen.java @@ -1,15 +1,18 @@ package de.rettichlp.ucutils.common.gui.screens.options; +import de.rettichlp.therettingtoncompanion.gui.ColorButton; +import de.rettichlp.therettingtoncompanion.gui.screens.ColorSelectionPopupScreen; import de.rettichlp.ucutils.common.configuration.options.Options; import de.rettichlp.ucutils.common.gui.screens.OptionsScreen; -import de.rettichlp.ucutils.common.gui.screens.components.CyclingButtonEntry; -import de.rettichlp.ucutils.common.models.Color; import net.minecraft.client.gui.components.StringWidget; import net.minecraft.client.gui.layouts.LayoutSettings; import net.minecraft.client.gui.layouts.LinearLayout; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; +import java.awt.Color; + +import static de.rettichlp.ucutils.UCUtils.configuration; import static de.rettichlp.ucutils.UCUtils.renderService; import static net.minecraft.client.gui.layouts.LinearLayout.vertical; import static net.minecraft.network.chat.Component.translatable; @@ -34,8 +37,22 @@ public void initBody() { directionalLayoutWidget.addChild(new StringWidget(TEXT_FACTION, this.font), LayoutSettings::alignHorizontallyCenter); renderService.addToggleButton(directionalLayoutWidget, FACTION_COLOR_NAME, FACTION_COLOR_TOOLTIP, Options::changeFactionChatColor, Options::changeFactionChatColor, 308); - renderService.addCyclingButton(directionalLayoutWidget, FACTION_COLOR_PRIMARY, Color.values(), CyclingButtonEntry::getDisplayName, Options::factionChatColorPrimary, Options::factionChatColorPrimary, 308); - renderService.addCyclingButton(directionalLayoutWidget, FACTION_COLOR_SECONDARY, Color.values(), CyclingButtonEntry::getDisplayName, Options::factionChatColorSecondary, Options::factionChatColorSecondary, 308); + + Color factionChatPrimaryColor = new Color(configuration.getOptions().factionChatPrimaryColorValue()); + ColorButton factionChatPrimaryColorButton = new ColorButton(0, 0, 308, 20, factionChatPrimaryColor, button -> this.minecraft.gui.setScreen(new ColorSelectionPopupScreen(this.minecraft.gui.screen(), factionChatPrimaryColor, color -> { + configuration.getOptions().factionChatPrimaryColorValue(color.getRGB()); + ((ColorButton) button).setColor(color); + }))); + + directionalLayoutWidget.addChild(factionChatPrimaryColorButton); + + Color factionChatSecondaryColor = new Color(configuration.getOptions().factionChatSecondaryColorValue()); + ColorButton factionChatSecondaryColorButton = new ColorButton(0, 0, 308, 20, factionChatSecondaryColor, button -> this.minecraft.gui.setScreen(new ColorSelectionPopupScreen(this.minecraft.gui.screen(), factionChatSecondaryColor, color -> { + configuration.getOptions().factionChatSecondaryColorValue(color.getRGB()); + ((ColorButton) button).setColor(color); + }))); + + directionalLayoutWidget.addChild(factionChatSecondaryColorButton); directionalLayoutWidget.visitWidgets(this::addRenderableWidget); } diff --git a/src/main/java/de/rettichlp/ucutils/common/models/Color.java b/src/main/java/de/rettichlp/ucutils/common/models/Color.java deleted file mode 100644 index b3ef5d79..00000000 --- a/src/main/java/de/rettichlp/ucutils/common/models/Color.java +++ /dev/null @@ -1,49 +0,0 @@ -package de.rettichlp.ucutils.common.models; - -import de.rettichlp.ucutils.common.gui.screens.components.CyclingButtonEntry; -import lombok.AllArgsConstructor; -import lombok.Getter; -import net.minecraft.ChatFormatting; -import net.minecraft.client.gui.components.Tooltip; -import net.minecraft.network.chat.Component; -import org.jetbrains.annotations.NotNull; - -import static net.minecraft.ChatFormatting.getByName; -import static net.minecraft.client.gui.components.Tooltip.create; -import static net.minecraft.network.chat.Component.translatable; - -@Getter -@AllArgsConstructor -public enum Color implements CyclingButtonEntry { - - BLACK, - DARK_BLUE, - DARK_GREEN, - DARK_AQUA, - DARK_RED, - DARK_PURPLE, - GOLD, - GRAY, - DARK_GRAY, - BLUE, - GREEN, - AQUA, - RED, - LIGHT_PURPLE, - YELLOW, - WHITE; - - @Override - public Component getDisplayName() { - return translatable("ucutils.color." + this.name().toLowerCase()).withStyle(getFormatting()); - } - - @Override - public @NotNull Tooltip getTooltip() { - return create(translatable("ucutils.color." + this.name().toLowerCase()).withStyle(getFormatting())); - } - - public ChatFormatting getFormatting() { - return getByName(name()); - } -} diff --git a/src/main/java/de/rettichlp/ucutils/common/models/Faction.java b/src/main/java/de/rettichlp/ucutils/common/models/Faction.java index c746bda0..5c161240 100644 --- a/src/main/java/de/rettichlp/ucutils/common/models/Faction.java +++ b/src/main/java/de/rettichlp/ucutils/common/models/Faction.java @@ -2,49 +2,31 @@ import lombok.AllArgsConstructor; import lombok.Getter; -import net.minecraft.ChatFormatting; import java.awt.Color; -import static net.minecraft.ChatFormatting.BLUE; -import static net.minecraft.ChatFormatting.DARK_AQUA; -import static net.minecraft.ChatFormatting.DARK_BLUE; -import static net.minecraft.ChatFormatting.DARK_PURPLE; -import static net.minecraft.ChatFormatting.DARK_RED; -import static net.minecraft.ChatFormatting.GOLD; -import static net.minecraft.ChatFormatting.GRAY; -import static net.minecraft.ChatFormatting.GREEN; -import static net.minecraft.ChatFormatting.LIGHT_PURPLE; -import static net.minecraft.ChatFormatting.RED; -import static net.minecraft.ChatFormatting.WHITE; -import static net.minecraft.ChatFormatting.YELLOW; - @Getter @AllArgsConstructor public enum Faction { - NULL("", "", false, WHITE, ""), - FBI("FBI", "fbi", false, DARK_BLUE, "✯"), - POLIZEI("Polizei", "police", false, BLUE, "✯"), - RETTUNGSDIENST("Rettungsdienst", "medic", false, DARK_RED, "✚"), + NULL("", "", false, new Color(255, 255, 255), ""), + FBI("FBI", "fbi", false, new Color(0, 0, 170), "✯"), + POLIZEI("Polizei", "police", false, new Color(85, 85, 255), "✯"), + RETTUNGSDIENST("Rettungsdienst", "medic", false, new Color(170, 0, 0), "✚"), - LA_COSA_NOSTRA("La Cosa Nostra", "mafia", true, DARK_AQUA, "⚜"), - WESTSIDE_BALLAS("Westside Ballas", "gang", true, DARK_PURPLE, "☠"), - CALDERON_KARTELL("Calderón Kartell", "mexican", true, GOLD, "☀"), - KERZAKOV_FAMILIE("Kerzakov Familie", "kerzakov", true, RED, "✮"), - YAKUZA("Yakuza", "yakuza", true, GREEN, "☯"), + LA_COSA_NOSTRA("La Cosa Nostra", "mafia", true, new Color(0, 170, 170), "⚜"), + WESTSIDE_BALLAS("Westside Ballas", "gang", true, new Color(170, 0, 170), "☠"), + CALDERON_KARTELL("Calderón Kartell", "mexican", true, new Color(255, 170, 0), "☀"), + KERZAKOV_FAMILIE("Kerzakov Familie", "kerzakov", true, new Color(255, 85, 85), "✮"), + YAKUZA("Yakuza", "yakuza", true, new Color(85, 255, 85), "☯"), - MERCENARY("Söldner", "söldner", false, GRAY, "❇"), - KIRCHE("Kirche", "church", false, LIGHT_PURPLE, "†"), - NEWS("News", "news", false, YELLOW, "✉"); + MERCENARY("Söldner", "söldner", false, new Color(170, 170, 170), "❇"), + KIRCHE("Kirche", "church", false, new Color(255, 85, 255), "†"), + NEWS("News", "news", false, new Color(255, 255, 85), "✉"); private final String displayName; private final String apiKey; private final boolean isBadFaction; - private final ChatFormatting color; + private final Color color; private final String icon; - - public Color getAwtColor() { - return this.color.getColor() != null ? new Color(this.color.getColor()) : Color.WHITE; - } } diff --git a/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java b/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java index 4e515adf..b7148864 100644 --- a/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java +++ b/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java @@ -12,15 +12,13 @@ import static de.rettichlp.ucutils.common.models.Company.fromDisplayName; import static java.awt.Color.BLUE; +import static java.awt.Color.GREEN; +import static java.awt.Color.ORANGE; +import static java.awt.Color.RED; +import static java.awt.Color.YELLOW; import static java.lang.Double.parseDouble; import static java.lang.Integer.parseInt; import static java.util.regex.Pattern.compile; -import static net.minecraft.ChatFormatting.DARK_GREEN; -import static net.minecraft.ChatFormatting.DARK_RED; -import static net.minecraft.ChatFormatting.GOLD; -import static net.minecraft.ChatFormatting.GREEN; -import static net.minecraft.ChatFormatting.RED; -import static net.minecraft.ChatFormatting.YELLOW; import static net.minecraft.ChatFormatting.stripFormatting; import static net.minecraft.core.component.DataComponents.LORE; @@ -42,34 +40,25 @@ public record StockMarketEntry(Company company, double price, double changeMoney return null; } - // get color value - Integer colorValue = getColorValue(); - if (colorValue == null) { - return null; - } - - return new Color(colorValue); - } - - private @Nullable Integer getColorValue() { - Integer colorValue; + // get color + Color color; double diff = this.price - this.buyPrice; if (diff >= 75) { - colorValue = DARK_GREEN.getColor(); + color = GREEN.darker(); } else if (diff >= 60) { - colorValue = GREEN.getColor(); + color = GREEN; } else if (diff >= 45) { - colorValue = YELLOW.getColor(); + color = YELLOW; } else if (diff >= 30) { - colorValue = GOLD.getColor(); + color = ORANGE; } else if (diff >= 15) { - colorValue = RED.getColor(); + color = RED; } else { - colorValue = DARK_RED.getColor(); + color = RED.darker(); } - return colorValue; + return color; } public static @Nullable StockMarketEntry fromItemStack(@NotNull ItemStack itemStack) { diff --git a/src/main/java/de/rettichlp/ucutils/listener/impl/faction/FactionListener.java b/src/main/java/de/rettichlp/ucutils/listener/impl/faction/FactionListener.java index 01cf649f..ed1e83ff 100644 --- a/src/main/java/de/rettichlp/ucutils/listener/impl/faction/FactionListener.java +++ b/src/main/java/de/rettichlp/ucutils/listener/impl/faction/FactionListener.java @@ -6,7 +6,6 @@ import de.rettichlp.ucutils.listener.IMessageReceiveListener; import de.rettichlp.ucutils.listener.IMessageSendListener; import lombok.NonNull; -import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextColor; @@ -112,12 +111,12 @@ public boolean onMessageReceive(Component text, String message) { return true; } - ChatFormatting primaryFormatting = configuration.getOptions().factionChatColorPrimary().getFormatting(); - ChatFormatting secondaryFormatting = configuration.getOptions().factionChatColorSecondary().getFormatting(); + int primaryColorValue = configuration.getOptions().factionChatPrimaryColorValue(); + int secondaryColorValue = configuration.getOptions().factionChatSecondaryColorValue(); // check if color already matches formatting List siblings = text.getSiblings(); - if (siblings.size() != 3 || messageMatchesColor(siblings, primaryFormatting, secondaryFormatting)) { + if (siblings.size() != 3 || messageMatchesColor(siblings, primaryColorValue, secondaryColorValue)) { return true; } @@ -136,11 +135,11 @@ public boolean onMessageReceive(Component text, String message) { } player.sendSystemMessage(empty() - .append(literal(playerPrefix).withStyle(primaryFormatting)) + .append(literal(playerPrefix).withColor(primaryColorValue)) .append(literal(" ")) - .append(literal(senderPlayerName).withStyle(primaryFormatting)) + .append(literal(senderPlayerName).withColor(secondaryColorValue)) .append(literal(": ").withStyle(DARK_GRAY)) - .append(literal(factionMessage).withStyle(secondaryFormatting))); + .append(literal(factionMessage).withColor(secondaryColorValue))); return false; } @@ -159,12 +158,10 @@ public boolean onMessageSend(String message) { return true; } - private boolean messageMatchesColor(@NonNull List siblings, - ChatFormatting primaryFormatting, - ChatFormatting secondaryFormatting) { - TextColor primaryFormattingCurrent = siblings.get(0).getStyle().getColor(); - TextColor secondaryFormattingCurrent = siblings.get(2).getStyle().getColor(); - return primaryFormattingCurrent == null || secondaryFormattingCurrent == null || primaryFormattingCurrent.getValue() == primaryFormatting.getColor() || secondaryFormattingCurrent.getValue() == secondaryFormatting.getColor(); + private boolean messageMatchesColor(@NonNull List siblings, int primaryColorValue, int secondaryColorValue) { + TextColor primaryCurrent = siblings.get(0).getStyle().getColor(); + TextColor secondaryCurrent = siblings.get(2).getStyle().getColor(); + return primaryCurrent == null || secondaryCurrent == null || primaryCurrent.getValue() == primaryColorValue || secondaryCurrent.getValue() == secondaryColorValue; } @FunctionalInterface diff --git a/src/main/java/de/rettichlp/ucutils/mixin/EntityHitboxDebugRendererMixin.java b/src/main/java/de/rettichlp/ucutils/mixin/EntityHitboxDebugRendererMixin.java index 107c6a28..5e9a5e00 100644 --- a/src/main/java/de/rettichlp/ucutils/mixin/EntityHitboxDebugRendererMixin.java +++ b/src/main/java/de/rettichlp/ucutils/mixin/EntityHitboxDebugRendererMixin.java @@ -35,6 +35,6 @@ public abstract class EntityHitboxDebugRendererMixin { String playerName = player.getPlainTextName(); Faction faction = ofNullable(storage.getPlayerFactionCache().get(playerName)).orElseGet(() -> storage.getFaction(playerName)); - return stroke(faction.getAwtColor().getRGB()); + return stroke(faction.getColor().getRGB()); } }