Spaces:
Build error
Build error
File size: 6,198 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 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
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_
)
);
}
}
} |