一种利用kubejs和原版指令达成大逃杀游戏中缩圈机制的方法(基于1.16.5版本)
var i = 0//标记次数
var x0 = 365//起始点x坐标
var z0 = -12//起始点z坐标
var x1 = 214//终点x坐标
var z1 = -197//终点z坐标
var aveX = ((x1-x0)/1500)//x方向每次移动距离
var aveZ = ((z1-z0)/1500)//z方向每次移动距离
event.server.runCommandSilent("/worldborder set 20 30")//设置世界边境大小和改变所需时间
event.server.schedule(0.01 * SECOND, event.server, function(callback){//利用了一个带有延迟的命令来实现一步步缩圈
i++;
x0 = x0 + aveX
z0 = z0 + aveZ
event.server.runCommandSilent("/worldborder center "+x0 +" "+z0)
if (i <=1500) {
callback.reschedule();//次数没执行完时,就重新执行一次
}
由于MC原版的限制,类似COD的战区模式里那种多圈合并/分散/分别缩圈的效果基本上做不出来。但是类似PUBG和Apex的缩圈机制却能较好的实现——除了你没法穿过世界边境钻进毒区里。
如果你有需要,请随意使用这段代码,不必标明出处。