soiz1's picture
Upload folder using huggingface_hub
d46f4a3 verified
package com.mojang.blaze3d.vertex;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.core.Vec3i;
import net.minecraft.util.ARGB;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.joml.Matrix4f;
import org.joml.Vector3f;
import org.lwjgl.system.MemoryStack;
@OnlyIn(Dist.CLIENT)
public interface VertexConsumer {
VertexConsumer addVertex(float p_344294_, float p_342213_, float p_344859_);
VertexConsumer setColor(int p_342749_, int p_344324_, int p_343336_, int p_342831_);
VertexConsumer setUv(float p_344155_, float p_345269_);
VertexConsumer setUv1(int p_344168_, int p_342818_);
VertexConsumer setUv2(int p_342773_, int p_345341_);
VertexConsumer setNormal(float p_342733_, float p_342268_, float p_344916_);
default void addVertex(
float p_342335_,
float p_342594_,
float p_342395_,
int p_344436_,
float p_344317_,
float p_344558_,
int p_344862_,
int p_343109_,
float p_343232_,
float p_342995_,
float p_343739_
) {
this.addVertex(p_342335_, p_342594_, p_342395_);
this.setColor(p_344436_);
this.setUv(p_344317_, p_344558_);
this.setOverlay(p_344862_);
this.setLight(p_343109_);
this.setNormal(p_343232_, p_342995_, p_343739_);
}
default VertexConsumer setColor(float p_345344_, float p_343040_, float p_343668_, float p_342740_) {
return this.setColor((int)(p_345344_ * 255.0F), (int)(p_343040_ * 255.0F), (int)(p_343668_ * 255.0F), (int)(p_342740_ * 255.0F));
}
default VertexConsumer setColor(int p_345390_) {
return this.setColor(ARGB.red(p_345390_), ARGB.green(p_345390_), ARGB.blue(p_345390_), ARGB.alpha(p_345390_));
}
default VertexConsumer setWhiteAlpha(int p_342254_) {
return this.setColor(ARGB.color(p_342254_, -1));
}
default VertexConsumer setLight(int p_342385_) {
return this.setUv2(p_342385_ & 65535, p_342385_ >> 16 & 65535);
}
default VertexConsumer setOverlay(int p_345433_) {
return this.setUv1(p_345433_ & 65535, p_345433_ >> 16 & 65535);
}
default void putBulkData(
PoseStack.Pose p_85996_, BakedQuad p_85997_, float p_85999_, float p_86000_, float p_86001_, float p_330684_, int p_86003_, int p_332867_
) {
this.putBulkData(
p_85996_,
p_85997_,
new float[]{1.0F, 1.0F, 1.0F, 1.0F},
p_85999_,
p_86000_,
p_86001_,
p_330684_,
new int[]{p_86003_, p_86003_, p_86003_, p_86003_},
p_332867_,
false
);
}
default void putBulkData(
PoseStack.Pose p_85988_,
BakedQuad p_85989_,
float[] p_331915_,
float p_85990_,
float p_85991_,
float p_85992_,
float p_335371_,
int[] p_331444_,
int p_85993_,
boolean p_329910_
) {
int[] aint = p_85989_.getVertices();
Vec3i vec3i = p_85989_.getDirection().getUnitVec3i();
Matrix4f matrix4f = p_85988_.pose();
Vector3f vector3f = p_85988_.transformNormal((float)vec3i.getX(), (float)vec3i.getY(), (float)vec3i.getZ(), new Vector3f());
int i = 8;
int j = aint.length / 8;
int k = (int)(p_335371_ * 255.0F);
int l = p_85989_.getLightEmission();
try (MemoryStack memorystack = MemoryStack.stackPush()) {
ByteBuffer bytebuffer = memorystack.malloc(DefaultVertexFormat.BLOCK.getVertexSize());
IntBuffer intbuffer = bytebuffer.asIntBuffer();
for (int i1 = 0; i1 < j; i1++) {
intbuffer.clear();
intbuffer.put(aint, i1 * 8, 8);
float f = bytebuffer.getFloat(0);
float f1 = bytebuffer.getFloat(4);
float f2 = bytebuffer.getFloat(8);
float f3;
float f4;
float f5;
if (p_329910_) {
float f6 = (float)(bytebuffer.get(12) & 255);
float f7 = (float)(bytebuffer.get(13) & 255);
float f8 = (float)(bytebuffer.get(14) & 255);
f3 = f6 * p_331915_[i1] * p_85990_;
f4 = f7 * p_331915_[i1] * p_85991_;
f5 = f8 * p_331915_[i1] * p_85992_;
} else {
f3 = p_331915_[i1] * p_85990_ * 255.0F;
f4 = p_331915_[i1] * p_85991_ * 255.0F;
f5 = p_331915_[i1] * p_85992_ * 255.0F;
}
int j1 = ARGB.color(k, (int)f3, (int)f4, (int)f5);
int k1 = LightTexture.lightCoordsWithEmission(p_331444_[i1], l);
float f10 = bytebuffer.getFloat(16);
float f9 = bytebuffer.getFloat(20);
Vector3f vector3f1 = matrix4f.transformPosition(f, f1, f2, new Vector3f());
this.addVertex(vector3f1.x(), vector3f1.y(), vector3f1.z(), j1, f10, f9, p_85993_, k1, vector3f.x(), vector3f.y(), vector3f.z());
}
}
}
default VertexConsumer addVertex(Vector3f p_343309_) {
return this.addVertex(p_343309_.x(), p_343309_.y(), p_343309_.z());
}
default VertexConsumer addVertex(PoseStack.Pose p_343718_, Vector3f p_344795_) {
return this.addVertex(p_343718_, p_344795_.x(), p_344795_.y(), p_344795_.z());
}
default VertexConsumer addVertex(PoseStack.Pose p_343203_, float p_343315_, float p_342573_, float p_344986_) {
return this.addVertex(p_343203_.pose(), p_343315_, p_342573_, p_344986_);
}
default VertexConsumer addVertex(Matrix4f p_344823_, float p_342636_, float p_342677_, float p_343814_) {
Vector3f vector3f = p_344823_.transformPosition(p_342636_, p_342677_, p_343814_, new Vector3f());
return this.addVertex(vector3f.x(), vector3f.y(), vector3f.z());
}
default VertexConsumer setNormal(PoseStack.Pose p_343706_, float p_345121_, float p_344892_, float p_344341_) {
Vector3f vector3f = p_343706_.transformNormal(p_345121_, p_344892_, p_344341_, new Vector3f());
return this.setNormal(vector3f.x(), vector3f.y(), vector3f.z());
}
default VertexConsumer setNormal(PoseStack.Pose p_369767_, Vector3f p_366727_) {
return this.setNormal(p_369767_, p_366727_.x(), p_366727_.y(), p_366727_.z());
}
}