猫史档案馆


我想要超大地图的地形代码!

用户:彩虹字转换器彩虹字转换器查看:3 回复:6 评论:3 创建时间:2022-07-12T11:21:32


我想要超大地图的地形代码!

我想要超大地图的地形代码!

我想要超大地图的地形代码!

我想要超大地图的地形代码!

我想要超大地图的地形代码!


回复

上一页1 页 / 共 1下一页
一个STUB用户_14302596一个STUB用户_14302596

http(删掉我)s:/(删掉我)/www(删掉我).yxtnt.cn/box(删掉我)TE/terrain(删掉我)Editor.h(删掉我)tml 自己捏去

点赞0


评论


_HHHHHHHHHH__HHHHHHHHHH_

超大地图的地形代码

点赞1


评论


芜湖咸鱼芜湖咸鱼

https://shequ.codemao.cn/wiki/forum/469259

点赞0


评论


善良的星熊喵善良的星熊喵

/*VALUENOISE */
async function valuenoise(p1, p2, p3, p4, nv1, nv2, nv3, nv4, func){
    /**
     *  y
     *  ↑
     *  | (0,2) p3    (2,2) p4
     *  | (0,1) (1,1) (2,1) (3,1)
     *  | (0,0) p1    (2,0) p2
     *  +------------------------->x
     *  默认为矩形
     * 
     * eg:
     * p1(1,0) 
     * p2(3,0)
     * p3(1,2)
     * p4(3,2)
    */

    if(nv1 === void 0){
        nv1 = Math.floor(Math.random()*60)+1;
    }
    if(nv2 === void 0){
        nv2 = Math.floor(Math.random()*60)+1;
    }
    if(nv3 === void 0){
        nv3 = Math.floor(Math.random()*60)+1;
    }
    if(nv4 === void 0){
        nv4 = Math.floor(Math.random()*60)+1;
    }
    if(func === void 0){
        func = x => 6*x**5 - 15*x**4 + 10*x**3;
    }

    let p1x = p1.z;
    let p2x = p2.z;
    let p3x = p3.z;
    let p4x = p4.z;

    let p1y = p1.x;
    let p2y = p2.x;
    let p3y = p3.x;
    let p4y = p4.x;

    for(let x=p1.z;x<=p2.z;x++){
        for(let y=p1.x;y<=p3.x;y++){
            // if((x==p1.z || x==p2.z || x==p3.z || x==p4.z) && (y==p1.x || y==p2.x || y==p3.x || y==p4.x)){
            //     continue;
            // }

            let n1 = (func((x-p1x)/(p2x-p1x))*nv1 + func((p2x-x)/(p2x-p1x))*nv2);
            let n2 = (func((x-p3x)/(p4x-p3x))*nv3 + func((p4x-x)/(p4x-p3x))*nv4);

            let res = (func((y-p1y)/(p3y-p1y))*n1 + func((p3y-y)/(p3y-p1y))*n2);

            await sleep(1);

            for(let z=8;z<=res;z++){
                voxels.setVoxel(y,z,x,'stone');
            }
        }
    }
}

function gethight(x,z){
    for(let y=0;y<=喵;y++){
        if(voxels.getVoxelId(x,y,z)!=235){
            return y-1;
        }
    }
    return 114514;
}


!(async function(){
    for(let x=0;x<=256;x+=16){
        for(let z=0;z<=256;z+=16){
            for(let y=0;y<=Math.round(Math.random()*32)+32;y++){
                voxels.setVoxel(x,y,z,'carpet_08');
                voxels.setVoxel(x-1,y,z,'carpet_08');
                voxels.setVoxel(x,y,z-1,'carpet_08');
                voxels.setVoxel(x-1,y,z-1,'carpet_08');
            }
        }
    }
    for(let x=0;x<=256;x+=16){
        for(let z=0;z<=256;z+=16){
            valuenoise(
                new Box3Vector3(x,0,z), 
                new Box3Vector3(x,0,z+15),
                new Box3Vector3(x+15,0,z), 
                new Box3Vector3(x+15,0,z+15),
                gethight(x+15,z+15),
                gethight(x+15,z),
                gethight(x,z+15),
                gethight(x,z),
            )
            await sleep(100)
        }
    }
})()

点赞0


评论


善良的星熊喵善良的星熊喵

var seaLevel=20;
var xzZoom=15;
var yZoom=15;
var exZ1=1;
var exZ2=1;
var exZ3=10;
var base=15;

(async function(){
for(let i=0;i<127;i+=0.1){
    
    var xh=Math.sin(i/xzZoom)*yZoom;
    for(let j=0;j<127;j+=0.1){
        var zh=Math.pow(Math.sin(j/xzZoom),3)*yZoom*exZ1;
        if(xh+zh+base<seaLevel){
            voxels.setVoxel(i,xh+zh+base,j,"dirt");
            for(let k=0;k<xh+zh+base-1;k++){
                voxels.setVoxel(i,k,j,"dirt");
            }
        }else if(Math.round(xh+zh+base)==seaLevel){
            voxels.setVoxel(i,xh+zh+base,j,"sand");
            for(let k=0;k<xh+zh+base-1;k++){
                voxels.setVoxel(i,k,j,"dirt");
            }
        }else{
            voxels.setVoxel(i,xh+zh+base,j,"grass");
            for(let k=0;k<xh+zh+base-1;k++){
                voxels.setVoxel(i,k,j,"dirt");
            }
        }
        
        
    }
    await sleep(10);
}
for(let i=0;i<127;i++){
    for(let j=0;j<127;j++){
        for(let k=0;k<=seaLevel;k++){
            if(voxels.getVoxel(i,k,j)==0){
                voxels.setVoxel(i,k,j,"water");
            }
        }
    }
}
})()

点赞0


评论


egg鸡蛋蛋egg鸡蛋蛋

复制到代码区

然后会在控制台输出

let eihei = 0
world.onPlayerJoin(({ entity }) => {
 entity.player.kick()
 eihei+=1
})
console.log(eihei)

点赞0


评论