Custom Main Menu 文档

写一个 Custom Main Menu 的文档,国内好像还没有的样子


1.简介

Custom Main Menu 是一个能够自定义主界面的模组,需要配合 Resource Loader 模组使用。
采用json语法写的配置文件,可以热加载出自定义的样式。使用方式颇有点像CSS样表。许多著名的国外整合包无一例外都采用了这个模组。效果非常好,这里拿几个作者设计的样式给大家看看吧。(作者美工水平不咋行啊)

pic001

pic002

pic003

pic004

2.文件结构

配置文件为游戏主文件夹下config\CustomMainMenu\mainmenu.json文件; 所有的图片文件地址都在游戏主文件夹下resources\mainmenu文件夹下。
目前这货好像还不支持UFT-8编码,所以还是别用中文了吧【还看着干什么,快去github轰炸作者吧,这作者是我见过最偷懒的作者】。
修改好了之后,在主界面按下ctrl+r键即可重载配置。

配置文件结构一般如下

{
"images": {
        "图片一": {
        },
        "图片二": {
        }
    },

"buttons": {
        "按钮一": {      
        },
        "按钮二": {      
        }
    },

"labels": {
        "文本一": {      
        },
        "文本一": {      
        }
    },

"other":{
        "background":{          
        }
    }
}

3.背景的添加

背景分为动态背景和静态背景。

(1)静态背景:

{
"other":{
        "background":{
            "image":"mainmenu:001.png",
            "mode":"fill"
        }
    }
}

如案例所示,背景属于”other”分区,有两个参数可选:

(2)动态背景

{
"other":{
    "background":{
            "image" : "",
            "slideshow":{
                "images" : ["mainmenu:001.png","mainmenu:002.png","mainmenu:003.png"],
                "displayDuration" : 100,
                "fadeDuration" : 40
            }
        }
    }
}

4. 文字的添加

网络加载文字:

{
"labels": {
    "changelog":{
          "text":"web:http://pastebin.com/raw.php?i=MmSCr6zV",
          "posX" : 2,
          "posY" : 0,
          "color" : -1,
          "alignment" : "left_center"
        }
    }
}

硬编码文字加载【不支持中文哦,会乱码的】

{
"labels": {
      "mojang": {
          "text" : "Copyright Mojang AB. Do not distribute!",
          "posX" : -197,
          "posY" : -10,
          "color" : -1,
          "alignment" : "bottom_right"
        }
    }
}

除此之外还有几个属性可以选择添加:

推荐两个使用的颜色代码网站:

5.图片的添加

图片只能用png格式。

{
    "images":{
        "picture":{
            "image":"mainmenu:001.png",
            "posX":-120,
            "posY":-120,
            "width":240,
            "height":240,
            "alignment":"center"
        }
    }
}

除此之外还可以添加:

推荐一个好用的,制作minecraft样式文字图标的网站:textcraft

6.按钮的添加

{
"buttons":{
        "singleplayer":{
            "text":"menu.singleplayer",
            "texture":"mainmenu:shortbutton.png",
            "posX":-100,
            "posY":-8,
            "width":98,
            "height":20,
            "imageWidth":98,
            "imageHeight":20,
            "alignment":"center",
            "action":{
                "type":"openGui",
                "gui":"singleplayer"
            }
        },
        "ftbForums":{
            "text":"FTB Forums",
            "texture":"mainmenu:shortbutton.png",
            "posX":2,
            "posY":58,
            "width":98,
            "height":20,
            "imageWidth":98,
            "imageHeight":20,
            "alignment":"center",
            "action":{
                "type":"openLink",
                "link":"https://forum.feed-the-beast.com/forum/"
            }
        }
    }
}

除此之外还可以添加这几个参数

当然,还有我们最重要的action参数,action下必须要有type参数,可以传入openLink, openGui, quit, refresh, connectToServer, openFolder


发现了个新玩具

今天乱逛网站,发现一个日本modder用了个API很好,我来测试下


