This commit is contained in:
Ranzu authored and GitHub committed 2026-06-07 19:36:40 +00:00
1 parent 7ae8b15810
commit 6209831d08
13 files changed
+164 -76

No files matched your search

-1
View File
@@ -1,5 +1,4 @@
// Add your dependencies here
dependencies {
shadowImplementation("com.github.GTNewHorizons:GTNHLib:0.11.5")
}
+1 -1
View File
@@ -133,7 +133,7 @@ forceEnableMixins = false
# If enabled, you may use 'shadowCompile' for dependencies. They will be integrated into your jar. It is your
# responsibility to check the license and request permission for distribution if required.
usesShadowedDependencies = true
usesShadowedDependencies = false
# If disabled, won't remove unused classes from shadowed dependencies. Some libraries use reflection to access
# their own classes, making the minimization unreliable.
@@ -2,12 +2,16 @@ package codechicken.core;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.IReloadableResourceManager;
import net.minecraft.client.resources.IResourceManager;
import net.minecraft.client.resources.IResourceManagerReloadListener;
import net.minecraft.network.NetworkManager;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import codechicken.core.internal.CCCEventHandler;
import codechicken.lib.colour.LocalizedColours;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.relauncher.Side;
@@ -65,4 +69,16 @@ public class ClientUtils extends CommonUtils {
.replace("Supporters:", EnumChatFormatting.AQUA + "Supporters:");
GuiModListScroll.register(mod);
}
@SideOnly(Side.CLIENT)
public static void registerLocalizedColourReloadListener() {
((IReloadableResourceManager) mc().getResourceManager())
.registerReloadListener(new IResourceManagerReloadListener() {
@Override
public void onResourceManagerReload(IResourceManager resourceManager) {
LocalizedColours.reloadLocalizedColours();
}
});
}
}
@@ -36,7 +36,7 @@ import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import codechicken.core.launch.CodeChickenCorePlugin;
import codechicken.lib.colour.ColorUtils;
import codechicken.lib.colour.LocalizedColours;
import codechicken.lib.gui.GuiDraw;
import codechicken.lib.vec.Rectangle4i;
import cpw.mods.fml.client.GuiModList;
@@ -149,12 +149,11 @@ public class GuiModListScroll {
double dy = scroll % (height + 20);
GL11.glPushMatrix();
GL11.glTranslated(0, -dy, 0);
GuiDraw.fontRenderer
.drawSplitString(description, x1, y1draw, x2 - x1, ColorUtils.modDescriptionText.getColor());
GuiDraw.fontRenderer.drawSplitString(description, x1, y1draw, x2 - x1, LocalizedColours.MOD_DESCRIPTION_TEXT);
if (needsScroll) {
GL11.glTranslated(0, height + 20, 0);
GuiDraw.fontRenderer
.drawSplitString(description, x1, y1draw, x2 - x1, ColorUtils.modDescriptionText.getColor());
.drawSplitString(description, x1, y1draw, x2 - x1, LocalizedColours.MOD_DESCRIPTION_TEXT);
}
GL11.glPopMatrix();
@@ -65,6 +65,8 @@ public class CodeChickenCoreModContainer extends DummyModContainer {
public void init(FMLInitializationEvent event) {
if (event.getSide().isClient()) {
ClientUtils.enhanceSupportersList("CodeChickenCore");
ClientUtils.registerLocalizedColourReloadListener();
FMLCommonHandler.instance().bus().register(new CCCEventHandler());
MinecraftForge.EVENT_BUS.register(new CCCEventHandler());
}
@@ -6,7 +6,7 @@ import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import codechicken.lib.colour.ColorUtils;
import codechicken.lib.colour.LocalizedColours;
public class GuiCCButton extends GuiWidget {
@@ -75,9 +75,8 @@ public class GuiCCButton extends GuiWidget {
}
public int getTextColour(int mousex, int mousey) {
return !isEnabled ? ColorUtils.buttonTextDisabled.getColor()
: pointInside(mousex, mousey) ? ColorUtils.buttonTextHover.getColor()
: ColorUtils.buttonText.getColor();
return !isEnabled ? LocalizedColours.BUTTON_TEXT_DISABLED
: pointInside(mousex, mousey) ? LocalizedColours.BUTTON_TEXT_HOVER : LocalizedColours.BUTTON_TEXT;
}
public GuiCCButton setActionCommand(String string) {
@@ -5,7 +5,7 @@ import net.minecraft.util.ChatAllowedCharacters;
import org.lwjgl.input.Keyboard;
import codechicken.lib.colour.ColorUtils;
import codechicken.lib.colour.LocalizedColours;
public class GuiCCTextField extends GuiWidget {
@@ -122,8 +122,8 @@ public class GuiCCTextField extends GuiWidget {
}
public void drawBackground() {
drawRect(x - 1, y - 1, x + width + 1, y + height + 1, ColorUtils.textFieldBorder.getColor());
drawRect(x, y, x + width, y + height, ColorUtils.textFieldBackground.getColor());
drawRect(x - 1, y - 1, x + width + 1, y + height + 1, LocalizedColours.TEXT_FIELD_BORDER);
drawRect(x, y, x + width, y + height, LocalizedColours.TEXT_FIELD_BACKGROUND);
}
public String getDrawText() {
@@ -137,7 +137,7 @@ public class GuiCCTextField extends GuiWidget {
}
public int getTextColour() {
return isEnabled ? ColorUtils.textFieldText.getColor() : ColorUtils.textFieldTextDisabled.getColor();
return isEnabled ? LocalizedColours.TEXT_FIELD_TEXT : LocalizedColours.TEXT_FIELD_TEXT_DISABLED;
}
public GuiCCTextField setMaxStringLength(int i) {
@@ -3,7 +3,7 @@ package codechicken.core.gui;
import java.awt.Dimension;
import java.awt.Rectangle;
import codechicken.lib.colour.ColorUtils;
import codechicken.lib.colour.LocalizedColours;
import codechicken.lib.math.MathHelper;
import codechicken.lib.vec.Rectangle4i;
@@ -185,29 +185,29 @@ public abstract class GuiScrollPane extends GuiWidget {
}
public void drawBackground(float frame) {
drawRect(x, y, x + width, y + height, ColorUtils.scrollPaneBackground.getColor());
drawRect(x, y, x + width, y + height, LocalizedColours.SCROLL_PANE_BACKGROUND);
}
public abstract void drawContent(int mx, int my, float frame);
public void drawOverlay(float frame) {
// outlines
drawRect(x, y - 1, x + width, y, ColorUtils.scrollPaneOverlayTop.getColor());
drawRect(x, y + height, x + width, y + height + 1, ColorUtils.scrollPaneOverlayBottom.getColor());
drawRect(x - 1, y - 1, x, y + height + 1, ColorUtils.scrollPaneOverlayLeft.getColor());
drawRect(x + width, y - 1, x + width + 1, y + height + 1, ColorUtils.scrollPaneOverlayRight.getColor());
drawRect(x, y - 1, x + width, y, LocalizedColours.SCROLL_PANE_OVERLAY_TOP);
drawRect(x, y + height, x + width, y + height + 1, LocalizedColours.SCROLL_PANE_OVERLAY_BOTTOM);
drawRect(x - 1, y - 1, x, y + height + 1, LocalizedColours.SCROLL_PANE_OVERLAY_LEFT);
drawRect(x + width, y - 1, x + width + 1, y + height + 1, LocalizedColours.SCROLL_PANE_OVERLAY_RIGHT);
}
public void drawScrollbar(float frame) {
Rectangle r = scrollbarBounds();
drawRect(r.x, r.y, r.x + r.width, r.y + r.height, ColorUtils.scrollbarCorners.getColor());
drawRect(r.x, r.y, r.x + r.width - 1, r.y + r.height - 1, ColorUtils.scrollbarTopLeft.getColor());
drawRect(r.x + 1, r.y + 1, r.x + r.width, r.y + r.height, ColorUtils.scrollbarBottomRight.getColor());
drawRect(r.x + 1, r.y + 1, r.x + r.width - 1, r.y + r.height - 1, ColorUtils.scrollbarFill.getColor());
drawRect(r.x, r.y, r.x + r.width, r.y + r.height, LocalizedColours.SCROLLBAR_CORNERS);
drawRect(r.x, r.y, r.x + r.width - 1, r.y + r.height - 1, LocalizedColours.SCROLLBAR_TOP_LEFT);
drawRect(r.x + 1, r.y + 1, r.x + r.width, r.y + r.height, LocalizedColours.SCROLLBAR_BOTTOM_RIGHT);
drawRect(r.x + 1, r.y + 1, r.x + r.width - 1, r.y + r.height - 1, LocalizedColours.SCROLLBAR_FILL);
int algn = scrollbarGuideAlignment();
if (algn != 0)
drawRect(algn > 0 ? r.x + r.width : r.x - 1, y, r.x, y + height, ColorUtils.scrollbarGuide.getColor());
drawRect(algn > 0 ? r.x + r.width : r.x - 1, y, r.x, y + height, LocalizedColours.SCROLLBAR_GUIDE);
}
}
@@ -1,38 +0,0 @@
package codechicken.lib.colour;
import com.gtnewhorizon.gtnhlib.color.ColorResource;
public class ColorUtils {
private static final ColorResource.Factory color = new ColorResource.Factory("codechickencore");
public static final ColorResource
// spotless:off
textFieldText = color.rgb("textFieldText", "0xE0E0E0"),
textFieldTextDisabled = color.rgb("textFieldTextDisabled", "0x707070"),
itemQuantityText = color.rgb("itemQuantityText", "0xFFFFFF"),
modDescriptionText = color.rgb("modDescriptionText", "0xDDDDDD"),
buttonTextDisabled = color.argb("buttonTextDisabled", "0xFFA0A0A0"),
buttonTextHover = color.argb("buttonTextHover", "0xFFFFFFA0"),
buttonText = color.argb("buttonText", "0xFFE0E0E0"),
textFieldBorder = color.argb("textFieldBorder", "0xFFA0A0A0"),
textFieldBackground = color.argb("textFieldBackground", "0xFF000000"),
scrollPaneBackground = color.argb("background", "0xFF000000"),
scrollPaneOverlayTop = color.argb("overlayTop", "0xFFA0A0A0"),
scrollPaneOverlayBottom = color.argb("overlayBottom", "0xFFA0A0A0"),
scrollPaneOverlayLeft = color.argb("overlayLeft", "0xFFA0A0A0"),
scrollPaneOverlayRight = color.argb("overlayRight", "0xFFA0A0A0"),
scrollbarCorners = color.argb("scrollbarCorners", "0xFF8B8B8B"),
scrollbarTopLeft = color.argb("scrollbarTopLeft", "0xFFF0F0F0"),
scrollbarBottomRight = color.argb("scrollbarBottomRight", "0xFF555555"),
scrollbarFill = color.argb("scrollbarFill", "0xFFC6C6C6"),
scrollbarGuide = color.argb("scrollbarGuide", "0xFF808080"),
tooltipBgStart = color.argb("tooltipBgStart", "0xF0100010"),
tooltipBgEnd = color.argb("tooltipBgEnd", "0xF0100010"),
tooltipBorderStart = color.argb("tooltipBorderStart", "0x505000FF"),
tooltipBorderEnd = color.argb("tooltipBorderEnd", "0x5028007F"),
tooltipText = color.argb("tooltipText", "0xFFFFFFFF");
// spotless:on
}
@@ -0,0 +1,86 @@
package codechicken.lib.colour;
import net.minecraft.util.StatCollector;
public final class LocalizedColours {
private static final String KEY_PREFIX = "codechickencore.color.";
public static int BUTTON_TEXT_DISABLED = 0xFFA0A0A0;
public static int BUTTON_TEXT_HOVER = 0xFFFFFFA0;
public static int BUTTON_TEXT = 0xFFE0E0E0;
public static int TEXT_FIELD_BORDER = 0xFFA0A0A0;
public static int TEXT_FIELD_BACKGROUND = 0xFF000000;
public static int TEXT_FIELD_TEXT = 0xE0E0E0;
public static int TEXT_FIELD_TEXT_DISABLED = 0x707070;
public static int SCROLL_PANE_BACKGROUND = 0xFF000000;
public static int SCROLL_PANE_OVERLAY_TOP = 0xFFA0A0A0;
public static int SCROLL_PANE_OVERLAY_BOTTOM = 0xFFA0A0A0;
public static int SCROLL_PANE_OVERLAY_LEFT = 0xFFA0A0A0;
public static int SCROLL_PANE_OVERLAY_RIGHT = 0xFFA0A0A0;
public static int SCROLLBAR_CORNERS = 0xFF8B8B8B;
public static int SCROLLBAR_TOP_LEFT = 0xFFF0F0F0;
public static int SCROLLBAR_BOTTOM_RIGHT = 0xFF555555;
public static int SCROLLBAR_FILL = 0xFFC6C6C6;
public static int SCROLLBAR_GUIDE = 0xFF808080;
public static int TOOLTIP_BG_START = 0xF0100010;
public static int TOOLTIP_BG_END = 0xF0100010;
public static int TOOLTIP_BORDER_START = 0x505000FF;
public static int TOOLTIP_BORDER_END = 0x5028007F;
public static int TOOLTIP_TEXT = 0xFFFFFFFF;
public static int ITEM_QUANTITY_TEXT = 0xFFFFFF;
public static int MOD_DESCRIPTION_TEXT = 0xDDDDDD;
private LocalizedColours() {}
public static void reloadLocalizedColours() {
BUTTON_TEXT_DISABLED = getLocalizedColor("buttonTextDisabled", BUTTON_TEXT_DISABLED);
BUTTON_TEXT_HOVER = getLocalizedColor("buttonTextHover", BUTTON_TEXT_HOVER);
BUTTON_TEXT = getLocalizedColor("buttonText", BUTTON_TEXT);
TEXT_FIELD_BORDER = getLocalizedColor("textFieldBorder", TEXT_FIELD_BORDER);
TEXT_FIELD_BACKGROUND = getLocalizedColor("textFieldBackground", TEXT_FIELD_BACKGROUND);
TEXT_FIELD_TEXT = getLocalizedColor("textFieldText", TEXT_FIELD_TEXT);
TEXT_FIELD_TEXT_DISABLED = getLocalizedColor("textFieldTextDisabled", TEXT_FIELD_TEXT_DISABLED);
SCROLL_PANE_BACKGROUND = getLocalizedColor("background", SCROLL_PANE_BACKGROUND);
SCROLL_PANE_OVERLAY_TOP = getLocalizedColor("overlayTop", SCROLL_PANE_OVERLAY_TOP);
SCROLL_PANE_OVERLAY_BOTTOM = getLocalizedColor("overlayBottom", SCROLL_PANE_OVERLAY_BOTTOM);
SCROLL_PANE_OVERLAY_LEFT = getLocalizedColor("overlayLeft", SCROLL_PANE_OVERLAY_LEFT);
SCROLL_PANE_OVERLAY_RIGHT = getLocalizedColor("overlayRight", SCROLL_PANE_OVERLAY_RIGHT);
SCROLLBAR_CORNERS = getLocalizedColor("scrollbarCorners", SCROLLBAR_CORNERS);
SCROLLBAR_TOP_LEFT = getLocalizedColor("scrollbarTopLeft", SCROLLBAR_TOP_LEFT);
SCROLLBAR_BOTTOM_RIGHT = getLocalizedColor("scrollbarBottomRight", SCROLLBAR_BOTTOM_RIGHT);
SCROLLBAR_FILL = getLocalizedColor("scrollbarFill", SCROLLBAR_FILL);
SCROLLBAR_GUIDE = getLocalizedColor("scrollbarGuide", SCROLLBAR_GUIDE);
TOOLTIP_BG_START = getLocalizedColor("tooltipBgStart", TOOLTIP_BG_START);
TOOLTIP_BG_END = getLocalizedColor("tooltipBgEnd", TOOLTIP_BG_END);
TOOLTIP_BORDER_START = getLocalizedColor("tooltipBorderStart", TOOLTIP_BORDER_START);
TOOLTIP_BORDER_END = getLocalizedColor("tooltipBorderEnd", TOOLTIP_BORDER_END);
TOOLTIP_TEXT = getLocalizedColor("tooltipText", TOOLTIP_TEXT);
ITEM_QUANTITY_TEXT = getLocalizedColor("itemQuantityText", ITEM_QUANTITY_TEXT);
MOD_DESCRIPTION_TEXT = getLocalizedColor("modDescriptionText", MOD_DESCRIPTION_TEXT);
}
/**
* Resolve a optional localized ARGB color from lang files. Expected value format: AARRGGBB (for example FF555555).
*/
private static int getLocalizedColor(String key, int defaultColor) {
String fullKey = KEY_PREFIX + key;
if (!StatCollector.canTranslate(fullKey)) {
return defaultColor;
}
String raw = StatCollector.translateToLocal(fullKey);
String hex = raw.trim();
if (hex.startsWith("0x") || hex.startsWith("0X")) {
hex = hex.substring(2);
} else if (hex.startsWith("#")) {
hex = hex.substring(1);
}
try {
return (int) Long.parseLong(hex, 16);
} catch (NumberFormatException ignored) {
return defaultColor;
}
}
}
+10 -10
View File
@@ -18,7 +18,7 @@ import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import codechicken.lib.colour.ColorUtils;
import codechicken.lib.colour.LocalizedColours;
import codechicken.lib.math.MathHelper;
import codechicken.lib.render.CCRenderState;
@@ -168,10 +168,10 @@ public class GuiDraw {
x,
y,
list,
ColorUtils.tooltipBgStart.getColor(),
ColorUtils.tooltipBgEnd.getColor(),
ColorUtils.tooltipBorderStart.getColor(),
ColorUtils.tooltipBorderEnd.getColor());
LocalizedColours.TOOLTIP_BG_START,
LocalizedColours.TOOLTIP_BG_END,
LocalizedColours.TOOLTIP_BORDER_START,
LocalizedColours.TOOLTIP_BORDER_END);
}
public static void drawMultilineTip(FontRenderer font, int x, int y, List<String> list, int bgStart, int bgEnd,
@@ -210,7 +210,7 @@ public class GuiDraw {
line.draw(x, y);
y += line.getSize().height;
} else {
font.drawStringWithShadow(s, x, y, ColorUtils.tooltipText.getColor());
font.drawStringWithShadow(s, x, y, LocalizedColours.TOOLTIP_TEXT);
y += s.endsWith(TOOLTIP_LINESPACE) ? 12 : 10;
}
}
@@ -229,10 +229,10 @@ public class GuiDraw {
y,
w,
h,
ColorUtils.tooltipBgStart.getColor(),
ColorUtils.tooltipBgEnd.getColor(),
ColorUtils.tooltipBorderStart.getColor(),
ColorUtils.tooltipBorderEnd.getColor());
LocalizedColours.TOOLTIP_BG_START,
LocalizedColours.TOOLTIP_BG_END,
LocalizedColours.TOOLTIP_BORDER_START,
LocalizedColours.TOOLTIP_BORDER_END);
}
public static void drawTooltipBox(int x, int y, int w, int h, int bgStart, int bgEnd, int borderStart,
@@ -6,7 +6,7 @@ import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import codechicken.lib.colour.ColorUtils;
import codechicken.lib.colour.LocalizedColours;
public class FontUtils {
@@ -55,7 +55,7 @@ public class FontUtils {
GL11.glPushMatrix();
GL11.glTranslated(x + 16 - swidth, y + 16 - sheight, 0);
GL11.glScaled(scale, scale, 1);
fontRenderer.drawStringWithShadow(quantity, 0, 0, ColorUtils.itemQuantityText.getColor());
fontRenderer.drawStringWithShadow(quantity, 0, 0, LocalizedColours.ITEM_QUANTITY_TEXT);
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
@@ -1 +1,26 @@
codechickencore.update=Version %s of %s is available
codechickencore.update=Version %s of %s is available
codechickencore.color.buttonTextDisabled=FFA0A0A0
codechickencore.color.buttonTextHover=FFFFFFA0
codechickencore.color.buttonText=FFE0E0E0
codechickencore.color.textFieldBorder=FFA0A0A0
codechickencore.color.textFieldBackground=FF000000
codechickencore.color.textFieldText=E0E0E0
codechickencore.color.textFieldTextDisabled=707070
codechickencore.color.background=FF000000
codechickencore.color.overlayTop=FFA0A0A0
codechickencore.color.overlayBottom=FFA0A0A0
codechickencore.color.overlayLeft=FFA0A0A0
codechickencore.color.overlayRight=FFA0A0A0
codechickencore.color.scrollbarCorners=FF8B8B8B
codechickencore.color.scrollbarTopLeft=FFF0F0F0
codechickencore.color.scrollbarBottomRight=FF555555
codechickencore.color.scrollbarFill=FFC6C6C6
codechickencore.color.scrollbarGuide=FF808080
codechickencore.color.tooltipBgStart=F0100010
codechickencore.color.tooltipBgEnd=F0100010
codechickencore.color.tooltipBorderStart=505000FF
codechickencore.color.tooltipBorderEnd=5028007F
codechickencore.color.tooltipText=FFFFFFFF
codechickencore.color.itemQuantityText=FFFFFF
codechickencore.color.modDescriptionText=DDDDDD