package com.carpentersblocks.util.stairs; import com.carpentersblocks.data.Stairs; public class StairsUtil { /** * Will return stairs boundaries. */ public float[] genBounds(int box, Stairs stairs) { ++box; switch (stairs.stairsID) { case Stairs.ID_NORMAL_SW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_NW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_NE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_SE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_POS_N: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F }; } break; case Stairs.ID_NORMAL_POS_W: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_POS_E: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_POS_S: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; case 2: return new float[] { 0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_NEG_N: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.5F, 0.0F, 1.0F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_NEG_W: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.5F, 0.0F, 0.5F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_NEG_E: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_NEG_S: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; case 2: return new float[] { 0.0F, 0.5F, 0.5F, 1.0F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_INT_POS_NW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 1.0F, 1.0F }; case 3: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 0.5F }; } break; case Stairs.ID_NORMAL_INT_POS_SW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 0.5F }; case 3: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_INT_POS_NE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; case 3: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F }; } break; case Stairs.ID_NORMAL_INT_POS_SE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; case 3: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_INT_NEG_NW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 1.0F, 1.0F }; case 3: return new float[] { 0.0F, 0.5F, 0.0F, 0.5F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_INT_NEG_SW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 0.5F }; case 3: return new float[] { 0.0F, 0.5F, 0.5F, 0.5F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_INT_NEG_NE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; case 3: return new float[] { 0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_INT_NEG_SE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; case 3: return new float[] { 0.5F, 0.5F, 0.5F, 1.0F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_EXT_POS_NW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F }; case 3: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F }; } break; case Stairs.ID_NORMAL_EXT_POS_SW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; case 2: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F }; case 3: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_EXT_POS_NE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F }; case 3: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 0.5F }; } break; case Stairs.ID_NORMAL_EXT_POS_SE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 0.5F }; case 2: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F }; case 3: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 0.5F, 1.0F }; } break; case Stairs.ID_NORMAL_EXT_NEG_NW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F }; case 2: return new float[] { 0.0F, 0.5F, 0.0F, 0.5F, 1.0F, 1.0F }; case 3: return new float[] { 0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_EXT_NEG_SW: switch (box) { case 1: return new float[] { 0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F }; case 2: return new float[] { 0.0F, 0.5F, 0.0F, 0.5F, 1.0F, 1.0F }; case 3: return new float[] { 0.5F, 0.5F, 0.5F, 1.0F, 1.0F, 1.0F }; } break; case Stairs.ID_NORMAL_EXT_NEG_NE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.5F, 0.5F, 1.0F, 1.0F }; case 2: return new float[] { 0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F }; case 3: return new float[] { 0.0F, 0.5F, 0.0F, 0.5F, 1.0F, 0.5F }; } break; case Stairs.ID_NORMAL_EXT_NEG_SE: switch (box) { case 1: return new float[] { 0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 0.5F }; case 2: return new float[] { 0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F }; case 3: return new float[] { 0.0F, 0.5F, 0.5F, 0.5F, 1.0F, 1.0F }; } break; } return null; } }