用户:
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)
代码:
/*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);
}
}
}
}
}
韵律源点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=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);
}
}
}
}
}点赞0
评论