Enderman_Gmig_0
如何才能使用命令方块探测一片区域的特定方块的数量,并用记分板显示出。

比如,我使用命令方块,探测一片区域的草方块的数量,然后右边的记分板显示出来。


如你所见,我给出的悬赏极高,这是一个我一直都无法解决的问题,望有指令方块的高手可以解决






sky~飞鱼
两个方法:一,穷举:把这片区域每个位置独立探测成功后给变量加一。二,把一个盔甲架卡在半空探测相应位置方块后,用tp向下传送创一个变量记录次数到达10次后用tp换行(以10列为例)

Enderman_Gmig_0
sky~飞鱼 发表于 2017-1-27 16:26
两个方法:一,穷举:把这片区域每个位置独立探测成功后给变量加一。二,把一个盔甲架卡在半空探测相应位置 ...

不不不,你理解错误了
我的意思是,比如,一片区域里有300个羊毛,启动这命令方块组后,右边的记分板显示变量为300。

爱心魔王FHC
Enderman_Gmig_0 发表于 2017-1-27 17:11
不不不,你理解错误了
我的意思是,比如,一片区域里有300个羊毛,启动这命令方块组后,右边的记分板显示 ...

这不好办到,如果你要执行指令立刻出现数值的话
你可以在这片区域塞满隐形盔甲架,然后execute+testforblock然后计算命令成功次数,然后绑定记分板

sky~飞鱼
Enderman_Gmig_0 发表于 2017-1-27 17:11
不不不,你理解错误了
我的意思是,比如,一片区域里有300个羊毛,启动这命令方块组后,右边的记分板显示 ...

我就这意思

Enderman_Gmig_0
FHC红石 发表于 2017-1-27 17:04
这不好办到,如果你要执行指令立刻出现数值的话
你可以在这片区域塞满隐形盔甲架,然后execute+testforbl ...

我可以用什么命令来快速的地填充盔甲架(长方形区域)

爱心魔王FHC
Enderman_Gmig_0 发表于 2017-1-27 17:46
我可以用什么命令来快速的地填充盔甲架(长方形区域)

http://www.mcbbs.net/thread-479631-1-1.html

Enderman_Gmig_0
FHC红石 发表于 2017-1-27 17:49
http://www.mcbbs.net/thread-479631-1-1.html

可是,这里面fill的是红石线,会把我原来的方块替换掉的

爱心魔王FHC
Enderman_Gmig_0 发表于 2017-1-27 17:54
可是,这里面fill的是红石线,会把我原来的方块替换掉的

你先在高空fill,然后把盔甲架tp下来

sky~飞鱼
Enderman_Gmig_0 发表于 2017-1-27 17:11
不不不,你理解错误了
我的意思是,比如,一片区域里有300个羊毛,启动这命令方块组后,右边的记分板显示 ...

我的意思是:以你的区域中某一边界为原点建立坐标系,创建三个变量记录xyz轴,丛原点开始生成一个隐身盔甲架同时探测盔甲架想位置,探测成功后给第四个变量加一,如果同时把x轴变量加一,同时tp盔甲架当到达边界时.给y轴变量加一,同时将盔甲架纵向tp,继续x轴步骤,z轴同理

sky~飞鱼
sky~飞鱼 发表于 2017-1-27 18:18
我的意思是:以你的区域中某一边界为原点建立坐标系,创建三个变量记录xyz轴,丛原点开始生成一个隐身盔 ...

说的有道理

有毒○贰比
你先看看自己的金粒够不够吧A.A

Enderman_Gmig_0
我的夜色 发表于 2017-1-27 21:36
你先看看自己的金粒够不够吧A.A

悬赏要先支付的,,,,,
不是选最佳答案的时候支付的。。
我已经支付了,,,,

有毒○贰比
Enderman_Gmig_0 发表于 2017-1-27 21:38
悬赏要先支付的,,,,,
不是选最佳答案的时候支付的。。
我已经支付了,,,,

好吧,算我shabby

Enderman_Gmig_0
FHC红石 发表于 2017-1-27 17:56
你先在高空fill,然后把盔甲架tp下来

非常感谢,但我还是有两个问题,解决了就选最佳了。

1.主要我现在的问题是,我在原帖看到,使用fill红石线的方法召唤的生物并不整齐,我担心会对探测造成影响。(现在也没有时间去试)
2.如果我想实时查看还有别的方法吗(我想制作的是一个PVP地图,类似与服务器小游戏的彩虹大战,比谁的颜色多,所以要探测特定方块的数量)

爱心魔王FHC
Enderman_Gmig_0 发表于 2017-1-27 21:50
非常感谢,但我还是有两个问题,解决了就选最佳了。

1.主要我现在的问题是,我在原帖看到,使用fill红石 ...

他后面不算教了用沙子的方法吗,更整齐

如果你能够把方块变成实体那么统计数量就很方便了

Enderman_Gmig_0
FHC红石 发表于 2017-1-27 22:31
他后面不算教了用沙子的方法吗,更整齐

如果你能够把方块变成实体那么统计数量就很方便了 ...

恩,非常感谢。最佳给了。

顺便问一下你看到我的头像是什么,我在IE和chrome上看到的头像都不同,不知道是不是BUG。

Java_command
这都是什么玩意啊……
首先,做一个记分板统计数据
  1. /scoreboard objectives add Block dummy
复制代码
  1. /stats entity 你的ID set AffectedBlocks 你的ID Block
复制代码

之后在聊天框内输入指令:
  1. /fill 范围 minecraft:barrier replace minecraft:你要检测的方块名
复制代码

再:
  1. /fill 范围 minecraft:你要检测的方块名 replace minecraft:barrier
复制代码

完成这两步之后
有多少特定方块,就已经在你的分数里面了

