本篇教程由作者设定未经允许禁止转载。
主页
PackMenu允许用户自定义主菜单
它的配置文件应该是这样的:(这是默认配置文件)
#配置文件
"forge info" {
# 该元素的锚点。 [default: FORGE]
S:"Anchor Point"=FORGE
# 该元素的X偏移量。 [range: -1000 ~ 1000, default: 0]
I:"X Offset"=0
# 该元素的Y偏移量。 [range: -1000 ~ 1000, default: 0]
I:"Y Offset"=0
}
general {
# 是否绘制forge信息。 将包括测试版和更新警告。 [default: true]
B:"Draw Forge Info"=true
# 是否绘制“Java Edition”文本。 [default: true]
B:"Draw Java Edition"=true
# 是否启用原版的背景和它的淡入。 启用这个功能会禁用自定义背景选项。 [default: false]
B:"Draw Panorama"=false
# 是否绘制splash文本。 [default: true]
B:"Draw Splash"=true
# 是否绘制标题(巨大的minecraft文本)。 [default: true]
B:"Draw Title"=true
# 从/resources而不是/resources.zip加载资源包(true从/resources文件夹加载false从材质包加载) [default: true]
B:"Folder Pack"=true
# 是否启用动画淡入效果。 [default: false]
B:"Panorama Fade In"=false
# 动画速度的倍数。 [range: 0.01 ~ 100.0, default: 1.0]
S:"Panorama Speed"=1.0
#看不懂欢迎评论
# The number of variations of panorama that exist. Panorama files other than the original set must have the form panorama<y>_<z>.png. For example the first file of varation #2 would be panorama1_0.png [range: 1 ~ 10, default: 1]
I:"Panorama Variations"=1
}
"java edition text" {
# 该元素的锚点。 [default: JAVAED]
S:"Anchor Point"=JAVAED
# 该元素的X偏移量。 [range: -1000 ~ 1000, default: 0]
I:"X Offset"=0
# 该元素的Y偏移量。 [range: -1000 ~ 1000, default: 0]
I:"Y Offset"=0
}
logo {
# logo的锚点。 锚点的类型可以在wiki上找到。 [default: DEFAULT_LOGO]
S:"Anchor Point"=DEFAULT_LOGO
# logo的高度。 [range: 0 ~ 500000, default: 100]
I:Height=100
# logo材质的高度。 [range: 0 ~ 500000, default: 300]
I:"Texture Height"=300
# logo材质的位置。 (必须是png格式文件,而且应该包含扩展名) [default: packmenu:textures/gui/logo.png]
S:"Texture Path"=packmenu:textures/gui/logo.png
# logo材质的宽度。 [range: 0 ~ 500000, default: 300]
I:"Texture Width"=300
# logo的宽度。 [range: 0 ~ 500000, default: 100]
I:Width=100
# logo的X偏移量。 [range: -500000 ~ 500000, default: -650]
I:"X Offset"=-650
# logo的Y偏移量。 [range: -500000 ~ 500000, default: 0]
I:"Y Offset"=0
}
slideshow {
# 背景轮换间隔多长时间。 [range: 1 ~ 1000000, default: 200]
I:Duration=200
# 背景的轮换图片列表。 如果为空,则忽略轮换背景。 [default: ]
S:Textures <
>
# 每张图片持续多长时间。 [range: 1 ~ 1000000, default: 20]
I:"Transition Duration"=20
}
"splash text" {
# splash就是标题右边的闪黄字
# 该元素的锚点。[default: SPLASH]
S:"Anchor Point"=SPLASH
# splash 文本的颜色。[range: -2147483647 ~ 2147483647, default: -256]
I:Color=-256
# splash文本的旋转值。 [range: -360.0 ~ 360.0, default: -20.0]
S:Rotation=-20.0
# 该元素的X偏移量。 [range: -1000 ~ 1000, default: 0]
I:"X Offset"=0
# 该元素的Y偏移量。 [range: -1000 ~ 1000, default: 0]
I:"Y Offset"=0
}
support {
# 链接到支持者页面的URL。 [default: https://www.patreon.com/Shadows_of_Fire?fan_landing=true]
S:"Patreon Url"=https://www.patreon.com/Shadows_of_Fire?fan_landing=true
}
title {
# 该元素的锚点。 [default: TITLE]
S:"Anchor Point"=TITLE
# 该元素的X偏移量。 [range: -1000 ~ 1000, default: 0]
I:"X Offset"=0
# 该元素的Y偏移量。 [range: -1000 ~ 1000, default: 0]
I:"Y Offset"=0
}
按钮(官方wiki)
要新建一个按钮你应该在.\packmenu\resources\assets\packmenu\buttons下新建一个json文件
第一次启动会生成原版的按钮的例子
例如下面的是单人按钮
{
"x": -100,
"y": 0,
"width": 200,
"height": 20,
"langKey": "menu.singleplayer",
"action": "OPEN_GUI",
"data": "SINGLEPLAYER"
}
以下为可选键值:
"x": [Required] (Integer) 从屏幕中心的X偏移。
"y": [Required] (Integer) 从屏幕中心的Y偏移。
"width": [Required] (Integer) 此按钮的宽度。
"height": [Required] (Integer) 此按钮的高度。
"texture": [Semi-Optional] (String) 这个按钮的纹理。 默认为原版的widgets.png
"u": [Optional] (Integer) 按钮开始绘制的纹理X坐标。
"v": [Optional] (Integer) 按钮开始绘制时的纹理Y坐标。
"hoverU": [Semi-Optional] (Integer) 悬停时按钮的纹理X坐标。
"hoverV": [Semi-Optional] (Integer) 按钮在悬停时的纹理Y坐标。
"texWidth": [Semi-Optional] (Integer) 该按钮的纹理文件的宽度。
"texHeight": [Semi-Optional] (Integer) 这个按钮的纹理文件的高度。
"widgets": [Optional] (Boolean) 是否使用widgets.png纹理文件。 如果 "texture "中含有widgets这个词,默认为true。
"langKey": [Optional] (String) 要在这个按钮上绘制的文本的语言键。
"hoverLangKey": [Optional] (String) 当悬停时在该按钮上绘制的文本的语言键。
"action": [Required] (String) 当此按钮被点击时会发生什么。 参见下面的 "按钮动作"。
"data": [Optional] (Variable Type) 取决于 "action "的值的额外数据。 参见下面的 "按钮动作"。
"fontColor": [Optional] (Integer) 该按钮上文本的颜色。 见关于颜色的说明。
"hoverFontColor": [Optional] (Integer) 悬停时文本的颜色。 参见颜色的说明。
"anchor": [Semi-Optional] (String) 该按钮的锚点。参见下面的 "锚点"。
"textXOffset": [Optional] (Integer) 在此按钮上绘制的文本的X偏移。 默认为0。
"textYOffset": [Optional] (Integer) 在此按钮上绘制的文本的Y偏移。 默认为-4。
"dropShadow": [Optional] (Boolean) 按钮上的文本是否会绘制阴影。
"active": [Optional] (Boolean) 决定该按钮是否可以点击。 如果禁用,该按钮不能被交互。
别和我说你看不懂[]和()里单词的意思
按钮操作
按钮操作是一组预定义的操作, 每个操作有与其关联的附加值。 对应"action": "OPEN_GUI" 该项,值即data项内内容
- CONNECT_TO_SERVER 值:字符串形式的服务器 IP 地址。
- OPEN_GUI 值:GUI 类型为字符串。GUI 类型定义如下。
- OPEN_URL 值:要以字符串形式打开的 URL。
- REALMS
- RELOAD
- QUIT
- NONE
- LOAD_WORLD(未实现)
用于按钮操作OPEN_GUI,这些是 PackMenu 可以打开的各种类型的菜单的标识符。
- SINGLEPLAYER
- MULTIPLAYER
- MODS
- LANGUAGE
- OPTIONS
- ACCESSIBILITY
- RESOURCE_PACKS
- SUPPORTERS
锚点
PackMenu 元素可以锚定在屏幕上的不同点,指示它们在偏移量之前的位置。目前,存在以下锚点:
- TOP_LEFT
- TOP_CENTER
- TOP_RIGHT
- MIDDLE_LEFT
- MIDDLE_CENTER
- MIDDLE_RIGHT
- BOTTOM_LEFT
- BOTTOM_CENTER
- BOTTOM_RIGHT
- DEFAULT
- DEFAULT_LOGO
别和我说你看不懂
背景
你可以直接替换这张图片来替换背景packmenu\resources\assets\packmenu\textures\gui\background.png
或者修改设置的slideshow项来启用轮播背景
如果有错或未提到的欢迎在短评提出
PS:PackMenu 所需的任何颜色都必须以整数形式提供。此整数是通过将十六进制颜色转换为十进制来获得的。这意味着,例如,白色 (0xFFFFFF) 表示为16777215。黑色 (0x000000) 表示为 0。