Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 593|回复: 1

[命令] [CBL]十四条命令实现自由匍匐移动

[复制链接]
贰逼 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
24067
钻石
性别
保密
注册时间
2013-1-5
查看详细资料
 楼主| 发表于 2019-6-18 13:40:31 | 显示全部楼层 |阅读模式
原版模组发布
中文名称: 自由匍匐
英文名称: FreeP
是否有配套资源包:
语言支持: 其他(另行注明) 
原版模组版本: null
适用版本: 1.14.X 
下载地址: http://www.mcbbs.net/thread-874588-1-1.html
与多人游戏兼容性: 完全兼容
原版模组类型: 基础功能

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 贰逼 于 2019-7-12 00:24 编辑

版本1.14,借助趴下的特性,利用潜行和起跳事件,再加上方块标签实现自由匍匐


效果(共4.81MB的gif)

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图

低头潜行,趴下;匍匐时跳跃(前提是没有方块阻挡),起身


原理
主要原理就是如果在玩家脚上1格(~ ~1 ~)有方块,则玩家会进入匍匐状态,这是1.14的新特性
  • 方块标签
“#prostrate:through” 表示完全能穿过的方块(如玫瑰丛,高草)
“#prostrate:in” 表示不能穿过,但不完整的方块(如箱子,附魔台)
  • 命令
  1. #判定趴下
  2. execute as @a[x_rotation=60..,scores={sneakTime=1..},nbt={OnGround:1b}] at @s unless block ~ ~1 ~ #prostrate:through run tag @s add prostrating
  3. #如果头顶是能穿过的方块,则不能趴下
  4. execute as @a[tag=prostrating] at @s if block ~ ~1 ~ #prostrate:through run tag @s remove prostrating

  5. #生成一个Marker,记录上一个位置
  6. execute at @a[tag=prostrating] run summon minecraft:area_effect_cloud ~ ~1 ~ {Duration:2,Tags:[prostrateMarker]}
  7. #将上一个位置的屏障替换成空气
  8. execute at @e[tag=prostrateMarker] run fill ~ ~ ~ ~ ~ ~ minecraft:air replace minecraft:barrier

  9. #如果玩家不在不完整的方块里面,则在脚上方1格处放置屏障
  10. execute at @a[tag=prostrating] unless block ~ ~ ~ #prostrate:in run setblock ~ ~1 ~ minecraft:barrier keep
  11. #若果玩家在不完整的方块里面,则在脚上方2格处放置屏障
  12. execute at @a[tag=prostrating] if block ~ ~ ~ #prostrate:in run setblock ~ ~2 ~ minecraft:barrier keep

  13. #结束匍匐状态
  14. tag @a[tag=prostrating,scores={jumpCount=1..}] remove prostrating

  15. #重置计分板
  16. scoreboard players reset @a[scores={jumpCount=1..}] jumpCount
  17. scoreboard players reset @a[scores={sneakTime=1..}] sneakTime
复制代码
可以说非常简单

(7.12更新,修复掉血bug)
  1. execute as @a[x_rotation=60..,scores={sneakTime=1..},nbt={OnGround:1b},tag=!prostrating] at @s unless block ~ ~1 ~ #prostrate:through run tag @s add _prostrating
  2. execute as @a[tag=prostrating] at @s if block ~ ~1 ~ #prostrate:through run tag @s remove prostrating
  3. execute as @a[tag=_prostrating] at @s run summon minecraft:area_effect_cloud ~ ~1 ~ {Duration:2,Tags:[_prostrateMarker]}
  4. execute as @a[tag=_prostrating] at @s run fill ~ ~1 ~ ~ ~1 ~ minecraft:glass keep
  5. execute as @e[tag=_prostrateMarker,nbt={Age:1}] at @s run fill ~ ~ ~ ~ ~ ~ minecraft:air replace minecraft:glass
  6. execute as @e[tag=_prostrateMarker,nbt={Age:1}] run tag @a[tag=_prostrating] add prostrating
  7. tag @a[tag=_prostrating] remove _prostrating
复制代码
加了几条命令控制首次放置的方块为玻璃,随后替换为屏障

你只需要将下面的数据拖入存档的datapacks文件夹,即可使用:
prostrate.zip (5.86 KB, 下载次数: 23)

评分

参与人数 9人气 +15 金粒 +117 收起 理由
1041159637 + 1 + 15 神乎其技,不服不行!
liach + 2 + 30 神乎其技,不服不行!
467440721 + 1 神乎其技,不服不行!
⊙u⊙ + 1 见别人用潜影贝做了个
tineseack_bk + 1 MCBBS有你更精彩~
ItIsEnderman + 3 + 26 MCBBS有你更精彩~
00ll00 + 1 + 15 神乎其技,不服不行!
Vinogradov + 2 + 6 神乎其技,不服不行!
ruhuasiyu + 3 + 25 神乎其技,不服不行!

查看全部评分

ruhuasiyu 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
15034
钻石
性别
保密
注册时间
2014-10-16
查看详细资料
发表于 2019-7-11 23:23:35 | 显示全部楼层
可以的话麻烦用原版模组发布的模板修改一下吧?

评分

参与人数 1金粒 +1 收起 理由
贰逼 + 1 ok

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2019-8-19 03:55 , Processed in 0.040524 second(s), Total 11, Slave 10 queries , Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2019 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表