aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYang Xizhi <60341015+GlodBlock@users.noreply.github.com>2021-12-16 22:27:05 +0800
committerGitHub <noreply@github.com>2021-12-16 15:27:05 +0100
commit418b98867ff94439f0a5ba9740f1bbe51a0a0036 (patch)
treeaca11c20d78e8a309b8d1ba054310393e28c03b7 /src
parent1f884366285fd734df11c8213a5df204c24a7bb7 (diff)
downloadGT5-Unofficial-418b98867ff94439f0a5ba9740f1bbe51a0a0036.tar.gz
GT5-Unofficial-418b98867ff94439f0a5ba9740f1bbe51a0a0036.tar.bz2
GT5-Unofficial-418b98867ff94439f0a5ba9740f1bbe51a0a0036.zip
fix rgb overflow (#814)
fix https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/9104
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/GT_Client.java39
1 files changed, 23 insertions, 16 deletions
diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java
index b9701bb451..2637342fc2 100644
--- a/src/main/java/gregtech/common/GT_Client.java
+++ b/src/main/java/gregtech/common/GT_Client.java
@@ -630,72 +630,79 @@ public class GT_Client extends GT_Proxy
int tDirection = mAnimationDirection ? 1 : -1;
for (Object o : mPosR) {
Materials tMaterial = (Materials) o;
- tMaterial.mRGBa[0] += tDirection;
+ tMaterial.mRGBa[0] = getSafeRGBValue(tMaterial.mRGBa[0], tDirection);
}
for (Materials tMaterial : mPosG) {
- tMaterial.mRGBa[1] += tDirection;
+ tMaterial.mRGBa[1] = getSafeRGBValue(tMaterial.mRGBa[1], tDirection);
}
for (Materials tMaterial : mPosB) {
- tMaterial.mRGBa[2] += tDirection;
+ tMaterial.mRGBa[2] = getSafeRGBValue(tMaterial.mRGBa[2], tDirection);
}
for (Materials tMaterial : mPosA) {
- tMaterial.mRGBa[3] += tDirection;
+ tMaterial.mRGBa[3] = getSafeRGBValue(tMaterial.mRGBa[3], tDirection);
}
for (Materials tMaterial : mNegR) {
- tMaterial.mRGBa[0] -= tDirection;
+ tMaterial.mRGBa[0] = getSafeRGBValue(tMaterial.mRGBa[0], -tDirection);
}
for (Materials tMaterial : mNegG) {
- tMaterial.mRGBa[1] -= tDirection;
+ tMaterial.mRGBa[1] = getSafeRGBValue(tMaterial.mRGBa[1], -tDirection);
}
for (Materials tMaterial : mNegB) {
- tMaterial.mRGBa[2] -= tDirection;
+ tMaterial.mRGBa[2] = getSafeRGBValue(tMaterial.mRGBa[2], -tDirection);
}
for (Materials tMaterial : mNegA) {
- tMaterial.mRGBa[3] -= tDirection;
+ tMaterial.mRGBa[3] = getSafeRGBValue(tMaterial.mRGBa[3], -tDirection);
}
for (Materials tMaterial : mMoltenPosR) {
- tMaterial.mMoltenRGBa[0] += tDirection;
+ tMaterial.mMoltenRGBa[0] = getSafeRGBValue(tMaterial.mMoltenRGBa[0], tDirection);
}
for (Materials tMaterial : mMoltenPosG) {
- tMaterial.mMoltenRGBa[1] += tDirection;
+ tMaterial.mMoltenRGBa[1] = getSafeRGBValue(tMaterial.mMoltenRGBa[1], tDirection);
}
for (Materials tMaterial : mMoltenPosB) {
- tMaterial.mMoltenRGBa[2] += tDirection;
+ tMaterial.mMoltenRGBa[2] = getSafeRGBValue(tMaterial.mMoltenRGBa[2], tDirection);
}
for (Materials tMaterial : mMoltenPosA) {
- tMaterial.mMoltenRGBa[3] += tDirection;
+ tMaterial.mMoltenRGBa[3] = getSafeRGBValue(tMaterial.mMoltenRGBa[3], tDirection);
}
for (Materials tMaterial : mMoltenNegR) {
- tMaterial.mMoltenRGBa[0] -= tDirection;
+ tMaterial.mMoltenRGBa[0] = getSafeRGBValue(tMaterial.mMoltenRGBa[0], -tDirection);
}
for (Materials tMaterial : mMoltenNegG) {
- tMaterial.mMoltenRGBa[1] -= tDirection;
+ tMaterial.mMoltenRGBa[1] = getSafeRGBValue(tMaterial.mMoltenRGBa[1], -tDirection);
}
for (Materials tMaterial : mMoltenNegB) {
- tMaterial.mMoltenRGBa[2] -= tDirection;
+ tMaterial.mMoltenRGBa[2] = getSafeRGBValue(tMaterial.mMoltenRGBa[2], -tDirection);
}
for (Materials tMaterial : mMoltenNegA) {
- tMaterial.mMoltenRGBa[3] -= tDirection;
+ tMaterial.mMoltenRGBa[3] = getSafeRGBValue(tMaterial.mMoltenRGBa[3], -tDirection);
}
}
}
+ public short getSafeRGBValue(short aRBG, int aDelta) {
+ int tmp = aRBG + aDelta;
+ if (tmp > 255) tmp = 255;
+ if (tmp < 0) tmp = 0;
+ return (short) tmp;
+ }
+
@Override
public void doSonictronSound(ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
if (GT_Utility.isStackInvalid(aStack))