Minestom — это библиотека с открытым исходным кодом, которая позволяет разработчикам создавать собственное серверное программное обеспечение Minecraft без использования кода Mojang.
Основное различие между ванильным сервером Mojang и сервером на базе minestom заключается в том, что наш по умолчанию не содержит никаких функций! Однако у нас есть полноценный API, который позволяет вам с легкостью делать все возможное.
Это API разработчика, не предназначенный для использования конечными пользователями. Замена Bukkit/Forge/Sponge на это не сработает, поскольку мы не реализуем ни один из их API.
Minestom не устанавливается, как Bukkit/Forge/Sponge. Поскольку Minestom является библиотекой Java, ее необходимо загружать так же, как и любую другую библиотеку Java. Это означает, что вам нужно добавить Minestom в качестве зависимости, добавить свой код и скомпилировать его самостоятельно.
Minestom доступен на Maven Central и может быть установлен следующим образом (Gradle/Groovy):
repositories {
mavenCentral()
maven { url ' https://jitpack.io ' }
}
dependencies {
implementation ' net.minestom:minestom-snapshots:<???> '
}
Пример использования библиотеки Minestom доступен здесь. Альтернативно вы можете проверить официальную вики или javadocs.
Minecraft сильно изменился с момента его выпуска, большинство серверов сегодня не используют преимущества ванильных функций и даже вынуждены бороться из-за них. Наша целевая аудитория — те, кто хочет создать сервер, который мало выигрывает от ванильных функций. например креатив, китпвп. Цель состоит в том, чтобы предложить больше производительности тем, кто в ней нуждается. Другими словами, имеет смысл использовать Minestom, когда для реализации каждой недостающей ванильной функции требуется меньше времени, чем для удаления каждой ванильной функции, которая замедляет вашу работу.
Minestom не идеален, наш выбор делает его намного лучше в одних случаях и хуже в других.
Даже если мы ничего не включаем в игру по умолчанию, мы упрощаем способ их добавления, вот предварительный просмотр.
Это наша основная концепция: миры отлично подходят для выживания с друзьями, но когда они расширяются, они могут стать неуправляемыми. Лучшие примеры можно найти в Skyblock или мини-играх, где невозможно правильно разделить каждую часть и приходится сохранять все в файлах, не говоря уже о накладных расходах, вызванных содержащимися в них ненужными данными. Экземпляры - это легкое решение, позволяющее хранить каждый фрагмент только в памяти, мгновенно копировать и отправлять его другому игроку, с настраиваемой сериализацией и многим другим...
Возможность создавать экземпляры прямо на ходу является обязательной, и мы считаем, что это может продвинуть вперед гораздо больше проектов.
Экземпляры также имеют преимущества в производительности, в отличие от некоторых других, которые будут полностью однопоточными или, возможно, будут использовать один поток на мир, мы используем заданное количество потоков (пул) для управления всеми фрагментами независимо от экземпляров, что означает использование большей мощности процессора.
Минестом по умолчанию не знает, что такое сундук, вам придется сказать ему, что он открывает инвентарь. Каждому «специальному блоку» (не только визуальному) нужен специализированный обработчик. После применения этого обработчика у вас есть блок, который можно просто разместить где угодно. Однако визуально все блоки присутствуют, просто по умолчанию они не взаимодействуют.
Терминов «пассивные» или «агрессивные» монстры не существует, никто не мешает вам заставить летающую курицу бросаться на любого игрока, подошедшего слишком близко, делать это с NMS — настоящий беспорядок из-за запутанности и большого наследования.
Это область, в которой Minecraft сильно развился, инвентари теперь часто используются в качестве клиентско-серверного интерфейса с кликабельными элементами и обратным вызовом, мы поддерживаем эти взаимодействия изначально без необходимости программирования вашего решения.
Команды — это самый простой способ связи между клиентами и сервером. Поскольку в Minecraft 1.13 включена новая библиотека под названием «Бригадир», мы интегрировали API, предназначенный для использования всего потенциала типов аргументов.
#mcdevs
— исследование протоколов и форматов файлов.См. файл вклада! Все функции незавершенного производства предварительно просматриваются как черновые заявки на поставку.
Этот проект распространяется по лицензии Apache версии 2.0.