yytatghtgh
版本1.12单人地图
怎么能在玩家来到附近时 召唤多只史莱姆

要白天、晚上都要可以召唤
名字叫:“软泥怪”

大小不一样最好



pineapple_
当玩家进到了以3,6,9为中心5格为半径的范围内,就会生成3只大小不一样的名为软泥怪的史莱姆

我是不可能用testfor+cond或中继器的,那种方法就不要说了


从左到右命令分别是
  1. execute @a[x=3,y=6,z=9,r=5,tag=!been] ~ ~ ~ summon ~ ~ ~ falling_block {Passengers:[{id:"minecraft:slime",Size:0,CustomName:"软泥怪"},{id:"minecraft:slime",Size:1,CustomName:"软泥怪"},{id:"minecraft:slime",Size:2,CustomName:"软泥怪"}]}
复制代码

  1. scoreboard players tag @a[tag=been] remove been
复制代码
  1. scoreboard players tag @a[x=3,y=6,z=9,r=5] add been
复制代码


坐标和范围自行修改,如果想要更多史莱姆就在passengers里加就行了,如果直接挤在玩家身上效果不好,你可以随机tp一下这些史莱姆,或者改下生成坐标

yytatghtgh
pineapple_ 发表于 2017-12-31 14:53
当玩家进到了以3,6,9为中心5格为半径的范围内,就会生成3只大小不一样的名为软泥怪的史莱姆

我是不可能 ...

为什么没反应呢,是我命令方块设置错了吗(第一个 循环 不受制约 保持开启 ,第二个 连锁 不受制约 保持开启,第三个 连锁 不受制约 保持开启)

pineapple_
yytatghtgh 发表于 2017-12-31 15:10
为什么没反应呢,是我命令方块设置错了吗(第一个 循环 不受制约 保持开启 ,第二个 连锁 不受制约 保持 ...

设置没错,好像是我第一条命令有问题

  1. execute @a[x=3,y=6,z=9,r=5,tag=!been] ~ ~ ~ summon falling_block ~ ~ ~ {Passengers:[{id:"minecraft:slime",Size:0,CustomName:"软泥怪"},{id:"minecraft:slime",Size:1,CustomName:"软泥怪"},{id:"minecraft:slime",Size:2,CustomName:"软泥怪"}]}
复制代码


补充一下,每个玩家每次进到这个区域只会刷一次这个怪
玩家走出这个区域再进来才会再次刷怪

yytatghtgh
pineapple_ 发表于 2017-12-31 15:50
设置没错,好像是我第一条命令有问题

能刷怪了,但一直刷,不停,卡爆了

pineapple_
哦,对了,刷怪笼也有这个功能
  1. /setblock ~ ~1 ~ minecraft:mob_spawner 0 replace {MaxSpawnDelay:50,MinSpawnDelay:50,SpawnCount:1,Delay:50,RequiredPlayerRange:5,SpawnRange:5,MaxNearbyEntities:6,SpawnData:{id:"minecraft:falling_block",Passengers:[{id:"minecraft:slime",CustomName:"软泥怪",Size:0},{id:"minecraft:slime",CustomName:"软泥怪",Size:1},{id:"minecraft:slime",CustomName:"软泥怪",Size:1}]}}
复制代码


MaxSpawnDelay:50,意思是最大刷怪时间间隔,这里为50rt(10rt=1秒,50rt也就是5秒)

MinSpawnDelay:50,意思是最小刷怪时间间隔,和最大相等的话,间隔就正好是5秒

SpawnCount:,每一次刷怪刷出多少个,假如最大最小间隔都是5秒(也就是正好5秒),设置成2的话就是每隔5秒刷两个怪

Delay:50,这个也是刷怪间隔,只不过这个是限制玩家第一次进入刷怪笼检测范围内或不连续刷怪(这句话看不懂就继续往下看)时刷怪笼会延迟多少rt刷怪,假如最大最小间隔都是5秒,如果设置成1,比如玩家进入检测范围,刷怪笼会立刻刷怪,然后每隔5秒再刷一个,如果设置成50,就是玩家进入范围之后,先延迟5秒刷第一个,然后再5秒一个怪

RequiredPlayerRange:5,检测范围,这是以刷怪笼为中心,5格为检测半径,玩家进入检测范围内就会刷怪,也就是所谓的玩家靠近

SpawnRange:5,设置为5刷怪笼会在半径为5的范围内刷怪,也就是刷怪范围

MaxNearbyEntities:6,刷怪范围内最大会有多少由刷怪笼刷出来的怪物,如果怪物量等于设置数字,那么刷怪笼就会停止刷怪(也就是不连续刷怪),刚刚那个Delay设置为30 最大刷怪量是10最大最小刷怪间隔为5秒的情况下,当范围内有10个特定怪物一下被玩家杀死了3个(同时),就会延迟3秒刷出一个,然后之后都是间隔5秒一个,直到满10个

可适当增加刷怪间隔

pineapple_
yytatghtgh 发表于 2017-12-31 16:02
能刷怪了,但一直刷,不停,卡爆了

我只说我第一条有问题
没让你把后面的都去掉啊

yytatghtgh
pineapple_ 发表于 2017-12-31 16:22
我只说我第一条有问题
没让你把后面的都去掉啊

我没有去掉啊老哥

yytatghtgh
后面刷怪笼这个可以用,命令方块那个只要在人在范围内就一直刷,我就改了第一条后面还是照旧的

pineapple_
yytatghtgh 发表于 2017-12-31 16:45
我没有去掉啊老哥

我之前特意测试了一下,没什么问题的

保持开启,从左到右
  1. execute @a[x=3,y=6,z=9,r=5,tag=!been] ~ ~ ~ summon falling_block ~ ~ ~ {Passengers:[{id:"minecraft:slime",Size:0,CustomName:"软泥怪"},{id:"minecraft:slime",Size:1,CustomName:"软泥怪"},{id:"minecraft:slime",Size:2,CustomName:"软泥怪"}]}
复制代码
  1. scoreboard players tag @a[tag=been] remove been
复制代码
  1. scoreboard players tag @a[x=3,y=6,z=9,r=5] add been
复制代码

说下原理好了
命令会按照命令串的顺序执行,如果玩家没有been标签,在范围内的玩家会生成软泥怪,然后被清掉been标签,如果在范围内的玩家会被加上been标签,然后重复之前的命令,生成软泥怪的命令无法执行,只有玩家从这个范围内走出之后,才会再次生成软泥怪

yytatghtgh
pineapple_ 发表于 2017-12-31 16:51
我之前特意测试了一下,没什么问题的

保持开启, ...

我又试了几次还是不对呢

chyx
pineapple_ 发表于 2017-12-31 14:32
哦,对了,刷怪笼也有这个功能

MaxSpawnDelay是红石刻啊
我一直以为是游戏刻的。。。

yytatghtgh
好吧谢谢大佬终于搞定了

yytatghtgh
pineapple_ 发表于 2017-12-31 16:51
我之前特意测试了一下,没什么问题的

保持开启, ...

老哥还在吗,1.18的命令方块哪里可以找,之前这些都不用了

第一页 上一页 下一页 最后一页