package WayofTime.bloodmagic.incense; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; public class IncenseAltarComponent { public final BlockPos offsetPos; public final Block block; public final IBlockState state; public IncenseAltarComponent(BlockPos offsetPos, Block block, IBlockState state) { this.offsetPos = offsetPos; this.block = block; this.state = state; } public boolean doesBlockMatch(Block block, IBlockState state) { return this.block == block && block.getMetaFromState(state) == this.block.getMetaFromState(this.state); } /** * Base rotation is north. */ public BlockPos getOffset(EnumFacing rotation) { return new BlockPos(this.getX(rotation), offsetPos.getY(), this.getZ(rotation)); } public int getX(EnumFacing direction) { switch (direction) { case EAST: return -this.offsetPos.getZ(); case SOUTH: return -this.offsetPos.getX(); case WEST: return this.offsetPos.getZ(); default: return this.offsetPos.getX(); } } public int getZ(EnumFacing direction) { switch (direction) { case EAST: return this.offsetPos.getX(); case SOUTH: return -this.offsetPos.getZ(); case WEST: return -this.offsetPos.getX(); default: return this.offsetPos.getZ(); } } }