猫史档案馆


【box3】尹子岛三辅助工具1.0上线!

用户:YDS尹子YDS尹子查看:7 回复:14 评论:7 创建时间:2020-09-11T21:29:36


这是一个多功能的辅助工具,包含选择器,速建等项目。

verson 1.0, 2020/9/11

  使用说明: 一.选择器  1.1.批量选择实体 (world.querySelectorAll()的简化版)  yzTool.select(实体类别) 输出形式:符合的实体列表      1.2.按id或玩家名选择实体 yzTool.selectEntity(实体id或玩家名) 输出形式:实体(Box3Entity)
1.3.按玩家名选择玩家  yzTool.selectPlayer(玩家名) 输出形式:实体(Box3Entity) 
二.对玩家的操作 2.1 传送玩家到坐标  yzTool.user.tp(玩家名,x坐标,y坐标,z坐标) 输出形式:无输出(void) 
2.2 传送玩家到实体  yzTool.user.tpto(玩家名,目标实体id) 输出形式:无输出(void) 
2.3 允许玩家参与pvp yzTool.user.pvpEnable(玩家名,最大血量,目前血量) 输出形式:无输出(void) 
三.速建包 3.1 填充两点之间的区域 输入形式:(开始x,开始y,开始z,结束x,结束y,结束z,材质) 输出形式:无输出(void) 
3.2 指定位置造平面圆 输入形式:(圆心x,圆心y,圆心z,圆半径,圆材质) 输出形式:无输出(void) 
3.3 指定位置造球  输入形式:(球心x,球心y,球心z,球半径,球材质) 输出形式:无输出(void)

 

代码:

/*copyright ydsYinZi 2020,All rights reserved.

版权归YDS尹子所有。
*/ 




/*
使用说明:
一.选择器 
1.1.批量选择实体 (world.querySelectorAll()的简化版) 
yzTool.select(实体类别)
输出形式:符合的实体列表 
 
 
1.2.按id或玩家名选择实体
yzTool.selectEntity(实体id或玩家名)
输出形式:实体(Box3Entity)

1.3.按玩家名选择玩家 
yzTool.selectPlayer(玩家名)
输出形式:实体(Box3Entity) 

二.对玩家的操作
2.1 传送玩家到坐标 
yzTool.user.tp(玩家名,x坐标,y坐标,z坐标)
输出形式:无输出(void) 

2.2 传送玩家到实体 
yzTool.user.tpto(玩家名,目标实体id)
输出形式:无输出(void) 

2.3 允许玩家参与pvp
yzTool.user.pvpEnable(玩家名,最大血量,目前血量)
输出形式:无输出(void) 

三.速建包
3.1 填充两点之间的区域
输入形式:(开始x,开始y,开始z,结束x,结束y,结束z,材质)
输出形式:无输出(void) 

3.2 指定位置造平面圆
输入形式:(圆心x,圆心y,圆心z,圆半径,圆材质)
输出形式:无输出(void) 

3.3 指定位置造球 
输入形式:(球心x,球心y,球心z,球半径,球材质)
输出形式:无输出(void)
*/




var yzTool={};

yzTool.select=function(e){
	return world.querySelectorAll(e);
}

yzTool.selectEntity=function(p){
	world.querySelectorAll("*").forEach((e)=>{
		if(e.isPlayer){
			if(e.player.name==p){
				return e;
			}
		}else{
			if(e.id==p){
				return e;
			}
		}
	})
}

yzTool.selectPlayer=function(p){
	world.querySelectorAll("player").forEach((e)=>{
		if(e.player.name==p){
			return e;
		}
	})
}

yzTool.user={};/*对玩家操作的目录*/ 

yzTool.user.tp=function(p,x,y,z){
	yzTool.selectPlayer(p).position.set(x,y,z);
}

yzTool.user.tpto=function(p,targetP){
	var pe=yzTool.selectPlayer(p);
	var tg=yzTool.selectEntity(targetP);
	pe.position.set(tg.position.x,tg.position.y,tg.position.z);
}

yzTool.user.pvpEnable=function(p,maxHp,hp){
    var pe=yzTool.selectPlayer(p);
    p.maxHp=maxHp;
    p.hp=hp;
    p.enableDamage=true;
}

yzTool.build={};/*速建目录*/

yzTool.build.fill=function(sx,sy,sz,ex,ey,ez,block){
    var start={x:sx,y:sy,z:sz};
    var end={x:ex,y:ey,z:ez};
        if(start.x>end.x){
            var a=start.x;start.x=end.x;end.x=a;
        }
        if(start.y>end.y){
            var a=start.y;start.y=end.y;end.y=a;
        }
        if(start.z>end.z){
            var a=start.z;start.z=end.z;end.z=a;
        }

    for(let i=start.x;i<=end.x;i++){for(let j=start.z;j<=end.z;j++){for(let k=start.y;k<=end.y;k++){
        voxels.setVoxel(i,k,j,block);
    }}}
}

yzTool.build.circle=function(x,y,z,r,b){
    var pos=new Box3Vector3(x,y,z);
    for(let i=pos.x-r;i<=pos.x+r;i++){
        for(let j=pos.z-r;j<=pos.z+r;j++){ 
                if(new Box3Vector3(i,pos.y,j).distance(pos)<=r){
                    voxels.setVoxel(i,pos.y,j,b);
                }
        }
    }
}

yzTool.build.ball=function(x,y,z,r,b){
    var pos=new Box3Vector3(x,y,z);
    for(let i=pos.x-r;i<=pos.x+r;i++){
        for(let j=pos.z-r;j<=pos.z+r;j++){
            for(let k=pos.y-r;k<=pos.y+r;k++){   
                if(new Box3Vector3(i,k,j).distance(pos)<=r){
                    voxels.setVoxel(i,k,j,b);
                }
            }
        }
    }
}

 


