Мод-библиотека для управления сервером для Майнкрафт 1.19.2 / 1.18.2 (KubeJS)
Модификация KubeJS позволит вам создавать скрипты на языке Java Script, чтобы было проще управлять собственным сервером, добавлять новые блоки и предметы, изменять уже существующие рецепты крафтов и многое другое!
Описание мода
Для начала запустите игру с установленным модом один раз. Он должен сгенерировать папку kubejs в вашей папке .minecraft с примерами скриптов и README.txt.
Используйте /reload для перезагрузки server_scripts/, F3 + T для перезагрузки client_scripts/ и /kubejs reload startup_scripts для перезагрузки startup_scripts/. Если вы не заботитесь о перезагрузке рецептов, но тестируете какое-либо событие взаимодействия с миром, вы можете запустить /kubejs reload server_scripts.
Примечание: Не все можно повторно загрузить. Некоторые вещи требуют, чтобы вы перезапустили игру, некоторые только мир, некоторые работают на лету. Перезагрузка сценариев запуска не рекомендуется.
Какие рецепты модов KubeJS поддерживает?
Если мод использует рецепты datapack, то он поддерживается по умолчанию. Для некоторых более сложных модов требуются моды-аддоны, но теоретически они все равно будут работать с рецептами datapack. Смотрите раздел "Рецепты" для получения дополнительной информации. В основном, с помощью KubeJS вам становится доступно редактирование и создание рецептов, тегов, предметов, блоков, жидкостей, генерации мира, прослушивание чатов, размещение блоков и т. д.
KubeJS использует форк Rhino, движок Java Script, для преобразования JS-кода в классы Java во время выполнения. KubeJS обертывает классы minecraft и добавляет утилиты, чтобы значительно упростить это и устранить необходимость в сопоставлениях. Архитектура позволяет компилировать почти один и тот же исходный код как для Forge, так и для Fabric, что делает перенос чрезвычайно простым.
Изделие и ингредиент
При составлении рецептов вы можете указывать элементы многими способами, наиболее распространенным является просто использование namspace:id, например, minecraft: diamond, однако вы также можете использовать Item#of и Ingredient #of для дополнений.
Обратите внимание, что элемент и ингредиент - это не одно и то же! Они могут работать аналогично, но есть различия. Элемент может представлять только один тип элемента, тогда как ингредиент может представлять несколько типов элемента (и несколько экземпляров одного и того же типа элемента с разными свойствами, такими, как данные NBT). В большинстве случаев ингредиент должен быть предпочтительнее продукта.
Элемент #of полагается на перенос типа Rhinos в функцию, которая вызывает ItemStackJS#of. Это делает все возможное, чтобы превратить входные данные в ItemStackJS. Если совпадение не найдено, возвращается ItemStackJS.EMPTY.
Допустимые входные данные:
- null/ItemStack.EMPTY/Items.EMPTY/ItemStackJS.EMPTY - вернет ItemStackJS.EMPTY.
- ItemStackJS - вернет тот же объект, что и переданный.
- FluidStackJS - вернет новый DummyFluidItemStackJS.
- IngredientJS - вернет первый элемент в списке ингредиентов.
- ItemStack - вернет новый ItemStackJS, обертывающий ItemStack.
- ResourceLocation - выполнит поиск ResourceLocation в реестре элементов и вернет его, если он найден. Если не найдено, вернет ItemStackJS.EMPTY и выдаст ошибку, если значение RecipeJS.itemErrors равно true.
- ItemLike - вернет новый ItemStackJS из входных данных.
- JsonObject - вернет элемент на основе свойств в Json. Элемент будет использоваться в качестве идентификатора элемента или тега, если элемент не существует. Count, chance и nbt задают свои соответствующие свойства.
- RegEx - вернет новый ItemStackJS первого идентификатора элемента, который соответствует этому регулярному выражению.
- String (строка) - проанализирует строку и вернет новый ItemStackJS на основе идентификатора входного элемента. Префикс с nx для изменения количества (где n - любое число от 1 до 64). Поставьте # перед идентификатором элемента, чтобы вместо этого проанализировать его как тег. Поставьте @ перед идентификатором элемента, чтобы вместо этого проанализировать его как modid.
- Map/JS Object - использует те же правила, что и JsonObject.
Установка для большинства лаунчеров
2. Загрузите и установите Minecraft Forge (в большинстве лаунчеров можно установить через лаунчер)
3. Загрузите и установите мод Fabric
(выберите нужную версию игры) 4. Загруженный мод не распаковывая, скопируйте в .minecraft/mods
5. Готово! Выберите в лаунчере Forge и запустите игру
2. Загрузите и установите Minecraft Forge (можно установить через лаунчер, но версии выше 1.12.2 недоступны) 3. Загрузите и установите мод Fabric
(выберите нужную версию игры) 4. Загруженный мод не распаковывая, скопируйте в .flauncher/clients/vanilla/minecraft/mods
5. Готово! Выберите в лаунчере Forge и запустите игру