很简单的一个API,能够显示GitHub的活跃记录。不过加载会稍慢点。
这是该项目的GitHub地址:戳我啊
这是该项目的网站地址(额,我很想吐槽这太简陋了):戳我啊

写法很简单,在你的html或者mrakdown文件中插入这一段就行。

<img src="http://ghchart.rshah.org/2016rshah" alt="2016rshah's Github chart" />

示例中的http://ghchart.rshah.org/2016rshah最后的2016rshah可以要换成自己的GitHub的账户名称,注意大小写。比如我的就应该写成http://ghchart.rshah.org/TartaricAcid
其次是2016rshah's Github chart这一段,可以随便填写,当图片无法显示时,就会用字来替代这段图片。比如我就写成Baka943的刷单记录

最后给大家看下效果

Baka943的刷单记录


7月27日凌晨心情小记

日常抽风,还望看到这个帖子的人不要诧异,我只是发泄下不良情绪


¶ 第一节

又是一个日常躁动的夜晚,本来今天也是告诉自己,不要熬夜早点睡。可是又是一个日常拿起手机刷聊天的修仙日常,本来侃大山侃的挺愉快,也不知道是什么又触动了我的神经。爬起床,打开电脑心力交瘁之下写下了这个文章。
有时候我就在想,我这么做是装给谁看么?为了把自己的可怜装给别人看,然后获取别人的怜悯么?但是心中又十分难受,必须要写些什么。

¶ 第二节

今天又差点和Sanae发火了。事情也来的挺平常,他开SF3的服务器,结果出了问题,开了半天没开起来。之后他那边又有人叫他去打CS:GO,他应付了一会儿,让我这面空等了十来分钟。我当时心理十分难受,一种莫名的被朋友出卖的感觉,撂下了一句看似威胁的话语——“那我一直等着”。
所幸的是Sanae可能察觉到了不对劲,旋即又理解处理了服务器。Sanae是个很细心的朋友,可是我这最近精神状况真的很对不起他。

¶ 第三节

最近天气很热,房间温度每天都高的吓人。我当初高中时候在墙上挂过一个温度计,附近文具店买的,下面红字写着“宁波市江北慈城开发塑料五金厂”。挂的时间有些久了,塑料外壳有些脱色,不过示数还是准的。当初用合成胶水沾在了水泥墙上,倒也十分稳固,大学四年多过去了也没有脱落。每次去看温度都在32度左右徘徊,一两个星期过去了也只见涨不见跌。
屋里面也没有空调,只有一个大落地扇。不过我坚持不吹风扇,一定是脑子热抽了。

最近半年胃部一直有些疾病,也不知道咋回事,反正一觉醒来胃会烧得慌,不过每次喝口水就好了,也没太在意。回到家后这个情况越发严重了,但凡是空着肚子胃部就开始烧得慌。内分泌应该也有些失调,只要多吃点冻过的西瓜和西红柿就会不舒服。
老妈看我这么严重,强制要求我吃胃药。专门盯着点倒水让我吃,也还算好,吃了一两天胃药,倒是缓解了很多。

¶ 第四节

前不久看了一个国内的modder的视频教程,真心觉得奇人在身边。年龄不大,准高三,已经在独立制作mod了。想当初我高三时候,还编程?我连计算机语言是啥都是一团浆糊。

我最引以为傲的恐怕就是我的视频教程了,当初GoodBye_Forever老服主一句“我感觉做的比SF都要好”触动了我,让我傻兮兮的坚持以为自己真的是有这个天赋。现在发现这些都是可笑的想法,持续做教程也有一年半了,现在教程视频仍然难以达到这个水平。

3TUSK也在劝我,别对自己失去信心。Sanae也在劝我好好后休息下。我妈也总说,考试哪有那么顺利啊。

