From 48e0e5687e04e66dd08963d5d7069808141e11bd Mon Sep 17 00:00:00 2001 From: WakelessSloth56 Date: Thu, 11 Aug 2022 02:18:27 +0800 Subject: [PATCH] feat(utils): method for getting edges of aabb --- .../mcmod/arnicalib/utils/game/AABBUtils.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/AABBUtils.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/AABBUtils.java index 5b817685..442b8ac3 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/AABBUtils.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/AABBUtils.java @@ -41,4 +41,25 @@ static boolean containsLiquid(AABB aabb, Level level) { return level.getBlockStates(aabb).map(BlockState::getMaterial).anyMatch(Material::isLiquid); } + static double[][] getEdges(AABB aabb) { + return new double[][] { + {aabb.minX, aabb.minY, aabb.minZ, aabb.minX, aabb.minY, aabb.maxZ}, + {aabb.minX, aabb.minY, aabb.minZ, aabb.maxX, aabb.minY, aabb.minZ}, + {aabb.minX, aabb.minY, aabb.minZ, aabb.minX, aabb.maxY, aabb.minZ}, + + {aabb.maxX, aabb.maxY, aabb.minZ, aabb.maxX, aabb.maxY, aabb.maxZ}, + {aabb.minX, aabb.maxY, aabb.maxZ, aabb.maxX, aabb.maxY, aabb.maxZ}, + {aabb.maxX, aabb.minY, aabb.maxZ, aabb.maxX, aabb.maxY, aabb.maxZ}, + + {aabb.minX, aabb.minY, aabb.maxZ, aabb.maxX, aabb.minY, aabb.maxZ}, + + {aabb.minX, aabb.maxY, aabb.minZ, aabb.minX, aabb.maxY, aabb.maxZ}, + {aabb.minX, aabb.maxY, aabb.minZ, aabb.maxX, aabb.maxY, aabb.minZ}, + + {aabb.maxX, aabb.minY, aabb.minZ, aabb.maxX, aabb.maxY, aabb.minZ}, + + {aabb.maxX, aabb.minY, aabb.maxZ, aabb.maxX, aabb.minY, aabb.minZ}, + {aabb.minX, aabb.minY, aabb.maxZ, aabb.minX, aabb.maxY, aabb.maxZ}, + }; + } }