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

41 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;
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.entity.LivingEntity;
2019-06-27 19:28:21 +02:00
import net.minecraft.util.math.Box;
import com.minelittlepony.pony.IPony;
2019-05-27 17:59:15 +02:00
import static com.mojang.blaze3d.platform.GlStateManager.*;
public class DebugBoundingBoxRenderer {
public static final DebugBoundingBoxRenderer instance = new DebugBoundingBoxRenderer();
private DebugBoundingBoxRenderer() {
}
2019-05-27 17:59:15 +02:00
public void render(IPony pony, LivingEntity entity, float ticks) {
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);
enableBlend();
2019-03-24 18:55:15 +01:00
blendFuncSeparate(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA, SourceFactor.ONE, DestFactor.ZERO);
lineWidth(2);
2019-05-27 17:59:15 +02:00
disableTexture();
depthMask(false);
2019-06-11 14:10:36 +02:00
WorldRenderer.drawBoxOutline(boundingBox.offset(mc.gameRenderer.getCamera().getPos().multiply(-1)), 1, 1, 0, 1);
depthMask(true);
2019-05-27 17:59:15 +02:00
enableTexture();
disableBlend();
}
}