@Override public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase living, ItemStack stack) { if (stack.getTagCompound() != null) { TileDeviceBase tile = (TileDeviceBase) world.getTileEntity(pos); int facing = BlockHelper.determineXZPlaceFacing(living); int storedFacing = ReconfigurableHelper.getFacing(stack); byte[] sideCache = ReconfigurableHelper.getSideCache(stack, tile.getDefaultSides()); tile.sideCache[0] = sideCache[0]; tile.sideCache[1] = sideCache[1]; tile.sideCache[facing] = sideCache[storedFacing]; tile.sideCache[BlockHelper.getLeftSide(facing)] = sideCache[BlockHelper.getLeftSide(storedFacing)]; tile.sideCache[BlockHelper.getRightSide(facing)] = sideCache[BlockHelper.getRightSide(storedFacing)]; tile.sideCache[BlockHelper.getOppositeSide(facing)] = sideCache[BlockHelper.getOppositeSide(storedFacing)]; } super.onBlockPlacedBy(world, pos, state, living, stack); }
@Override public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase living, ItemStack stack) { if (stack.getTagCompound() != null) { TileApparatusBase tile = (TileApparatusBase) world.getTileEntity(pos); tile.readAugmentsFromNBT(stack.getTagCompound()); tile.updateAugmentStatus(); tile.setEnergyStored(stack.getTagCompound().getInteger(CoreProps.ENERGY)); int facing = BlockHelper.determineXZPlaceFacing(living); int storedFacing = ReconfigurableHelper.getFacing(stack); byte[] sideCache = ReconfigurableHelper.getSideCache(stack, tile.getDefaultSides()); tile.sideCache[0] = sideCache[0]; tile.sideCache[1] = sideCache[1]; tile.sideCache[facing] = sideCache[storedFacing]; tile.sideCache[BlockHelper.getLeftSide(facing)] = sideCache[BlockHelper.getLeftSide(storedFacing)]; tile.sideCache[BlockHelper.getRightSide(facing)] = sideCache[BlockHelper.getRightSide(storedFacing)]; tile.sideCache[BlockHelper.getOppositeSide(facing)] = sideCache[BlockHelper.getOppositeSide(storedFacing)]; } super.onBlockPlacedBy(world, pos, state, living, stack); }
@Override public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase living, ItemStack stack) { if (stack.getTagCompound() != null) { TileMachineBase tile = (TileMachineBase) world.getTileEntity(pos); tile.setLevel(stack.getTagCompound().getByte("Level")); tile.readAugmentsFromNBT(stack.getTagCompound()); tile.updateAugmentStatus(); tile.setEnergyStored(stack.getTagCompound().getInteger(CoreProps.ENERGY)); int facing = BlockHelper.determineXZPlaceFacing(living); int storedFacing = ReconfigurableHelper.getFacing(stack); byte[] sideCache = ReconfigurableHelper.getSideCache(stack, tile.getDefaultSides()); for (int i = 0; i < sideCache.length; i++) { if (sideCache[i] >= tile.getNumConfig(i)) { sideCache[i] = 0; } } tile.sideCache[0] = sideCache[0]; tile.sideCache[1] = sideCache[1]; tile.sideCache[facing] = 0; tile.sideCache[BlockHelper.getLeftSide(facing)] = sideCache[BlockHelper.getLeftSide(storedFacing)]; tile.sideCache[BlockHelper.getRightSide(facing)] = sideCache[BlockHelper.getRightSide(storedFacing)]; tile.sideCache[BlockHelper.getOppositeSide(facing)] = sideCache[BlockHelper.getOppositeSide(storedFacing)]; } super.onBlockPlacedBy(world, pos, state, living, stack); }
@Override public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase living, ItemStack stack) { if (stack.getTagCompound() != null) { TileCell tile = (TileCell) world.getTileEntity(pos); tile.isCreative = (stack.getTagCompound().getBoolean("Creative")); tile.enchantHolding = (byte) MathHelper.clamp(EnchantmentHelper.getEnchantmentLevel(CoreEnchantments.holding, stack), 0, CoreEnchantments.holding.getMaxLevel()); tile.setLevel(stack.getTagCompound().getByte("Level")); tile.amountRecv = stack.getTagCompound().getInteger("Recv"); tile.amountSend = stack.getTagCompound().getInteger("Send"); tile.setEnergyStored(stack.getTagCompound().getInteger(CoreProps.ENERGY)); int facing = BlockHelper.determineXZPlaceFacing(living); int storedFacing = ReconfigurableHelper.getFacing(stack); byte[] sideCache = ReconfigurableHelper.getSideCache(stack, tile.getDefaultSides()); tile.sideCache[0] = sideCache[0]; tile.sideCache[1] = sideCache[1]; tile.sideCache[facing] = sideCache[storedFacing]; tile.sideCache[BlockHelper.getLeftSide(facing)] = sideCache[BlockHelper.getLeftSide(storedFacing)]; tile.sideCache[BlockHelper.getRightSide(facing)] = sideCache[BlockHelper.getRightSide(storedFacing)]; tile.sideCache[BlockHelper.getOppositeSide(facing)] = sideCache[BlockHelper.getOppositeSide(storedFacing)]; } super.onBlockPlacedBy(world, pos, state, living, stack); }