Пытаюсь выполнить код только на стороне клиента, но результата это не приносит. Все равно код выполняется два раза
Подскажите, в чем дело. Как это исправить?
Java:
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
ItemStack itemStack = playerIn.getHeldItem(hand);
if(itemStack.getItem() instanceof ItemKey) {
IBlockState newState = state.cycleProperty(LOCKED).withProperty(OPEN, false);
worldIn.setBlockState(pos, newState);
worldIn.playEvent(playerIn, this.getCloseSound(), pos, 0);
return true;
}
if(state.getValue(LOCKED)) {
if(worldIn.isRemote) {
playerIn.sendStatusMessage(new TextComponentTranslation("ldm.door_closed", new Object[0]), true);
}
return false;
}
BlockPos blockpos = state.getValue(HALF) == BlockDoor.EnumDoorHalf.LOWER ? pos : pos.down();
IBlockState iblockstate = pos.equals(blockpos) ? state : worldIn.getBlockState(blockpos);
if (iblockstate.getBlock() != this) return false;
state = iblockstate.cycleProperty(OPEN);
worldIn.setBlockState(blockpos, state, 10);
worldIn.markBlockRangeForRenderUpdate(blockpos, pos);
worldIn.playEvent(playerIn, ((Boolean)state.getValue(OPEN)).booleanValue() ? this.getOpenSound() : this.getCloseSound(), pos, 0);
return true;
}