- Загрузчики
- Forge
- Скачиваний на Modrinth
- 2,1 тыс.
- Подписчиков на Modrinth
- 3
- версий
- 11
- Обновлён
- 6 сентября 20266 сент.
- Опубликован
- в 2026
Коротко о моде
Работает и в игре, и на сервере — ставьте, где нужен
FentLib
Общая библиотека кода и мод с твиками/фиксами.

Возможности
- Поддержка анимированных GIF-иконок сервера. Просто положите файл
server-icon.gifв корневую папку сервера. Ограничения по размеру настраиваются. HodgePodge — мягкая зависимость, нужна, если хотите использовать большие GIF (из-за лимита размера пакета).
Используйте команду /reload_iconдля перезагрузки иконки. Также работает дляserver-icon.png. - Удаление кнопки Info от EnderCore / HodgePodge на экране списка модов.
- API для изменения пакета
S00PacketServerInfo. Пример:
public class ClientProxy extends CommonProxy {
@Override
public void preInit(FMLPreInitializationEvent event) {
S00PacketServerInfoModifyService.registerDeserializeHandler((response, fentlibData, serverData) -> {
if (fentlibData.has("server_to_client_payload")) {
// Yoohoo we got something back!!!!
// serverData contains stuff like server IP
}
});
}
}
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
if (MiscUtil.isServer()) {
S00PacketServerInfoModifyService.registerHandler((response, fentLibPresent) -> {
// fentLibPresent is just a boolean indicating whether fentlib is loaded
return "server_to_client_payload";
// You can return a String, a S00PacketServerInfoModifyService.KeyValue, or a JsonElement. If you return
// a non-null value, it will be passed back to the client
});
}
}
}- Команда `/dump_thaumonomicon `. Запустите её с клиента, и все исследования Thaumcraft будут выгружены в виде статического сайта. Комментарий будет виден под заголовком страницы, и вы можете указать сборку или моды, с которыми делался дамп.

- Команда
/warpdim[dimension ID]. Безболезненное перемещение в измерение (предназначено для отладки). SessionAccessTokenOverrideMixinпозволяет переопределить токен доступа сессии в dev-запусках через `-Dfentlib.accessTokenOverride=`.- Клиентские утилиты для звука, позволяющие задать собственную максимальную дистанцию затухания без увеличения громкости звука. Методы:
SoundUtil.withMaxDistance(ISound sound, float maxDistance);
SoundUtil.playWithMaxDistance(ISound sound, float maxDistance);
SoundUtil.playWithMaxDistance(SoundHandler soundHandler, ISound sound, float maxDistance);
SoundUtil.playAt(ResourceLocation soundResource, double x, double y, double z, float volume, float pitch, float maxDistance);Пример:
SoundUtil.playAt(waveSound, x, y, z, 0.25F, 1.0F, 64.0F);- Обратное проксирование HTTP на порту Minecraft для локальных веб-интерфейсов. Настройте сопоставления путей и портов в
config/fentlib/http-port-routes.json, чтобы к сервисам вроде Dynmap можно было попасть через порт сервера, например/dynmap/..., вместо отдельных портов. УстановитеpublicBaseUrlвconfig/fentlib/fentlib.cfgв публичный базовый URL сервера; моды должны добавлять свои относительные пути маршрутов поверх него. - Поддержка формата изображений QOI и утилиты благодаря saharNooby/qoi-java. Пример использования смотрите в реализации поддержки
server-icon.qoi. - Поддержка формата изображений WebP и утилиты благодаря haraldk/TwelveMonkeys. Пример использования смотрите в реализации поддержки
server-icon.webp. - Путь к иконке сервера по умолчанию можно настроить с помощью опции конфига
serverIconDirectory.
Настройка добычи с рыбалки
Установите enableFishingLootTable=true в config/fentlib/fentlib.cfg, чтобы включить переопределение рыбалки от FentLib. Таблица добычи находится в config/fentlib/fishing-loot.json. Когда это включено, ванильная игра всё ещё решает, будет ли улов fish, junk или treasure, но сам предмет берётся только из этого JSON.
В JSON есть списки верхнего уровня fish, junk и treasure. Каждая запись использует ванильный weight, поддерживает диапазоны count и meta, может быть ограничена белым списком биомов через biomes или инвертирована в чёрный список с помощью invertBiomes, а селекторы биомов могут быть числовыми ID, названиями биомов или * для совпадения с любым биомом. Записи также могут использовать явные числовые ID зачарований или useVanillaEnchantingRules для ванильного случайного зачарования.
{
"fish": [
{
"item": "minecraft:fish",
"weight": 60,
"count": { "min": 1, "max": 1 },
"meta": { "min": 0, "max": 0 }
},
{
"item": "minecraft:fish",
"weight": 10,
"count": { "min": 1, "max": 2 },
"meta": { "min": 1, "max": 1 },
"biomes": ["ocean", "river"]
}
]
}Зависимости
Сборка
./gradlew build.
Благодарности
Лицензия
LGPLv3.
Угостите меня кофе
- ko-fi.com
- Monero:
893tQ56jWt7czBsqAGPq8J5BDnYVCg2tvKpvwTcMY1LS79iDabopdxoUzNLEZtRTH4ewAcKLJ4DM4V41fvrJGHgeKArxwmJ

Частые вопросы
Как установить FentLib?
Установите Forge под свою версию Minecraft, скачайте FentLib под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть FentLib?
У FentLib есть сборки для Minecraft 1.7.10.
Нужен ли FentLib на сервере?
Работает и в игре, и на сервере — ставьте, где нужен





