Simple Byte Storage

Система хранения и автокрафта для Minecraft. Один предмет — один байт, и никакого лимита на количество типов предметов. A storage and autocrafting mod for Minecraft. One item is one byte, and there is no limit on the number of item types.

Minecraft 1.20.1 Forge 47.2.0+ Java 17 ВерсияVersion 1.2.0 MIT

Новое в 1.2.0What's new in 1.2.0

Журнал автокрафта, резерв ресурсов, питание машин от сети, предупреждения о нехватке и намного более богатый API скриптов.An autocrafting journal, resource reservation, machine power from the network, shortage warnings and a much larger scripting API.

Вкладка «Журнал»Journal tab

Последние события автокрафта: заказы, завершённые крафты, запуски на шинах, правила запаса, отмены и зависшие машины.Latest autocrafting events: orders, finished crafts, Pattern Bus starts, stock-rule orders and failures, cancellations and stuck machines.

Резерв ресурсовResource reservation

Сырьё принятого заказа бронируется: терминалы, I/O-шины и беспроводной терминал его не заберут. Отмена снимает резерв.Raw materials of an accepted order are reserved: terminals, I/O buses and the Wireless Terminal cannot take them. Cancelling releases them.

Питание машинMachine power

Шина шаблонов и новый Энергоинтерфейс заряжают соседние машины энергией сети.The Pattern Bus and the new Energy Interface charge adjacent machines from network energy.

Предупреждения о нехваткеShortage warnings

Причина сбоя правила запаса видна в подсказке над красным «!», а после трёх неудач приходит сообщение в чат. Зависший Асемблер попадает в журнал.Stock-rule failure reasons show in a tooltip over the red “!”, with a chat message after 3 failures in a row. A stuck Assembler is logged and reported.

API скриптовScripting API

Информация о сети, планирование, управление очередью, правила запаса, настройки рецептов, журнал и чат-оповещения.Network info, planning, order queue control, stock rules, recipe settings, the journal and chat alerts.

API для аддоновAddon API

Стабильный фасад NetworkControl для сторонних аддонов.A stable NetworkControl facade for third-party addons.

Полные заметки релиза →Full release notes →

Идея модаThe idea

Во многих системах хранения ячейка ограничена не только числом предметов, но и числом уникальных типов. Здесь второго лимита нет. In many storage systems a cell is limited not only by the number of items but also by the number of unique types. Here the second limit does not exist.

Без лимита типовNo item-type limit

В одну ячейку помещаются сотни разных предметов, пока не закончится её байтовая ёмкость.A single cell can hold hundreds of different items until its byte capacity runs out.

1 предмет = 1 байт1 item = 1 byte

Прозрачное правило: стак в 64 булыжника стоит 64 байта, как и 64 разных предмета по одной штуке.A simple rule: a stack of 64 cobblestone costs 64 bytes, and so do 64 different single items.

used_bytes = Σ item_count
Пример: ячейка 1k (1024 байта) вмещает 500 булыжника + 400 земли + 124 алмаза = ровно 1024 предмета. Example: a 1k cell (1,024 bytes) holds 500 cobblestone + 400 dirt + 124 diamonds = exactly 1,024 items.

Ячейки храненияStorage cells

Картриджи с цветными кристаллами данных. Накопитель вмещает до 10 ячеек, а содержимое всех дисков объединяется в один виртуальный пул сети. Cartridges with colour-coded data crystals. A Drive holds up to 10 cells, and the contents of all cells merge into one virtual pool for the network.

1k
1k
1 024 байтаbytes · зелёныйgreen
4k
4k
4 096 байтbytes · синийblue
16k
16k
16 384 байтаbytes · фиолетовыйpurple
64k
64k
65 536 байтbytes · оранжевыйorange

ПриоритетPriority

При вставке сначала заполняются накопители с более высоким приоритетом. Shift меняет шаг на ±10.On insert, higher-priority drives fill first. Hold Shift to step by ±10.

Белый списокWhitelist

9 фильтр-слотов на накопитель: пустой список принимает всё. Так можно сортировать, например, руды в отдельный диск.9 filter slots per drive: an empty list accepts everything. Use it to route, say, ores into a dedicated drive.

Блоки сетиNetwork blocks

