@@ -154,14 +154,23 @@ public function contractedCopy(float $x, float $y, float $z) : AxisAlignedBB{
154154 * Returns an extended clone of this AxisAlignedBB.
155155 */
156156 public function extendedCopy (Facing $ face , float $ distance ) : AxisAlignedBB {
157- return match ($ face ){
158- Facing::DOWN => new AxisAlignedBB ($ this ->minX , $ this ->minY - $ distance , $ this ->minZ , $ this ->maxX , $ this ->maxY , $ this ->maxZ ),
159- Facing::UP => new AxisAlignedBB ($ this ->minX , $ this ->minY , $ this ->minZ , $ this ->maxX + $ distance , $ this ->maxY , $ this ->maxZ ),
160- Facing::NORTH => new AxisAlignedBB ($ this ->minX , $ this ->minY , $ this ->minZ - $ distance , $ this ->maxX , $ this ->maxY , $ this ->maxZ ),
161- Facing::SOUTH => new AxisAlignedBB ($ this ->minX , $ this ->minY , $ this ->minZ , $ this ->maxX , $ this ->maxY , $ this ->maxZ + $ distance ),
162- Facing::WEST => new AxisAlignedBB ($ this ->minX - $ distance , $ this ->minY , $ this ->minZ , $ this ->maxX , $ this ->maxY , $ this ->maxZ ),
163- Facing::EAST => new AxisAlignedBB ($ this ->minX , $ this ->minY , $ this ->minZ , $ this ->maxX + $ distance , $ this ->maxY , $ this ->maxZ )
157+ $ minX = $ this ->minX ;
158+ $ minY = $ this ->minY ;
159+ $ minZ = $ this ->minZ ;
160+ $ maxX = $ this ->maxX ;
161+ $ maxY = $ this ->maxY ;
162+ $ maxZ = $ this ->maxZ ;
163+
164+ match ($ face ){
165+ Facing::DOWN => $ minY -= $ distance ,
166+ Facing::UP => $ maxY += $ distance ,
167+ Facing::NORTH => $ minZ -= $ distance ,
168+ Facing::SOUTH => $ maxZ += $ distance ,
169+ Facing::WEST => $ minX -= $ distance ,
170+ Facing::EAST => $ maxX += $ distance
164171 };
172+
173+ return new AxisAlignedBB ($ minX , $ minY , $ minZ , $ maxX , $ maxY , $ maxZ );
165174 }
166175
167176 /**
@@ -184,11 +193,25 @@ public function trimmedCopy(Facing $face, float $distance) : AxisAlignedBB{
184193 * Returns an stretched clone of this AxisAlignedBB.
185194 */
186195 public function stretchedCopy (Axis $ axis , float $ distance ) : AxisAlignedBB {
187- return match ($ axis ){
188- Axis::Y => new AxisAlignedBB ($ this ->minX , $ this ->minY - $ distance , $ this ->minZ , $ this ->maxX , $ this ->maxY + $ distance , $ this ->maxZ ),
189- Axis::Z => new AxisAlignedBB ($ this ->minX , $ this ->minY , $ this ->minZ - $ distance , $ this ->maxX , $ this ->maxY , $ this ->maxZ + $ distance ),
190- Axis::X => new AxisAlignedBB ($ this ->minX - $ distance , $ this ->minY , $ this ->minZ , $ this ->maxX + $ distance , $ this ->maxY , $ this ->maxZ )
191- };
196+ $ minX = $ this ->minX ;
197+ $ minY = $ this ->minY ;
198+ $ minZ = $ this ->minZ ;
199+ $ maxX = $ this ->maxX ;
200+ $ maxY = $ this ->maxY ;
201+ $ maxZ = $ this ->maxZ ;
202+
203+ if ($ axis === Axis::Y){
204+ $ minY -= $ distance ;
205+ $ maxY += $ distance ;
206+ }elseif ($ axis === Axis::Z){
207+ $ minZ -= $ distance ;
208+ $ maxZ += $ distance ;
209+ }elseif ($ axis === Axis::X){
210+ $ minX -= $ distance ;
211+ $ maxX += $ distance ;
212+ }
213+
214+ return new AxisAlignedBB ($ minX , $ minY , $ minZ , $ maxX , $ maxY , $ maxZ );
192215 }
193216
194217 /**
0 commit comments