

Packed Inventory
Активный0.0
Установок
Последнее обновление
Версии
Packed Inventory
Мод для Minecraft, который решает проблему постоянно растущего беспорядка в инвентаре, позволяя управлять содержимым шалкеровых ящиков, эндер-сундуков и других контейнеров прямо из вашего инвентаря.
Основные возможности
- Управление содержимым шалкеровых ящиков без необходимости их размещения
- Доступ к эндер-сундуку прямо из инвентаря
- Быстрая передача предметов в контейнеры и обратно
- Использование верстаков, камнерезов и других рабочих станций из инвентаря
- Информативные подсказки для шалкеровых ящиков, эндер-сундуков и карт
- Поддержка предметов с NBT-данными, полученных в творческом режиме
- Простой API для разработчиков модов
Функциональность как у связок
Предметы с инвентарем (шалкеровые ящики, эндер-сундуки и другие) получают функциональность, похожую на связки, позволяя быстро перемещать предметы.
Для помещения предметов в контейнер:
- Возьмите контейнер и нажмите
k
на предметах - Возьмите контейнер и нажмите
k
на других контейнерах - Возьмите предметы и нажмите
k
на контейнере
Для извлечения предметов:
- Возьмите контейнер и нажмите
k
на пустых слотах - Возьмите контейнер и нажмите
l
илиctrl + k
на слотах - Нажмите
l
илиctrl + k
на контейнере
Для выброса всех предметов:
- Возьмите контейнер, вынесите за пределы инвентаря и нажмите
k
Подсказки
Мод добавляет информативные подсказки для различных предметов:
- Подсказки для контейнеров
- Цветные подсказки для контейнеров
- Компактные подсказки
- Подсказки для заполненных карт
Настройка управления
Клавиши можно настроить в меню управления игры:
- Откройте
Настройки
- Выберите
Управление
- Перейдите в
Назначение клавиш
- Найдите раздел
Packed Inventory
- Настройте нужные клавиши
Название | Описание | По умолчанию |
---|---|---|
Взаимодействие с предметом |
Открывает экран предмета или управляет содержимым | k |
Переключение режима взаимодействия |
Изменяет поведение основной клавиши | Левый Ctrl |
Извлечение из предмета |
Извлекает предметы из контейнера | l |
Инверсия видимости подсказок |
Переключает отображение подсказок | Левый Shift |
Инверсия компактного режима |
Переключает компактный режим подсказок | c |
Конфигурация
При наличии мода Cloth Config можно настроить поведение Packed Inventory через файл ./config/packed-inventory.json
:
{
"defaultTooltipConfig": {
"showWhenEmpty": false,
"rows": -1,
"columns": -1,
"usePredefinedColor": false,
"enable": true,
"compact": false
},
"tooltips": {
"minecraft:shulker_box": {
"showWhenEmpty": false,
"rows": -1,
"columns": -1,
"usePredefinedColor": false,
"enable": true,
"compact": false
},
"minecraft:ender_chest": {
"syncInterval": 5000,
"showWhenEmpty": false,
"rows": -1,
"columns": -1,
"usePredefinedColor": false,
"enable": true,
"compact": false
},
"minecraft:filled_map": {
"size": 128,
"enable": false,
"compact": false
}
},
"defaultValidationConfig": {
"suppressValidationInCreative": true,
"requiresPlayerOnGround": true,
"enable": true
},
"validation": {
"minecraft:shulker_box": {
"suppressValidationInCreative": true,
"requiresPlayerOnGround": true,
"enable": true
},
"minecraft:ender_chest": {
"requiresSilkTouch": true,
"suppressValidationInCreative": true,
"requiresPlayerOnGround": true,
"enable": true
}
}
}
Для разработчиков
Установка зависимости
Добавьте Packed Inventory как зависимость в ваш проект:
build.gradle
:
repositories {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
modImplementation "maven.modrinth:packed-inventory:${project.packed_inventory_version}"
}
gradle.properties
:
packed_inventory_version=/ версия (например, 0.3.0+1.20.3) /
Точки входа
API предоставляет две точки входа для интеграции:
Название | Описание | Интерфейс | Сторона |
---|---|---|---|
packed-inventory |
Запускается первой в любой среде | PackedInventoryInitializer |
* |
packed-inventory-client |
Запускается только на клиенте | PackedInventoryClientInitializer |
client |
fabric.mod.json
:
{
"entrypoints": {
"packed-inventory": [
"a.b.c.MyMod"
],
"packed-inventory-client": [
"a.b.c.MyClientMod"
]
}
}
Представления инвентаря
Основная концепция мода - представления инвентаря, позволяющие редактировать содержимое предметов без их размещения.
Пример регистрации просмотрщика для эндер-сундука:
public class MyMod implements PackedInventoryInitializer {
@Override
public void registerInventoryViewers(InventoryViewerRegistry registry, PackedInventoryApiConfig config) {
registry.register(
(inventory, slot, player) -> player.getEnderChestInventory(),
Items.ENDER_CHEST
);
}
}
Валидация действий
Для установки ограничений можно использовать валидаторы:
public class MyMod implements PackedInventoryInitializer {
@Override
public void registerInventoryViewers(InventoryViewerRegistry registry, PackedInventoryApiConfig config) {
registry.register(
(inventory, slot, player) -> player.getEnderChestInventory(),
InventoryValidators.IS_IN_CREATIVE.or(
InventoryValidators.IS_ON_GROUND.and(InventoryValidators.HAS_PICKAXE_WITH_SILK_TOUCH)
),
Items.ENDER_CHEST
);
}
}
Подсказки для разработчиков
Регистрация провайдера подсказок для эндер-сундука:
public class MyClientMod implements PackedInventoryClientInitializer {
@Override
public void registerTooltipProviders(TooltipProviderRegistry registry, PackedInventoryApiConfig config) {
registry.register(
TooltipProvider.builder()
.useSyncData(GenericContainerTooltipSyncData::of)
.tooltipData((stack, context, syncData) -> GenericContainerTooltipData.of(syncData.getInventory()))
.build(),
Items.ENDER_CHEST
);
}
}
Установка
Требования:
- Minecraft
1.20.x
- Fabric Loader
>=0.15.0
- Fabric API
>=0.83.0
Сборка из исходников
Требования:
- JDK
17
Linux/MacOS:
git clone https://github.com/Kir-Antipov/packed-inventory.git
cd packed-inventory
chmod +x ./gradlew
./gradlew build
cd build/libs
Windows:
git clone https://github.com/Kir-Antipov/packed-inventory.git
cd packed-inventory
gradlew build
cd build/libs