eagler-1-12-4 / src /game /java /net /minecraft /client /renderer /debug /RedstoneWireOrientationsRenderer.java
soiz1's picture
Upload folder using huggingface_hub
d46f4a3 verified
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.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.ShapeRenderer;
import net.minecraft.network.protocol.common.custom.RedstoneWireOrientationsDebugPayload;
import net.minecraft.world.level.redstone.Orientation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.joml.Vector3f;
@OnlyIn(Dist.CLIENT)
public class RedstoneWireOrientationsRenderer implements DebugRenderer.SimpleDebugRenderer {
public static final int TIMEOUT = 200;
private final Minecraft minecraft;
private final List<RedstoneWireOrientationsDebugPayload> updatedWires = Lists.newArrayList();
RedstoneWireOrientationsRenderer(Minecraft p_366596_) {
this.minecraft = p_366596_;
}
public void addWireOrientations(RedstoneWireOrientationsDebugPayload p_363711_) {
this.updatedWires.add(p_363711_);
}
@Override
public void render(PoseStack p_366468_, MultiBufferSource p_362070_, double p_365839_, double p_366895_, double p_362271_) {
VertexConsumer vertexconsumer = p_362070_.getBuffer(RenderType.lines());
long i = this.minecraft.level.getGameTime();
Iterator<RedstoneWireOrientationsDebugPayload> iterator = this.updatedWires.iterator();
while (iterator.hasNext()) {
RedstoneWireOrientationsDebugPayload redstonewireorientationsdebugpayload = iterator.next();
long j = i - redstonewireorientationsdebugpayload.time();
if (j > 200L) {
iterator.remove();
} else {
for (RedstoneWireOrientationsDebugPayload.Wire redstonewireorientationsdebugpayload$wire : redstonewireorientationsdebugpayload.wires()) {
Vector3f vector3f = redstonewireorientationsdebugpayload$wire.pos()
.getBottomCenter()
.subtract(p_365839_, p_366895_ - 0.1, p_362271_)
.toVector3f();
Orientation orientation = redstonewireorientationsdebugpayload$wire.orientation();
ShapeRenderer.renderVector(p_366468_, vertexconsumer, vector3f, orientation.getFront().getUnitVec3().scale(0.5), -16776961);
ShapeRenderer.renderVector(p_366468_, vertexconsumer, vector3f, orientation.getUp().getUnitVec3().scale(0.4), -65536);
ShapeRenderer.renderVector(p_366468_, vertexconsumer, vector3f, orientation.getSide().getUnitVec3().scale(0.3), -256);
}
}
}
}
}