我们接着看,怎么直接用命令方块做呢?
记分板不变
  1. /scoreboard objectives add Block dummy
复制代码
  1. /stats block 命令方块的坐标 set AffectedBlocks 你的ID Block
复制代码

之后如果你是1.8那你就这样(摆命令方块):

1.9&1.9+就这样

之后与上面一样:
前面的命令方块:
  1. /fill 范围 minecraft:barrier replace minecraft:你要检测的方块名
复制代码

后面的:
  1. /fill 范围 minecraft:你要检测的方块名 replace minecraft:barrier
复制代码

你检测两个命令方块的任意一个都可以(stats指令那里)
之后结果就会在你的记分板里面了
玩家ID那里可以替换为@p/@a等选择器

求最佳

Enderman_Gmig_0
本帖最后由 FHC红石 于 2017-1-27 23:06 编辑
Java_command 发表于 2017-1-27 22:59
这都是什么玩意啊……
首先,做一个记分板统计数据


就在你发出的一瞬间,我给了版主了。。。。。。真的对不起

Enderman_Gmig_0
Java_command 发表于 2017-1-27 22:59
这都是什么玩意啊……
首先,做一个记分板统计数据

请问指令:/stats block 命令方块的坐标 set AffectedBlocks 你的ID Block
中的命令方块的坐标是哪个命令方块的

Enderman_Gmig_0
Java_command 发表于 2017-1-27 22:59
这都是什么玩意啊……
首先,做一个记分板统计数据

抱歉没仔细看,不用回答了

lrf8643
Enderman_Gmig_0 发表于 2017-1-27 21:50
非常感谢,但我还是有两个问题,解决了就选最佳了。

1.主要我现在的问题是,我在原帖看到,使用fill红石 ...

盔甲架对齐我给你解决了。但是execute+testforblock探测成功次数并绑定计分板我就不会了。







指令时序(从上到下,对应从左到右)
  1. /fill ~ ~ ~ ~ ~ ~ minecraft:redstone_wire
  2. /scoreboard players set @e[type=item] 计分板1 1 {Item:{id:"minecraft:redstone"}}
  3. /execute @e[score_计分板1_min=1] ~ ~ ~ /summon shulker ~ ~1 ~ {Tags:["1"],NoAI:1}
  4. /kill @e[score_a_min=1]
  5. 一个比较器
  6. /execute @e[tag=1] ~ ~ ~ summon armor_stand ~ ~1 ~ {NoGravity:1b,Tags:["2"]}
  7. /kill @e[tag=1]
  8. /scoreboard players set @e[type=item] 计分板2 1 {Item:{id:"minecraft:shulker_shell"}}
  9. kill @e[score_计分板2_min=1]
复制代码


需要新建两个计分板。
第三条:在红石上面召唤潜影贝。对齐网格。
第四条:清掉红石。
第五条:潜影贝上面召唤盔甲架,绝对齐刷刷的。
第六条:清掉潜影贝。
第七八条:给潜影壳计分,然后清掉。没看见掉落就已经没了。
检测方块数.nbt (1.23 KB, 下载次数: 0)

这个是一串命令方块的.nbt。放到.minecraft\saves\你的地图名\structures里面。用结构方块导入地图。
不会的话回复我,我给你存档。


lrf8643
Enderman_Gmig_0 发表于 2017-1-27 23:13
请问指令:/stats block 命令方块的坐标 set AffectedBlocks 你的ID Block
中的命令方块的坐标是哪个命令 ...

任意一个命令方块的xyz坐标。


其实fill替换,用的方块也可以。比如stone。屏障的id不好背。

Java_command
Enderman_Gmig_0 发表于 2017-1-27 03:13
请问指令:/stats block 命令方块的坐标 set AffectedBlocks 你的ID Block
中的命令方块的坐标是哪个命令 ...

我说了前面后面都可以

lrf8643
Enderman_Gmig_0 发表于 2017-1-27 21:50
非常感谢,但我还是有两个问题,解决了就选最佳了。

1.主要我现在的问题是,我在原帖看到,使用fill红石 ...

给你把所有问题都解决了。



请了两个助手,模拟联机模式。

发现了几个问题。
1.stats的[@选择器]单纯地@a会出BUG。(貌似@a不能用参数,可能没测试完全)
解决:用计分板队伍,把每个人分队。@a[team=队伍]
2.一组fill+stats只能照顾一个人。(一个队伍)
解决:有几个人就用几组,几个队伍。
3.队伍里有多个人,无法探测个人成绩。
这个暂时无解,队伍里有多个人探测的是全队的成绩。
可以做个组队赛。

单人和组队地图通用。
有几组fill+stats就是几组人。例如:有3组。那么人数只能是3×n。否则就不公平。

Enderman_Gmig_0
lrf8643 发表于 2017-1-28 01:52
给你把所有问题都解决了。

朋友,真不好意思,上个星期我去外地了,那里没有网络,一直没有回复您呢。
同时非常感谢您为我提供这么周全的解答,我都不知道怎么感谢您了。
但比较尴尬的是,上个星期,我使用 @Java_command 的方法,已经造出了最好的装置。
不但能精准的探测数量,接入高频红石还能实时探测,而且不会对方块和玩家造成影响。
对于
1.stats的[@选择器]单纯地@a会出BUG。(貌似@a不能用参数,可能没测试完全)


我的解决方法是:使用假名(系统不会判断您更改分数的单位是否存在,即时单人,我写个把KK的分数改为1,系统还是会改的,由系统判断由几个人,两个就用:玩家红,玩家绿,三个就依次。

2和3的问题既然用了假名就不存在了。
非常感谢您对于我的问题的详细解答,因为我忘记告诉大家我解决了问题,导致您对于我的帮忙白帮了,真是不好意思。

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