Sssss...
本帖最后由 Sssss... 于 2020-3-5 16:29 编辑





我之前想多了,只要记录所有放置过方块的位置就可以了,没有之前想的那么麻烦





目前想到了一个方法(很可能是MCMMO在用的,没翻源码):

监听所有玩家破坏、放置方块以及活塞推动等一切会改变方块的事件,然后记录方块状态

但是这种方法的劣势很明显:数据占用空间极大而且编写起来十分麻烦

是否有更优的方法?



1.13.2 Bukkit


防止X-Y问题:我要做的是挖掘方块概率掉落物品

wort233
明白了谢谢大佬

土球球
如果楼主想做的是石头缝里蹦出个钻石的话,可以考虑按照某个公式锁定位置,比方说 y < 16 && (114 * x + 514 * y + 19 * z) % 256 == 19 这种(这公式我瞎写的,具体你可以利用地图的种子组合组合)。这样一个区块最多只需要记录 16 个位置,即使针对每个位置记录玩家挖掘的成果也不会为后台带来很大的数据。

海螺螺
https://github.com/mcMMO-Dev/mcM ... tiveChunkStore.java

mcmmo 记录了所有玩家放置的方块

xiaozhang421
太棒了,good job!

xiaozhang421
太棒了,good job!

天辉胡萝卜
不记录无解 mc原版的世界生**随版本改变

Dearxiaosa
看起来很厉害的鸭子 但是我没看懂可能是我傻吧

洞穴夜莺
这样不会爆硬盘?

Sssss...
Billy12345 发表于 2020-3-6 12:31
这样不会爆硬盘?

不会啊,放我服务器试验了一天才100KB左右

chasing6

太棒了,good job!