# 新版编辑器相关问题

1、什么是预设架构?

预设架构是一套面向对象的Python代码架构。提供了预设,零件等对象,以及一整套的预设API供开发者使用。

2、什么是预设?

预设是预先设定的意思,即开发者们可以将方块、素材、实体、特效以及玩法逻辑拼装成一个预设,并作为文件保存在作品的行为包目录中。目前有空预设,玩家预设,实体预设,特效预设,方块预设和UI预设。

3、什么是零件?

零件可以与代码文件绑定,并挂在预设下。与零件绑定的代码文件必须继承自PartBase,PartBase与MOD SDK中的Mod Main和Server/Client System相似。

4、什么是实例?

实例是根据预设文件在场景中生成的内容。大部分预设在场景中可以生成任意数量的实例,并且对预设的修改都将实时同步到实例。

开发者也可以对每个实例分别进行修改,并且实例修改的优先级高于预设修改。

5、Mod SDK的写法会不会大改?

预设架构是另一套架构,不会对Mod SDK造成任何影响。

6、零件内是否兼容Mod SDK的写法?

兼容,你可以正常在零件内获取到Server/Client System,以及使用其他的Mod API。(注意当前无法在文件头import,只能在使用时import)

7、Mod SDK里是否可以使用预设和零件?

可以,你可以在Server/Client System里获取到预设或者零件的实例。(注意当前无法在文件头import,只能在使用时import)

8、预设架构的优势是什么?有哪些推荐使用场景?

预设架构是面向对象的架构,他的优势也在于此。

如果你的逻辑中有对现有实体(包括生物)或者方块等的改动,或者新增实体(包括生物)和方块,或者新增完整建筑,使用预设架构将显著提升效率。

如果你制作的是玩法地图,可以使用预设架构来制作地图,可以快速调整,并且不会对场景本身造成影响(预设的建筑甚至可以重叠)。

9、零件的优势是什么?

预设架构带来了对象拼装的特性,零件可以自由的挂在预设的下面,并且即插即用。

有经验的开发者可以利用零件的这一特性,进行逻辑的解耦,将一整块逻辑拆解成一些比较独立的逻辑模块。

在代码合理的情况下,零件并不关心自己具体是挂在什么预设下的,均可生效,所以可以很方便的进行逻辑的复用。

零件的另一个优势是与编辑器深度结合,可以将代码里的变量通过零件的meta文件暴露至编辑器的属性面板中。

预设架构下,预设和零件会保存在预设存档中,因此零件可以部分取代Mod SDK的自定义Component。

10、新版编辑器的地图编辑器出现白屏如何解决?

将这个路径下的options文件删掉:%appdata%\MinecraftPE_Netease_Editor\minecraftpe