Я поэкспериментировал, если поставить noCollision() в BlockBehaviour.Properties, то первая проблема пропадает, скорее всего это связанно с тем, что noCollision() ставит canOcclude на false, вторая проблема как-то сама решилась
P.S. теория подтвердилось noOcclusion() действительно фиксит первую...