@@ -0,0 +1,1582 @@
+package org.cyclops.cyclopscore.helper;%0A%0Aimport net.minecraft.util.EnumFacing;%0A%0A/**%0A * Contains helper methods for matrix transformations.%0A * Contains several methods from BuildCraft%0A * @author rubensworks%0A */%0Apublic final class MatrixHelpers %7B%0A%0A    /**%0A     * Mirror the given box bounds around the Y axis%0A     * @param targetArray The box bounds to transform.%0A     */%0A    public static void mirrorY(float%5B%5D%5B%5D targetArray) %7B%0A        float temp = targetArray%5B1%5D%5B0%5D;%0A        targetArray%5B1%5D%5B0%5D = (targetArray%5B1%5D%5B1%5D - 0.5F) * -1F + 0.5F; // 1 -%3E 0.5F -%3E -0.5F -%3E 0F%0A        targetArray%5B1%5D%5B1%5D = (temp - 0.5F) * -1F + 0.5F; // 0 -%3E -0.5F -%3E 0.5F -%3E 1F%0A    %7D%0A%0A    /**%0A     * Rotate the given box bounds once.%0A     * Shifts the x to y, y to z and z to x.%0A     * @param targetArray The box bounds to transform.%0A     */%0A    public static void rotate(float%5B%5D%5B%5D targetArray) %7B%0A        for (int i = 0; i %3C 2; i++) %7B%0A            float temp = targetArray%5B2%5D%5Bi%5D;%0A            targetArray%5B2%5D%5Bi%5D = targetArray%5B1%5D%5Bi%5D;%0A            targetArray%5B1%5D%5Bi%5D = targetArray%5B0%5D%5Bi%5D;%0A            targetArray%5B0%5D%5Bi%5D = temp;%0A        %7D%0A    %7D%0A%0A    /**%0A     * Transform the given box bounds to the given orientation.%0A     * @param targetArray The box bounds to transform.%0A     * @param direction The orientation to transform to.%0A     */%0A    public static void transform(float%5B%5D%5B%5D targetArray, EnumFacing direction) %7B%0A        if((direction.ordinal() & 0x1) == 1) %7B%0A            mirrorY(targetArray);%0A        %7D%0A        for(int i = 0; i %3C (direction.ordinal() %3E%3E 1); i++) %7B%0A            rotate(targetArray);%0A        %7D%0A    %7D%0A%0A%7D%0A

Add helper methods for matrix transformations