Spaces:
Build error
Build error
File size: 5,151 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
package net.minecraft.util;
import net.minecraft.world.phys.Vec3;
import org.joml.Vector3f;
public class ARGB {
public static int alpha(int p_362339_) {
return p_362339_ >>> 24;
}
public static int red(int p_363530_) {
return p_363530_ >> 16 & 0xFF;
}
public static int green(int p_362707_) {
return p_362707_ >> 8 & 0xFF;
}
public static int blue(int p_367010_) {
return p_367010_ & 0xFF;
}
public static int color(int p_365053_, int p_365624_, int p_367179_, int p_364375_) {
return p_365053_ << 24 | p_365624_ << 16 | p_367179_ << 8 | p_364375_;
}
public static int color(int p_368038_, int p_364189_, int p_366166_) {
return color(255, p_368038_, p_364189_, p_366166_);
}
public static int color(Vec3 p_368690_) {
return color(as8BitChannel((float)p_368690_.x()), as8BitChannel((float)p_368690_.y()), as8BitChannel((float)p_368690_.z()));
}
public static int multiply(int p_368908_, int p_362670_) {
if (p_368908_ == -1) {
return p_362670_;
} else {
return p_362670_ == -1
? p_368908_
: color(
alpha(p_368908_) * alpha(p_362670_) / 255,
red(p_368908_) * red(p_362670_) / 255,
green(p_368908_) * green(p_362670_) / 255,
blue(p_368908_) * blue(p_362670_) / 255
);
}
}
public static int scaleRGB(int p_364590_, float p_365829_) {
return scaleRGB(p_364590_, p_365829_, p_365829_, p_365829_);
}
public static int scaleRGB(int p_368386_, float p_366859_, float p_367328_, float p_364459_) {
return color(
alpha(p_368386_),
Math.clamp((long)((int)((float)red(p_368386_) * p_366859_)), 0, 255),
Math.clamp((long)((int)((float)green(p_368386_) * p_367328_)), 0, 255),
Math.clamp((long)((int)((float)blue(p_368386_) * p_364459_)), 0, 255)
);
}
public static int scaleRGB(int p_366038_, int p_368003_) {
return color(
alpha(p_366038_),
Math.clamp((long)red(p_366038_) * (long)p_368003_ / 255L, 0, 255),
Math.clamp((long)green(p_366038_) * (long)p_368003_ / 255L, 0, 255),
Math.clamp((long)blue(p_366038_) * (long)p_368003_ / 255L, 0, 255)
);
}
public static int greyscale(int p_362330_) {
int i = (int)((float)red(p_362330_) * 0.3F + (float)green(p_362330_) * 0.59F + (float)blue(p_362330_) * 0.11F);
return color(i, i, i);
}
public static int lerp(float p_368280_, int p_363975_, int p_368594_) {
int i = Mth.lerpInt(p_368280_, alpha(p_363975_), alpha(p_368594_));
int j = Mth.lerpInt(p_368280_, red(p_363975_), red(p_368594_));
int k = Mth.lerpInt(p_368280_, green(p_363975_), green(p_368594_));
int l = Mth.lerpInt(p_368280_, blue(p_363975_), blue(p_368594_));
return color(i, j, k, l);
}
public static int opaque(int p_363480_) {
return p_363480_ | 0xFF000000;
}
public static int transparent(int p_366691_) {
return p_366691_ & 16777215;
}
public static int color(int p_362407_, int p_368043_) {
return p_362407_ << 24 | p_368043_ & 16777215;
}
public static int white(float p_361606_) {
return as8BitChannel(p_361606_) << 24 | 16777215;
}
public static int colorFromFloat(float p_365014_, float p_365331_, float p_361446_, float p_367224_) {
return color(as8BitChannel(p_365014_), as8BitChannel(p_365331_), as8BitChannel(p_361446_), as8BitChannel(p_367224_));
}
public static Vector3f vector3fFromRGB24(int p_368966_) {
float f = (float)red(p_368966_) / 255.0F;
float f1 = (float)green(p_368966_) / 255.0F;
float f2 = (float)blue(p_368966_) / 255.0F;
return new Vector3f(f, f1, f2);
}
public static int average(int p_368446_, int p_366831_) {
return color(
(alpha(p_368446_) + alpha(p_366831_)) / 2,
(red(p_368446_) + red(p_366831_)) / 2,
(green(p_368446_) + green(p_366831_)) / 2,
(blue(p_368446_) + blue(p_366831_)) / 2
);
}
public static int as8BitChannel(float p_367233_) {
return Mth.floor(p_367233_ * 255.0F);
}
public static float alphaFloat(int p_376586_) {
return from8BitChannel(alpha(p_376586_));
}
public static float redFloat(int p_375781_) {
return from8BitChannel(red(p_375781_));
}
public static float greenFloat(int p_375888_) {
return from8BitChannel(green(p_375888_));
}
public static float blueFloat(int p_377428_) {
return from8BitChannel(blue(p_377428_));
}
private static float from8BitChannel(int p_370155_) {
return (float)p_370155_ / 255.0F;
}
public static int toABGR(int p_368147_) {
return p_368147_ & -16711936 | (p_368147_ & 0xFF0000) >> 16 | (p_368147_ & 0xFF) << 16;
}
public static int fromABGR(int p_369336_) {
return toABGR(p_369336_);
}
} |