【制作服务器教程第一课】实现在菜单中显示玩家2D头 以及 在菜单中显示玩家名字
-
制作服务器教程第一课
哈喽,我是喵趴,我最近在制作一款高版本纯净生存服务器(1.21.4),我会将制作过程中遇到的一些问题制作成教程发布在这里。
如果你有兴趣,请联系我。图片演示
准备环节
本教程免费,但插件和素材你得自己想办法,在此次教程中会用到的插件和素材有:注意打 ♥ 为必需
♥ Nexo 或 ItemAdder (均为付费插件)
♥ ZMenu 或 DeluxeMenu (均为免费插件)
界面UI参考 (付费纹理)教程环节 以下内容均在Java Paper1.21.4的环境下实现成功,使用的是 Nexo 与 ZMenu
首先说原理
- 2Dhead是通过修改模型文件,扩大并使其只显示头颅的正面。
- 名字是让菜单标题使用另一种字体(借助MiniMessage),然后在字体的配置文件中设置文字的偏移量即可实现。
第一步
首先先将你的 Nexo 插件加入到服务器 Plugins 文件夹内,找到 Pack
再找到 external_packs,创建目录 custom(这里可以是任意名字),然后在其中创建目录 assets,进入其中继续创建 minecraft,进去其中继续创建 textures、models 与 font
最后的目录呈现为- Nexo\pack\external_packs\custom\assets\minecraft\textures
- Nexo\pack\external_packs\custom\assets\minecraft\models
- Nexo\pack\external_packs\custom\assets\minecraft\font
你还可以继续创建目录,但在这个教程中我只教到这一步,因为已经满足我们的需求
第二步
- 在 textures 中放入你的菜单图片,如果没有可以无视这一步。
- 在 models 中放入2D头颅的模型文件
文件名字:head.json,复制的时候删掉这一行 {"parent":"minecraft:builtin/entity","gui_light":"front","display":{"gui":{"translation":[-3,-5,0],"scale":[4,4,4]},"fixed":{"rotation":[0,-180,0],"translation":[0,12,11],"scale":[3.1,3.1,3.1]}}}
- 在 font 放入字体文件与字体文件配置
将file中的文件名字改为你放入的字体文件名字,shift表示偏移量,size表示大小,oversample表示分辨率,skip是优化所需要用到的选项(有兴趣可以自己研究一下)
文件名字:dancingscript.json,复制的时候删掉这一行 { "providers": [ { "type": "ttf", "file": "dancingscript.ttf", "shift": [-149, 67], "size": 8.0, "oversample": 4.0, "skip": "" } ] }
第三步(如果没有菜单图片跳过这一步)
进入 Nexo 的根目录,找到 glyphs,进入 nexo_defaults,编辑 interface.yml
添加内容(请自行删除注释)menu: texture: 这里是菜单文件的路径,注意,如果你是放在 textures 的根目录,则直接填写图片名字,例如 caidan.png 若还套了文件夹,则在前面加上文件夹路径,例如 ui/caidan.png ascent: 37 若图片不匹配,这里自行修改 height: 256 若图片不匹配,这里自行修改 char: ꐐ
进入ZMenu 的根目录,找到 inventories,创建一个新菜单,例如 menu.yml
填写内容
shfit表示偏移量,调整图片位置。size: 54 name: "<white><shift:-30>ꐑ
第四步
进入 Nexo 的根目录,找到 items,进入 nexo_defaults,编辑 nexo_tools.yml
添加内容test: itemname: <white> material: PLAYER_HEAD Pack: model: head custom_model_data: 11000
进入游戏,输入指令 /nexo inv,即可找到你导入的头颅。
然后进入 ZMenu 的根目录,找到 inventories,若你跳过了上一步,则创建一个新菜单,例如 menu.yml,如果没有跳过上一步,这里就打开你刚刚创建的菜单。
创建内容items: head: slot: 2 item: playerHead: "%player%" modelID: 11000 hide-tooltip: true
到此,在游戏中输入/zmenu open 菜单名字,就可以看到玩家的2D头颅了
第五步
修改你菜单文件中的菜单名字
name: "<white><shift:-30>ꐑ <font:dancingscript><#3f334f><shadow:#edd8ed>%player_name%</font>"
即可实现在菜单中出现玩家名字
到此,你已经学会了如何在菜单中显示玩家2D头 以及 在菜单中显示玩家名字
后言
不是兄弟,红石站这Markdown也太难用了,展开和收起呢?搞得我文章很臃肿。
如果你也想参与制作一款国内优秀的纯净服务器,请私信联系我,这个系列会一直更下去。