<!-- RUBY-BACKUP · part 253 -->
 laid in brick — ' + placed + ' blocks');
    }catch(e){ if(typeof codeStatus === 'function') codeStatus('ancestors failed: ' + e.message); }
    return;
  }
  if(tl==='brickblock'){
    /* Brick block — AI brick pattern, seamless, carefully placed */
    try{
      var bx = mePos.x, bz = mePos.z;
      var by = fortifiedGroundY(bx, bz);
      var size = 6;
      var brickTex = null;
      try{
        if(!window._brickTex){
          var _bt = new THREE.TextureLoader().load('/ruby2/brick-side.png');
          _bt.wrapS = THREE.RepeatWrapping;
          _bt.wrapT = THREE.RepeatWrapping;
          _bt.repeat.set(1, 1);
          window._brickTex = _bt;
        }
        brickTex = window._brickTex;
      }catch(e){}
      var brickMat = brickTex ?
        new THREE.MeshStandardMaterial({map: brickTex, roughness: 0.9}) :
        new THREE.MeshStandardMaterial({color: 0x8b3a2a, roughness: 0.9});
      var mortarMat = new THREE.MeshStandardMaterial({color: 0x9a8a7a, roughness: 0.95});
      /* Brick on all four sides, mortar top and bottom for clean stacking */
      var bmats = [brickMat, brickMat, mortarMat, mortarMat, brickMat, brickMat];
      var block = new THREE.Mesh(new THREE.BoxGeometry(size, size, size), bmats);
      block.position.set(bx, by + size/2, bz);
      block.userData.solid = true;
      block.userData.brickBlock = true;
      scene.add(block);
      if(!window._solidBlocks) window._solidBlocks = [];
      window._solidBlocks.push(block);
      if(typeof window.trackNewThing === 'function')
        window.trackNewThing('brick block', bx, by + size/2, bz);
      if(typeof codeStatus === 'function') codeStatus('brick block laid — carefully placed');
    }catch(e){ if(typeof codeStatus === 'function') codeStatus('brick failed: ' + e.message); }
    return;
  }
  if(tl==='filllava'){
    /* Fill the whole land with lava blocks — like fillmap, but lava */
    try{
      var gridStep = 20;
      var heartR = 50;
      var cap = 2000;
      var placed = 0;
      var lavaTex3 = null;
      try{
        if(!window._lavaTex){
          var _lt3 = new THREE.TextureLoader().load('/ruby2/lava-top.png');
          _lt3.wrapS = THREE.RepeatWrapping;
          _lt3.wrapT = THREE.RepeatWrapping;
          window._lavaTex = _lt3;
        }
        lavaTex3 = window._lavaTex;
      }catch(e){}
      var lavaTopMat3 = lavaTex3 ?
        new THREE.MeshStandardMaterial({map: lavaTex3, roughness: 0.85, emissive: 0x331100, emissiveIntensity: 0.3}) :
        new THREE.MeshStandardMaterial({color: 0x222222, roughness: 0.9});
      var darkSideMat3 = new THREE.MeshStandardMaterial({color: 0x1a1a1a, roughness: 0.95});
      var darkDirtMat3 = new THREE.MeshStandardMaterial({color: 0x0d0d0d, roughness: 1.0});
      var size = 6;
      for(var fx = -1000; fx <= 1000 && placed < cap; fx += gridStep){
        for(var fz = -1000; fz <= 1000 && placed < cap; fz += gridStep){
          var dc = Math.sqrt(fx*fx + fz*fz);
          if(dc < heartR) continue;
          if(typeof inRespectZone === 'function' && inRespectZone(fx, fz)) continue;
          var fy = fortifiedGroundY(fx, fz);
          var lmats3 = [darkSideMat3, darkSideMat3, lavaTopMat3, darkDirtMat3, darkSideMat3, darkSideMat3];
          var lb = new THREE.Mesh(new THREE.BoxGeometry(size, size, size), lmats3);
          lb.position.set(fx, fy + size/2, fz);
          lb.userData.solid = true;
          lb.userData.lavaBlock = true;
          lb.userData.filllava = true;
          scene.add(lb);
          if(!window._solidBlocks) window._solidBlocks = [];
          window._solidBlocks.push(lb);
          placed++;
        }
      }
      if(typeof window.trackNewThing === 'function')
        window.trackNewThing('filllava (' + placed + ' blocks)', 0, 0, 0);
      if(typeof codeStatus === 'function') codeStatus(placed + ' lava blocks fill the land');
    }catch(e){ if(typeof codeStatus === 'function') codeStatus('filllava failed: ' + e.message); }
    return;
  }
  if(tl==='clearlava'){
    if(!window._isAdmin) return;
    try{
      var kept = [];
      var removed = 0;
      if(window._solidBlocks){
        window._solidBlocks.forEach(function(b){
          if(b.userData && b.userData.filllava){ scene.remove(b); removed++; }
          else kept.push(b);
        });
        window._solidBlocks = kept;
      }
      if(typeof codeStatus === 'function') codeStatus(removed + ' lava blocks cleared by admin');
    }catch(e){}
    return;
  }
  if(tl==='lavablock'){
    /* Lava rock block — rough, tense, grass with lava flow */
    try{
      var lx = mePos.x, lz = mePos.z;
      var ly = fortifiedGroundY(lx, lz);
      var size = 6;
      /* Lava texture on top */
      var lavaTex = null;
      try{
        if(!window._lavaTex){
          var _lt = new THREE.TextureLoader().load('/ruby2/lava-top.png');
          _lt.wrapS = THREE.RepeatWrapping;
          _lt.wrapT = THREE.RepeatWrapping;
          window._lavaTex = _lt;
        }
    