minecraftpe吧 关注:638,744贴子:15,084,568

『MODPE』关于新版本item&block名称标签的修复及A

只看楼主收藏回复

注【AuxBlock】: 即特殊值方块,将每一个id所具有的16个特殊值分别进行渲染,暂时解决id不足问题
item和block在新版当中被渲染后会显示其内部名称(然而这并不是bug),例如item.xxx.name和tile.xxx.具体id的值.name.要让正常显示外部名称其实很简单,使用ModPE.langEdit(par1String, par2String);对其字段进行修改.当然一个一个单独修改未免太麻烦了,尤其是在一些比较大型的工程当中.所以我们可以直接重写这两个的方法:
ModPE.setItem_ = ModPE.setItem;
ModPE.setItem = function(par1int, par2String, par3int, par4String, par5int) {
ModPE.setItem_(par1int, par2String, par3int, par4String, par5int);
ModPE.langEdit("item."+par4String+".name", par4String);
}
Block.defineBlock的重写也是一个套路,这里重点讲一下AuxBlock.
同id不同材质很容易实现,重点是如何更换不同aux的name.这时候ModPE.langEdit又可以派上用场了(早期的方法是不断的重新定义,这种方法严重降低效率).
同样的也需要在帧事件当中进行监听
function modTick() {
if (Player.getCarriedItem() == 被监听的BlockId && Player.getCarriedItemData() == 被监听的BlockData) {
ModPE.langEdit(内部名字,被修改的名字);
//内部名字的结构: tile.你定义方块时所使用的名字.你所定义的方块id.name
}
}
合理利用ModPE.getI18n(par1String)和ModPE.langEdit(par1String, par2String)其实是可以完全实现NativeAddon中的I18n类(即多语言系统)
最后,也许AuxBlock的实现还有其他更好的方法,以上只是我的想法.


来自Android客户端1楼2017-06-03 19:38回复
    2


    来自Android客户端2楼2017-06-03 19:39
    收起回复
      准备入坑modpe


      IP属地:广东来自iPhone客户端3楼2017-06-03 19:47
      收起回复
        dalao


        IP属地:广东来自Android客户端4楼2017-06-03 19:58
        回复
          [什么都不会的路过]


          来自Android客户端5楼2017-06-03 20:07
          回复
            modpe
            有种过去式的感受
            满满回忆


            来自Android客户端6楼2017-06-03 20:12
            回复
              所以说不能用modpkg格式的了?


              IP属地:江苏来自Android客户端8楼2017-06-03 20:30
              收起回复
                所以我只见过一种以前编辑器的方块,隐形基岩title.invisibleBedrock.name


                IP属地:江苏来自Android客户端9楼2017-06-03 20:31
                收起回复
                  这方法不错。


                  IP属地:江苏来自Android客户端10楼2017-06-03 20:49
                  收起回复
                    可怕


                    IP属地:安徽来自Android客户端11楼2017-06-03 21:28
                    回复
                      我还以为这是我一直用英文语言的bug不过1.0.9确实用不到这个的~


                      IP属地:重庆来自Android客户端12楼2017-06-03 23:17
                      回复
                        顺便问一下怎么修改特殊值方块的名称


                        IP属地:重庆来自Android客户端13楼2017-06-03 23:17
                        收起回复
                          围观


                          IP属地:河北来自Android客户端14楼2017-06-04 07:51
                          回复
                            围观冒泡


                            IP属地:江苏来自Android客户端15楼2017-06-04 20:34
                            收起回复
                              后排围观


                              来自Android客户端16楼2017-06-04 21:16
                              回复