minecraft-src/net/minecraft/client/renderer/debug/WorldGenAttemptRenderer.java
2025-07-04 02:00:41 +03:00

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)
);
}
}
}