回复

上一页1 页 / 共 1下一页
TobylaiTobylai

捕捉

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

emotion_编程猫_加油

(挺有用但是功能有点少)

点赞0


评论


YDS尹子YDS尹子

给置顶消息点赞50个我就动工1.1版本哦

 

这里是完整版的代码

www.yxtnt.cn/box3/documents/box3helper.html

点赞1


评论


韵律源点Arcaea韵律源点Arcaea

/*copyright ydsYinZi 2020,All rights reserved.

版权归YDS尹子所有。
*/ 




/*
使用说明:
一.选择器 
1.1.批量选择实体 (world.querySelectorAll()的简化版) 
yzTool.select(实体类别)
输出形式:符合的实体列表 
 
 
1.2.按id或玩家名选择实体
yzTool.selectEntity(实体id或玩家名)
输出形式:实体(Box3Entity)

1.3.按玩家名选择玩家 
yzTool.selectPlayer(玩家名)
输出形式:实体(Box3Entity) 

二.对玩家的操作
2.1 传送玩家到坐标 
yzTool.user.tp(玩家名,x坐标,y坐标,z坐标)
输出形式:无输出(void) 

2.2 传送玩家到实体 
yzTool.user.tpto(玩家名,目标实体id)
输出形式:无输出(void) 

2.3 允许玩家参与pvp
yzTool.user.pvpEnable(玩家名,最大血量,目前血量)
输出形式:无输出(void) 

三.速建包
3.1 填充两点之间的区域
输入形式:(开始x,开始y,开始z,结束x,结束y,结束z,材质)
输出形式:无输出(void) 

3.2 指定位置造平面圆
输入形式:(圆心x,圆心y,圆心z,圆半径,圆材质)
输出形式:无输出(void) 

3.3 指定位置造球 
输入形式:(球心x,球心y,球心z,球半径,球材质)
输出形式:无输出(void)
*/




var yzTool={};

yzTool.select=fun­ction(e){
	return world.querySelectorAll(e);
}

yzTool.selectEntity=fun­ction(p){
	world.querySelectorAll("*").forEach((e)=>{
		if(e.isPlayer){
			if(e.player.name==p){
				return e;
			}
		}else{
			if(e.id==p){
				return e;
			}
		}
	})
}

yzTool.selectPlayer=fun­ction(p){
	world.querySelectorAll("player").forEach((e)=>{
		if(e.player.name==p){
			return e;
		}
	})
}

yzTool.user={};/*对玩家操作的目录*/ 

yzTool.user.tp=fun­ction(p,x,y,z){
	yzTool.selectPlayer(p).position.set(x,y,z);
}

yzTool.user.tpto=fun­ction(p,targetP){
	var pe=yzTool.selectPlayer(p);
	var tg=yzTool.selectEntity(targetP);
	pe.position.set(tg.position.x,tg.position.y,tg.position.z);
}

yzTool.user.pvpEnable=fun­ction(p,maxHp,hp){
    var pe=yzTool.selectPlayer(p);
    p.maxHp=maxHp;
    p.hp=hp;
    p.enableDamage=true;
}

yzTool.build={};/*速建目录*/

yzTool.build.fill=fun­ction(sx,sy,sz,ex,ey,ez,block){
    var start={x:sx,y:sy,z:sz};
    var end={x:ex,y:ey,z:ez};
        if(start.x>end.x){
            var a=start.x;start.x=end.x;end.x=a;
        }
        if(start.y>end.y){
            var a=start.y;start.y=end.y;end.y=a;
        }
        if(start.z>end.z){
            var a=start.z;start.z=end.z;end.z=a;
        }

    for(let i=start.x;i<=end.x;i++){for(let j=start.z;j<=end.z;j++){for(let k=start.y;k<=end.y;k++){
        voxels.setVoxel(i,k,j,block);
    }}}
}

yzTool.build.circle=fun­ction(x,y,z,r,b){
    var pos=new Box3Vector3(x,y,z);
    for(let i=pos.x-r;i<=pos.x+r;i++){
        for(let j=pos.z-r;j<=pos.z+r;j++){ 
                if(new Box3Vector3(i,pos.y,j).distan­ce(pos)<=r){
                    voxels.setVoxel(i,pos.y,j,b);
                }
        }
    }
}

yzTool.build.ball=fun­ction(x,y,z,r,b){
    var pos=new Box3Vector3(x,y,z);
    for(let i=pos.x-r;i<=pos.x+r;i++){
        for(let j=pos.z-r;j<=pos.z+r;j++){
            for(let k=pos.y-r;k<=pos.y+r;k++){   
                if(new Box3Vector3(i,k,j).distan­ce(pos)<=r){
                    voxels.setVoxel(i,k,j,b);
                }
            }
        }
    }
}

点赞0


评论


未命名用户015734未命名用户015734

天这是啥我看不懂nia(滑稽)

点赞0


评论


Chengxuyee_已退Chengxuyee_已退

emotion_编程猫_加油

点赞0


评论


洛亦ly洛亦ly

貌似看懂了(太棒了我会了!谢谢尹子)

点赞2


评论


几何空间几何空间

哇哇哇,大佬厉害!

点赞0


评论


J_K_Hermione_build白泽J_K_Hermione_build白泽

厉害厉害

点赞0


评论


uHuoYuBaiuHuoYuBai

emotion_编程猫_加油

点赞0


评论


指令者指令者

希望搞一下玩家进入某个区域允许参加pvp

点赞0


评论


方块君_大魔王_暂退方块君_大魔王_暂退

     

点赞0


评论


屑怪盗屑怪盗

保存

点赞0


评论


夜影行者夜影行者

收藏

 

点赞0


评论