我的世界如何在你的服务器中正确使用MCDJ
——第一步:下载并安装MCDJ
①通过MC百科打开MCDJ的CurseForge页面,点击Files一栏,找到适用于你的服务端的版本并下载,放在mods文件夹中即可(如果没安Forge要先安装Forge)。
②也给客户端安装上同样的MCDJ。
③重启服务器和客户端,让MCDJ生成配置文件和放置、加载音乐的地方。
——第二步:配置客户端
注意!接下来几步如果操作不当会无法进入服务器并显示“Fatally missing registry entries”。
①下载你要添加的歌曲文件,最好是mp3、mp2、flac、m4a、wav之类的通用文件格式。
②使用工具将歌曲文件转码为.ogg文件,如果本来就是.ogg格式,可以不用转换。
要注意的是,MCDJ Wiki中有提到:
Also note that every ogg file should be converterd to mono.
另请注意,所有的ogg文件都应该转码为单声道。
If you convert your music to stereo format, then it will play as ambient sound.
如果你的音乐是立体声,它将会像游戏背景音乐那样播放。
So if you don’t like to listening to music from the jukebox everywhere, please convert it to mono.
所以如果你不喜欢在任何地方都能听到唱片机正在播放的音乐,请将其转码为单声道格式。
所以你最好在转码前,设置输出的音乐格式为单声道。
可以将歌曲文件转码为ogg格式的工具有:
-
格式工厂(安装时注意取消勾选捆绑软件。有些歌曲文件可能因为玄学问题无法使用格式工厂转码,或转码后出现异常。如果出现上述情况,mp3、flac、wav之类格式的歌曲可以尝试使用Audacity。m4a、acc等其他格式Audacity不支持。)
-
Audacity(模组作者强烈推荐的转码软件,完全免费,但国内想要从正常渠道下载有点困难,你如果胆子比较大可以尝试一下各大下载站)
-
Adobe Audition(也就是常说的AU,虽然是付费的,但网上有大量盗版资源。毕竟是专业软件,就转个码有点杀鸡用牛刀的感觉。)
当然,网上还有许多可以将歌曲转码的工具,可以自行搜索,就是需要小心别安装了一大堆捆绑软件。
③(从这一步开始请认真对待)打开你的Minecraft启动器,并找到刚刚装好MCDJ的客户端。
打开它的游戏目录,将转码为ogg格式的歌曲文件放在“.minecraft/.mcdj/assets/mcdj/sounds/streaming/”文件夹下(开启版本隔离后是“.minecraft/versions/<游戏版本>/.mcdj/assets/mcdj/sounds/streaming/”)。如果你嫌麻烦,默认是有一个名为“Music”的快捷方式位于“.minecraft/”(开启版本隔离后是“.minecraft/versions/<游戏版本>/”)文件夹下,双击即可快速到达streaming文件夹。(注意,现在是配置客户端,不是服务端)
④启动客户端。此时你放入的歌曲就会自动被注册成为一个物品。
注册过程中,模组会将歌曲文件名中不是小写英文字母(a-z)、下划线(_)、破折号(-)、阿拉伯数字(0-9)的符号随机转化为26个字母之一,并将转化后的文件名作为物品的ID和本地化键名(比如一个叫做sounds.ogg的文件,注册成为物品后其ID就是mcdj:sounds)。随后模组将会生成唱片的歌曲名。一般这个歌曲名会使用歌曲文件中的标题和作曲人信息,但当你添加的歌曲的文件中并没有注明歌曲标题和作曲人时,模组将会使用转化后的文件名作为唱片的歌曲名。
由于MCDJ会转化文件名,导致当一个歌曲既没有标题和作曲人信息,文件名中又包含了大量中文、日文等符号时,最终生成的歌曲名就是一串无意义的字母。为了防止这个问题的发生,你得手动为没有标题、作曲人信息的歌曲文件添加上述信息。
第一种方法可以使用上面提到的Audacity转码。使用Audacity转码歌曲为ogg时会弹出一个“编辑元数据标签”的界面,此时就可以添加并修改歌曲文件中储存的各种信息。
第二种方法适用于Windows操作系统。在转码歌曲前,右键单击歌曲的文件(mp3、m4a、flac格式都可以),点击属性——>详细信息,修改“标题”和“参与创作的艺术家”信息即可(如果你对这首曲子了解得比较深,还可以尝试编辑专辑、封面等信息)。
——第三步:配置服务端
客户端配置好后,接下来请你打开服务端,将客户端的整个.mcdj文件夹复制到服务端的目录当中,并覆盖原本的.mcdj文件夹及其里面的所有文件,随后重启服务器即可。
你现在可以尝试一下能否进入服务器,如果能正常进入那么恭喜你,你已经完成了最容易出错的步骤。
为什么叫做“最容易出错的步骤”?因为有些人可能会将歌曲文件分别上传到客户端和服务端,由于两边都有一个注册物品的流程,这就导致很容易出现客户端和服务端的信息不匹配,进而出现Fatally missing registry entries这个严重的错误。如果你已经这么做了,可以尝试删除.mcdj文件夹,并使用客户端的.mcdj文件夹替换。不用担心服务器会找不到那些新添加的唱片,因为mcdj的所有唱片的注册信息都存储在.mcdj文件夹当中,删掉后服务器就会忘记这个物品。
——第四步:制作整合包
现在,服务器的客户端和服务端都配置好了,但其他人的客户端并没有配置好。因此,你需要制作一个专门的整合包用于让其他人的客户端信息也可以匹配服务端。
你需要做的是,复制启动器到一个新的空白文件夹中,并安装好Minecraft和Forge,将所需要的mod安装并进行初始化(也可以用原本的启动器安装,并启用版本隔离,最后用启动器自带的导出整合包选项导出)。
初始化后,游戏目录下也会出现一个.mcdj文件夹。和配置服务端的流程一样,将最开始配置好的.mcdj文件夹覆盖这里即可。
此时你可以尝试能否用这个客户端进入服务器。如果不行,请你检查一下这个客户端是否与服务端的信息相匹配,或是你的服务器有没有开启。如果成功进入,那么恭喜你,你可以将这个启动器附带.minecraft文件夹一起压缩,制作成一个整合包挂到服务器的群聊、网盘或官网上,供别人下载使用。
——第五步:听歌
①进入你的服务器,准备以下材料:
铁锭×5、音符盒×1(注意不是唱片机)、钻石×1、红石×2、黑曜石≥2块、画≥1张
②在工作台像下图这样子摆放以合成Music Generator:
③用黑曜石合成Obsidian Plate:
④用Obsidian Plate加上画合成Blank Music Disc:
⑤放置并打开Music Generator,你会看到这样的界面:
将Blank Music Disc放到下方的格子中,左右选取歌曲,点击“Start”就可以将选定的歌曲刻录到唱片中!(这儿可能会出现一个BUG,即开始刻录后上面显示的歌曲会变成另外一首歌,刻录完成后的歌也会变。)
⑥将刻录好的唱片用原版的唱片机播放即可。
现在你和其他人就可以在服务器中听到自己喜欢的歌了!
——添加歌曲
如果你感觉那些歌曲都听腻了,或是其他玩家也想听到自己喜爱的曲子,此时你就需要添加歌曲。
添加歌曲的流程对现在的你来说很简单,毕竟你已经做过了一次。
①下载歌曲文件,检查是否有作曲人和标题信息,如果没有就手动添加。
②转码歌曲为ogg单声道格式,放在客户端的streaming文件夹下。
③将客户端的整个.mcdj文件夹覆盖服务端和整合包的.mcdj文件夹,并重启服务器。
④将新版的整合包挂载服务器的群聊、官网和网盘上,并通知玩家们及时更新。
——汉化模组
MCDJ目前为止并没有官方汉化。如果你想要让你的服务器更加高大上一些,可以尝试手动汉化MCDJ。
汉化MCDJ其实并没有那么难。刚才有提到mcdj的所有唱片的注册信息都存储在.mcdj文件夹当中,实际上不光是所有唱片的注册信息在里面,MCDJ的语言文件也在里面。
来到游戏客户端的根目录“.minecraft/”(开启版本隔离后是“.minecraft/versions/<游戏版本>/”),找到“.mcdj/assets/mcdj/lang/en_us.lang”文件,将该文件复制一份并重命名为“zh_cn.lang”。
使用记事本打开“zh_cn.lang”文件,你应该会看到:
tile.musicgenerator.name=Music Generator
item.blankrecord.name=Blank Music Disc
item.record.blankrecord.desc=nothing
item.obsidianplate.name=Obsidian Plate
…….(省略你自行添加的唱片的数据)
“tile.musicgenerator.name=Music Generator”对应的就是Music Generator这个方块,你可以将其翻译为“唱片烧录机”、“唱片刻录机”。注意,修改后的这一行应该是:
tile.musicgenerator.name=你自己翻译后的名称
前面的“tile.musicgenerator.name”不要动任何一个字!接下来三行也同理!
“item.blankrecord.name=Blank Music Disc”对应的是Blank Music Disc这个物品,你可以翻译成“未刻录的唱片”、“空白音乐唱片”等。
“item.record.blankrecord.desc=nothing”对应的是Blank Music Disc这个物品的描述,你可以翻译成“啥也没有”、“没有音乐”、“空白”之类的描述。
“item.obsidianplate.name=Obsidian Plate”对应的是Obsidian Plate这个物品,“黑曜石板”是最好也是最普遍的翻译。
自行添加歌曲后,歌曲的唱片名和唱片上显示的歌曲名也会存储在en_us.lang文件中。如果你想要修改歌曲名或汉化唱片名(因为MCDJ生成的唱片物品名称仍然是英文,即Music Disc),就需要打开en_us.lang文件,将zh_cn.lang中没有的内容复制过来,然后就是和上文一样的操作。
汉化完成后,需要将zh_cn.lang文件复制到整合包中对应的位置(服务器不一定需要),并压缩发给其他玩家使用。
——多人联机
如果你并没有开设服务器,但当你想在多人联机中使用MCDJ,这时候你也需要参考上文的操作。
和上文用于服务器的步骤不同,当MCDJ用于多人联机时,由于客户端就是服务器,你就可以省略大部分的步骤。
你只需要将你用的MCDJ的jar文件和你的.mcdj文件夹压缩发给朋友,让朋友安装好后覆盖.mcdj文件夹即可。
——配置文件
MCDJ的配置文件如下(服务端和客户端相同):
# Configuration file
配置文件
general {
# Draws album art on top of the disc if possible [default: false]
B:AlbumArts=false
如果可能,在唱片顶部绘制歌曲的专辑封面[默认:关闭]
# In headless mode MCDJ will only add sounds to the game, but not create music discs. [default: false]
B:HeadlessMode=false
在Headless模式下,MCDJ将只会注册声音而并不会添加唱片[默认:关闭]
# Enables high resolution disc texture (recommended for use with album arts) [default: false]
B:HiresDiscTextures=false
启用高分辨率唱片纹理(推荐用于专辑封面)[默认:关闭]
# Returns an old Music Generator, that give you the random music disc
# when you use the blank disc on it. [default: false]
B:LegacyMusicGenerator=false
使用老式的唱片刻录机。当你在上面使用空白音乐唱片时,它将会随机给你刻录一张而不是让你自行选择[默认:关闭]
# Path to mcdj root folder.
# examples: ‘mods’ = /.minecraft/mods/; ‘misc/mcdj’ = /.minecraft/misc/mcdj
# leave blank for choise .minecraft folder. [default: ]
S:MCDJPath=
MCDJ根文件夹的存放位置。
示例:’mods’ = /.minecraft/mods/; ‘misc/mcdj’ = /.minecraft/misc/mcdj
留空以选择“.minecraft”文件夹[默认:]
注意:千万不要填写绝对路径!(如:’music’ = E:/.minecraft/mcdj )
# MCDJ will create its root folder with that name. [default: .mcdj]
S:MCDJRootFolderName=.mcdj
MCDJ将使用该名称作为根文件夹的名称[默认:.mcdj]
注意:不能为空!
# Let MCDJ create shortcut called “Music” to streaming folder in .minecraft [default: true]
B:Shortcut=true
让MCDJ在.minecraft文件夹下创建一个链接到streaming文件夹的名为“Music”的快捷方式[默认:开启]
}