Устройства соединяются, просто касаясь друг друга или через кабели. В сети должен быть ровно один контроллер с энергией FE. Devices connect by touching each other or through cables. A network needs exactly one controller supplied with FE.

Контроллер сетиNetwork Controller

Сердце сети. Буфер 100 000 FE, приём до 2 000 FE/т. Интерфейс с вкладками: обзор, склад, крафт, запас, рецепты и журнал событий.The heart of the network. 100,000 FE buffer, up to 2,000 FE/t input. GUI tabs for overview, storage, crafting queue, stock rules, recipes and an event journal.

НакопительDrive

До 10 ячеек, приоритет и белый список. Все диски сливаются в общий пул.Up to 10 cells, with priority and a whitelist. All cells merge into one pool.

ТерминалTerminal

Доступ ко всему пулу: поиск, прокрутка, индикатор байтов, Shift-клик, сортировка и заказ автокрафта прямо из списка.Access to the whole pool: search, scrolling, byte usage bar, Shift-click, sorting, and ordering crafts straight from the list.

Терминал крафтаCrafting Terminal

Терминал с сеткой 3×3. Ингредиенты берутся из сети, результат идёт сразу в инвентарь.A Terminal with a 3×3 grid. Ingredients come from the network, the result goes straight to your inventory.

I/O-шинаI/O Bus

Импорт из соседнего инвентаря в сеть или экспорт с поддержанием нужного количества. 64 предмета за цикл, 9 фильтр-слотов.Imports from a neighbouring inventory or exports while keeping a target amount stocked. 64 items per cycle, 9 filter slots.

ЭнергоинтерфейсEnergy Interface

Подключается кабелем и заряжает соседние машины с энергобуфером от энергии сети, до 1000 FE/т. Сеть оставляет запас, чтобы машины её не обесточили.Connects by cable and charges adjacent machines that have an energy buffer from network power, up to 1000 FE/t. The network keeps a reserve so machines cannot black it out.

КабельCable

Соединяет блоки, которые не стоят вплотную.Connects blocks that do not touch.

Состояния сетиGrid states

ONLINE — сеть активна, питание стабильноnetwork active, power stable
OFFLINE — сеть обесточенаnetwork has no power
CONFLICT — два контроллера в одной сетиtwo controllers in one network

АвтокрафтAutocrafting

Два вида крафта: обычный (верстак) выполняет Асемблер, процессный (печи, другие машины) — Шина шаблонов. Two kinds of crafts: crafting-table recipes run in the Assembler, processing recipes (furnaces, other machines) run through a Pattern Bus.

Кодирование рецептаEncode recipe→ Заказ в терминалеOrder in terminal→ План с под-крафтамиPlan with sub-crafts→ Асемблер / ШинаAssembler / Bus→ Результат в сетьResult to network

Терминал кодированияPattern Encoding Terminal

Рецепты верстака записываются в сеть сразу, без шаблона. Для процессных крафтов нужен предмет «Шаблон». Есть кнопка «+» в JEI.Crafting-table recipes go straight into the network, no pattern item needed. Processing crafts use a physical Pattern. JEI “+” button supported.

Терминал шаблоновPattern Terminal

Список всех рецептов сети, фильтр «Готовые», заказ ×1 / ×10 / ×64, окно подтверждения с планом и нехваткой.All network recipes, a “Ready” filter, orders ×1 / ×10 / ×64, and a confirmation window showing the plan and what is missing.

АсемблерAssembler

Использует любую ячейку как буфер. 4 слота Карт скорости (от 40 до 8 тиков на крафт), очередь до 9 999.Uses any cell as its buffer. 4 Speed Card slots (40 down to 8 ticks per craft), queue up to 9,999.

Шина шаблоновPattern Bus

9 слотов шаблонов, работает с печью или любой машиной с инвентарём. Есть режим обучения: прогоните рецепт вручную один раз.9 pattern slots, works with a furnace or any machine with an item handler. A learning mode records a recipe you run by hand once.

Возможности последних версийRecent highlights

Библиотека рецептовRecipe Library

Улучшение контролера: сеть знает все рецепты верстака без записи шаблонов.A controller upgrade: the network knows every crafting-table recipe without recording patterns.

Очередь и приоритетыQueue & priorities

Прогресс, оценка времени, приоритет −9…+9, пауза и отмена заказов.Progress, ETA, priority −9…+9, pause and cancel for each order.

