-
Notifications
You must be signed in to change notification settings - Fork 79
/
ChiseledBlockMultiPart.java
85 lines (73 loc) · 1.99 KB
/
ChiseledBlockMultiPart.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package mod.chiselsandbits.integration.mcmultipart;
import java.util.ArrayList;
import java.util.List;
import mcmultipart.api.container.IPartInfo;
import mcmultipart.api.multipart.IMultipart;
import mcmultipart.api.multipart.IMultipartTile;
import mcmultipart.api.slot.IPartSlot;
import mod.chiselsandbits.api.BoxType;
import mod.chiselsandbits.chiseledblock.BlockChiseled;
import mod.chiselsandbits.chiseledblock.TileEntityBlockChiseled;
import mod.chiselsandbits.helpers.ModUtil;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class ChiseledBlockMultiPart implements IMultipart
{
BlockChiseled blk;
public ChiseledBlockMultiPart(
final BlockChiseled myBlock )
{
blk = myBlock;
}
@Override
public List<AxisAlignedBB> getOcclusionBoxes(
final IPartInfo part )
{
final List<AxisAlignedBB> l = new ArrayList<AxisAlignedBB>();
final TileEntityBlockChiseled te = ModUtil.getChiseledTileEntity( part.getActualWorld(), part.getPartPos() );
if ( te != null )
{
l.addAll( te.getBoxes( BoxType.OCCLUSION ) );
}
return l;
}
@Override
public Block getBlock()
{
return blk;
}
@Override
public IMultipartTile convertToMultipartTile(
final TileEntity tileEntity )
{
return new ChiseledBlockPart( tileEntity );
}
@Override
public IPartSlot getSlotForPlacement(
final World world,
final BlockPos pos,
final IBlockState state,
final EnumFacing facing,
final float hitX,
final float hitY,
final float hitZ,
final EntityLivingBase placer )
{
return MultiPartSlots.BITS;
}
@Override
public IPartSlot getSlotFromWorld(
final IBlockAccess world,
final BlockPos pos,
final IBlockState state )
{
return MultiPartSlots.BITS;
}
}