Code/net/minecraft/client/renderer/debug/WaterDebugRenderer.java

66 lines
2.6 KiB
Java
Raw Permalink Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.renderer.debug;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.BlockPos;
import net.minecraft.tags.FluidTags;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.phys.AABB;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class WaterDebugRenderer implements DebugRenderer.SimpleDebugRenderer {
private final Minecraft minecraft;
public WaterDebugRenderer(Minecraft p_113717_) {
this.minecraft = p_113717_;
}
@Override
public void render(PoseStack p_113719_, MultiBufferSource p_113720_, double p_113721_, double p_113722_, double p_113723_) {
BlockPos blockpos = this.minecraft.player.blockPosition();
LevelReader levelreader = this.minecraft.player.level();
for (BlockPos blockpos1 : BlockPos.betweenClosed(blockpos.offset(-10, -10, -10), blockpos.offset(10, 10, 10))) {
FluidState fluidstate = levelreader.getFluidState(blockpos1);
if (fluidstate.is(FluidTags.WATER)) {
double d0 = blockpos1.getY() + fluidstate.getHeight(levelreader, blockpos1);
DebugRenderer.renderFilledBox(
p_113719_,
p_113720_,
new AABB(
blockpos1.getX() + 0.01F,
blockpos1.getY() + 0.01F,
blockpos1.getZ() + 0.01F,
blockpos1.getX() + 0.99F,
d0,
blockpos1.getZ() + 0.99F
)
.move(-p_113721_, -p_113722_, -p_113723_),
0.0F,
1.0F,
0.0F,
0.15F
);
}
}
for (BlockPos blockpos2 : BlockPos.betweenClosed(blockpos.offset(-10, -10, -10), blockpos.offset(10, 10, 10))) {
FluidState fluidstate1 = levelreader.getFluidState(blockpos2);
if (fluidstate1.is(FluidTags.WATER)) {
DebugRenderer.renderFloatingText(
p_113719_,
p_113720_,
String.valueOf(fluidstate1.getAmount()),
blockpos2.getX() + 0.5,
blockpos2.getY() + fluidstate1.getHeight(levelreader, blockpos2),
blockpos2.getZ() + 0.5,
-16777216
);
}
}
}
}