56 lines
2 KiB
Java
56 lines
2 KiB
Java
package net.minecraft.client.renderer.debug;
|
|
|
|
import com.google.common.collect.Lists;
|
|
import com.mojang.blaze3d.vertex.PoseStack;
|
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
import java.util.List;
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.client.renderer.MultiBufferSource;
|
|
import net.minecraft.client.renderer.RenderType;
|
|
import net.minecraft.client.renderer.ShapeRenderer;
|
|
import net.minecraft.core.BlockPos;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class WorldGenAttemptRenderer implements DebugRenderer.SimpleDebugRenderer {
|
|
private final List<BlockPos> toRender = Lists.<BlockPos>newArrayList();
|
|
private final List<Float> scales = Lists.<Float>newArrayList();
|
|
private final List<Float> alphas = Lists.<Float>newArrayList();
|
|
private final List<Float> reds = Lists.<Float>newArrayList();
|
|
private final List<Float> greens = Lists.<Float>newArrayList();
|
|
private final List<Float> blues = Lists.<Float>newArrayList();
|
|
|
|
public void addPos(BlockPos pos, float scale, float red, float green, float blue, float alpha) {
|
|
this.toRender.add(pos);
|
|
this.scales.add(scale);
|
|
this.alphas.add(alpha);
|
|
this.reds.add(red);
|
|
this.greens.add(green);
|
|
this.blues.add(blue);
|
|
}
|
|
|
|
@Override
|
|
public void render(PoseStack poseStack, MultiBufferSource bufferSource, double camX, double camY, double camZ) {
|
|
VertexConsumer vertexConsumer = bufferSource.getBuffer(RenderType.debugFilledBox());
|
|
|
|
for (int i = 0; i < this.toRender.size(); i++) {
|
|
BlockPos blockPos = (BlockPos)this.toRender.get(i);
|
|
Float float_ = (Float)this.scales.get(i);
|
|
float f = float_ / 2.0F;
|
|
ShapeRenderer.addChainedFilledBoxVertices(
|
|
poseStack,
|
|
vertexConsumer,
|
|
blockPos.getX() + 0.5F - f - camX,
|
|
blockPos.getY() + 0.5F - f - camY,
|
|
blockPos.getZ() + 0.5F - f - camZ,
|
|
blockPos.getX() + 0.5F + f - camX,
|
|
blockPos.getY() + 0.5F + f - camY,
|
|
blockPos.getZ() + 0.5F + f - camZ,
|
|
(Float)this.reds.get(i),
|
|
(Float)this.greens.get(i),
|
|
(Float)this.blues.get(i),
|
|
(Float)this.alphas.get(i)
|
|
);
|
|
}
|
|
}
|
|
}
|