File size: 2,205 Bytes
d46f4a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package net.minecraft.client.renderer.debug;

import com.google.common.collect.Lists;
import com.mojang.blaze3d.vertex.PoseStack;
import java.util.Collection;
import net.minecraft.client.Camera;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.BlockPos;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public class RaidDebugRenderer implements DebugRenderer.SimpleDebugRenderer {
    private static final int MAX_RENDER_DIST = 160;
    private static final float TEXT_SCALE = 0.04F;
    private final Minecraft minecraft;
    private Collection<BlockPos> raidCenters = Lists.newArrayList();

    public RaidDebugRenderer(Minecraft p_113650_) {
        this.minecraft = p_113650_;
    }

    public void setRaidCenters(Collection<BlockPos> p_113664_) {
        this.raidCenters = p_113664_;
    }

    @Override
    public void render(PoseStack p_113652_, MultiBufferSource p_113653_, double p_113654_, double p_113655_, double p_113656_) {
        BlockPos blockpos = this.getCamera().getBlockPosition();

        for (BlockPos blockpos1 : this.raidCenters) {
            if (blockpos.closerThan(blockpos1, 160.0)) {
                highlightRaidCenter(p_113652_, p_113653_, blockpos1);
            }
        }
    }

    private static void highlightRaidCenter(PoseStack p_270914_, MultiBufferSource p_270517_, BlockPos p_270208_) {
        DebugRenderer.renderFilledUnitCube(p_270914_, p_270517_, p_270208_, 1.0F, 0.0F, 0.0F, 0.15F);
        renderTextOverBlock(p_270914_, p_270517_, "Raid center", p_270208_, -65536);
    }

    private static void renderTextOverBlock(PoseStack p_270092_, MultiBufferSource p_270518_, String p_270237_, BlockPos p_270941_, int p_270307_) {
        double d0 = (double)p_270941_.getX() + 0.5;
        double d1 = (double)p_270941_.getY() + 1.3;
        double d2 = (double)p_270941_.getZ() + 0.5;
        DebugRenderer.renderFloatingText(p_270092_, p_270518_, p_270237_, d0, d1, d2, p_270307_, 0.04F, true, 0.0F, true);
    }

    private Camera getCamera() {
        return this.minecraft.gameRenderer.getMainCamera();
    }
}