本帖最后由 不是辞安 于 2022-2-20 17:06 编辑
如题,已知两个Location,怎么遍历这两个Location内所有的方块,就跟WE的fill指令一样
我最初使用的方法如下
for (int x=0;x<=start.getX()-stop.getX();x++) {
for (int y=0;y<=start.getY()-stop.getY();y++) {
for (int z=0;z<=start.getZ()-stop.getZ();z++) {
blocks.put(new Location(world,x,y,z),world.getBlockAt(new Location(world,x,y,z)));
}
}
}
请问有什么问题需要纠正?或者有没有更好的办法?
如题,已知两个Location,怎么遍历这两个Location内所有的方块,就跟WE的fill指令一样
我最初使用的方法如下
for (int x=0;x<=start.getX()-stop.getX();x++) {
for (int y=0;y<=start.getY()-stop.getY();y++) {
for (int z=0;z<=start.getZ()-stop.getZ();z++) {
blocks.put(new Location(world,x,y,z),world.getBlockAt(new Location(world,x,y,z)));
}
}
}
请问有什么问题需要纠正?或者有没有更好的办法?
不需要更好的方法,
这种遍历方式时间复杂度是O(n) [遍历次数=数据量即你的方块数]
没有继续优化的必要
非要说优化,比起修改遍历方式,你更应该异步这样子的过程。
这种遍历方式时间复杂度是O(n) [遍历次数=数据量即你的方块数]
没有继续优化的必要
非要说优化,比起修改遍历方式,你更应该异步这样子的过程。
Hueihuea 发表于 2022-2-20 17:57
不需要更好的方法,
这种遍历方式时间复杂度是O(n) [遍历次数=数据量即你的方块数]
没有继续优化的必要
明白了,谢谢
Hueihuea 发表于 2022-2-20 17:57
不需要更好的方法,
这种遍历方式时间复杂度是O(n) [遍历次数=数据量即你的方块数]
没有继续优化的必要
不能异步吧。方块状态可能会在异步过程中改变的