Better importer / exporter collision box
This commit is contained in:
@@ -6,17 +6,80 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileExporter;
|
import refinedstorage.tile.TileExporter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class BlockExporter extends BlockCable {
|
public class BlockExporter extends BlockCable {
|
||||||
|
public static final AxisAlignedBB LINE_NORTH_1_AABB = createAABB(6, 6, 0, 10, 10, 2);
|
||||||
|
public static final AxisAlignedBB LINE_NORTH_2_AABB = createAABB(5, 5, 2, 11, 11, 4);
|
||||||
|
public static final AxisAlignedBB LINE_NORTH_3_AABB = createAABB(3, 3, 4, 13, 13, 6);
|
||||||
|
public static final AxisAlignedBB LINE_EAST_1_AABB = createAABB(14, 6, 6, 16, 10, 10);
|
||||||
|
public static final AxisAlignedBB LINE_EAST_2_AABB = createAABB(12, 5, 5, 14, 11, 11);
|
||||||
|
public static final AxisAlignedBB LINE_EAST_3_AABB = createAABB(10, 3, 3, 12, 13, 13);
|
||||||
|
public static final AxisAlignedBB LINE_SOUTH_1_AABB = createAABB(6, 6, 14, 10, 10, 16);
|
||||||
|
public static final AxisAlignedBB LINE_SOUTH_2_AABB = createAABB(5, 5, 12, 11, 11, 14);
|
||||||
|
public static final AxisAlignedBB LINE_SOUTH_3_AABB = createAABB(3, 3, 10, 13, 13, 12);
|
||||||
|
public static final AxisAlignedBB LINE_WEST_1_AABB = createAABB(0, 6, 6, 2, 10, 10);
|
||||||
|
public static final AxisAlignedBB LINE_WEST_2_AABB = createAABB(2, 5, 5, 4, 11, 11);
|
||||||
|
public static final AxisAlignedBB LINE_WEST_3_AABB = createAABB(4, 3, 3, 6, 13, 13);
|
||||||
|
public static final AxisAlignedBB LINE_UP_1_AABB = createAABB(6, 14, 6, 10, 16, 10);
|
||||||
|
public static final AxisAlignedBB LINE_UP_2_AABB = createAABB(5, 12, 5, 11, 14, 11);
|
||||||
|
public static final AxisAlignedBB LINE_UP_3_AABB = createAABB(3, 10, 3, 13, 12, 13);
|
||||||
|
public static final AxisAlignedBB LINE_DOWN_1_AABB = createAABB(6, 0, 6, 10, 2, 10);
|
||||||
|
public static final AxisAlignedBB LINE_DOWN_2_AABB = createAABB(5, 2, 5, 11, 4, 11);
|
||||||
|
public static final AxisAlignedBB LINE_DOWN_3_AABB = createAABB(3, 4, 3, 13, 6, 13);
|
||||||
|
|
||||||
public BlockExporter() {
|
public BlockExporter() {
|
||||||
super("exporter");
|
super("exporter");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AxisAlignedBB> getNonUnionizedCollisionBoxes(IBlockState state) {
|
||||||
|
List<AxisAlignedBB> boxes = new ArrayList<>();
|
||||||
|
|
||||||
|
switch (state.getValue(DIRECTION)) {
|
||||||
|
case NORTH:
|
||||||
|
boxes.add(LINE_NORTH_1_AABB);
|
||||||
|
boxes.add(LINE_NORTH_2_AABB);
|
||||||
|
boxes.add(LINE_NORTH_3_AABB);
|
||||||
|
break;
|
||||||
|
case EAST:
|
||||||
|
boxes.add(LINE_EAST_1_AABB);
|
||||||
|
boxes.add(LINE_EAST_2_AABB);
|
||||||
|
boxes.add(LINE_EAST_3_AABB);
|
||||||
|
break;
|
||||||
|
case SOUTH:
|
||||||
|
boxes.add(LINE_SOUTH_1_AABB);
|
||||||
|
boxes.add(LINE_SOUTH_2_AABB);
|
||||||
|
boxes.add(LINE_SOUTH_3_AABB);
|
||||||
|
break;
|
||||||
|
case WEST:
|
||||||
|
boxes.add(LINE_WEST_1_AABB);
|
||||||
|
boxes.add(LINE_WEST_2_AABB);
|
||||||
|
boxes.add(LINE_WEST_3_AABB);
|
||||||
|
break;
|
||||||
|
case UP:
|
||||||
|
boxes.add(LINE_UP_1_AABB);
|
||||||
|
boxes.add(LINE_UP_2_AABB);
|
||||||
|
boxes.add(LINE_UP_3_AABB);
|
||||||
|
break;
|
||||||
|
case DOWN:
|
||||||
|
boxes.add(LINE_DOWN_1_AABB);
|
||||||
|
boxes.add(LINE_DOWN_2_AABB);
|
||||||
|
boxes.add(LINE_DOWN_3_AABB);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return boxes;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||||
return new TileExporter();
|
return new TileExporter();
|
||||||
|
|||||||
@@ -6,17 +6,80 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageGui;
|
import refinedstorage.RefinedStorageGui;
|
||||||
import refinedstorage.tile.TileImporter;
|
import refinedstorage.tile.TileImporter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class BlockImporter extends BlockCable {
|
public class BlockImporter extends BlockCable {
|
||||||
|
public static final AxisAlignedBB LINE_NORTH_1_AABB = createAABB(6, 6, 4, 10, 10, 6);
|
||||||
|
public static final AxisAlignedBB LINE_NORTH_2_AABB = createAABB(5, 5, 2, 11, 11, 4);
|
||||||
|
public static final AxisAlignedBB LINE_NORTH_3_AABB = createAABB(3, 3, 0, 13, 13, 2);
|
||||||
|
public static final AxisAlignedBB LINE_EAST_1_AABB = createAABB(10, 6, 6, 12, 10, 10);
|
||||||
|
public static final AxisAlignedBB LINE_EAST_2_AABB = createAABB(12, 5, 5, 14, 11, 11);
|
||||||
|
public static final AxisAlignedBB LINE_EAST_3_AABB = createAABB(14, 3, 3, 16, 13, 13);
|
||||||
|
public static final AxisAlignedBB LINE_SOUTH_1_AABB = createAABB(6, 6, 10, 10, 10, 12);
|
||||||
|
public static final AxisAlignedBB LINE_SOUTH_2_AABB = createAABB(5, 5, 12, 11, 11, 14);
|
||||||
|
public static final AxisAlignedBB LINE_SOUTH_3_AABB = createAABB(3, 3, 14, 13, 13, 16);
|
||||||
|
public static final AxisAlignedBB LINE_WEST_1_AABB = createAABB(4, 6, 6, 6, 10, 10);
|
||||||
|
public static final AxisAlignedBB LINE_WEST_2_AABB = createAABB(2, 5, 5, 4, 11, 11);
|
||||||
|
public static final AxisAlignedBB LINE_WEST_3_AABB = createAABB(0, 3, 3, 2, 13, 13);
|
||||||
|
public static final AxisAlignedBB LINE_UP_1_AABB = createAABB(6, 10, 6, 10, 12, 10);
|
||||||
|
public static final AxisAlignedBB LINE_UP_2_AABB = createAABB(5, 12, 5, 11, 14, 11);
|
||||||
|
public static final AxisAlignedBB LINE_UP_3_AABB = createAABB(3, 14, 3, 13, 16, 13);
|
||||||
|
public static final AxisAlignedBB LINE_DOWN_1_AABB = createAABB(6, 4, 6, 10, 6, 10);
|
||||||
|
public static final AxisAlignedBB LINE_DOWN_2_AABB = createAABB(5, 2, 5, 11, 4, 11);
|
||||||
|
public static final AxisAlignedBB LINE_DOWN_3_AABB = createAABB(3, 0, 3, 13, 2, 13);
|
||||||
|
|
||||||
public BlockImporter() {
|
public BlockImporter() {
|
||||||
super("importer");
|
super("importer");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AxisAlignedBB> getNonUnionizedCollisionBoxes(IBlockState state) {
|
||||||
|
List<AxisAlignedBB> boxes = new ArrayList<>();
|
||||||
|
|
||||||
|
switch (state.getValue(DIRECTION)) {
|
||||||
|
case NORTH:
|
||||||
|
boxes.add(LINE_NORTH_1_AABB);
|
||||||
|
boxes.add(LINE_NORTH_2_AABB);
|
||||||
|
boxes.add(LINE_NORTH_3_AABB);
|
||||||
|
break;
|
||||||
|
case EAST:
|
||||||
|
boxes.add(LINE_EAST_1_AABB);
|
||||||
|
boxes.add(LINE_EAST_2_AABB);
|
||||||
|
boxes.add(LINE_EAST_3_AABB);
|
||||||
|
break;
|
||||||
|
case SOUTH:
|
||||||
|
boxes.add(LINE_SOUTH_1_AABB);
|
||||||
|
boxes.add(LINE_SOUTH_2_AABB);
|
||||||
|
boxes.add(LINE_SOUTH_3_AABB);
|
||||||
|
break;
|
||||||
|
case WEST:
|
||||||
|
boxes.add(LINE_WEST_1_AABB);
|
||||||
|
boxes.add(LINE_WEST_2_AABB);
|
||||||
|
boxes.add(LINE_WEST_3_AABB);
|
||||||
|
break;
|
||||||
|
case UP:
|
||||||
|
boxes.add(LINE_UP_1_AABB);
|
||||||
|
boxes.add(LINE_UP_2_AABB);
|
||||||
|
boxes.add(LINE_UP_3_AABB);
|
||||||
|
break;
|
||||||
|
case DOWN:
|
||||||
|
boxes.add(LINE_DOWN_1_AABB);
|
||||||
|
boxes.add(LINE_DOWN_2_AABB);
|
||||||
|
boxes.add(LINE_DOWN_3_AABB);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return boxes;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||||
return new TileImporter();
|
return new TileImporter();
|
||||||
|
|||||||
Reference in New Issue
Block a user