Tags
Creators
Details
1.0.2.2-fabric
Compatibility
Required content
Changes
Без проблем, держи перевод на английский в том же строгом стиле и с сохранением всей структуры.
📝 DEVLOG • Version 1.0.2.2
🔍 How it works in Singleplayer
You no longer need a dedicated server to create your own music discs. Minecraft's integrated server will handle everything directly inside your local world.
- Initialization: On the first command execution, the mod automatically checks for and creates any missing folders (
toolsplus/music_input/andtoolsplus/resourcepack/) in your launcher's root directory (.minecraft/or your instance folder). - Processing: Drop your
.mp4file intotoolsplus/music_input/<id>.mp4and type/tools music <id>in the chat. - Conversion Magic: The mod calls
ffmpeg/ffprobeto extract metadata tags (title, artist, album, duration), converts the audio to.ogg, and generates two packs on the fly:
- Datapack: Registers the new song via the
jukebox_songregistry (with the correct duration). - Resourcepack: Generates
sounds.jsonand compiles everything into a.ziparchive.
- Result: The mod automatically reloads datapacks (
/reload) and gives you a vanilla music disc with a custom title and lore generated directly from the track's metadata.
⚠️ Prerequisite:
ffmpegmust be installed on your PC and available in your system's PATH. For Linux (Fedora/RHEL):sudo dnf install ffmpeg. 🎵 To hear the audio: You need to manually move the generatedtoolsplus_music.ziparchive from thetoolsplus/resourcepack/folder into your standard.minecraft/resourcepacks/directory and enable it in the game settings.
🛠 CHANGELOG • v1.0.2.2+26.1.2
+ [Added] * [Changed] ~ [Fixed] ! [Important]
- [+]
MusicCommand.java— Added the new/tools music <id>command. Triggers the full pipeline: metadata reading -> conversion -> music disc generation. - [+]
FfmpegBridge.java— Core integration module. A safe wrapper forffmpegandffprobeusingProcessBuilder. - [+]
MusicMetadata.java— Newrecordclass for clean storage of track tags: Title, Artist, Album, Duration. - [+]
MusicPackManager.java— Pack architect. Automatically creates the required directory structure if missing, generates the datapack layout, and zips the resourcepack. - [*]
EnchantCommand.java— Registered the new sub-command within the main dispatcher viaMusicCommand.register(dispatcher). - [~]
LoreCommand.java— Code cleanup: removed a dead (unused) import of theStyleclass. The.withStyle()method is now called correctly without redundant dependencies. - [!]
Folder Auto-Creation— Ifmusic_inputorresourcepackfolders are missing, the mod will create them automatically on the first command run to prevent game crashes. - [!]
Environment Dependency— The mod checks forffmpegpresence in the system. If the utility is missing, it will output a clear error message in chat instead of crashing the game.
📂 Singleplayer Paths:
- Vanilla Launcher:
~/.minecraft/toolsplus/music_input/ - Prism / MultiMC:
instances/<instance_name>/.minecraft/toolsplus/music_input/
📝 DEVLOG (Дневник разработки) • Версия 1.0.2.2
🔍 Как это работает в одиночном мире
Теперь для создания своей пластинки не нужен выделенный сервер. Интегрированный сервер Minecraft сделает всё сам прямо внутри вашего мира.
- Инициализация: При первом вызове команды мод автоматически проверяет и создаёт недостающие папки (
toolsplus/music_input/иtoolsplus/resourcepack/) в корне твоего лаунчера (.minecraft/или папки инстанса). - Обработка: Вы кидаете
.mp4файл вtoolsplus/music_input/<id>.mp4и пишешь в чат/tools music <id>. - Магия конвертации: Мод обращается к
ffmpeg/ffprobe, вытягивает теги (название, артист, альбом, длительность), конвертирует звук в.oggи генерирует на лету два пака:
- Datapack: Регистрирует новую песню через систему
jukebox_song(с правильной длительностью). - Resourcepack: Создаёт
sounds.jsonи упаковывает всё в.zip.
- Результат: Мод сам обновляет датапаки (
/reload) и выдаёт тебе в руки ванильную пластинку, но с кастомным названием и лором из метаданных трека.
⚠️ Важное требование: На твоём ПК должен быть установлен
ffmpegи доступен в переменной окружения (PATH). Для Linux (Fedora/RHEL):sudo dnf install ffmpeg. 🎵 Чтобы услышать звук: Сгенерированный архивtoolsplus_music.zipиз папкиtoolsplus/resourcepack/нужно вручную перекинуть в обычную папку.minecraft/resourcepacks/и включить в настройках игры.
🛠 CHANGELOG (Список изменений) • v1.0.2.2+26.1.2
+ [Добавлено] * [Изменено] ~ [Исправлено] ! [Внимание]
- [+]
MusicCommand.java— Добавлена новая команда/tools music <id>. Запускает полный пайплайн: чтение метаданных -> конвертация -> создание пластинки. - [+]
FfmpegBridge.java— Ядро интеграции. Безопасная обёртка надffmpegиffprobeчерезProcessBuilder. - [+]
MusicMetadata.java— Новый класс-запись (record) для удобного хранения тегов трека: Title, Artist, Album, Duration. - [+]
MusicPackManager.java— Архитектор паков. Автоматически создаёт структуру папок, если их нет, генерирует структуру датапака и пакует ресурспак в.zip. - [*]
EnchantCommand.java— Проведена регистрация новой подкоманды в основном диспетчере (MusicCommand.register(dispatcher)). - [~]
LoreCommand.java— Очищен код: удалён мёртвый (неиспользуемый) импорт классаStyle. Метод.withStyle()теперь вызывается корректно без лишних зависимостей. - [!]
Авто-создание папок— Если папкиmusic_inputилиresourcepackотсутствуют, мод создаст их самостоятельно при первом запуске команды, предотвращая краш игры. - [!]
Зависимость окружения— Мод проверяет наличиеffmpegв системе. Если утилита не найдена, в чат выведется понятная ошибка вместо падения игры.
📂 Пути для одиночной игры:
- Ванильный лаунчер:
~/.minecraft/toolsplus/music_input/ - Prism / MultiMC:
instances/<имя_сборки>/.minecraft/toolsplus/music_input/
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| toolsplus-fabric-1.0.2.2+26.1.2-sources.jar | Source jar | 19.23 KiB |
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:l595npQT:7xVdUi8c"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:l595npQT:7xVdUi8c"
}

