Matthiesen Core
Библиотечный мод для NeoForge и Fabric, позволяющий разработчикам создавать моды с общей кодовой базой.
- Загрузчики
- FabricNeoForge
- Скачиваний на Modrinth
- 55,5 тыс.
- Подписчиков на Modrinth
- 3
- версий
- 116
- Обновлён
- 22 октября 202622 окт.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
Matthiesen Core
Matthiesen Core — это библиотечный мод для NeoForge и Fabric, который позволяет разработчикам создавать моды с общей кодовой базой. Он предоставляет набор основных функций и утилит, которые можно использовать в нескольких модах, что упрощает разработку и поддержку. Вместо того чтобы поддерживать отдельные реализации для каждой платформы, вы можете написать логику мода один раз в общем коде и позволить Matthiesen Core обрабатывать платформо-зависимые детали.
Matthiesen Core не обязательно устанавливать на клиент, если зависящий от него мод предназначен только для серверной стороны. Однако если мод(ы), зависящие от Matthiesen Core, имеют клиентские компоненты, то Matthiesen Core также должен быть установлен на клиенте.
Примечание: Для обычных пользователей эта библиотека сама по себе ничего не делает, кроме настройки основных функций для использования другими модами. Если вы не разработчик модов, просто поместите мод в папку
mods/вместе с другими модами, которые от него зависят, и всё готово.
Matthiesen Core — преемник Matthiesen Lib и Matthiesen Lib Api, которые были двумя отдельными библиотеками, а теперь объединены в единый библиотечный мод, обеспечивающий более оптимизированный и эффективный опыт для разработчиков модов.
Возможности
Matthiesen Core предоставляет единый API для:
- Регистрация контента: Регистрация блоков, предметов, сущностей и другого игрового контента платформо-независимым способом.
- Обработка событий: Прослушивание и обработка игровых событий на разных платформах.
- Сетевое взаимодействие: Отправка и получение сетевых пакетов между клиентом и сервером.
- Управление конфигурацией: Управление конфигурациями и настройками модов единообразным способом.
- Утилитарные функции: Доступ к различным утилитарным функциям для общих задач, таких как логирование, управление ресурсами и многое другое.
- Клиентские функции: Включает клиентские функции, такие как управление HUD, обработка привязок клавиш и управление экранами.
- Управление разрешениями: Предоставляет систему разрешений для управления доступом к определённым функциям или командам.
Обязательные зависимости
- Fabric API (только Fabric)
- Forge Config API Port (только Fabric)
Опциональные зависимости
- Adventure Platform Mod
- Ember's Text API
- Impactor
- LuckPerms
- Minecraft SQLite JDBC
- Minecraft MySQL JDBC
- Fabric Permissions API (только Fabric)
Совместимость версий
| Версия Minecraft | Версия мода |
|---|---|
| 1.21.1 | 1.x.x |
Быстрый старт для разработчиков
Версии для разработки и исходники Matthiesen Core доступны в Matthiesen Dev Maven.
Gradle
Шаг 1: Добавьте репозиторий Maven в ваш файл build.gradle.kts
repositories {
maven("https://maven.matthiesen.dev/releases") {
name = "devMatthiesenMaven-releases"
}
// For Snapshot versions, also include the snapshots repository
maven("https://maven.matthiesen.dev/snapshots") {
name = "devMatthiesenMaven-snapshots"
}
}Шаг 2: Добавьте свойство версии в ваш файл gradle.properties
matthiesen_core_version=1.x.x
> Примечание: Замените `1.x.x` на последнюю версию Matthiesen Core. Последнюю версию можно найти на [Matthiesen Dev Maven](https://maven.matthiesen.dev) или посмотреть в таблице ниже.
| Тип релиза | Бейдж версии |
|--------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| Последний релиз | [](https://maven.matthiesen.dev/#/releases/dev/matthiesen/) |
**Шаг 3**: Добавьте зависимость в файл `build.gradle.kts`
```kotlin
// В common/build.gradle.kts
dependencies {
modImplementation("dev.matthiesen:matthiesen-core-common:${property("matthiesen_core_version")}") {
isTransitive = false
}
}
// В fabric/build.gradle.kts
dependencies {
modImplementation("dev.matthiesen:matthiesen-core-fabric:${property("matthiesen_core_version")}") {
isTransitive = false
}
}
// В neoforge/build.gradle.kts
dependencies {
modImplementation("dev.matthiesen:matthiesen-core-neoforge:${property("matthiesen_core_version")}") {
isTransitive = false
}
}Шаг 4: Настройка зависимости для конкретного загрузчика
Для Fabric и NeoForge вам нужно добавить соответствующую зависимость для конкретного загрузчика в файл метаданных вашего мода (например, fabric.mod.json для Fabric или neoforge.mods.toml для NeoForge). Это гарантирует, что правильная версия Matthiesen Core будет загружена вместе с вашим модом.
Пример для Fabric (fabric.mod.json):
{
"depends": {
"matthiesen_core": ">=1.x.x"
}
}Пример для NeoForge (neoforge.mods.toml):
[[dependencies.yourmodid]]
modId = "matthiesen_core"
type = "required"
versionRange = "[1.x.x,)"
ordering = "AFTER"
side = "BOTH"Шаг 5: Синхронизируйте проект и настройте общую кодовую базу мода для использования API Matthiesen Core для регистрации контента, обработки событий, сетевого взаимодействия и других функций.
AbstractCommonMod: Наследуйте класс AbstractCommonMod в общей кодовой базе вашего мода, чтобы использовать основные функции Matthiesen Core. Этот класс предоставляет основу для вашего мода, позволяя вам сосредоточиться на реализации уникальных функций вашего мода, пока Matthiesen Core занимается деталями, специфичными для платформы.
package com.example.mymod;
import dev.matthiesen.matthiesen_core.common.AbstractCommonMod;
import dev.matthiesen.libs.faststats.Token;
public final class ExampleModCommon extends AbstractCommonMod {
public static final String MOD_ID = "examplemod";
public static final String MOD_NAME = "Example Mod";
public static @Token final String METRICS_TOKEN = ""; // Предоставляется FastStats.dev (необязательно, можно указать null, чтобы отключить метрики для вашего мода)
public static final ExampleModCommon INSTANCE = new ExampleModCommon();
private ExampleModCommon() {
super(MOD_ID, MOD_NAME);
}
@Override
public @Nullable @Token String getMetricsToken() {
return METRICS_TOKEN;
}
@Override
public void initialize() {
super.initialize();
createInfoLog("Initializing Example Mod Common...");
}
}AbstractCommonClientMod: Наследуйте класс AbstractCommonClientMod в кодовой базе клиентского мода, чтобы использовать клиентские функции Matthiesen Core. Этот класс предоставляет основу для вашего клиентского мода, позволяя вам сосредоточиться на реализации уникальных клиентских функций вашего мода, пока Matthiesen Core занимается деталями, специфичными для платформы.
package com.example.mymod.client;
import dev.matthiesen.matthiesen_core.common.AbstractCommonClientMod;
import com.example.mymod.ExampleModCommon;
public final class ExampleModCommonClient extends AbstractCommonClientMod {
public static final ExampleModCommonClient INSTANCE = new ExampleModCommonClient();
private ExampleModCommonClient() {
super(ExampleModCommon.INSTANCE);
}
@Override
public void initialize() {
createInfoLog("Initializing Example Mod Common Client logic...");
}
}Дополнительные материалы
Документацию по этому моду можно найти на mods.matthiesen.dev
Метрики FastStats
Этот мод использует FastStats для сбора анонимной статистики использования. Это помогает разработчику понимать, как используется мод, и со временем улучшать его. Подробнее о собираемых данных и их использовании можно узнать, посетив FastStats: Information.
Также вы можете просмотреть данные, собранные этим модом, на странице FastStats: Matthiesen Core.
Чтобы отказаться от сбора этих данных, установите свойство enabled в значение false в файле <game_directory>/config/matthiesen_core/metrics.properties.
Лицензия
MIT — см. LICENSE.
Частые вопросы
Как установить Matthiesen Core?
Установите Fabric под свою версию Minecraft, скачайте Matthiesen Core под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Matthiesen Core?
У Matthiesen Core есть сборки для Minecraft 1.21.1.
Нужен ли Matthiesen Core на сервере?
Нужен и в игре, и на сервере