我的世界一个非常牛逼的技术 单刻输出的GPS制作详解

时间:2017-08-22 来源:88130安卓下载 作者:佚名

  我的世界一个非常牛逼的技术 单刻输出的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里面了。

  传送门:我的世界自定义世界结构详解 一个原版MOD

  PS:在此非常感谢我的世界玩家乙烯_中国的分享。

  以上就是我的世界一个非常牛逼的技术 单刻输出的GPS制作详解。更多精彩尽在游戏园我的世界专区。

  热门攻略推荐:

  关于新快照对红石系统的修改介绍

  增加了防爆盾的小型瀑布TNT连发炮详解(附存档)

  15w45a模拟自然生成球类建筑制作详解

  我的世界刷怪塔怎么做 刷怪塔制作图文详解

  我的世界一个非常牛逼的技术 单刻输出的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里面了。

  传送门:我的世界自定义世界结构详解 一个原版MOD

  PS:在此非常感谢我的世界玩家乙烯_中国的分享。

  以上就是我的世界一个非常牛逼的技术 单刻输出的GPS制作详解。更多精彩尽在游戏园我的世界专区。

  热门攻略推荐:

  关于新快照对红石系统的修改介绍

  增加了防爆盾的小型瀑布TNT连发炮详解(附存档)

  15w45a模拟自然生成球类建筑制作详解

  我的世界刷怪塔怎么做 刷怪塔制作图文详解

热门搜索

手游排行榜

  • 最新排行
  • 最热排行
  • 评分最高