Next revision | Previous revision |
ru:faq:expert [2020/07/01 17:55] – created magicsweet | ru:faq:expert [2022/02/11 19:38] (current) – furnygo |
---|
====== Frequently Asked Questions: Expert Mode ====== | ====== Часто задаваемые вопросы: для экспертов ====== |
| |
This is the "expert/technical" extension of the user FAQ. | Это "техническое/для экспертов" расширение "ЧАВО для пользователей". |
| |
===== Interoperability ===== | ===== Совместимость ===== |
| |
==== What's the progress on Bukkit/Spigot/Paper support? ==== | ==== На какой стадии находится поддержка Bukkit/Spigot/Paper? ==== |
| |
There is some experimental functionality available in Loader's 0.5.0 development branch to run Fabric Loader on top of Paper specifically, but there are many caveats pertaining to Bukkit API's deficiencies (such as hardcoding the list of blocks/items in an enum, making it very difficult to support modded blocks or items). This will probably never be officially supported and should be treated more as a curiosity/special-case scenario. | Существуют экспериментальные функции в загрузчике версии 0.5.0, которые позволят запустить Fabric вместе с Paper. Однако, также много подводных камней из-за специфики Bukkit API (например, предметы закреплены в enum, что делает очень сложной поддержку пользовательских блоков или предметов). Скорее всего, официальной поддержки насчёт этого никогда не будет, и будет она существовать только в каких-то нетривиальных случаях. |
| |
==== Can Fabric be made to run together with Sponge? ==== | ==== Может ли Fabric запуститься и работать вместе со Sponge? ==== |
| |
The best approach here would be to port SpongeCommon and a modified version of SpongeVanilla as a Fabric mod implementing the Sponge API. As Fabric is using a fork of SpongePowered Mixin at its core, this is made somewhat easier - but the mappings differences make up for this, so to say. | Лучшим решением в этом моменте будет портирование SpongeCommon и модифицированной версии SpongeVanilla как мод Fabric, реализующий Sponge API. Так как Fabric использует форк SpongePowered Mixin в качестве своего ядра - эта задача не кажется такой сложной, но различия mapping'ах дают о себе знать. |
| |
==== Why does Fabric API break OptiFine shaders? ==== | ==== Почему Fabric API делает шейдеры OptiFine неработоспособными? ==== |
| |
The rendering patch Fabric API uses, Indigo, assumes (for performance and code simplicity reasons) that the vanilla vertex format is kept intact. Mods generally don't change it, however ShadersMod and similar mods are a popular exception. As such, Indigo doesn't play nicely with it as-is. | Патч рендеринга Fabric API, используемый Indigo, предполагает (по соображениям производительности и простоты кода), что формат ванильных вершин остается неизменным. Моды обычно не меняют его, однако ShadersMod и подобные моды являются популярным исключением. Таким образом, Индиго не очень хорошо сочетается с ним как есть. |
| |
Solutions for this have been looked into, but not yet functional. In addition, some of the unofficial mod projects are trying to work on one themselves. The current workarounds will not work in the presence of content mods which actually make use of Fabric's rendering API. | Решения для этого были рассмотрены, но пока не функционируют. Кроме того, некоторые неофициальные проекты модов пытаются работать над одним из них самостоятельно. Текущие обходные пути не будут работать при наличии модов контента, которые фактически используют API рендеринга Fabric. |
| |
===== Interoperability (Retro) ===== | ===== Совместимость (Retro) ===== |
| |
==== What versions does Fabric actually run on? ==== | ==== На каких версиях запускается Fabric? ==== |
| |
In theory, there is nothing stopping you from running Fabric's mod loader on any version of Minecraft, under any obfuscation layer, all the way down to c0.0.11a. However, Yarn mappings don't exist for most of these versions - as such, making mods is made... a tad more complicated. | Теоретически, ничто не мешает вам запустить загрузчик модов Fabric в любой версии Minecraft, под любым слоем запутывания, вплоть до c0.0.11a. Однако сопоставления Yarn не существуют для большинства этих версий - создание модов производится... немного сложнее. |
| |
==== Can Fabric run on older Minecraft versions with mods? ==== | ==== Может ли Fabric запускаться с модами на старых версиях Minecraft? ==== |
| |
Yes! Generally, all JAR mods (such as old versions of OptiFine, or Better Than Wolves) should work fine, and allow the same degree of moddability you'd get with an unmodded version of Minecraft. However, there are some special notes: | Да! Как правило, все моды JAR (такие как старые версии OptiFine или лучше, чем Wolves) должны работать нормально и обеспечивать ту же степень возможности модификации, которую вы получили бы с неизмененной версией Minecraft. Однако есть несколько особых замечаний: |
| |
For most pre-1.13 mod loaders, you must enable //compatibility mode// in Fabric Loader, by adding the JVM flag ''%%-Dfabric.loader.useCompatibilityClassLoader=true%%''. | Для большинства загрузчиков модов до версии 1.13 необходимо включить //режим совместимости// в загрузчике Fabric, добавив JVM флаг ''%%-Dfabric.loader.useCompatibilityClassLoader=true%%''. |
| |
With regards to running Minecraft Forge: | Что касается запуска Minecraft Forge: |
| |
* 1.6 ~ 1.12.2: While Fabric used to run on top of LaunchWrapper, this functionality is currently unmaintained and in need of rework. | * 1.6 ~ 1.12.2: В то время как Fabric раньше работал поверх LaunchWrapper, эта функциональность в настоящее время не поддерживается и нуждается в доработке. |
* 1.3.1 ~ 1.5.2: Not currently planned. | * 1.3.1 ~ 1.5.2: В настоящее время не планируется. |
* 1.2.5 and below: Functional, just like ModLoader. | * 1.2.5 и ниже: Функциональный, как и ModLoader. |
| |
With regards to running ModLoader: No known problems. | Что касается запуска ModLoader: Никаких известных проблем. |
| |
===== Philosophy ===== | ===== Философия ===== |
| |
==== Why did you create your own mappings instead of utilizing MCP or Spigot's existing mappings? ==== | ==== Почему вы сделали свои собственные mapping'и, а не взяли наработки MCP или Spigot? ==== |
| |
With regards to the Mod Coder Pack, MCP: | Что касается Mod Coder Pack, MCP: |
| |
* MCP's mappings have no clear licensing terms between the old MCP license ([[https://minecraft.gamepedia.com/Programs_and_editors/Mod_Coder_Pack#License_and_terms_of_use|as preserved on the Minecraft Gamepedia]]) and the new MCPConfig repository. In contrast, Yarn is [[https://github.com/FabricMC/yarn/blob/1.14.4/LICENSE|CC0-licensed]] and free to use, modify and redistribute as necessary. | * Маппинги MCP не всегда обновляются для каждой не являющейся "релизной" версии Minecraft. |
* While other projects like OptiFine and Sponge utilize MCP, redistributing MCP mappings - which is forbidden without explicit permission - is necessary to support SRG-obfuscated mods, something [[https://github.com/MinecraftForge/MinecraftForge/blob/1.14.x/LICENSE.txt#L32-L35|only done by Forge]]. | * Маппинги MCP имеют процесс обновления, который, по нашему мнению, мы считаем недостаточно открытым для проверки кода, используя [[http://mcpbot.bspk.rs/|IRC отправки ботов]] через систему запросов на слияние. (Однако это в значительной степени вопрос предпочтений.) |
* Even if we had been granted permission, it is unlikely that we would be freely able to extend this permission to other developers. This would go against Fabric's core values of development freedom and transparency. | |
* MCP's mappings are not always updated to every non-"release" Minecraft version, nor are others generally allowed to do it themselves. This would forbid Fabric from updating to snapshots or other experimental releases. | |
* Additionally, MCP's updating toolchain - as of the last few years - relies on proprietary Mojang information, not accessible to common users, as well as software without clear licensing terms. In contrast, Fabric's updating toolchain relies solely on free software tools (Stitch, Matcher, Tiny-Remapper, Enigma), and the artifacts of the process - just like the mappings - are publicly available. | |
* MCP's mappings have an updating process we consider insufficiently open to code review, in our opinion, utilizing [[http://mcpbot.bspk.rs/|IRC bot submissions]] over a merge request system. (However, this is largely a matter of preference.) | |
| |
With regards to Spigot: | |
| |
* Spigot's mappings only cover the server side and are very incomplete, | |
* Spigot's mappings suffer from similar licensing issues as MCP. | |
| |
| Что касается Spigot: |
| |
| * Маппинги Spigot охватывают только серверную часть и являются очень неполными, |
| * Маппинги Spigot страдают от тех же проблем с лицензированием, что и MCP. |