mirror of
https://github.com/GTNewHorizons/CodeChickenCore.git
synced 2026-10-27 06:43:52 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ae8b15810 | ||
|
|
08f3e4d42a | ||
|
|
9bd4c63b00 | ||
|
|
6e90633d31 | ||
|
|
f02dbc956c | ||
|
|
63f36ca383 |
No files matched your search
@@ -27,3 +27,4 @@ whitelist.json
|
||||
*.iws
|
||||
src/main/resources/mixins.*.json
|
||||
*.bat
|
||||
.DS_Store
|
||||
@@ -1,4 +1,5 @@
|
||||
// Add your dependencies here
|
||||
|
||||
dependencies {
|
||||
shadowImplementation("com.github.GTNewHorizons:GTNHLib:0.11.5")
|
||||
}
|
||||
+31
-4
@@ -39,9 +39,33 @@ remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/co
|
||||
# `./gradlew runClient --username=AnotherPlayer`, or configuring this command in your IDE.
|
||||
developmentEnvironmentUserName = Developer
|
||||
|
||||
# Enables using modern Java syntax (up to version 17) via Jabel, while still targeting JVM 8.
|
||||
# See https://github.com/bsideup/jabel for details on how this works.
|
||||
enableModernJavaSyntax = true
|
||||
# Enables modern Java syntax support. Valid values:
|
||||
# - false: No modern syntax, Java 8 only
|
||||
# - jabel: Jabel syntax-only support, compiles to J8 bytecode
|
||||
# - jvmDowngrader: Full modern Java via JVM Downgrader (syntax + stdlib APIs)
|
||||
# - modern: Native modern Java bytecode, no downgrading
|
||||
enableModernJavaSyntax = jabel
|
||||
|
||||
# If set, ignores the above setting and compiles with the given toolchain. This may cause unexpected issues,
|
||||
# and should *not* be used in most situations. -1 disables this.
|
||||
# forceToolchainVersion = -1
|
||||
|
||||
# Target JVM version for JVM Downgrader bytecode downgrading.
|
||||
# Only used when enableModernJavaSyntax = jvmDowngrader
|
||||
# downgradeTargetVersion = 8
|
||||
|
||||
# Comma-separated list of Java versions for multi-release jar support (JVM Downgrader only).
|
||||
# Classes will be available in META-INF/versions/N/ for each version N in this list.
|
||||
# Default: "21,25" (J25+ gets native classes, J21-24 gets partial downgrade, J8-20 gets full downgrade).
|
||||
# jvmDowngraderMultiReleaseVersions = 21,25
|
||||
|
||||
# Specifies how JVM Downgrader API stubs are provided. Options:
|
||||
# - shade: Shade minimized stubs into the jar
|
||||
# - gtnhlib: GTNHLib provides stubs at runtime (adds version constraint)
|
||||
# - external: Another dependency provides stubs (no constraint, no warning)
|
||||
# - (empty): Warning reminding you to configure stubs
|
||||
# Note: 'shade' option requires you to verify license compliance, see: https://github.com/unimined/JvmDowngrader/blob/main/LICENSE.md
|
||||
# jvmDowngraderStubsProvider =
|
||||
|
||||
# Enables injecting missing generics into the decompiled source code for a better coding experience.
|
||||
# Turns most publicly visible List, Map, etc. into proper List<E>, Map<K, V> types.
|
||||
@@ -109,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 = false
|
||||
usesShadowedDependencies = true
|
||||
|
||||
# If disabled, won't remove unused classes from shadowed dependencies. Some libraries use reflection to access
|
||||
# their own classes, making the minimization unreliable.
|
||||
@@ -203,3 +227,6 @@ curseForgeRelations =
|
||||
# This is meant to be set in $HOME/.gradle/gradle.properties.
|
||||
# ideaCheckSpotlessOnBuild = true
|
||||
|
||||
# Non-GTNH properties
|
||||
org.gradle.configuration-cache = true
|
||||
org.gradle.parallel = true
|
||||
@@ -0,0 +1,12 @@
|
||||
#This file is generated by updateDaemonJvm
|
||||
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect
|
||||
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/cd495626d2ee49a75447e3fdc6afb287/redirect
|
||||
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/1630f7ebef05444cb27a2709ea0249b3/redirect
|
||||
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/cd495626d2ee49a75447e3fdc6afb287/redirect
|
||||
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/d4fd992c9557644e637ebe98263e0ae7/redirect
|
||||
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/59a9771cad43219260d9aac9a8ec4d6a/redirect
|
||||
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect
|
||||
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/cd495626d2ee49a75447e3fdc6afb287/redirect
|
||||
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/a4c09dd2e2d7079373d30e524bbc2829/redirect
|
||||
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/8e1d9ee5d0f13e442218f6884a306da1/redirect
|
||||
toolchainVersion=25
|
||||
Vendored
BIN
Binary file not shown.
+1
-1
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
# Copyright © 2015 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -57,7 +57,7 @@
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
@@ -114,7 +114,6 @@ case "$( uname )" in #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
@@ -172,7 +171,6 @@ fi
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
@@ -212,8 +210,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
|
||||
Vendored
+1
-2
@@ -70,11 +70,10 @@ goto fail
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ pluginManagement {
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.48'
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.24'
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +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.gui.GuiDraw;
|
||||
import codechicken.lib.vec.Rectangle4i;
|
||||
import cpw.mods.fml.client.GuiModList;
|
||||
@@ -148,10 +149,12 @@ public class GuiModListScroll {
|
||||
double dy = scroll % (height + 20);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, -dy, 0);
|
||||
GuiDraw.fontRenderer.drawSplitString(description, x1, y1draw, x2 - x1, 0xDDDDDD);
|
||||
GuiDraw.fontRenderer
|
||||
.drawSplitString(description, x1, y1draw, x2 - x1, ColorUtils.modDescriptionText.getColor());
|
||||
if (needsScroll) {
|
||||
GL11.glTranslated(0, height + 20, 0);
|
||||
GuiDraw.fontRenderer.drawSplitString(description, x1, y1draw, x2 - x1, 0xDDDDDD);
|
||||
GuiDraw.fontRenderer
|
||||
.drawSplitString(description, x1, y1draw, x2 - x1, ColorUtils.modDescriptionText.getColor());
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
|
||||
|
||||
@@ -65,7 +65,6 @@ public class CodeChickenCoreModContainer extends DummyModContainer {
|
||||
public void init(FMLInitializationEvent event) {
|
||||
if (event.getSide().isClient()) {
|
||||
ClientUtils.enhanceSupportersList("CodeChickenCore");
|
||||
|
||||
FMLCommonHandler.instance().bus().register(new CCCEventHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new CCCEventHandler());
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import codechicken.lib.colour.ColorUtils;
|
||||
|
||||
public class GuiCCButton extends GuiWidget {
|
||||
|
||||
public String text;
|
||||
@@ -73,7 +75,9 @@ public class GuiCCButton extends GuiWidget {
|
||||
}
|
||||
|
||||
public int getTextColour(int mousex, int mousey) {
|
||||
return !isEnabled ? 0xFFA0A0A0 : pointInside(mousex, mousey) ? 0xFFFFFFA0 : 0xFFE0E0E0;
|
||||
return !isEnabled ? ColorUtils.buttonTextDisabled.getColor()
|
||||
: pointInside(mousex, mousey) ? ColorUtils.buttonTextHover.getColor()
|
||||
: ColorUtils.buttonText.getColor();
|
||||
}
|
||||
|
||||
public GuiCCButton setActionCommand(String string) {
|
||||
|
||||
@@ -5,6 +5,8 @@ import net.minecraft.util.ChatAllowedCharacters;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import codechicken.lib.colour.ColorUtils;
|
||||
|
||||
public class GuiCCTextField extends GuiWidget {
|
||||
|
||||
private String text;
|
||||
@@ -120,8 +122,8 @@ public class GuiCCTextField extends GuiWidget {
|
||||
}
|
||||
|
||||
public void drawBackground() {
|
||||
drawRect(x - 1, y - 1, x + width + 1, y + height + 1, 0xffa0a0a0);
|
||||
drawRect(x, y, x + width, y + height, 0xff000000);
|
||||
drawRect(x - 1, y - 1, x + width + 1, y + height + 1, ColorUtils.textFieldBorder.getColor());
|
||||
drawRect(x, y, x + width, y + height, ColorUtils.textFieldBackground.getColor());
|
||||
}
|
||||
|
||||
public String getDrawText() {
|
||||
@@ -135,7 +137,7 @@ public class GuiCCTextField extends GuiWidget {
|
||||
}
|
||||
|
||||
public int getTextColour() {
|
||||
return isEnabled ? 0xe0e0e0 : 0x707070;
|
||||
return isEnabled ? ColorUtils.textFieldText.getColor() : ColorUtils.textFieldTextDisabled.getColor();
|
||||
}
|
||||
|
||||
public GuiCCTextField setMaxStringLength(int i) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package codechicken.core.gui;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Rectangle;
|
||||
|
||||
import codechicken.lib.colour.ColorUtils;
|
||||
import codechicken.lib.math.MathHelper;
|
||||
import codechicken.lib.vec.Rectangle4i;
|
||||
|
||||
@@ -184,28 +185,29 @@ public abstract class GuiScrollPane extends GuiWidget {
|
||||
}
|
||||
|
||||
public void drawBackground(float frame) {
|
||||
drawRect(x, y, x + width, y + height, 0xff000000);
|
||||
drawRect(x, y, x + width, y + height, ColorUtils.scrollPaneBackground.getColor());
|
||||
}
|
||||
|
||||
public abstract void drawContent(int mx, int my, float frame);
|
||||
|
||||
public void drawOverlay(float frame) {
|
||||
// outlines
|
||||
drawRect(x, y - 1, x + width, y, 0xffa0a0a0); // top
|
||||
drawRect(x, y + height, x + width, y + height + 1, 0xffa0a0a0); // bottom
|
||||
drawRect(x - 1, y - 1, x, y + height + 1, 0xffa0a0a0); // left
|
||||
drawRect(x + width, y - 1, x + width + 1, y + height + 1, 0xffa0a0a0); // right
|
||||
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());
|
||||
}
|
||||
|
||||
public void drawScrollbar(float frame) {
|
||||
Rectangle r = scrollbarBounds();
|
||||
|
||||
drawRect(r.x, r.y, r.x + r.width, r.y + r.height, 0xFF8B8B8B); // corners
|
||||
drawRect(r.x, r.y, r.x + r.width - 1, r.y + r.height - 1, 0xFFF0F0F0); // topleft up
|
||||
drawRect(r.x + 1, r.y + 1, r.x + r.width, r.y + r.height, 0xFF555555); // bottom right down
|
||||
drawRect(r.x + 1, r.y + 1, r.x + r.width - 1, r.y + r.height - 1, 0xFFC6C6C6); // scrollbar
|
||||
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());
|
||||
|
||||
int algn = scrollbarGuideAlignment();
|
||||
if (algn != 0) drawRect(algn > 0 ? r.x + r.width : r.x - 1, y, r.x, y + height, 0xFF808080); // lineguide
|
||||
if (algn != 0)
|
||||
drawRect(algn > 0 ? r.x + r.width : r.x - 1, y, r.x, y + height, ColorUtils.scrollbarGuide.getColor());
|
||||
}
|
||||
}
|
||||
@@ -2,12 +2,12 @@ package codechicken.lib.asm;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.minecraft.launchwrapper.IClassTransformer;
|
||||
import net.minecraft.launchwrapper.Launch;
|
||||
|
||||
import org.objectweb.asm.ClassReader;
|
||||
import org.objectweb.asm.tree.ClassNode;
|
||||
|
||||
import cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper;
|
||||
|
||||
@@ -33,8 +33,8 @@ public class ClassHeirachyManager implements IClassTransformer {
|
||||
}
|
||||
|
||||
private static ClassInfo declareASM(String name, byte[] bytes) {
|
||||
final ClassNode node = ASMHelper.createClassNode(bytes, ClassReader.SKIP_CODE);
|
||||
final ClassInfo classInfo = new ClassInfo(node);
|
||||
final ClassReader classReader = new ClassReader(bytes);
|
||||
final ClassInfo classInfo = new ClassInfo(classReader);
|
||||
superclasses.put(name, classInfo);
|
||||
return classInfo;
|
||||
}
|
||||
@@ -108,6 +108,7 @@ public class ClassHeirachyManager implements IClassTransformer {
|
||||
private static class ClassInfo {
|
||||
|
||||
public static final ClassInfo OBJECT = new ClassInfo();
|
||||
private static final Map<String, String> STRING_POOL = new ConcurrentHashMap<>(256);
|
||||
|
||||
public final String superclass;
|
||||
public final String[] interfaces;
|
||||
@@ -118,19 +119,23 @@ public class ClassHeirachyManager implements IClassTransformer {
|
||||
this.interfaces = null;
|
||||
}
|
||||
|
||||
public ClassInfo(ClassNode node) {
|
||||
if ("java/lang/Object".equals(node.superName)) {
|
||||
public ClassInfo(ClassReader classReader) {
|
||||
final String superName = classReader.getSuperName();
|
||||
final String[] interfaces = classReader.getInterfaces();
|
||||
|
||||
if (superName == null || "java/lang/Object".equals(superName)) {
|
||||
superclass = "java.lang.Object";
|
||||
parent = OBJECT;
|
||||
} else {
|
||||
superclass = toKey(node.superName);
|
||||
superclass = pool(toKey(superName));
|
||||
}
|
||||
if (node.interfaces.isEmpty()) {
|
||||
interfaces = null;
|
||||
|
||||
if (interfaces == null || interfaces.length == 0) {
|
||||
this.interfaces = null;
|
||||
} else {
|
||||
interfaces = new String[node.interfaces.size()];
|
||||
for (int i = 0; i < node.interfaces.size(); i++) {
|
||||
interfaces[i] = toKey(node.interfaces.get(i));
|
||||
this.interfaces = new String[interfaces.length];
|
||||
for (int i = 0; i < interfaces.length; i++) {
|
||||
this.interfaces[i] = pool(toKey(interfaces[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -145,7 +150,7 @@ public class ClassHeirachyManager implements IClassTransformer {
|
||||
this.superclass = "java.lang.Object";
|
||||
this.parent = OBJECT;
|
||||
} else {
|
||||
this.superclass = toKey(superclass.getName());
|
||||
this.superclass = pool(toKey(superclass.getName()));
|
||||
}
|
||||
}
|
||||
final Class<?>[] interfaces = aclass.getInterfaces();
|
||||
@@ -154,7 +159,7 @@ public class ClassHeirachyManager implements IClassTransformer {
|
||||
} else {
|
||||
this.interfaces = new String[interfaces.length];
|
||||
for (int i = 0; i < interfaces.length; i++) {
|
||||
this.interfaces[i] = toKey(interfaces[i].getName());
|
||||
this.interfaces[i] = pool(toKey(interfaces[i].getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -169,5 +174,9 @@ public class ClassHeirachyManager implements IClassTransformer {
|
||||
this.parent = parentInfo;
|
||||
return parentInfo.hasSuper(superclass);
|
||||
}
|
||||
|
||||
private static String pool(String s) {
|
||||
return STRING_POOL.computeIfAbsent(s, Function.identity());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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
|
||||
}
|
||||
@@ -18,6 +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.math.MathHelper;
|
||||
import codechicken.lib.render.CCRenderState;
|
||||
|
||||
@@ -162,7 +163,15 @@ public class GuiDraw {
|
||||
}
|
||||
|
||||
public static void drawMultilineTip(FontRenderer font, int x, int y, List<String> list) {
|
||||
drawMultilineTip(font, x, y, list, 0xf0100010, 0xf0100010, 0x505000ff, 0x5028007F);
|
||||
drawMultilineTip(
|
||||
font,
|
||||
x,
|
||||
y,
|
||||
list,
|
||||
ColorUtils.tooltipBgStart.getColor(),
|
||||
ColorUtils.tooltipBgEnd.getColor(),
|
||||
ColorUtils.tooltipBorderStart.getColor(),
|
||||
ColorUtils.tooltipBorderEnd.getColor());
|
||||
}
|
||||
|
||||
public static void drawMultilineTip(FontRenderer font, int x, int y, List<String> list, int bgStart, int bgEnd,
|
||||
@@ -201,7 +210,7 @@ public class GuiDraw {
|
||||
line.draw(x, y);
|
||||
y += line.getSize().height;
|
||||
} else {
|
||||
font.drawStringWithShadow(s, x, y, -1);
|
||||
font.drawStringWithShadow(s, x, y, ColorUtils.tooltipText.getColor());
|
||||
y += s.endsWith(TOOLTIP_LINESPACE) ? 12 : 10;
|
||||
}
|
||||
}
|
||||
@@ -215,7 +224,15 @@ public class GuiDraw {
|
||||
}
|
||||
|
||||
public static void drawTooltipBox(int x, int y, int w, int h) {
|
||||
drawTooltipBox(x, y, w, h, 0xf0100010, 0xf0100010, 0x505000ff, 0x5028007F);
|
||||
drawTooltipBox(
|
||||
x,
|
||||
y,
|
||||
w,
|
||||
h,
|
||||
ColorUtils.tooltipBgStart.getColor(),
|
||||
ColorUtils.tooltipBgEnd.getColor(),
|
||||
ColorUtils.tooltipBorderStart.getColor(),
|
||||
ColorUtils.tooltipBorderEnd.getColor());
|
||||
}
|
||||
|
||||
public static void drawTooltipBox(int x, int y, int w, int h, int bgStart, int bgEnd, int borderStart,
|
||||
|
||||
@@ -351,9 +351,9 @@ public final class PacketCustom implements MCDataInput, MCDataOutput {
|
||||
|
||||
public PacketCustom writeItemStack(ItemStack stack, boolean large) {
|
||||
if (stack == null) {
|
||||
writeShort(-1);
|
||||
writeInt(-1);
|
||||
} else {
|
||||
writeShort(Item.getIdFromItem(stack.getItem()));
|
||||
writeInt(Item.getIdFromItem(stack.getItem()));
|
||||
if (large) writeInt(stack.stackSize);
|
||||
else writeByte(stack.stackSize);
|
||||
writeShort(stack.getItemDamage());
|
||||
@@ -448,7 +448,7 @@ public final class PacketCustom implements MCDataInput, MCDataOutput {
|
||||
|
||||
public ItemStack readItemStack(boolean large) {
|
||||
ItemStack item = null;
|
||||
short itemID = readShort();
|
||||
int itemID = readInt();
|
||||
|
||||
if (itemID >= 0) {
|
||||
int stackSize = large ? readInt() : readByte();
|
||||
|
||||
@@ -6,6 +6,8 @@ import net.minecraft.item.ItemStack;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import codechicken.lib.colour.ColorUtils;
|
||||
|
||||
public class FontUtils {
|
||||
|
||||
public static FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
|
||||
@@ -53,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, 0xFFFFFF);
|
||||
fontRenderer.drawStringWithShadow(quantity, 0, 0, ColorUtils.itemQuantityText.getColor());
|
||||
GL11.glPopMatrix();
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
|
||||
Reference in new issue
Block a user