Fixed bugs with the debug bounding box

This commit is contained in:
Sollace 2019-06-11 14:10:36 +02:00
parent f2a7189897
commit 11391b6ed3
2 changed files with 9 additions and 10 deletions

View file

@ -29,6 +29,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.resource.Resource;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BoundingBox;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
@ -231,7 +232,12 @@ public class Pony extends Touchable<Pony> implements IPony {
.add(0, offset.y - ridee.getHeight() * 1/scale, 0);
}
return entity.getPosVector();
float delta = MinecraftClient.getInstance().getTickDelta();
return new Vec3d(
MathHelper.lerp(delta, entity.prevRenderX, entity.x),
MathHelper.lerp(delta, entity.prevRenderY, entity.y),
MathHelper.lerp(delta, entity.prevRenderZ, entity.z));
}
@Override

View file

@ -3,7 +3,6 @@ package com.minelittlepony.client.render;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BoundingBox;
import com.minelittlepony.pony.IPony;
@ -19,26 +18,20 @@ public class DebugBoundingBoxRenderer {
public void render(IPony pony, LivingEntity entity, float ticks) {
MinecraftClient mc = MinecraftClient.getInstance();
PlayerEntity player = mc.player;
if (!mc.getEntityRenderManager().shouldRenderHitboxes() || entity.squaredDistanceTo(player) > 70) {
if (!mc.getEntityRenderManager().shouldRenderHitboxes() || entity.squaredDistanceTo(mc.player) > 70) {
return;
}
BoundingBox boundingBox = pony.getComputedBoundingBox(entity);
double renderPosX = player.prevX + (player.x - player.prevX) * (double)ticks;
double renderPosY = player.prevY + (player.y - player.prevY) * (double)ticks;
double renderPosZ = player.prevZ + (player.z - player.prevZ) * (double)ticks;
enableBlend();
blendFuncSeparate(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA, SourceFactor.ONE, DestFactor.ZERO);
lineWidth(2);
disableTexture();
depthMask(false);
WorldRenderer.drawBoxOutline(boundingBox.expand(0.003D).offset(-renderPosX, -renderPosY, -renderPosZ), 1, 1, 0, 1);
WorldRenderer.drawBoxOutline(boundingBox.offset(mc.gameRenderer.getCamera().getPos().multiply(-1)), 1, 1, 0, 1);
depthMask(true);
enableTexture();