Spaces:
Build error
Build error
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; | |
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()); | |
} | |
} |