网易我的世界论坛

标题: 关于使用SetBlockNew替换方块的问题 [打印本页]

作者: 恋雪喵    时间: 2020-7-18 11:01
标题: 关于使用SetBlockNew替换方块的问题
我想在某些情况下,允许玩家生成一些种类的建筑,那么最简单的方案就是用PlaceStructure放置结构来生成
但是这造成了一个问题,就是有些玩家可能会在家的附近生成,这样就会一不小心覆盖掉家的方块
我的解决思路是先利用GetBlockNew Api遍历一遍即将生产建筑部分的方块,将其储存起来,然后假如玩家不小心替换了家的方块后,可以利用SetBlockNew Api来从刚刚保存的字典里恢复
这看起来很好,我在单独开发这个备份功能的时候是成功的,但是当我利用SetBlockNew这个Api去替换由结构文件生成的方块时,就会无法生成,SetBlockNew给我的返回是False
我又去旁边手搭了几个方块,成功的备份恢复了,结构方块内的就是无法恢复,有什么解决的方案吗
作者: 恋雪喵    时间: 2020-7-19 16:25
好像没人回答,那就我自问自答一下,以便给遇到这个问题的小伙伴做个参考
用结构文件生成的方块确实不一样,即使用指令setblock都不能替换,但是fill可以,所以在替换方块前,可以先用fill指令清空这一块,再生成就好了
作者: 雾都漫游者    时间: 2020-8-4 11:17
可以提供下作品id和复现方法给我们吗




欢迎光临 网易我的世界论坛 (http://mc.netease.com/) Powered by Discuz! X3.3