Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
注册
Advertisement
Information icon
此特性为Java版独有。

该教程将帮助你定位声音目录,并说明Java版的声音文件是如何储存的。

译者注:本教程以正版启动器默认的游戏目录为主(即游戏存储在 %Appdata%/.minecraft 中,如使用其他第三方启动器,默认目录一般为你的第三方启动器目录下的 .minecraft中)。

声音目录(1.7.2后版本)[]

1.7.2版本后声音文件在位于 indexes 目录下:

1.8 Mac OS X: ~/Library/Application Support/minecraft/assets/indexes/1.8.json

1.11 Mac OS X: ~/Library/Application Support/minecraft/assets/indexes/1.11.json

声音文件在Java版1.7.2(准确的说为 13w42a)与以上版本后将以Hash值的方式散步到不同的目录里,位于:

  • Windows: %AppData%\.minecraft\assets\objects
  • Mac OS X: ~/Library/Application Support/minecraft/assets/objects
  • Linux: ~/.minecraft/assets/objects

定位具体的声音文件位置[]

找到同在“assets”文件夹下的文件夹“indexes”,在那里声音文件被sounds.json文件索引并记录。选择你要的版本并用记事本之类的编辑器打开它。打开后,它看起来是这样的:

    "sounds/music/menu/menu1.ogg": {
      "hash": "c157c56846f0e50620f808fecd9d069423dd6c41",
      "size": 1744657
    },

从这里,我们可以确定 menu1.ogg 的Hash值(或标记)为c157c56846f0e50620f808fecd9d069423dd6c41。在 objects 目录下搜索该字符串,你应该会找到一个与该字符串相同文件名的文件。这个文件就是"menu1.ogg",为游戏主界面播放的音乐之一。文件名前两个字符("c1")也能够匹配到相应的目录,知道这一点将能够帮助你快速的定位到指定文件。

定位文件后,你可以通过支持.ogg格式的媒体播放器测试它,保证它是你要找的文件。如果不能播放,试一试添加.ogg扩展名。如果还是不行,试一试别的音频文件扩展名(比如.wav)或者这就不是一个声音文件。

注:如果你不小心从初始目录中编辑或删除了这些文件,启动器将会在下一次启动时自动帮你重新下载。(启动游戏时你必须保持网络连接,否则声音目录可能不会被重置,并且导致错误。)

提取 Minecraft 音乐(OSX脚本)[]

在macOS或OS X上(如果你没有安装python,即在终端中输入python或python3显示"command not found",请先安装python):

  1. 建立一个新文件(以终端操作为例)vi minecraft-music-extractor.sh(注意将第7行的"FILENAME.json"改成你需要的文件名,如1.19.json)
    #!/bin/sh
    #
    # Description: Minecraft Music Extractor
    
    MINECRAFT_ASSETS_DIR="/Users/$USER/Library/Application Support/minecraft/assets"
    OUTPUT_DIR="/Users/$USER/Desktop"
    JSON_FILE="/Users/$USER/Library/Application Support/minecraft/assets/indexes/FILENAME.json"
    
    for ENTRY in `cat $JSON_FILE | python -c 'import sys,json; from pprint import pprint; data = json.load(sys.stdin); pprint(data);' | grep music | awk -F\' '{print $2 "," $6}'`
    do
      echo "Processing $ENTRY..."
      FILENAME=`echo $ENTRY | cut -d, -f1 | sed 's:.*/::'`
      FILEHASH=`echo $ENTRY | cut -d, -f2`
    
      #Locate the file in the assets directory structure
      FULLPATH_HASHFILE=`find "$MINECRAFT_ASSETS_DIR" -name $FILEHASH`
    
      #Copy the file
      cp "$FULLPATH_HASHFILE" "$OUTPUT_DIR/$FILENAME"
     
    
    done
    
  2. 使用正确的目录路径更新变量(例如 MINECRAFT_ASSETS_DIR)(不需要更改$USER,因为它指代当前用户,如果文件夹不在你的用户文件夹下,则需要修改)
  3. 运行脚本

如果运行脚本时显示python: command not found,请尝试将脚本中的"python"改成"python3"。

旧版本的声音目录 (pre-1.7)[]

如果你的游戏版本在1.7.2以前,声音目录将如下:

  • Windows: %AppData%\.minecraft\assets%AppData%\.minecraft\assets\virtual\legacy
  • Mac OS X: ~/Library/Application Support/minecraft/assets~/Library/Application Support/minecraft/assets/virtual/legacy
  • Linux: ~/.minecraft/assets~/.minecraft/assets/virtual/legacy

如果你同时有新旧两种版本,新版本与旧版本的声音文件都将存在。旧版本目录仅适用于 pre-1.7 版本。

Legacy 子目录[]

.minecraft\assets\virtual\legacy\sounds中,有13个子目录:

  • ambient: 环境与雨/雷
  • damage: 玩家受伤的声音
  • dig: 打破方块
  • fire: 火的声音
  • firework: 烟花效果音
  • liquids: 水或熔岩等液体的声音
  • minecart: 矿车移动的声音
  • mob: 生物的声音
  • music: C418编曲的背景音乐
  • random: 吃东西到爆炸等各种音效
  • records: 唱片的音乐
  • step: 脚步声
  • tile: 活塞

警告[]

如果你直接在声音目录中对声音编辑、新增或移除,且在连接到网络时执行启动器并启动Minecraft,将会自动重新下载并还原任何你在声音目录下所做的更改, 删除你的工作,这项情况适用于新的和旧的声音目录。在启动游戏前断开网络连接不会还原任何更改,但不建议这样做。安全储存自定义声音的最佳方法是创建自己的资源包

视频教程[]

Minecraft Tutorial: Locate the Minecraft Sound Directory and Convert Audio Files (仅限旧声音目录)

How to Make Custom Sounds in Minecraft 1.8.7 (如何安全地将声音文件编辑成资源包)

了解更多[]

语言

Advertisement