2025-11-24 22:52:51 +03:00

46 lines
1.9 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package net.minecraft.client.renderer.debug;
import net.minecraft.client.Camera;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.client.renderer.debug.DebugRenderer;
import net.minecraft.core.BlockPos;
import net.minecraft.gizmos.Gizmos;
import net.minecraft.gizmos.TextGizmo;
import net.minecraft.util.debug.DebugGoalInfo;
import net.minecraft.util.debug.DebugSubscriptions;
import net.minecraft.util.debug.DebugValueAccess;
import net.minecraft.world.phys.Vec3;
public class GoalSelectorDebugRenderer
implements DebugRenderer.SimpleDebugRenderer {
private static final int MAX_RENDER_DIST = 160;
private final Minecraft minecraft;
public GoalSelectorDebugRenderer(Minecraft minecraft) {
this.minecraft = minecraft;
}
@Override
public void emitGizmos(double camX, double camY, double camZ, DebugValueAccess debugValues, Frustum frustum, float partialTicks) {
Camera camera = this.minecraft.gameRenderer.getMainCamera();
BlockPos playerPos = BlockPos.containing(camera.position().x, 0.0, camera.position().z);
debugValues.forEachEntity(DebugSubscriptions.GOAL_SELECTORS, (entity, goalInfo) -> {
if (playerPos.closerThan(entity.blockPosition(), 160.0)) {
for (int i = 0; i < goalInfo.goals().size(); ++i) {
DebugGoalInfo.DebugGoal goal = goalInfo.goals().get(i);
double x = (double)entity.getBlockX() + 0.5;
double y = entity.getY() + 2.0 + (double)i * 0.25;
double z = (double)entity.getBlockZ() + 0.5;
int color = goal.isRunning() ? -16711936 : -3355444;
Gizmos.billboardText(goal.name(), new Vec3(x, y, z), TextGizmo.Style.forColorAndCentered(color));
}
}
});
}
}