public void PutBlock(Ray ray, float range)
        {
            if (Physics.Raycast(ray, out RaycastHit hit, range))
            {
                Vector3 position = hit.point + 0.5f * hit.normal;

                if (dimension.Blocks[position].Traits.IsReplaceable())
                {
                    var block = new GrassBlock();
                    dimension.Blocks[position] = block;
                    terrainRenderer.Redraw(position);
                }
            }
        }