本帖最后由 aa0307bb 于 2021-10-9 00:47 编辑
版本:21w40a
困惑:
在命令方块中执行指令
复制代码
想使用该指令模拟玩家钓鱼。
我对该指令的理解是,模拟玩家xxx使用其副手的工具在鱼漂落在坐标111 61 179的情况下进行钓鱼 将战利品送给玩家xxx本身(使用该指令时,副手是海之眷顾III的钓鱼竿)。
但是使用上千次后发现没有生成任何 钓鱼的宝藏类型战利品(附魔书/附魔弓/附魔鱼竿一次都没有...)
我的猜测是,会不会是坐标111 61 179处出了问题,因为1.16以后只有在鱼漂落在开放性水域才能钓上,但坐标111 61 179是海洋表面的水方块,应该能满足开放性水域的要求……
请问:
①我对该指令的理解及猜测是否有偏差,为什么会出现我上文所描述的问题,如何纠正②是否存在方法可以在不依赖于开放性水域坐标的情况下来模拟玩家钓鱼(钓上垃圾/鱼/宝藏 的概率 与其副手的钓鱼竿附魔效果 相匹配)
③是否存放便捷方法可以一次性模拟玩家成百上千次钓鱼(该不会就是调用一个写着成百上千行同一代码的function吧...)
版本:21w40a
困惑:
在命令方块中执行指令
- execute as xxx run loot give @s fish minecraft:gameplay/fishing 111 61 179 offhand
想使用该指令模拟玩家钓鱼。
我对该指令的理解是,模拟玩家xxx使用其副手的工具在鱼漂落在坐标111 61 179的情况下进行钓鱼 将战利品送给玩家xxx本身(使用该指令时,副手是海之眷顾III的钓鱼竿)。
但是使用上千次后发现没有生成任何 钓鱼的宝藏类型战利品(附魔书/附魔弓/附魔鱼竿一次都没有...)
我的猜测是,会不会是坐标111 61 179处出了问题,因为1.16以后只有在鱼漂落在开放性水域才能钓上,但坐标111 61 179是海洋表面的水方块,应该能满足开放性水域的要求……
- 浮漂周围5x4x5区域中的每一层都必须满足以下两个条件中的一个:
- 必须有水层,且所有空气层都必须在水层之上。
- 从浮漂钩到鱼到收起鱼竿前这段时间里,浮漂都必须满足以上条件
- 若浮漂位置不满足上述条件,玩家只能钓到鱼和垃圾
请问:
①我对该指令的理解及猜测是否有偏差,为什么会出现我上文所描述的问题,如何纠正②是否存在方法可以在不依赖于开放性水域坐标的情况下来模拟玩家钓鱼(钓上垃圾/鱼/宝藏 的概率 与其副手的钓鱼竿附魔效果 相匹配)
③是否存放便捷方法可以一次性模拟玩家成百上千次钓鱼(该不会就是调用一个写着成百上千行同一代码的function吧...)
应该是没有问题的,可以尝试向海洋更深处测试能否成功
woshiwwr 发表于 2021-10-9 13:56
应该是没有问题的,可以尝试向海洋更深处测试能否成功
试过了,没用
试试看往下一格
adgame 发表于 2021-10-10 08:25
试试看往下一格
也没用..
Dahesor 发表于 2021-10-10 12:13
看看这个:Mc-192573
虽然里面说已经解决了,但我试了,这个bug还在。
这个战利品表该怎么写呢,能给个DEMO吗
本帖最后由 Dahesor 于 2021-10-11 01:15 编辑
如果你想看教程的话可以去读SPG的
https://www.mcbbs.net/thread-831542-1-1.html
如果你想要DEMO的话,把下面的文件按原板模组安装指南安装就可以了:
fishing.zip
(1.23 KB, 下载次数: 4)
下面是游戏中原来的战利品表:
而我们只是把condition去掉而已:
aa0307bb 发表于 2021-10-10 15:08
这个战利品表该怎么写呢,能给个DEMO吗
如果你想看教程的话可以去读SPG的
https://www.mcbbs.net/thread-831542-1-1.html
如果你想要DEMO的话,把下面的文件按原板模组安装指南安装就可以了:
下面是游戏中原来的战利品表:
而我们只是把condition去掉而已:
Dahesor 发表于 2021-10-9 00:38
如果你想看教程的话可以去读SPG的
https://www.mcbbs.net/thread-831542-1-1.html
我可以再顺便问个小问题吗,我印象中记得好像有哪款IDE(vscode?(虽然它不是严格的IDE) IDEA? Eclipse?还是别的)有一些辅助软件可以帮助开发数据包,如果有,是什么呢
aa0307bb 发表于 2021-10-11 01:27
我可以再顺便问个小问题吗,我印象中记得好像有哪款IDE(vscode?(虽然它不是严格的IDE) IDEA? Eclipse?还 ...
数据包?
那你去看大憨批吧,vscode的:
https://www.mcbbs.net/thread-926724-1-1.html
附加:
我研究了一下,明白为什么不给你掉宝藏了。
因为in_open_water检测的是执行命令的实体,也就是你。但问题是你不是浮漂,当然无法通过。
运行下面的命令你就会发现又开始掉落宝藏了:
复制代码
这次我们as浮漂执行命令,就可以通过了。
我研究了一下,明白为什么不给你掉宝藏了。
因为in_open_water检测的是执行命令的实体,也就是你。但问题是你不是浮漂,当然无法通过。
运行下面的命令你就会发现又开始掉落宝藏了:
- /execute as @e[type=minecraft:fishing_bobber] run loot give @p fish minecraft:gameplay/fishing ~ ~ ~
这次我们as浮漂执行命令,就可以通过了。