MineLittlePony/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java

34 lines
1.2 KiB
Java
Raw Normal View History

2019-03-23 20:49:34 +01:00
package com.minelittlepony.client.render;
2019-05-27 17:59:15 +02:00
import net.minecraft.client.MinecraftClient;
2019-11-23 18:28:42 +01:00
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.render.VertexConsumerProvider;
2019-05-27 17:59:15 +02:00
import net.minecraft.client.render.WorldRenderer;
2019-11-23 18:28:42 +01:00
import net.minecraft.client.util.math.MatrixStack;
2019-05-27 17:59:15 +02:00
import net.minecraft.entity.LivingEntity;
2019-06-27 19:28:21 +02:00
import net.minecraft.util.math.Box;
2019-11-23 18:28:42 +01:00
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.shape.VoxelShapes;
import com.minelittlepony.pony.IPony;
2019-11-29 16:26:19 +01:00
public final class DebugBoundingBoxRenderer {
2019-11-29 16:26:19 +01:00
public static void render(IPony pony, LivingEntity entity, MatrixStack stack, VertexConsumerProvider renderContext) {
2019-05-27 17:59:15 +02:00
MinecraftClient mc = MinecraftClient.getInstance();
2019-06-11 14:10:36 +02:00
if (!mc.getEntityRenderManager().shouldRenderHitboxes() || entity.squaredDistanceTo(mc.player) > 70) {
return;
}
2019-06-27 19:28:21 +02:00
Box boundingBox = pony.getComputedBoundingBox(entity);
2019-11-23 18:28:42 +01:00
Vec3d cam = mc.gameRenderer.getCamera().getPos();
2019-11-23 18:28:42 +01:00
VertexConsumer vertices = renderContext.getBuffer(RenderLayer.getLines());
2019-11-23 18:28:42 +01:00
WorldRenderer.method_22983(stack, vertices, VoxelShapes.cuboid(boundingBox), -cam.x, -cam.y, -cam.z, 1, 1, 1, 1);
}
}