soiz1's picture
Upload folder using huggingface_hub
d46f4a3 verified
package com.mojang.blaze3d.vertex;
import java.util.function.Consumer;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class VertexMultiConsumer {
public static VertexConsumer create() {
throw new IllegalArgumentException();
}
public static VertexConsumer create(VertexConsumer p_167062_) {
return p_167062_;
}
public static VertexConsumer create(VertexConsumer p_86169_, VertexConsumer p_86170_) {
return new VertexMultiConsumer.Double(p_86169_, p_86170_);
}
public static VertexConsumer create(VertexConsumer... p_167064_) {
return new VertexMultiConsumer.Multiple(p_167064_);
}
@OnlyIn(Dist.CLIENT)
static class Double implements VertexConsumer {
private final VertexConsumer first;
private final VertexConsumer second;
public Double(VertexConsumer p_86174_, VertexConsumer p_86175_) {
if (p_86174_ == p_86175_) {
throw new IllegalArgumentException("Duplicate delegates");
} else {
this.first = p_86174_;
this.second = p_86175_;
}
}
@Override
public VertexConsumer addVertex(float p_344257_, float p_342162_, float p_344087_) {
this.first.addVertex(p_344257_, p_342162_, p_344087_);
this.second.addVertex(p_344257_, p_342162_, p_344087_);
return this;
}
@Override
public VertexConsumer setColor(int p_344640_, int p_343095_, int p_343643_, int p_342454_) {
this.first.setColor(p_344640_, p_343095_, p_343643_, p_342454_);
this.second.setColor(p_344640_, p_343095_, p_343643_, p_342454_);
return this;
}
@Override
public VertexConsumer setUv(float p_342147_, float p_344679_) {
this.first.setUv(p_342147_, p_344679_);
this.second.setUv(p_342147_, p_344679_);
return this;
}
@Override
public VertexConsumer setUv1(int p_342434_, int p_344283_) {
this.first.setUv1(p_342434_, p_344283_);
this.second.setUv1(p_342434_, p_344283_);
return this;
}
@Override
public VertexConsumer setUv2(int p_343541_, int p_342529_) {
this.first.setUv2(p_343541_, p_342529_);
this.second.setUv2(p_343541_, p_342529_);
return this;
}
@Override
public VertexConsumer setNormal(float p_342340_, float p_343788_, float p_345466_) {
this.first.setNormal(p_342340_, p_343788_, p_345466_);
this.second.setNormal(p_342340_, p_343788_, p_345466_);
return this;
}
@Override
public void addVertex(
float p_345388_,
float p_343258_,
float p_344041_,
int p_343827_,
float p_342641_,
float p_344103_,
int p_345208_,
int p_344566_,
float p_344092_,
float p_344193_,
float p_343729_
) {
this.first.addVertex(p_345388_, p_343258_, p_344041_, p_343827_, p_342641_, p_344103_, p_345208_, p_344566_, p_344092_, p_344193_, p_343729_);
this.second.addVertex(p_345388_, p_343258_, p_344041_, p_343827_, p_342641_, p_344103_, p_345208_, p_344566_, p_344092_, p_344193_, p_343729_);
}
}
@OnlyIn(Dist.CLIENT)
static record Multiple(VertexConsumer[] delegates) implements VertexConsumer {
Multiple(VertexConsumer[] delegates) {
for (int i = 0; i < delegates.length; i++) {
for (int j = i + 1; j < delegates.length; j++) {
if (delegates[i] == delegates[j]) {
throw new IllegalArgumentException("Duplicate delegates");
}
}
}
this.delegates = delegates;
}
private void forEach(Consumer<VertexConsumer> p_167145_) {
for (VertexConsumer vertexconsumer : this.delegates) {
p_167145_.accept(vertexconsumer);
}
}
@Override
public VertexConsumer addVertex(float p_167147_, float p_167148_, float p_167149_) {
this.forEach(p_340694_ -> p_340694_.addVertex(p_167147_, p_167148_, p_167149_));
return this;
}
@Override
public VertexConsumer setColor(int p_167130_, int p_167131_, int p_167132_, int p_167133_) {
this.forEach(p_340699_ -> p_340699_.setColor(p_167130_, p_167131_, p_167132_, p_167133_));
return this;
}
@Override
public VertexConsumer setUv(float p_167084_, float p_167085_) {
this.forEach(p_340684_ -> p_340684_.setUv(p_167084_, p_167085_));
return this;
}
@Override
public VertexConsumer setUv1(int p_343411_, int p_342288_) {
this.forEach(p_340687_ -> p_340687_.setUv1(p_343411_, p_342288_));
return this;
}
@Override
public VertexConsumer setUv2(int p_343645_, int p_344197_) {
this.forEach(p_340690_ -> p_340690_.setUv2(p_343645_, p_344197_));
return this;
}
@Override
public VertexConsumer setNormal(float p_343750_, float p_344366_, float p_342844_) {
this.forEach(p_340669_ -> p_340669_.setNormal(p_343750_, p_344366_, p_342844_));
return this;
}
@Override
public void addVertex(
float p_342518_,
float p_344848_,
float p_345186_,
int p_343970_,
float p_345395_,
float p_342765_,
int p_345332_,
int p_342050_,
float p_343977_,
float p_342883_,
float p_344334_
) {
this.forEach(
p_340681_ -> p_340681_.addVertex(
p_342518_, p_344848_, p_345186_, p_343970_, p_345395_, p_342765_, p_345332_, p_342050_, p_343977_, p_342883_, p_344334_
)
);
}
}
}