Code/net/minecraft/world/level/block/entity/BoundingBoxRenderable.java

27 lines
997 B
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.world.level.block.entity;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Vec3i;
public interface BoundingBoxRenderable {
BoundingBoxRenderable.Mode renderMode();
BoundingBoxRenderable.RenderableBox getRenderableBox();
public static enum Mode {
NONE,
BOX,
BOX_AND_INVISIBLE_BLOCKS;
}
public record RenderableBox(BlockPos localPos, Vec3i size) {
public static BoundingBoxRenderable.RenderableBox fromCorners(int p_397818_, int p_393600_, int p_393481_, int p_394705_, int p_392453_, int p_392682_) {
int i = Math.min(p_397818_, p_394705_);
int j = Math.min(p_393600_, p_392453_);
int k = Math.min(p_393481_, p_392682_);
return new BoundingBoxRenderable.RenderableBox(
new BlockPos(i, j, k), new Vec3i(Math.max(p_397818_, p_394705_) - i, Math.max(p_393600_, p_392453_) - j, Math.max(p_393481_, p_392682_) - k)
);
}
}
}