我的世界一个非常牛逼的技术 单刻输出的GPS制作详解
我的世界一个非常牛逼的技术 单刻输出的GPS制作详解。那下面给大家分享的是一个比较厉害的技术,那就是单刻输出的GPS,那下面就一起来看看这个单刻输出的GPS是什么以及怎么做吧!希望对大家有所帮助。
游戏园我的世界官方群: 325049520 欢迎各路喜爱我的世界的小伙伴们加入讨论!
首先来介绍一下GPS是指的什么吧。玩命令的同学应该都知道mc是没有提供给命令系统读取坐标的接口,那么不能获取坐标在某些方面其实还是很不方便的。所以之前那个原型机做到了输出整数的坐标。现在的这个系统也能做到,并且是每时每刻瞬间输出的类型。
那么这里的话我也大概说一下具体原理。整个事情是这样的,前段时间呢,是要去研究边界之地,结果呢,手贱,传送的边界之地里面去了,然后我就显示了掉线。单人游戏也会掉线这一点我觉得非常的有趣,但是那个存档之后也就打不开了,由于是随机生成的地图,所以其实也并不重要。但是,我们需要透过现象看本质,如果玩家在边界之地会被处理为掉线,那么其他实体会怎样呢,随后我就进行了一下实验。
实验的内容很简单,tp一个实体进边界之地就明朗了。
summon Zombie ~ ~1 ~ {CustomName:hi}
召唤一个叫hi的僵尸。
由于我实验的地方的z坐标为负数,所以我们选择z轴负方向的边界之地。
tp @e[name=hi] ~ ~ ~-30000000
tp进边界之地,这个没啥好说的,接下来就是重头戏了。
测量好执行次序之后,让以下指令控制在上一条之后激活。
首先我们来实验一下
tp @e[name=hi] ~ ~ ~30000000
当然这条指令的目的就是将僵尸tp回来,而激活之后的结果是,僵尸显示在原地,其实已经去了一趟边界了。
那么如果我们把第二条指令修改为
execute @e[name=hi] ~ ~ ~ tp @e[name=hi] ~ ~ ~30000000
会怎样呢?
答案是,僵尸不见了。
这样的对照实验我们可以很鲜明的看出区别,在于边界之地的实体并不能用exe指令来执行指令。
[07:01:48] 你输入的数字 (-3.000093340725673E7)太小了,它至少需要为-30000000
通过这样的反馈信息我们也可以注意到一些有趣的冷知识。就是命令内部的一些数据其实也是有取值范围的,比如这里的坐标。
那么进行其他的一些实验以确保确实exe是不能执行的。
确认完成。
那么这个不能用的发现能用在哪里呢?自然gps应该是可以用上的,因为这个可以判断实体是否在边界之地里。那么我们来进行系统的架构。
首先,还是万年二分法。
这里讲解一下,这里我们需要先创建x和z两个计分板变量。
/scoreboard objectives add x dummy
/scoreboard objectives add z dummy
这里以x变量为例子。注意,每个变量一个实体。
然后召唤一个实体进行判断。
execute @a ~ 0 ~ summon ArmorStand ~ ~ ~
{CustomName:"mark"}
然后执行以下一组指令让系统初始化
/scoreboard players reset @a x
tp @e[name=mark] ~-16777216 ~ ~
tp @e[name=mark] ~-16777216 ~ ~
/scoreboard players remove @a x 30000000
execute @e[name=mark] ~ ~ ~ tp
@e[name=mark] ~16777216 ~ ~
execute @e[name=mark] ~ ~ ~ tp
@e[name=mark] ~16777216 ~ ~
接下来运行以下规律的指令
tp @e[name=mark] ~16777216 ~ ~
execute @e[name=mark] ~ ~ ~ scoreboard
players add @a x 16777216
execute @e[name=mark] ~ ~ ~ tp @e[name=mark]
~-16777216 ~ ~
每组指令的数字需要除以2,以此递推。直到数字变为1。
当然最后不要忘记kill掉这个计算的实体。
kill @e[name=mark]
这个的精髓就在于利用exe进行判断实体是否在边界之地内部。这比我原来所使用的选择器的判断方法高效很多。话是这么说啦,但是还是比较抽象不是吗,这里我就把我平时喜欢用的方法说一下。我一般喜欢用这个指令来直接看。
/tellraw @a [{"score":{"objective":"x","name":"x"},"bold":"true"},{"text":","},{"score":{"objective":"z","name":"z"},"bold":"true"}]
高频执行这个指令,然后没病走两步,就可以很生动的看到坐标的变化。
而且这个模块运行起来一点都不卡,实用性非常高。我已经使用到我最近写的一个原版mod里面了。
PS:在此非常感谢我的世界玩家乙烯_中国的分享。
以上就是我的世界一个非常牛逼的技术 单刻输出的GPS制作详解。更多精彩尽在游戏园我的世界专区。
热门攻略推荐:
我的世界一个非常牛逼的技术 单刻输出的GPS制作详解。那下面给大家分享的是一个比较厉害的技术,那就是单刻输出的GPS,那下面就一起来看看这个单刻输出的GPS是什么以及怎么做吧!希望对大家有所帮助。
游戏园我的世界官方群: 325049520 欢迎各路喜爱我的世界的小伙伴们加入讨论!
首先来介绍一下GPS是指的什么吧。玩命令的同学应该都知道mc是没有提供给命令系统读取坐标的接口,那么不能获取坐标在某些方面其实还是很不方便的。所以之前那个原型机做到了输出整数的坐标。现在的这个系统也能做到,并且是每时每刻瞬间输出的类型。
那么这里的话我也大概说一下具体原理。整个事情是这样的,前段时间呢,是要去研究边界之地,结果呢,手贱,传送的边界之地里面去了,然后我就显示了掉线。单人游戏也会掉线这一点我觉得非常的有趣,但是那个存档之后也就打不开了,由于是随机生成的地图,所以其实也并不重要。但是,我们需要透过现象看本质,如果玩家在边界之地会被处理为掉线,那么其他实体会怎样呢,随后我就进行了一下实验。
实验的内容很简单,tp一个实体进边界之地就明朗了。
summon Zombie ~ ~1 ~ {CustomName:hi}
召唤一个叫hi的僵尸。
由于我实验的地方的z坐标为负数,所以我们选择z轴负方向的边界之地。
tp @e[name=hi] ~ ~ ~-30000000
tp进边界之地,这个没啥好说的,接下来就是重头戏了。
测量好执行次序之后,让以下指令控制在上一条之后激活。
首先我们来实验一下
tp @e[name=hi] ~ ~ ~30000000
当然这条指令的目的就是将僵尸tp回来,而激活之后的结果是,僵尸显示在原地,其实已经去了一趟边界了。
那么如果我们把第二条指令修改为
execute @e[name=hi] ~ ~ ~ tp @e[name=hi] ~ ~ ~30000000
会怎样呢?
答案是,僵尸不见了。
这样的对照实验我们可以很鲜明的看出区别,在于边界之地的实体并不能用exe指令来执行指令。
[07:01:48] 你输入的数字 (-3.000093340725673E7)太小了,它至少需要为-30000000
通过这样的反馈信息我们也可以注意到一些有趣的冷知识。就是命令内部的一些数据其实也是有取值范围的,比如这里的坐标。
那么进行其他的一些实验以确保确实exe是不能执行的。
确认完成。
那么这个不能用的发现能用在哪里呢?自然gps应该是可以用上的,因为这个可以判断实体是否在边界之地里。那么我们来进行系统的架构。
首先,还是万年二分法。
这里讲解一下,这里我们需要先创建x和z两个计分板变量。
/scoreboard objectives add x dummy
/scoreboard objectives add z dummy
这里以x变量为例子。注意,每个变量一个实体。
然后召唤一个实体进行判断。
execute @a ~ 0 ~ summon ArmorStand ~ ~ ~
{CustomName:"mark"}
然后执行以下一组指令让系统初始化
/scoreboard players reset @a x
tp @e[name=mark] ~-16777216 ~ ~
tp @e[name=mark] ~-16777216 ~ ~
/scoreboard players remove @a x 30000000
execute @e[name=mark] ~ ~ ~ tp
@e[name=mark] ~16777216 ~ ~
execute @e[name=mark] ~ ~ ~ tp
@e[name=mark] ~16777216 ~ ~
接下来运行以下规律的指令
tp @e[name=mark] ~16777216 ~ ~
execute @e[name=mark] ~ ~ ~ scoreboard
players add @a x 16777216
execute @e[name=mark] ~ ~ ~ tp @e[name=mark]
~-16777216 ~ ~
每组指令的数字需要除以2,以此递推。直到数字变为1。
当然最后不要忘记kill掉这个计算的实体。
kill @e[name=mark]
这个的精髓就在于利用exe进行判断实体是否在边界之地内部。这比我原来所使用的选择器的判断方法高效很多。话是这么说啦,但是还是比较抽象不是吗,这里我就把我平时喜欢用的方法说一下。我一般喜欢用这个指令来直接看。
/tellraw @a [{"score":{"objective":"x","name":"x"},"bold":"true"},{"text":","},{"score":{"objective":"z","name":"z"},"bold":"true"}]
高频执行这个指令,然后没病走两步,就可以很生动的看到坐标的变化。
而且这个模块运行起来一点都不卡,实用性非常高。我已经使用到我最近写的一个原版mod里面了。
PS:在此非常感谢我的世界玩家乙烯_中国的分享。
以上就是我的世界一个非常牛逼的技术 单刻输出的GPS制作详解。更多精彩尽在游戏园我的世界专区。
热门攻略推荐:
相关文章
更多+热门搜索
手游排行榜
- 最新排行
- 最热排行
- 评分最高
-
模拟经营 大小:87.1M
-
主机游戏 大小:2GB
-
飞行射击 大小:36M
-
休闲益智 大小:14.32MB
-
应用软件 大小:32.2M
-
其他游戏 大小:24M
-
动作塔防 大小:37.6M
-
系统工具 大小:257.56MB
-
休闲益智 大小:34M
-
角色扮演 大小:158MB