请选择 进入手机版 | 继续访问电脑版
查看: 12196|回复: 74

[命令方块] 【1.13】激光枪——数据包入门(附数据包下载)

  [复制链接]

43

主题

534

帖子

278

积分

Lv.5 农牧专家

UID
16359
小麦
88
金锭
1545
下界之星
0
发表于 2018-7-15 21:36:51 | 显示全部楼层 |阅读模式
本帖最后由 南宫那只猫 于 2019-5-12 12:37 编辑

1.13即将发布了,众所周知1.13迎来了1.9以来命令的最大更新。值得注意的是,1.13加入了数据包这个新玩意,那么今天就来做一个激光枪数据包来进行数据包入门。
效果如图:
激光枪1.gif
激光枪2.gif
如图,穿透生物使生物着火,碰撞方块爆炸,可穿透玻璃,冰,铁栅栏等方块。

关于如何创建一个数据包,已经不新鲜了。上次说function的时候已经说过了。详情看这里:
Function教程——创建,使用,递归,及1.13中的改动
http://mc.netease.com/thread-258962-1-1.html
(出处: 网易我的世界论坛)

那么激光是发射之后瞬间到达的,那么命令方块的速度满足不了要求,所以这里用到了function的递归,在上面function的帖子里也有讲到。
激光的发射就由function去完成。
  1. execute as @a[scores={use=1..99}] at @s run summon armor_stand ^ ^ ^1 {Tags:["6666"],Nogeavity:true,Invisible:1}
  2. execute as @a[scores={use=1..99}] at @s run tp @e[tag=6666,limit=1] @s
  3. scoreboard players set @a[scores={use=1..99}] use 0
  4. scoreboard players set @e[type=armor_stand,tag=6666] time 400
  5. tag @e[tag=6666] add 7777
  6. tag @e[tag=6666] remove 6666
  7. execute as @e[type=armor_stand,tag=7777] at @s run particle minecraft:end_rod ~ ~1.5 ~ 0 0 0 0 10 force @a
  8. execute as @e[type=armor_stand,tag=7777] at @s if block ~ ~1 ~ #shoot:a run tp @s ^ ^ ^0.2
  9. scoreboard players remove @e[type=armor_stand,tag=7777] time 1
  10. execute as @e[tag=7777,type=armor_stand] at @s positioned ~ ~1 ~ run data merge entity @e[tag=!7777,limit=1,dy=1] {Fire:100s}
  11. execute as @e[type=armor_stand,tag=7777] at @s unless block ^ ^1 ^ #shoot:a run tag @s add kill
  12. tag @e[tag=7777,scores={time=..0}] add kill
  13. execute if entity @e[tag=7777,type=armor_stand] unless entity @e[tag=kill,type=armor_stand] run function shoot:biu
  14. execute as @e[type=armor_stand,tag=kill] at @s run summon minecraft:creeper ~ ~1 ~ {CustomName:"{"text":"离子激光炮"}",CustomNameVisible:false,CanPickUpLoot:false,ExplosionRadius:1,Fuse:-1}
  15. kill @e[tag=kill]
复制代码


那激光可以穿透一些方块呢?显然穷举这么多种方块是不现实的,还好1.13的数据包中新加入了tags,可以给方块、物品、函数贴上标签,之后在命令中就可以轻易选取了。
这里我把各色玻璃,各色玻璃板,冰,铁栅栏等都加上了tag,当激光遇到这些方块时则穿过,不是则结束。
  1.     {
  2.             "replace": true,
  3.             "values": [
  4.                     "minecraft:air",
  5.                     "minecraft:cave_air",
  6.                     "minecraft:void_air",
  7.                     "minecraft:glass",
  8.                     "minecraft:water",
  9.                                         "minecraft:glass_pane",
  10.                                         "minecraft:white_stained_glass",
  11.                                         "minecraft:orange_stained_glass",
  12.                                         "minecraft:magenta_stained_glass",
  13.                                         "minecraft:light_blue_stained_glass",
  14.                                         "minecraft:yellow_stained_glass",
  15.                                         "minecraft:lime_stained_glass",
  16.                                         "minecraft:pink_stained_glass",
  17.                                         "minecraft:gray_stained_glass",
  18.                                         "minecraft:light_gray_stained_glass",
  19.                                         "minecraft:cyan_stained_glass",
  20.                                         "minecraft:purple_stained_glass",
  21.                                         "minecraft:blue_stained_glass",
  22.                                         "minecraft:brown_stained_glass",
  23.                                         "minecraft:green_stained_glass",
  24.                                         "minecraft:red_stained_glass",
  25.                                         "minecraft:black_stained_glass",
  26.                                         "minecraft:white_stained_glass_pane",
  27.                                         "minecraft:orange_stained_glass_pane",
  28.                                         "minecraft:magenta_stained_glass_pane",
  29.                                         "minecraft:light_blue_stained_glass_pane",
  30.                                         "minecraft:yellow_stained_glass_pane",
  31.                                         "minecraft:lime_stained_glass_pane",
  32.                                         "minecraft:pink_stained_glass_pane",
  33.                                         "minecraft:gray_stained_glass_pane",
  34.                                         "minecraft:light_gray_stained_glass_pane",
  35.                                         "minecraft:cyan_stained_glass_pane",
  36.                                         "minecraft:purple_stained_glass_pane",
  37.                                         "minecraft:blue_stained_glass_pane",
  38.                                         "minecraft:brown_stained_glass_pane",
  39.                                         "minecraft:green_stained_glass_pane",
  40.                                         "minecraft:red_stained_glass_pane",
  41.                                         "minecraft:black_stained_glass_pane",
  42.                                         "minecraft:grass",
  43.                                         "minecraft:ice"
  44.             ]
  45.     }
