66 lines
2.6 KiB
Java
66 lines
2.6 KiB
Java
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
|
|
);
|
|
}
|
|
}
|
|
}
|
|
} |