匿名
未登录
中文
讨论
贡献
创建账号
登录
Minecraft基岩版开发Wiki
搜索
致编者:请牢记我们的域名
wiki.mcbe-dev.net
!
致编者:欢迎加入本Wiki的官方交流
QQ群
或
Discord服务器
!
基岩版1.19.31
现已发布!(
了解更多
)
Inner Core
现已支持Xbox模组联机!(
了解更多
)
如果您是第一次来到本Wiki,欢迎
注册一个账户
点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
编辑“
微缩方块
”
来自Minecraft基岩版开发Wiki
命名空间
页面
讨论
更多
更多
语言
变体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
页面操作
阅读
编辑
历史
刷新
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
"微缩方块",网易自定的一种新概念方块,在生存模式下使用木镐及以上采掘工具可以破坏并掉落其物品形式,它可以将游戏内自定义区域的方块压缩成若干个小方块进行显示,但这并不意味着类似将原方块缩小显示,方块为载体,显示时为一种纯色(相当于自定义了方块模型),目前仅开放预压缩方块。 [[File:微缩方块png 1.png|缩略图|网易示例,纯色方块,并非搭建的方块材质|替代=网易示例,纯色方块,并非搭建的方块材质]] # 预微缩方块,通过使用 modsdk 接口生成对应的微缩方块信息并由开发者保存为微缩方块文件,然后将该文件放入到 mod 中,重进游戏后,微缩方块便类似于游戏的原生方块,可以在物品列表里找到并使用 开发者可以通过Api CreateMicroBlockResStr 来对一个区域进行保存,返回的结果为字符串,开发者需要手动保存<syntaxhighlight lang="python2"> CreateMicroBlockResStr(self, identifier, frompos, topos, colorMap=None, isMerge=False, icon="") </syntaxhighlight> {| class="wikitable sortable mw-collapsible" |+'''<big>CreateMicroBlockResStr</big>''' ''method in mod.server.component.blockCompServer.BlockCompServer'' 服务端 !参数名 !参数类型 !说明 |- |identifier |str |微缩方块的唯一标识,由于会自动添加 <code>micro_block:</code>,所以这里只用填入 <code>x</code> 即可 |- |start |tuple(int,int,int) |微缩的起始坐标(游戏坐标) |- |end |tuple(int,int,int) |微缩的结束坐标(游戏坐标) |- |colorMap |dict |用于指定某类型方块的微缩后的方块颜色,例如 colorMap={"minecraft:grass": [12, 12, 12, 255]},会将所有草方块的颜色改变(RGB和RGBA) |- |isMerge |bool |用于标识是否合并同类型方块 |- |icon |str |用于指定微缩方块的 icon。注意 icon 并不能直接使用图标所在的相对路径,而是需要先将图标添加到 terrain_texture.json 中,然后引用图标的注册名称 |} * {| class="wikitable" |+返回值 !数据类型 !说明 |- |str |生成的'''微缩方块'''的资源字符串,书写于资源包根目录/models/netease_micro_block/xx.json里 |} * *使用 frompos 和 topos 选中的区域,仅仅会生成其中的方块数据(包括自定义方块),对于生物等实体数据并不会包含其中。当选中的区域没有被加载时,不会产生数据,当选中的区域包含已加载区域和未加载区域时,仅仅只会产生已加载区域的数据。 拆开微缩方块数据驱动文件(来源于开发者文档) { "netease:micro_block": { "data": { "11": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1]], "10": [[], [], [0, 0, 0, 1], [], [], [], [], [], [], [], [0, 0, 0, 1]], "13": [[], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [0, 0, 0, 1], [0, 0, 0, 1]], "12": [[], [], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1]], "14": [[], [], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 2]], "1": [[], [], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1]], "3": [[], [], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1]], "2": [[], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [0, 0, 0, 1], [0, 0, 0, 1]], "5": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [], [], [], [0, 0, 0, 1]], "4": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1]], "7": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1], [], [0, 0, 0, 1], [0, 0, 0, 1]], "6": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1]], "9": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1]], "8": [[], [], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1], [], [], [], [0, 0, 0, 1], [0, 0, 0, 1]] }, "description": { "identifier": "micro_block:number_9_2", "blocks": [{//包含的方块信息 "aux": 0, "name": "minecraft:grass", "color": [254, 46, 45] }, { "aux": 1, "name": "minecraft:grass", "color": [254, 46, 45] } ], "icon": "", "size": [11, 15, 6] } }, "format_version": "1.13.0" } 示例: 如图可见,这是我搭建的一个豪华小屋 [[File:Home.png|缩略图|我的豪华小屋]] 通过Api<syntaxhighlight lang="python"> comp = serverApi.GetEngineCompFactory().CreateBlock(self.GetLevelId()) result = comp.CreateMicroBlockResStr("x", (576, 96, -3), (573, 100, 0), colorMap={'minecraft:planks': [218, 165, 32, 255], 'minecraft:log': [0, 0, 0, 255], 'minecraft:glass_pane': [255, 140, 0, 255], 'minecraft:wooden_door': [255, 0, 0, 255]}, isMerge=True, icon="diamond") print result </syntaxhighlight> 打印出了一段JSON文本,格式化了一下<syntaxhighlight lang="json"> { "netease:micro_block":{ "data":{ "0":[ [ 1, 2, 2 ], [ 3, 0, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ], [ 4, 4, 4 ] ], "1":[ [ 5, 2, 2 ] ], "2":[ [ 6, 7, 8 ] ], "3":[ [ 6, 2, 2 ] ] }, "description":{ "identifier":"micro_block:x", "blocks":[ { "color":[ 218, 165, 32, 255 ], "aux":0, "name":"minecraft:planks" }, { "color":[ 218, 165, 32, 255 ], "aux":1, "name":"minecraft:planks" }, { "aux":0, "name":"minecraft:grass" }, { "aux":3, "name":"minecraft:grass" }, { "color":[ 0, 0, 0, 255 ], "aux":0, "name":"minecraft:log" }, { "color":[ 0, 0, 0, 255 ], "aux":5, "name":"minecraft:log" }, { "color":[ 255, 140, 0, 255 ], "aux":0, "name":"minecraft:glass_pane" }, { "color":[ 255, 140, 0, 255 ], "aux":7, "name":"minecraft:glass_pane" } ], "icon":"diamond", "size":[ 3, 4, 3 ] } }, "format_version":"1.13.0" } </syntaxhighlight>此段JSON代码写入资源包根目录/models/netease_micro_block/xx.json里 行为包根目录/netease_blocks/xx.json新编写一个自定义方块 两个文件中identifier需保持一致重新进入游戏 [[File:Ya.png|缩略图|然后这么个东西出来了|左]]
摘要:
请注意您对Minecraft基岩版开发Wiki的所有贡献都被认为是在知识共享署名-非商业性使用-相同方式共享下发布,请查看在
Minecraft基岩版开发Wiki:版权
的细节。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源。
请勿私自提交受版权保护的材料!
您也可以将取自Mojang(及其网站、说明、指南、艺术概念、渲染图、出版物、第三方网站组件,以及其他此类Mojang已对外公开的受保护材料)的内容上传至Minecraft基岩版开发Wiki。所有权力、署名与利益在合适时仍归属Mojang,也不依照许可被授权。
取消
编辑帮助
(在新窗口中打开)
Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。
更多信息
确定
导航
导航
首页
最近更改
随机页面
社区门户
新闻动态
计划
沙盒
关于
导航
开发
附加包
模组SDK
ModPE Installer
BlockLauncher
Inner Core
ModdedPE
基岩版专用服务器
ElementZero
Cloudburst Nukkit
合作伙伴
Mineprogramming Wiki
bedrock.dev
友情链接
中文 Minecraft Wiki
我的世界中文论坛
MCDevs Wiki
Inner Core 中文社区
wiki工具
wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志
其他项目
变体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體