t1546542
本帖最后由 t1546542 于 2020-5-20 16:47 编辑

版本:1.15.2
如题
玩家挖一个方块之后,获取被挖方块的坐标
比如有一个石头方块在1 6 0,玩家坐标是0 4 0
那么玩家破坏了在1 6 0的石头方块后,他的x,y,z计分板分数分别设置为1,6,0
求大佬解答!!!
@Chelover_C60 @Jokey_钥匙 @SPGoding @⊙u⊙

晴路卡
本帖最后由 晴路卡 于 2020-5-20 11:38 编辑

我连宇宙的尽头在哪里都不知道,怎么会知道这个
想着个传统方法,用视线追踪吧。
首先用下这个https://www.mcbbs.net/thread-919112-1-1.html
来获得玩家准心指着的方块坐标,
一旦这个方块被破坏就返回这个方块的坐标(其实是aec的坐标)
当然方块破坏的原因可能并非来自玩家
探测玩家破坏方块的话可以用下我签名里的挖掘榜
首先不在侧栏显示这个记分板,
一旦loymine_add变为1则说明玩家破坏了方块并把玩家的loymine_add分数重置为0.
顺带一提,一tick内探测方块破坏需要在视线追踪前进行。
因为我们要得到的破坏的方块(也就是上一tick准星对着的方块)的坐标


这问题真的好难...
mojang什么时候能方便下大伙啊


⊙u⊙
不是很想动脑,忽略亿点细节,我给一些随便想出来的蠢办法...

玩家手距是3格,(3+1+3)^3,clone以玩家为中心的7x7x7范围到区域A
检测若穷举挖掘榜的分数增加,clone7x7x7范围到区域B
对比区域A与B,给有差异的地方做个标记
以玩家眼部坐标往前推进,碰到的首个标记的位置就是方块被挖掘的位置


检测掉落物坐标,甚至可以修改lt做到仅玩家挖掘时使用特定lt,以降低误判


以玩家眼部坐标往前推进,非air则停止推进。记录坐标。
当玩家的穷举挖掘榜分数增加,先前坐标在往前推进一点就是目标坐标




结论,能纯计算解决的话我是绝对不会用这次蠢办法...

t1546542
本帖最后由 t1546542 于 2020-5-20 20:04 编辑
⊙u⊙ 发表于 2020-5-20 17:51
不是很想动脑,忽略亿点细节,我给一些随便想出来的蠢办法...

玩家手距是3格,(3+1+3)^3,clone以玩家为中 ...

检测掉落物坐标的方法怎么实现呢
当玩家的穷举挖掘榜分数增加,先前坐标在往前推进一点就是目标坐标
为什么还要往前再推进一点

⊙u⊙
t1546542 发表于 2020-5-20 02:01
检测掉落物坐标的方法怎么实现呢为什么还要往前再推进一点

execute store result score ... run data get entity ... Pos[0] 获取掉落物坐标

上一tick的眼部推进会在前面为非空气方块时止步,
?此时若挖掘榜没有增加,则更新推进的坐标,tick末尾结果同样也会是止步于非空气方块前。
?此时若挖掘榜有了增加,往前推进一小点便是目标坐标。
——○若是改为往前推进直至非空气方块,则有误判的可能,如下图,钻石代表将要被破坏的方块,屏障代表空气
——○>>>

t1546542
⊙u⊙ 发表于 2020-5-21 08:35
execute store result score ... run data get entity ... Pos[0] 获取掉落物坐标

上一tick的眼部推进会 ...

可能没有表达清楚
怎么选择到那个被挖掘的方块的掉落物

yanhaha
装相应mod或F3

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