复制代码



数据包下载之后直接放到存档文件下datapack里,解压成文件夹即可。具体命令和加tag的办法(如果你有心研究的话)自己通过拆解数据包即可获得。同时,在minecraft命名空间下会替换原有数据,在这里面给function加上load标签即可在数据包初次加载时执行此function,加上tick标签则会高频执行。
  1.     {
  2.             "replace": false,
  3.             "values": [
  4.                                         "shoot:biu"
  5.             ]
  6.     }
复制代码



数据包下载:(时间有限做的整体比较粗糙)
[] laser.zip (3.5 KB, 下载次数: 256)

评分

参与人数 6 小麦 +6 金锭 +45 收起 理由
Entity404 + 1 + 5 感谢分享
土豆配咸鱼 + 1 + 5 666666
WJK123456789 + 1 + 5 优秀作品
hyhyh + 1 + 5 优秀作品
DHK + 1 + 20 优秀作品
Argon_gas + 1 + 5 优秀作品

查看全部评分

81

主题

2051

帖子

1285

积分

Lv.7 下界居民

UID
5000750
小麦
679
金锭
801
下界之星
0
发表于 2018-7-16 11:34:09 | 显示全部楼层
主要原理盯了十分钟看懂了233
数据包拿走研究一下..
求求各位了,命令相关问题要说版本,说版本!!!

2

主题

50

帖子

16

积分

Lv.1 新手木匠

UID
296195
小麦
1
金锭
55
下界之星
0
发表于 2018-7-16 18:19:06 | 显示全部楼层
太棒了,终于找到枪械了,希望大佬越做越好

2

主题

50

帖子

16

积分

Lv.1 新手木匠

UID
296195
小麦
1
金锭
55
下界之星
0
发表于 2018-7-16 18:20:20 | 显示全部楼层
不过大佬记得回答一下我的短消息哈

6

主题

383

帖子

1414

积分

Lv.7 下界居民

UID
3302
小麦
1293
金锭
3865
下界之星
0
发表于 2018-7-16 19:03:24 | 显示全部楼层
厉...历害惹

43

主题

534

帖子

278

积分

Lv.5 农牧专家

UID
16359
小麦
88
金锭
1545
下界之星
0
 楼主| 发表于 2018-7-17 10:57:08 来自手机 | 显示全部楼层
SCAME233 发表于 2018-7-16 18:20
不过大佬记得回答一下我的短消息哈

我一般用手机看论坛。。手机版收不到短消息。

2

主题

50

帖子

16

积分

Lv.1 新手木匠

UID
296195
小麦
1
金锭
55
下界之星
0
发表于 2018-7-17 12:03:05 | 显示全部楼层
Msure 发表于 2018-7-17 10:57
我一般用手机看论坛。。手机版收不到短消息。

所以你能把吊杆发射潜影贝子弹的指令发一下么。。激光枪的感觉不一样

0

主题

1

帖子

0

积分

Lv.1 新手木匠

UID
4983784
小麦
0
金锭
1
下界之星
0
发表于 2018-7-17 17:43:15 | 显示全部楼层
做得不错,可以拿来玩玩

65

主题

791

帖子

370

积分

Lv.5 农牧专家

UID
14859
小麦
92
金锭
424
下界之星
0
发表于 2018-7-17 17:59:44 来自手机 | 显示全部楼层
后排支持

2

主题

50

帖子

16

积分

Lv.1 新手木匠

UID
296195
小麦
1
金锭
55
下界之星
0
发表于 2018-7-18 16:23:19 | 显示全部楼层
为什么我做了点改动就不能用了。。。

2

主题

50

帖子

16

积分

Lv.1 新手木匠

UID
296195
小麦
1
金锭
55
下界之星
0
发表于 2018-7-18 23:18:12 | 显示全部楼层
玩到一半时突然发现(在设置tag6666的盔甲架为2000的情况下),如果前一次发射的子弹没有被kill,那么后面也发射不了,也就实现不了连射了,那么有什么办法让这个biu在前一次子弹存在时也能继续发射呢

点评

激光枪激光枪,就是持续着发射的,不是连射  发表于 2018-8-19 17:11

2

主题

50

帖子

16

积分

Lv.1 新手木匠

UID
296195
小麦
1
金锭
55
下界之星
0
发表于 2018-7-18 23:22:40 | 显示全部楼层
另外,tick标签又怎么加呢?是在replace下面另起一行?要不要加true or false?求大佬解答

0

主题

99

帖子

112

积分

Lv.4 怪物猎人

UID
5314006
小麦
86
金锭
348
下界之星
0
发表于 2018-7-19 12:18:25 | 显示全部楼层
我觉得还是看看数据包吧。。。

113

主题

7450

帖子

3035

积分

玩家版主

虽然图片里雾周只有三条尾巴,但雾周真的是九尾狐哦~

UID
8616
小麦
1052
金锭
1335
下界之星
0

二周年纪念勋章一周年纪念勋章内测精英勋章

发表于 2018-7-19 20:52:12 来自手机 | 显示全部楼层
好玩又好看
资瓷murse(没打错吧)大佬

1

主题

2

帖子

3

积分

Lv.1 新手木匠

UID
19548
小麦
1
金锭
19
下界之星
0
发表于 2018-7-20 10:54:27 | 显示全部楼层
哇塞好厉害
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部