Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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;
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

Expand All @@ -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();
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
49 changes: 0 additions & 49 deletions src/main/java/de/rettichlp/ucutils/common/models/Color.java

This file was deleted.

44 changes: 13 additions & 31 deletions src/main/java/de/rettichlp/ucutils/common/models/Faction.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public enum ScreenshotType {
private final String displayName;

public void take(Consumer<File> 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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<Component> siblings = text.getSiblings();
if (siblings.size() != 3 || messageMatchesColor(siblings, primaryFormatting, secondaryFormatting)) {
if (siblings.size() != 3 || messageMatchesColor(siblings, primaryColorValue, secondaryColorValue)) {
return true;
}

Expand All @@ -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;
}
Expand All @@ -159,12 +158,10 @@ public boolean onMessageSend(String message) {
return true;
}

private boolean messageMatchesColor(@NonNull List<Component> 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<Component> 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}
}
Loading