[澪Ultimate]如何使用自定义主菜单 (Custom Main Menu)上
首先:到百科里去下的对应的版本[自定义主菜单 (Custom Main Menu)]推荐搭配Resource Loader使用。
①主页:自定义主菜单是一个MOD,允许你使用json文件编辑minecraft主菜单。它允许你添加或删除元素,如按钮和标签,也增加了一些新的东西,你可以添加到你的菜单,如幻灯片或整个自定义gui。然而,如果你只是想做一些简单的事情,如添加或更改一些文本,你甚至不必进入这一切,MOD附带一个原版的json文件。
写代码的位置:《点击:config》如图所示!

《然后点击:CustomMainMenu》如图片所示!

《然后再点击:mainmenu.json》如图所示!

注意点的是,首先把自定义主界面mod加上,然后进游戏。再然后退出游戏。才会,出我这样的文件夹!

②对齐
什么是对齐方式?
一个元素的对齐方式指定了它在菜单屏幕上的相对位置。为了方便起见,定义了几个对齐方式的预设,不过如果需要的话,你也可以创建一个自定义的对齐方式。
预设排列方式:
1"bottom_left", "bottom_right", "top_left",
2"top_right", "center", "top_center",
3"left_center", "bottom_center", "right_center"
4"左下"、"右下"、"左上"、
5"右上"、"中心"、"上中"、
6"左中"、"下中"、"右中"
③按钮
按钮在被按下时执行动作。它们可以打开gui(也可以是自定义的gui),例如连接到一个服务器,打开一个链接或加载一个特定的世界。
可选属性:
posX:按钮的X坐标
posY:按钮的Y坐标
width:按钮的宽度
height:按钮的高度。
imageWidth:按钮在图像中的宽度(默认为高度)。
imageHeight:按钮在图像中的高度(默认为宽度)。
texture : (可选)一个资源位置,它将被用作这个按钮的自定义纹理。该图像必须包含一个正常的和一个悬停版本的按钮。这是一个200x20按钮的例子。
text : 按钮上显示的文本(一个语言键(即lang中的条目)或只是普通文本)
hoverText : 当用户悬停在按钮上时显示的文本(一个语言键或只是普通文本)。
normalTextColor : (可选)一个rgb颜色的整数,用于显示按钮的正常文本颜色。
hoverTextColor : (可选)一个rgb颜色的整数,用于显示鼠标在按钮上方时的文本颜色。
pressSound : (可选)一个资源位置,指向该按钮在被按下时发出的声音
hoverSound : (可选) 指向该按钮在悬停时发出的声音的资源位置
tooltip : (可选)当用户悬停在此按钮上时,将显示的工具提示文本。
action : (可选) 当按钮被点击时将做什么,更多信息见Actions。
wrappedButton :(可选) 按钮ID,更多信息请参考Wrapped Buttons。
alignment : (可选) 参见对齐方式的信息
textOffsetX/Y(可选)。按钮的文字将被偏移这个数量。
④按钮动作:
当用户点击一个按钮或一个文本时,就会执行动作。有各种不同的,可以简单地打开GUI,连接到服务器,或加载一个世界。
它的格式如下:
1"action": {
2"type": "类型",
3"属性": "值"
4}
属性:
type:动作的类型,有效值是:
openLink, openGui, quit, refresh, connectToServer, loadWorld, openFolder
其余的动作属性由动作的类型决定。
openLink:
-link:要打开的链接
openGui:
-gui:应该打开的GUI(界面)。这可以是一个自定义的GUI例如(custom.CUSTOM_GUI_NAME),也可以是一个原版的gui如
(mainmenu, mods, singleplayer, singleplayer.createworld, multiplayer, credits, languages, realms, options, options.ressourcepacks, options.skinsettings, options.snooper, options.sounds, options.video, options.controls, options.manyplayer)
connectToServer:
-ip:要连接的服务器的IP
loadWorld:
-dirName: 保存的目录名称(在saves文件夹中)。
-saveName: 并非真正必要,在加载世界时可能会在某些对话框中出现保存的名称。
openFolder:
-folderName:然后是应该被打开的文件夹的名字。(使用.minecraft文件夹作为根文件夹)
quit和refresh不需要任何额外的属性。
其他mod按钮:
自定义主菜单默认删除了所有由其他mods(Open Eye、Version Checker、Tabula)添加的按钮,因为无法像原版按钮那样控制它们。
使用包裹的按钮,你可以创建模仿其功能的按钮。为了让它们发挥作用,你需要找出你想重新添加的按钮的ID,查看你最新的fml客户端日志并搜索 "wrapped button",所有被移除的mod按钮都被记录了它们各自的按钮ID。
⑤文本:
一般来说,所有在gui上可见的文本(标签、按钮、闪光文本)都可以用3种不同的方式定义。
1.从一个资源中加载
"splash-text": { "posX": 90, "posY": 70, "color": -256, "alignment": "top_center", "text": "file:minecraft:text/splashes.txt" }
file: 后面是文本应该被加载的文件的资源位置。
2.从一个URL中加载(web: 后面是文本应该被加载的URL)
"changelog": { "text": "web:http://pastebin.com/raw.php?i=MmSCr6zV", "posX": 2, "posY": 0, "color": -1, "alignment": "left_center" }
⑥静态文本:
"mojang": { "text": "Copyright Mojang AB. 请勿分发!", "posX": -197, "posY": -10, "color": -1, "alignment": "bottom_right" }
如果你想为你所使用的文本类型指定额外的属性(比如网络文本的刷新时间间隔文本的刷新间隔是以刻度为单位的,必须>=60(3秒)。
"label": { "text": { "type": "web", "url
变量:
#date# :当地日期
#time# :当地时间
#mcversion# :我的世界版本
#fmlversion# :FML版本
#mcpversion# :我的世界 Coder Pack 版本
#modsloaded# :加载的mod数量
#modsactive# :mod数量
#forgeversion# :Forge版本
#username# :玩家名称
标签
可以显示各种文字的标签。
属性:
posX:标签的X坐标
posY:标签的Y坐标
color:文本颜色的rgb整数(颜色代码覆盖这个)。
hoverColor:(可选)一个rgb整数,当用户将鼠标悬停在文本上时,该文本的颜色(颜色代码覆盖此)。
text: 应该显示的文本(可以包含颜色代码)。
hoverText:用户在其上悬停时的文本(可以包含颜色代码
anchor:(可选)可以是 "开始"(默认)、"中间 "或 "结束"。使得文本向左、向中或向右对齐。
action: (可选)当用户点击标签时,将执行什么动作?
alignment(对齐):(可选)参见对齐方式的信息
fontSize(字体大小):(可选)文本的大小,1是默认的,2是2倍的大小。
pressSound: (可选)一个资源位置,指向该文本在按下时发出的声音
hoverSound: (可选)指向该文本在悬停时发出的声音的资源位置。
⑦图片
它们可以是来自本地文件夹或来自网络。
属性:
posX : 图像的X坐标
posY:图像的Y坐标
width:图像的宽度
height:图像的高度
image:实际图像的资源位置
hoverImage : 当用户悬停在图像上时,该图像的资源位置
alignment : (可选)参见对齐方式的信息
slideshow:(可选),见Slideshow
重要提示
要使用本地图片,你需要使用Resource Loader mod!
ps:其实使用压缩包打开modassets\custommainmenu\textures\gui\放这里就可以
ps:如果你要修改字为中文或者使用§,你必须要将编码转为ANSI,否则会乱码。
⑧动态图片:
{
"other":{
"background":{
"image" : "",
"slideshow":{
"images" : ["mainmenu:001.png","mainmenu:002.png","mainmenu:003.png"],
"displayDuration" : 100,
"fadeDuration" : 40
}
}
}
}
image:此时为空,但是不可略去不写。
slideshow:添加循环的图片背景。
images:添加循环的图片地址。
displayDuration:图片停留时间,单位为tick。
fadeDuration:转换图片时间,单位为tick。
推荐一个好用的,制作minecraft样式文字图标的网站:textcraft。
推荐两个使用的颜色代码网站:
Color Hex Color Codes:能够查询颜色的RGB码等诸多信息。
Calculate RGB Int:可以将RGB码专为10进制。
本期教程就到这里。下期教程,敬请期待。
记得三连点赞!