很遗憾这些话我开始听着很欣慰,时间久了,越来越觉得觉得力不从心。倒是有一句话我记得清清楚楚,那是我舍友在看了一个算是心灵鸡汤般励志视频视频后的一句话——“这东西让那些优秀的人学也花不了多久时间啊,只是人家没太多精力去搞这个而已。如果真搞了,他这算个啥”。

无疑,舍友是极优秀的人,我恐怕这辈子都无法匹敌。热爱运动,经常健身,成绩优异,还爱和人说话。平时风趣幽默,上课学习该随心随性,该用功毫不含糊。每天都活的精彩而又快乐。

¶ 第五节

那你为啥不学学他……

我在逃避……

我做不来……

我在想,如果舍友看到这篇文章一定会说:“你看这个家伙还是这个德行啊,自己的事情自己都不上心”

不过还好我隐匿了一切,这篇文章他不会看到,也不会让我身边的任何一个同学看到。

我是怎么了……

¶ 2017年7月27日于家中


机会方块(ChanceCubes)模组事件一览表

自己猜意思吧,120个我都懒得翻译了,反正都能猜出来。


普通机会方块事件表

总共120个原版事件,其中Clear_InventoryGiant_Chance_Cube事件默认不发生。除此之外与更多实用设备还有6个兼容的事件。

5_ProngsActual_Invisible_GhastAnti_Slab
AnvilRainArmor_Stand_ArmorBeacon_Build
BedRockBone_CatBook_Of_Memes
BookshelvesCakeCats_And_Dogs
Chance_Cube_CubeCharged_CreeperChatMessage
Clear_InventoryCoal_To_DiamondsCookie_Monster
D-rude_SandStormDIY_PieDiamond_Block
Did_You_KnowDiscoDivine
Double_RainbowEXPEXP_Shower
EnchantingEnder_Crystal_TimerExplorer
ExplosionFake_TNTFarmer
FighterFinding_MarlinFinding_Nemo
Fire_Aspect_FireFireworksFish_Dog
Giant_Chance_CubeGiga_BreakerHalf_Fishingrod
Half_HeartHave_AnotherHearts
Help_MeHerobrineHorde
Hot_TubIcsahedronInventory_Bomb
Invisible_CreeperInvisible_GhastsInvizible_Silverfish
Item_Of_DestinyItem_RenameJuke_Box
Knockback_ZombieLava_RingMath
MazeMitasNether_Jelly_Fish
Nether_StarNoNo_Exp
NotchNukeOne_Is_Lucky
One_Man_ArmyOne_ShotOres_Galore
Path_To_SucceedPig_Of_DestinyPoison
QuestionQuidditchRain
RancherRandom_TeleportRedstone_Diamond
Roosevelt’s_StickRotten_FoodSTRING!
Sail_AwaySaplingsSethbling_Reward
Silverfish_SurroundSilvermite_StacksSkyBlock
SlimeManSmiteSpawn_Cluckington
Spawn_Dr_TrayaurusSpawn_GlennSpawn_Jerry
Spawn_PicklesSpongeBob_SquarePantsSquid_Horde
SurroundedSurrounded_CreeperTNT_Bats
TNT_CatTNT_DiamondTable_Flip
Take_ThisThrown_In_AirTnt_Structure
Torches_To_CreepersTrollHoleTrollTNT
Wait_For_ItWant_To_Build_A_SnowmanWatch_World_Burn
WitchWitherWolves_To_Creepers
WoolXP_Crystalpssst

Extrautils2 相关事件

Compressed_CobbleCursedGolden_Bag
SpikesWater_DrumWatering_Can

巨型机会方块事件表

这些事件往往都比较凶残,总共有12个。

BioDomeChuck_ReverseChunk_FlipFloor_Is_Lava
luid_SphereMixed_Fluid_SphereOre_PillarsOre_Sphere
Raining_PotionsTNT_ThrowThrowablesVillage

Sky Factory 3 视频教程进度表

与君共勉 (:з」∠)


最后更新 2017-10-03 完成进度:81/88


Pagination