Правила запасаStock rules

До 8 правил «держать не менее N»: сеть сама заказывает нехватку.Up to 8 “keep at least N” rules: the network orders the shortfall by itself.

Расширенный поиск в терминалахAdvanced terminal search

ЗапросQueryЗначениеMeaning
ironчасть названия предметаpart of the item name
@modидентификатор мода содержит modmod id contains mod
#tagу предмета есть тег tagitem has a tag containing tag
>100 <100 =100количество на складеstored amount
$craftable $stock $favможно скрафтить / есть в сети / избранное (Alt + клик)craftable / in stock / favorites (Alt + click)

Несколько слов работают вместе, например:Several words combine, for example: @minecraft #ingots >64

Беспроводной терминалWireless Terminal

Портативный доступ к сети. Привязывается и заряжается в слоте контроллера (20 000 FE, 100 FE за открытие), открывается ПКМ в воздухе, настройки — Shift + ПКМ. Handheld network access. It binds and charges in the controller's slot (20,000 FE, 100 FE per opening); right-click in the air to open, Shift + right-click for settings.

Карта автообменаAuto-Transfer Card

Пополняет предметы в руках из сети и собирает подобранное в сеть.Restocks items in your hands from the network and sends pickups into it.

Карта страхованияInsurance Card

Вещи после смерти уходят в сеть и возвращаются при возрождении.Items you'd drop on death go into the network and come back on respawn.

Карта инструментовTool Card

Сломанный инструмент автоматически заменяется таким же из сети.A broken tool is replaced with the same kind from the network.

Карта макросаMacro Card

Клавиша (по умолчанию V) запускает Логические шины по ID. Нужен аддон Scripting.A hotkey (V by default) runs Logic Buses by ID. Needs the Scripting addon.

Simple Byte Storage: Scripting (необязательный аддонoptional addon)

Добавляет Логическую шину и Логический терминал: управляйте предметами сети на JavaScript. Скрипт видит соседние инвентари и сеть, умеет планировать крафты, управлять очередью и правилами запаса, пишет в журнал и работает в песочнице (Rhino, без доступа к Java-классам, с лимитами инструкций и времени). Adds a Logic Bus and a Logic Terminal so you can drive your network with JavaScript. Scripts see adjacent inventories and the network, can plan crafts, control the queue and stock rules, write to the journal, and run in a sandbox (Rhino, no Java class access, instruction and time limits).

var chest = side("up");
function tick() {
  if (!chest) return;
  chest.pull("minecraft:iron_ingot");              // inventory -> network
  if (net.count("minecraft:iron_ingot") > 500) {
    log("lots of iron");
  }
  if (net.count("minecraft:stick") < 64) net.craft("minecraft:stick", 64);
}

API:API: net.count net.craft net.canCraft net.plan net.queue net.energy stock.set recipes.* journal.write alert side(dir) pull push move

УстановкаInstallation

Нужны Minecraft 1.20.1, Forge 47.2.0+ и Java 17. JEI необязателен.Requires Minecraft 1.20.1, Forge 47.2.0+ and Java 17. JEI is optional.

  1. Установите Forge для Minecraft 1.20.1.Install Forge for Minecraft 1.20.1.
  2. Скачайте simple_bytestorage-<версия>.jar со страницы Releases и положите в папку mods. Для скриптов добавьте и simple_bytestorage_scripting-<версия>.jar.Download simple_bytestorage-<version>.jar from Releases and drop it into mods. Add simple_bytestorage_scripting-<version>.jar too if you want scripting.
  3. На сервере ставьте те же файлы на сервер и на каждого клиента, версии должны совпадать.On a server, install the same files on the server and every client; versions must match.
  4. Скрафтите Справочник (книга + кабель): внутриигровое руководство.Craft the Guide Book (book + cable) for an in-game manual.

Первая сеть за пять минутYour first network in five minutes

  1. Поставьте Контроллер и подайте на него FE от любого генератора.Place a Controller and feed it FE from any generator.
  2. Рядом поставьте Накопитель и вставьте ячейки (до 10).Place a Drive next to it and insert cells (up to 10).
  3. Поставьте Терминал, откройте его и Shift-кликом кладите предметы из инвентаря.Place a Terminal, open it, and Shift-click items from your inventory.