All Classes and Interfaces
Class
Description
Абстрактный базовый класс для рендеринга иконок брони в GUI.
ИСПРАВЛЕННЫЙ БАЗОВЫЙ КЛАСС
КЛЮЧЕВЫЕ ИСПРАВЛЕНИЯ:
1. shouldCull() теперь ПРАВИЛЬНО контролирует видимость (нет инверсии логики)
2.
Функциональный интерфейс для создания частиц
ВНУТРЕННИЙ КЛАСС Provider
Позволяет удобно создавать частицы через простой интерфейс
Интерфейс для безопасного получения названий частей
AbstractObjArmorLayer<T extends net.minecraft.world.entity.LivingEntity,M extends net.minecraft.client.model.HumanoidModel<T>>
Абстрактный базовый класс для рендеринга OBJ-брони.
AbstractObjPartModelLoader<T extends net.minecraft.client.resources.model.BakedModel>
AbstractObjPartModelLoader.ObjPartGeometry<T extends net.minecraft.client.resources.model.BakedModel>
AbstractPartBasedRenderer<T extends net.minecraft.world.level.block.entity.BlockEntity,M extends net.minecraft.client.resources.model.BakedModel>
Клиентский тикер advanced assembler: вынесен из BlockEntity, чтобы dedicated server
не загружал класс с полями клиентских звуков.
AGENT ORANGE - ОТРАВЛЕННАЯ ЧАСТИЦА
☠️ ОСОБЕННОСТИ:
- 🟠 ЯРКО-ОРАНЖЕВЫЙ цвет
- ВЫСОКАЯ ГРАВИТАЦИЯ (падает как жидкость)
- Наносит урон мобам при касании
- Коррумпирует растительность
АВИАБОМБА v4
Улучшения:
Полностью динамический размер кратера
Радиус определяется ТОЛЬКО силой пробития лучей
Синхронизация лучей исправлена
☠️ САМОЛЁТ-РАСПЫЛИТЕЛЬ AGENT ORANGE
Летит над целью и НЕПРЕРЫВНО распыляет отравленные частицы
Model loader for AJR armor OBJ parts.
AJRO Power Armor – "orange" AJR variant.
AJROPowerArmorLayer<T extends net.minecraft.world.entity.LivingEntity,M extends net.minecraft.client.model.HumanoidModel<T>>
Render layer for AJRO Power Armor (entity rendering).
AJRPowerArmorLayer<T extends net.minecraft.world.entity.LivingEntity,M extends net.minecraft.client.model.HumanoidModel<T>>
Render layer for AJR Power Armor (entity rendering).
JEI port of
AnvilRecipeHandler: gui_nei_anvil.png and per-shape slot layout.Represents the legacy tiers from the original 1.7.10 anvils so we can map
gameplay restrictions and GUIs onto the modern block set.
Recipe for Adding all the ArcWelder Machine
Made by Fuchs
Single ingredient with required count.
Optional fluid requirement.
Минимальный порт проверок брони для
ContaminationUtil.JEI port of
AssemblyMachineRecipeHandler (extends NEIGenericRecipeHandler).Fallback helpers when legacy recipes lack
AssemblerRecipe.AssemblerInputSlot data.Groups all assembler recipes so they can be maintained separately from
ModRecipeProvider.Базовый блок для всех ящиков HBM.
Базовый BlockEntity для всех ящиков HBM.
Базовое меню для всех ящиков HBM.
Базовый класс для всех машин с энергией.
Battery socket: one portable battery slot, modes like machine battery, energy from item capabilities.
Feature für Bedrock Oil Ore Generation
- Ersetzt Bedrock-Blöcke mit Ore_Bedrock_Oil
- Generiert einen kompletten Chunk (16x16x16 = 256 Blöcke pro Y-Level)
- Nur auf Bedrock-Höhe (Y=0 bis -64)
Bismuth Power Armor (ported from 1.7.10 ArmorBismuth/ArmorFSB).
Model loader for Bismuth armor OBJ parts.
BismuthPowerArmorLayer<T extends net.minecraft.world.entity.LivingEntity,M extends net.minecraft.client.model.HumanoidModel<T>>
Render layer для Bismuth Power Armor.
Чёрная дыра (порт
com.hbm.entity.effect.EntityBlackHole).Handles Blast Furnace recipe generation to keep
ModRecipeProvider focused on orchestration.Поглотитель радиации с четырьмя уровнями (порт
com.hbm.blocks.generic.BlockAbsorber 1.7.10).Уровни в порядке meta 0–3: Base, Red, Green, Pink.
BlockItem для
BlockAbsorber — локализованное имя по уровню (meta в 1.7.10).Порт
com.hbm.blocks.machine.BlockDecon (1.7.10).Minimal “explosion vs block” helper used by
CraterGenerator.СИСТЕМА ЗАЩИТЫ БЛОКОВ С КОЭФФИЦИЕНТОМ ПРОБИТИЯ v3.0
Логичные коэффициенты по материалам:
Бетон: 250
Бетонные кирпичи: 350
Метеорит: 500
Кафель, мозаика: 180-220
Специальный бетон (усиленный): 400-600
Тултип с золотым цветом взрывоустойчивости
Small helper result used by crater generation code.
Тонкий слой радиоактивных осадков (порт
com.hbm.blocks.generic.BlockFallout 1.7.10).Падающий hazard-блок (порт
com.hbm.blocks.generic.BlockHazardFalling 1.7.10).Loader-agnostic crosshair HUD hook for blocks implementing
ILookOverlay.Минимальный порт
com.hbm.blocks.generic.BlockOre для waste trinitite.Порт
com.hbm.blocks.generic.BlockSellafieldOre — sellafite-руда с оверлеем и кастомным дропом.Порт
com.hbm.blocks.generic.BlockSellafieldSlaked — вариант текстуры + уровень «нагрева» (meta в 1.7.10).Блок шлака (порт
com.hbm.blocks.generic.BlockSlag 1.7.10).Блок порчи — распространяется по соседним блокам, замедляет сущности и накладывает эффект taint.
Math helpers used by particle and explosion code
Разминирование (дизарм) мин/блоков-бомб при клике дефьюзером.
Базовый интерфейс для всех клиентских (C2S) пакетов.
ОБРАБОТЧИК ТРЯСКИ КАМЕРЫ И GUI
Управляет эффектом тряски камеры и интерфейса при воздействии ударной волны
Создаёт резкие импульсные толчки вместо мелкого дрожания
JEI port of
CentrifugeRecipeHandler (extends NEIUniversalHandler).Datapack-facing centrifuge recipe shape (
hbm_m:centrifuge).Generates centrifuge ore/crystal recipes previously stored under
data/hbm_m/recipes/centrifuge/.Centrifuge recipe registry - adapted from 1.7.10 HBM.
JEI port of
ChemicalPlantRecipeHandler (extends NEIGenericRecipeHandler).Chemical Plant recipe (1.20.1).
Datagen builder for
ChemicalPlantRecipe.Groups all chemical plant recipes (ported from 1.7.10
ChemicalPlantRecipes.registerDefaults()).Chemical Plant recipe registry - adapted from 1.7.10 HBM.
A complete chemical plant recipe with items and fluids.
Recipe input wrapper - can match by item, item with count, or tag.
Forge-only event hook for
ChunkRadiationDebugRenderer.Абстрактный класс для обработки радиации в чанках
ЕДИНЫЙ менеджер радиации, управляющий обработчиками и ВСЕМИ связанными событиями.
Общий (multiloader) holder для id/ModelResourceLocation силовой брони.
Per-render-frame snapshot of hot
ModClothConfig rendering flags.Shared with NukeTorex; must extend RenderType to access protected RenderStateShard members.
Forge-only event wiring for
ClientRenderHandler.Вызовы
ClientSoundManager через reflection, чтобы common-классы (BlockEntity и т.д.)Суббоеприпас кластерной боеголовки (аналог
EntityBulletBaseMK4 + cluster_submunition).Кэш части
MiniNuke из fatman.obj для суббоеприпасов кластерной боеголовки.Connected-textures модель (как CT в 1.7.10): для каждой грани выбираются 4 фрагмента (TL/TR/BL/BR)
на основе соседей вокруг этой грани.
Приоритет подключения получателей в жидкостной сети.
Утилиты контаминации.
Лёгкий CPU AABB-vs-frustum культинг.
Tooltip component for crate contents preview rows.
Базовый Item для ящиков HBM с отображением содержимого в тултипе.
ИСПРАВЛЕННАЯ ВЕРСИЯ 2 - ЦЕНТР РАВЕН ЦЕНТРУ БОМБЫ
ИСПРАВЛЕНИЯ:
Использует переданный centerPos напрямую - это позиция блока бомбы
Правильное вычисление координат кварталов относительно переданного центра
Корректная сохранение изменённых биомов в секции
Полная диагностика с логированием центра
Crater Biome Helper v7.0 - AIR CHECK FIX
- FIXED: Removed hasOnlyAir() check - now biomes apply to empty crater space
Фабрики биомов кратера: на Forge / NeoForge регистрируются из
ModBiomes; на Fabric те же id
загружаются из datapack мода (data/hbm_m/worldgen/biome/).Дополнительные переключатели финальной стадии
CraterGenerator.Crater Generator v21.0 - BIOME SYNC FIX
FIXED: Y-coordinate calculation synchronized with biomes
FIXED: Distance calculation uses only XZ (2D radius) for zone boundaries
ENHANCED: Biome layer detection for seamless vertical coverage
OPTIMIZED: Proper wavy border consistency
Улучшенный генератор кратеров с естественными границами
Использует Перлин шум для плавных переходов вместо ровных краёв
ИСПРАВЛЕНО: Полностью переработано для использования с penetration
ОТДЕЛЕНО: Шум не влияет на прочность, только на расстояние отрисовки
Улучшенный Перлин шум для 3D координат
Слот для ящика с валидацией: запрещает класть другие ящики внутрь.
Перечисление типов ящиков HBM.
Утилита валидации предметов для ящиков.
Наполнение креативных вкладок (логика из старого Forge
MainRegistry#addCreative).Доступ к private-полям
Creeper без MethodHandles (ломается в production/SRG).Перехват ванильного взрыва крипера для HBM-вариантов
(
explodeCreeper() private, без cross-module invokespecial).Слой «брони» крипера с настраиваемой текстурой (аналог
shouldRenderPass + overlay в 1.7.10).JEI category for crucible alloying recipes.
JEI display wrapper for a single crucible alloying recipe.
Concrete crucible alloying recipe — extends
CrucibleRecipe.Registry for crucible alloying recipes.
JEI category for crucible mold-casting recipes.
JEI display wrapper for a single crucible mold-casting recipe.
Simple registry for crucible mold-casting recipes.
Modern port of legacy
CrucibleRecipe extends GenericRecipe.Central recipe registry for the crucible machine.
Renderer for the Crucible BlockEntity.
JEI category for crucible smelting recipes.
JEI display wrapper for a single crucible smelting recipe.
Рецепт рудного окислителя (Crystallizer).
Реестр рецептов для рудного окислителя (Crystallizer).
Damage Resistance Handler for HBM Modernized
Ported from original HBM 1.7.10 with full DT+DR system support
ОСОБЕННОСТИ:
- Силовая броня регистрируется ТОЛЬКО через registerSet()
- Защита применяется ТОЛЬКО при полном сете
- Система отскакивания стрел (deflectArrows)
Armor set representation
Individual resistance entry
Resistance statistics for armor/entity
ТЁМНЫЙ ДЫМ (средне-серый)
Для реалистичных взрывов и пожаров
ВОЛНОВОЙ ДЫМ - НЕ ПРОХОДИТ СКВОЗЬ БЛОКИ
Особенности:
- Проверяет столкновения с блоками
- "Облетает" препятствия сверху
- Создаёт тряску камеры при касании игрока
- Сила тряски зависит от расстояния частицы от эпицентра
Порт
com.hbm.tileentity.machine.TileEntityDecon (1.7.10).Критично: очистку VBO/mesh кэшей делаем на render thread (recordRenderCall),
иначе при активном внешнем шейдере можно словить race во время render pass.
Client-only helper to open the designator screen without loading client-only classes on the server.
GUI for manual designator: adjust target X/Z with buttons.
Renders NFPA-style hazard diamonds (1.7.10
com.hbm.render.util.DiamondPronter).Digamma Ingot item that emits 1 mDRX/s radiation when held in player inventory.
Dineutronium (DNT) Power Armor.
Model loader for DNT power armor OBJ parts.
DNTPowerArmorLayer<T extends net.minecraft.world.entity.LivingEntity,M extends net.minecraft.client.model.HumanoidModel<T>>
Render layer for DNT Power Armor (entity rendering).
Client-only helper for door animation delay (overlap period between BER and baked model).
BlockItem для дверей с поддержкой смены скина.
Отложенная инвалидация чанков для дверей.
Декларативный класс параметров двери.
Клиентский цикл звука двери — вынесен из
DoorBlockEntity, чтобы серверный класс BE
не содержал в bytecode ссылок на AbstractTickableSoundInstance.Рендерит 3D модель двери с выбранным скином в GUI.
Client-only holder for ModelProperty constants used by door rendering.
Реестр моделей и скинов дверей.
Конфигурация одной двери
Выбор модели двери: тип модели + скин.
Тип модели двери.
Определение скина (текстуры) для двери.
ДАДО-БОЕВАЯ ГОЛОВКА v4
Улучшения:
Полностью динамический размер кратера
Радиус определяется ТОЛЬКО силой пробития лучей
Синхронизация лучей исправлена
Импульс EMP: обнуляет энергию машин в радиусе 100 блоков (порт
com.hbm.entity.logic.EntityEMP).EmptyEntityRenderer<T extends net.minecraft.world.entity.Entity>
Рендерер для логических/невидимых сущностей (EntityNukeExplosionMK5, AirstrikeAgentEntity и т.д.).
Провайдер capability для ItemStack (батарейки).
===================================================================
EnergyNetwork.java - ВЕРСИЯ 7.0 (Cascading Priority Flow)
Решает проблемы перетока энергии между приоритетами
Узел энергетической сети (провод или машина)
Расширяющееся циановое облако Fleija.
Золотой крипер — взрыв с «золотой» оболочкой (оригинал ExplosionVNT + BlockMutatorBulkie).
Ядерный крипер — радиационная аура, мини-ядерный / полный взрыв при детонации.
Фосгеновый крипер — быстрый поджиг, взрыв и облако фосгена.
Заражённый крипер — самолечение, взрыв с порчей вместо обычного.
Возгораемый крипер — усиленный взрыв с «шлаковым» краем (оригинал ExplosionVNT).
Эффекты сущностей от радиации (накопление из чанка, трансформации, смерть).
Базовая сущность, которая удерживает вокруг себя чанки загруженными.
Радиоактивный fallout после ядерного взрыва MK5.
Облако жидкости/газа (урон, яд, коррозия).
Длительный взрыв MK3 (Fleija / Solinium).
Сущность длительного ядерного взрыва (MK5) для 1.20.1 Forge.
Deprecated.
Вспомогательные эффекты взрывов (поджог, кластер) по образцу
com.hbm.explosion.ExplosionChaos.Запуск выбранного типа взрыва на сервере.
Параметры взрыва из команды /hbm_m explosion.
Огонь взрыва (красно-оранжевый пламя)
Основание взрыва
Яркая белая вспышка взрыва
Основное освещение в центре взрыва
Постепенное сферическое стирание блоков (F.L.E.I.J.A. / анти-шрабидиевый взрыв).
Общая логика урона/огня/трансформации мира для мощных ядерных взрывов.
Батчированный лучевой взрыв для ядерной бомбы MK5.
УТИЛИТЫ ДЛЯ ВЗРЫВНЫХ ЭФФЕКТОВ
Группирует все эффекты для разных типов взрывов:
- spawnAirBombExplosion() - фугасный взрыв
- spawnNukeExplosion() - ядерный взрыв
Система регистрации кастомной прочности блоков для взрывов
Прочность от 0 до 15:
0-4: низкая прочность (легко уничтожаются)
5-9: средняя прочность (могут защищать более слабые блоки)
10-14: высокая прочность (редко уничтожаются, защищают соседние блоки)
15: неуничтожаемые (как бедрок)
Оранжевые искры с физикой падения
Типы ядерных взрывов для команды (строковые id, как в
ExplosionType.id()).Модульный «ванильный» взрыв HBM
Thread-local bridge that passes block entity render attachment data from the
chunk rebuild call site (
ModelBlockRenderer.tesselateBlock) to
BakedModel.getQuads() which has no BlockPos parameter.Гравитирующий блок селлафита
Падает как песок/гравий, но может быть переведен в твёрдое состояние
Используется во время генерации кратера:
1.
Правила подмены блоков при fallout-stomp (порт
com.hbm.config.FalloutConfigJSON).🔥 ОГНЕННАЯ ИСКРА
Оранжевые искры с физикой падения, которые:
- Поджигают мобов на 10 секунд при контакте
- Поджигают горючие блоки (ставят огонь с нужной стороны)
Запуск Fleija-взрыва (анти-шрабидиевое стирание) и визуального облака.
Кэш
sphere_new.obj для Fleija-облака (без текстуры, только цвет).Fluid Barrel - A portable fluid container that can hold 16,000 mB (16 buckets) of any fluid.
Fluid duct: multipart blockstate + Forge OBJ visibility on
pipe_neo.obj.BlockEntity трубы.
Fluid Duct — places the matching
FluidDuctBlock style; fluid type in NBT for tint/transport.Выхлопная труба: поддерживает три типа дыма одновременно.
BlockEntity выхлопной трубы (порт TileEntityPipeExhaust из 1.7.10).
Утилиты для отрисовки жидкости в GUI так же, как в 1.7.10
FluidType /
FluidTank.renderTank: отдельный PNG под textures/gui/fluids/, тайлинг 16×16.Hazard diamond special symbols (1.7.10
com.hbm.render.util.EnumSymbol).Universal fluid identifier.
Порт FluidLoaderFillableItem из 1.7.10.
FluidLoaderInfinite из 1.7.10 — точная семантика по логике:
fillItem (бак -> контейнер):
- если chance срабатывает: tank -= amount
- всегда возвращает true
emptyItem (контейнер -> бак):
- если chance срабатывает: tank += amount (clamp maxFill)
- всегда возвращает true
Примечания по порту:
- В 1.20+ Infinite*Items не содержат explicit chance/allowPressure/getType как в 1.7.10.
Стандартный загрузчик жидкости (ведро/бочка → бак и бак → ведро/бочка).
Отображение жидкостей в тексте GUI (минуя сырые RL вроде
hbm_m:naphta).Жидкостная сеть — порт FluidNetMK2 из 1.7.10.
Фабрика FluidNet, привязанная к конкретному типу жидкости.
Узел жидкостной сети (аналог FluidNode из 1.7.10).
Жидкостный насос.
BlockEntity насоса (порт TileEntityFluidPump из 1.7.10).
Порт 1.7.10
com.hbm.inventory.fluid.FluidType.Жидкостный клапан.
BlockEntity клапана (порт TileEntityFluidValve из 1.7.10).
Адаптер: оборачивает соседний BlockEntity с Forge IFluidHandler как MK2-транзивер.
Forge-side adapter for
ModItemStackHandler.Обработчик жидкостей для Fracking Tower.
Deprecated.
in 1.7.10 in favor of FT_Toxin; kept for tooltip parity.
Tooltip-focused port of 1.7.10 FT_Toxin.
Самосветящиеся частицы взрыва —
GameRenderer.getPositionTexColorShader() без lightmap.Порт
com.hbm.blocks.machine.GeigerCounter (1.7.10).Порт
com.hbm.tileentity.machine.TileEntityGeiger (1.7.10).Общие флаги.
Универсальный узел сети (аналог GenNode из 1.7.10).
☠️ ТОКСИЧНЫЙ ГЕЙЗЕР
Периодически выбрасывает Agent Orange вертикально вверх
Частицы поднимаются на 10 блоков, затем разлетаются в стороны
Helpers for core-profile VAO rules.
Базовый экран GUI для всех ящиков HBM.
GUI screen for the Heating Oven.
GuiInfoScreen<T extends net.minecraft.world.inventory.AbstractContainerMenu>
Modernized variant of the classic GuiInfoContainer from the 1.7.10 mod.
Новый GUI для ржавой пусковой площадки.
[ФИКС] GUI для энергохранилища.
Centrifuge GUI.
GUI для Chemical Plant - порт с 1.7.10.
GUI для Crystallizer - порт с 1.7.10 GUICrystallizer.
GUI Screen для Fracking Tower (Гидроразрывная вышка).
GUI для Large Pylon (WIP).
GUI для мульти-детонатора
Показывает 4 кнопки для выбора точки, координаты и поле для имени
При нажатии "Detonate All" активирует все точки и выводит отчет
GUI for Fat Man bomb
Uses texture fat_man_schematic.png, lens overlays, ready indicator, and info panel with description tooltip.
Контейнер для набора правил об опасностях, применяемых к предмету или тегу.
Опасности выброшенных предметов (гидрореактивность, взрыв в огне).
RBMK hull heat → hot hazard — logic restored when
ItemRBMKRod is ported.RBMK rod/pellet radiation scaling — logic restored when RBMK fuel items are ported.
RTG pellet depletion scaling — logic restored when
ItemRTGPellet is ported.Регистрация опасностей предметов и блоков.
Централизованная система для определения опасностей, исходящих от предметов.
Container/crate radiation aggregation — wired when storage items are ported.
AE2 cell radiation aggregation — wired when ME compat is ported.
Радиационное сопротивление брони.
Brigadier-дерево для
/hbm_m explosion ....Registry for fluid identifier GUI: ordered list of fluids and lookup by ResourceLocation.
Данные живых сущностей (радиация).
Тепловизор (FULL_SHADER): общий обработчик состояния/шейдера.
Baked model for HeatingOven with animated door and inner burning state.
Heating Oven block - a 3x1x3 multiblock furnace with animated door.
Heating Oven block entity - a furnace-like device with animated door.
Menu for the Heating Oven machine.
Model loader for HeatingOven that loads an OBJ file with multiple parts:
Main, Door, Inner, InnerBurning
Renderer for HeatingOven block entity.
Конфигурация для рендеринга OBJ-брони.
Конфигурация для рендеринга иконок брони в GUI.
Interface for blocks that can be triggered to explode.
Interface for items that can designate a target position (e.g. for launch pads).
Интерфейс для блоков, которые могут быть активированы детонатором
Server-safe abstraction for door transform animation.
Базовый интерфейс для всех энергетических объектов.
Block entities that participate in
EnergyNetwork as dual
provider/receiver with a discrete operating mode (same encoding as MachineBatteryBlockEntity).Интерфейс для процедурных (пошаговых) взрывов.
Базовый интерфейс для всех блок-энтити, участвующих в MK2 fluid сети.
Проводник-труба: IFluidConnectorMK2 + фабричный метод создания узла.
Поставщик жидкости в MK2 сети.
Получатель жидкости в MK2 сети.
IFluidReceiverMK2 со стандартной реализацией через FluidTank[].
IFluidProviderMK2 со стандартной реализацией через FluidTank[].
Маркерный интерфейс: блок-энтити является одновременно sender и receiver.
IFluidConnectorMK2 + доступ к бакам + константы давления.
Этот интерфейс должны реализовывать BlockEntity тех мультиблочных контроллеров,
которые поддерживают динамическое отображение рамки.
Interface for items that receive control data from client (e.g. via packets).
Interface for items that identify a fluid type (e.g. fluid identifier).
Crosshair HUD when looking at a block
Этот интерфейс будет "примешан" к ванильному классу Slot.
Безопасная запись
POSITION_TEX_COLOR для Embeddium SodiumBufferBuilder:
int-цвет, uv перед color, либо полный vertex(...) через reflection.Опциональный интерфейс для контроллеров (и любых BlockEntity),
которые хотят получать настройки "разрешённых сторон" для энергии/жидкостей
от
MultiblockStructureHelper при постройке структуры.Renderer for the Industrial Turbine.
Фабрика сетей конкретного типа.
Infinite fluid item (port of 1.7.10 ItemInfiniteFluid).
Static GL compatibility helpers for instanced rendering.
Instanced / MDI batching for OBJ machine parts on vanilla Forge world render stages.
Lightweight per-frame counters for instanced / MDI diagnostics (Cloth: enableDebugLogging or mdiDebugLogDispatch).
Instanced Renderer для статических частей (Base/Frame).
Creates a custom particle on the client from NBT data.
Площадка / устройство, принимающее команды пуска от радара.
Сущности с этим маркером не накапливают радиацию и не получают эффекты от неё.
Interface for entities that provide custom damage resistance
Ported from original HBM 1.7.10
Хелпер для совместимости BufferBuilder с Iris/Oculus.
Lazy-built companion VBO+VAO that holds geometry in a vertex format compatible
with the
ExtendedShader returned by Iris/Oculus for ShaderKey.BLOCK_ENTITY.Contract for the Iris/Oculus companion-mesh renderer surface of
InstancedStaticPartRenderer.GPU-resource-holder surface of
IrisCompanionMesh.Resolves
ModelViewMat / inverse / normal matrix uniform locations for
Iris ExtendedShader programs with GL type validation.Reflective bridge to Iris/Oculus internals that exposes the
ShaderInstance (an ExtendedShader when Iris is active) to be
used for our own raw GL draws while a shader pack is in use.Try-with-resources scope helper that calls
WorldRenderingPipeline.setPhase(WorldRenderingPhase.<phase>) on entry
and restores WorldRenderingPhase.NONE on close.Safe wrapper around
ShaderInstance.apply() for Iris
ExtendedShader instances whose sampler/image bindings can throw
IllegalStateException: Tried to use a destroyed GlResource when the
pipeline was rebuilt or the render phase moved on.Deprecated.
Используй
ModBatteryItem вместо этогоBasic designator: right-click on a block (except launch pad) to set target X/Z.
Manual designator: right-click opens GUI to set target X/Z with buttons.
Range designator: right-click in air to raycast (300 blocks) and set target at looked block.
Порт
com.hbm.items.tool.ItemDigammaDiagnostic (1.7.10).Порт
com.hbm.items.tool.ItemDosimeter (1.7.10).Опасные предметы при падении на землю (порт
com.hbm.item.special.ItemDrop).Loader-safe доступ к энергетическим интерфейсам у ItemStack.
Порт
com.hbm.items.tool.ItemGeigerCounter (1.7.10).Апгрейд машины — порт ItemMachineUpgrade из 1.7.10.
Модификация батареи — увеличивает ёмкость силовой брони (аналог 1.7.10
ItemModBattery).1.7.10
ItemRenderDetonatorLaser port for RangeDetonatorItem.Missile item BEWLR - (1.20.1 OBJ/VBO port),
with
ItemRenderMissileGeneric.RenderMissileType per item matching 1.7.10 ClientProxy registration.1.7.10
ItemRenderMissileGeneric.RenderMissileType.Item Transform Helper wraps every
BakedModel in a thin delegate that does not forward
Forge extensions (getQuads(..., ModelData, RenderType), etc.), which makes HBM OBJ /
multipart models invisible.Порт IUpgradeInfoProvider из 1.7.10.
Slot layout for anvil JEI recipes, ported from
AnvilRecipeHandler.RecipeSet.Draws NEI-style anvil overlay frames on top of
JeiAnvilTextures.GUI_NEI_ANVIL.NEI-style anvil JEI texture coordinates (1:1 with 1.7.10
gui_nei_anvil.png).JEI port of
NEIGenericRecipeHandler: shared gui_nei.png background and slot layout.Slot layout helpers ported from
NEIGenericRecipeHandler and NEIUniversalHandler.Draws NEI-style slot frames on top of the shared
JeiNeiTextures.GUI_NEI background.Shared NEI-style JEI texture coordinates (1:1 with 1.7.10
gui_nei.png, 256x256 atlas).Draws NEI-style press overlays on top of
JeiPressTextures.GUI_NEI_PRESS.NEI-style press JEI texture coordinates (1:1 with 1.7.10
gui_nei_press.png).JEI port of
NEIUniversalHandler: shared gui_nei.png background and universal slot layout.УВЕЛИЧЕННЫЕ ИСКРЫ ДЛЯ ЯДЕРНОГО ВЗРЫВА
Параметры:
- Размер: 0.6-1.2 (в 2x раза больше обычных)
- Время жизни: 30-60 тиков (дольше видны)
- Цвет: ярко-оранжевый с красными оттенками
- Физика: падение с гравитацией 0.2
- Эффект: более впечатляющий взрыв
Базовый BlockEntity для всех пусковых площадок.
Обычная пусковая площадка.
Большая пусковая площадка.
Меню для обычной (и большой) пусковой площадки.
Ржавая пусковая площадка.
Ржавая пусковая площадка (Launch Pad Rusted).
Меню для ржавой пусковой площадки.
Per-frame cache for the smoothed lightmap UV pair sampled at the 6 face
centres of a BlockEntity's render bounding box.
Когда тепловизор активен в режиме FULL_SHADER, фиксируем гамму и тьму,
чтобы пользовательские настройки яркости не ломали шейдерный рендер.
Серверный тик живых сущностей для радиационных эффектов (аналог
LivingUpdateEvent → EntityEffectHandler.onUpdate в 1.7.10).Accessor к списку слоёв рендера.
Базовый класс для BlockEntity, который отслеживает загрузку чанка
и управляет синхронизацией с клиентом
Обертка для совместимости между HBM Energy (long) и Forge Energy (int).
ИСПРАВЛЕННЫЙ: Кастомный тип рендера для дальних частиц
Advanced Assembler Block Entity:
- Наследование от BaseMachineBlockEntity
- Полная логика мультиблока, GUI, анимации и рецептов перенесена из старой системы
- Энергосистема остается long-ориентированной с совместимостью Forge Energy
Сборочная машина (мультиблок 3x2x3).
Сборочная машина (Assembler) - мультиблочная структура для автоматизированного крафта.
Загрузчик модели для MachineAssembler: загружает несколько OBJ-файлов
(Body, Slider, Arm, Cog) как отдельные части с индивидуальными текстурами.
Универсальный класс блока для всех энергохранилищ.
Энергохранилище с настраиваемыми режимами работы.
2×2×2 multiblock cube.
Centrifuge machine.
Iris/chunk mesh: при
render_active=false - Base, Frame, Slider и Spinner (idle).Chemical Plant BlockEntity - порт с 1.7.10.
22 слота, 6 FluidTank (3 input, 3 output), энергия.
Menu для Chemical Plant — порт с 1.7.10.
Цвет/текстура для fallback; основной путь — mesh с
chemical_plant_fluid.Конфигурация машин.
Cooling Tower (Multiblock, WIP).
BlockEntity for the Cooling Tower multiblock (WIP).
Crucible machine block (single-block, 1.20 port).
Crystallizer BlockEntity — рудный окислитель, порт с 1.7.10.
BER Crystallizer: вращающийся спиннер (VBO + instancing) и жидкость в баке
(отдельная модель
crystallizer_fluid, спрайт текущей жидкости).VBO-проход спиннера и baked-жидкости Crystallizer.
Hazard diamonds on fluid tank sides (1.7.10
RenderFluidTank diamond pass).Hydraulic Frackining Tower (Multiblock).
BlockEntity для Fracking Tower (Гидроразрывная вышка).
Menu (Container) для Fracking Tower.
Gas Centrifuge BlockEntity.
Industrial Boiler - converts water to steam using heat.
Industrial Boiler BlockEntity - converts heatable fluids to steam products.
Industrial Turbine - converts steam to energy (HE).
Industrial Turbine BlockEntity - converts steam to energy (HE).
Large Pylon BlockEntity (WIP).
3 слота: input, battery, output.
Большой радар — мультиблок 3×3×5 + энергоконнекторы по сторонам основания
(порт
MachineRadarLarge, dimensions {4,0,1,1,1,1}).Модуль крафта для продвинутой сборочной машины.
MachineModuleBase<T extends net.minecraft.world.item.crafting.Recipe<?>>
Базовый модуль машины, инкапсулирующий логику крафта.
Малый радар:
Base + Dish; большой — Radar + Dish.BER радара: при VBO — основание (instanced) + вращающаяся тарелка (instanced / single VBO).
VBO single-draw fallback для радара (основание и тарелка).
Refinery - processes crude oil into various petroleum products.
Refinery BlockEntity - processes crude oil into petroleum products.
Блок измельчителя (Shredder)
Функционал:
- 9 входных слотов для предметов
- 2 слота для лезвий (требуется BLADE_TEST)
- 18 выходных слотов
- Обработка по рецептам или в металлолом
Шреддер машина - перерабатывает предметы в пыль/скрап
Основан на оригинальной версии из 1.7.10
Солнечный котёл: вода → пар за счёт солнца.
Solar Boiler BlockEntity - converts water to steam using sunlight.
Steam Turbine - takes steam, produces RF energy.
Дровяной генератор энергии (мультиблок 2x2x2).
Дровяной генератор энергии.
Optional Multi-Draw Indirect aggregation path for
InstancedStaticPartRenderer.Shared GPU geometry atlas backing the
MdiBatchCoordinator.Slot record returned to the coordinator.
Диагностика MDI через
ModClothConfig (раздел rendering).Monotonic id incremented after each
InstancedRenderFrame.presentAfterBlockEntities(org.joml.Matrix4f, net.minecraft.world.phys.Vec3).УТИЛИТА СПАВНА ЧАСТЕЙ ЯДЕРНОГО ВЗРЫВА
Методы сделаны public static для вызова из NuclearChargeBlock.
Mineral Pipe - A pipe item for a specific mineral type.
Baked missile mesh for inventory / BER / entity VBO paths.
Базовая сущность баллистической ракеты.
Port of 1.7.10
ParticleRocketFlame (missileContrail effect): orange exhaust,
motion damping, multi-layer billboard, particle atlas alpha blend (FX layer 1).OBJ renderer for all
MissileBaseEntity subclasses (tier0/1, ABM, test).OBJ paths and bake part names per missile hull (form factor).
Прототип предмета ракеты для пусковых площадок.
Single source of truth for generated
models/item/missile_*.json files.OBJ loader for missile models (single or multi-part).
Nozzle engine glare (flash + flare) — locked to the exhaust, not the contrail trail.
Engine glare at the missile nozzle — flash + flare textures, yellow tint, flickering brightness.
Per-item missile render data;
ItemRenderMissileGeneric.RenderMissileType matches 1.7.10 ClientProxy item renderer registration.Шаттл-ракета (корпус shuttle.obj).
Стелс-ракета: не видна радару, корпус stealth.obj.
Порт
com.hbm.creativetabs.MissileTab — иконка вкладки и доп. предметы (кастомные ракеты).Прототип баллистической ракеты (Tier 0, missile_test).
Atlas sprite IDs under
models/missile/ (PNG in textures/models/missile/).Ракеты уровня 0 (микро-носители).
Ракеты уровня 1 (корпус V2).
Ракеты уровня 2 (корпус Strong).
Ракеты уровня 3 (корпус Huge).
Ракеты уровня 4 (корпус Atlas).
Sends authoritative missile poses to every player in the same dimension,
independent of vanilla entity tracking / client chunk loading.
Client-side store of server missile tracks (pose + contrail), independent of chunk entity sync.
Contrail segments for network-tracked missiles.
Authoritative missile pose from the server (network track snapshot).
Authoritative missile mesh draw for S2C tracks — independent of client entity sync and chunk gates.
Port of 1.7.10
ParticleContrail: lingering gray condensation trail behind rocket exhaust.Общие эффекты боеголовок баллистических ракет.
Shift-preview шаблона сборки подменяет
BakedModel на выход рецепта,
но ItemStack остаётся шаблоном.Ключи биомов кратера для кода (смазывание, подмена биомов при взрывах и т.д.).
Клиентский обработчик событий для HBM's Nuclear Tech Modernized
Портировано с 1.7.10 на 1.20.1
Реализует различные клиентские функции:
- HUD элементы и оверлеи
- Визуальные эффекты
- Обработка ввода
- Система подсказок
- Звуковые эффекты
- Рендеринг специальных эффектов
ВСЕ ЧАСТИЦЫ теперь как ИСКРЫ - видны на 256+ блоков!
Ports 1.7.10
Fluids.init() spreadsheet (registerCalculatedFuel) for tooltip energies.Seeds NFPA hazard diamond data from 1.7.10
Fluids definitions.Pollution coefficients from 1.7.10
Fluids + PollutionHandler.Seeds
FluidType registry from 1.7.10 Fluids.init() + heat/cool chains + spreadsheet fuels.Vanilla
Container адаптер поверх ModItemStackHandler.Кроссплатформенный обработчик пакетов.
Centralized, common (loader-agnostic) recipe indexes built on top of vanilla JSON recipes.
Этот класс отвечает за добавление общих подсказок ко всем предметам-модификациям брони.
Порт
ClientProxy / effectNT ветки type == "muke" (1.7.10).Общая логика рамки (frame) для мультиблоков с
BooleanProperty frame на контроллере.Именованные tuple для
MultiblockStructureHelper.createFromLayersWithRolesAndSides(java.lang.String[][], java.util.Map<java.lang.Character, java.util.function.Supplier<net.minecraft.world.level.block.state.BlockState>>, java.util.function.Supplier<net.minecraft.world.level.block.state.BlockState>, java.util.Map<java.lang.Character, com.hbm_m.multiblock.PartRole>, java.util.Map<java.lang.Character, boolean[]>, java.util.Map<java.lang.Character, boolean[]>) /
MultiblockStructureHelper#createFromLayersWithRoles(String[][], Map, Supplier, Map, Map, Map, Map, Map):
в вызове ladder(...) / energy(...) IDE показывает имена параметров вместо «магического» boolean[].Заглушки описания мультиблока до портирования полной схемы из 1.7.10 / Neo.
Мульти-детонатор: позволяет сохранять до 4 точек детонации
Каждая точка может быть названа (макс. 16 символов)
При нажатии R открывается GUI для выбора активной точки
При ПКМ (без Shift) активирует текущую выбранную точку
Обработчик входных событий для открытия GUI мульти-детонатора по нажатию R
✓ Совместимо с MultiDetonatorItem версии 4 точек
✓ Совместимо с MultiDetonatorScreen версии 4 точек
Ориентация multipart-моделей по
Direction.Дым грибовидного облака (серый дым)
Основной элемент визуала взрыва
Аналог DirPos из 1.7.10: позиция узла + направление от текущего узла к этому.
Абстрактная сеть (аналог NodeNet из 1.7.10).
Маркер загруженности для подписчиков/провайдеров, не являющихся BlockEntity.
Заглушка для MK5: без разрушения блоков, мгновенно «завершён».
ЯДЕРНЫЙ БЛОК v6 - АНИМИРОВАННЫЙ РОСТ
Управляет таймингами появления каждой части гриба.
Модульный API для запуска ядерного взрыва MK5 из любой бомбы/блока/ракеты.
Конфигурация ядерного взрыва MK5.
РАСШИРЕНИЯ ДЛЯ ЯДЕРНЫХ ЭФФЕКТОВ
Новые методы для спавна УВЕЛИЧЕННЫХ частиц и полного грибного облака
ДОБАВИТЬ В ExplosionParticleUtils класс!
Вспомогательный класс для ядерных взрывов.
ЯДЕРНЫЙ ВЗРЫВ (БЕЗ ЗАДЕРЖЕК, МГНОВЕННЫЙ)
Запуск ядерных сценариев из команд и блоков (единая точка логики).
Расширяющиеся огненные/дымовые кольца и мягкое свечение ядерного взрыва.
chunk-by-chunk "crater" for Fat Man / MK5.
Порт
com.hbm.creativetabs.NukeTab — иконка и фон креативной вкладки бомб.Toroidal convection mushroom cloud effect
Провайдер Forge Energy для BlockEntity с упаковкой long в два int.
S2C пакет: синхронизация энергии между сервером и GUI клиента.
Один проход
BakedModel.getQuads(net.minecraft.world.level.block.state.BlockState, net.minecraft.core.Direction, net.minecraft.util.RandomSource) для multipart-части: общий список квадов (Iris / putBulkData)
и построение SingleMeshVboRenderer.VboData из тех же квадов.Registry of particle type string -> creator.
Client-only entry point for custom NT particles (called from AuxParticlePacket).
Renders NT particles after weather so mushroom cloud etc. are not clipped by depth.
Custom particle base (not tied to vanilla ParticleEngine).
Pipe block style (separate blocks): each uses its own base + overlay textures only.
Применение опасностей инвентаря игрока.
Мультилоадерный доступ к "персистентному NBT" игрока
Миксин для отслеживания шагов игрока в силовой брони.
Matches 1.7.10 PollutionHandler.PollutionType names for tooltip parity.
Общий (multiloader) клиентский стейт для режимов силовой брони.
S2C пакет: синхронизация dash-движения силовой брони.
A "no-op" armor model.
Combined handler for Power Armor events.
JEI port of
PressRecipeHandler.Builder for
PressRecipe data generation.Generates all press recipes (plates, wires, circuits).
Порт
com.hbm.entity.effect.EntityQuasar (digamma quasar).Платформонезависимый рендерер иконки RadawayEffect.
Флаги отключения типов опасностей.
Базовый класс для радиоактивных блоков.
Порт
com.hbm.entity.effect.EntityRagingVortex.Automated crane-arm that loads/unloads fuel rods from adjacent RBMK columns.
Autoloader: stores fuel rods and automatically loads/unloads adjacent loadable RBMK columns.
Generic BESR for all RBMK column blocks.
C2S packet for all RBMK console control actions:
- Control rod level change
- AZ-5 emergency shutdown
- Color group assignment
- Screen type cycling
- Set reactor origin
1:1 port of TileEntityRBMKControlAuto.
1:1 port of TileEntityRBMKCooler.
Console for controlling the RBMK crane/autoloader system.
Central config dial system for all RBMK parameters.
RBMK fuel rod item with Digamma radiation tick behaviour.
Passive base block placed below RBMK columns for the crane/autoloader system.
Passive floor block placed below RBMK columns to serve as a mechanical interface for the crane/autoloader.
Shared block class for all RBMK panel blocks (gauge, indicator, lever, numitron, etc.).
Shared block entity for all RBMK panel/display blocks (gauge, indicator, lever, numitron, etc.).
Represents a raw RBMK fuel pellet.
1:1 port of TileEntityRBMKInlet.
1:1 port of TileEntityRBMKOutlet.
1:1 port of TileEntityRBMKStorage.
12 inventory slots, compacted towards slot 0 every 10 ticks.
Forge fluid capability bridge for Refinery.
Порт
com.hbm.render.entity.effect.RenderBlackHole (1.7.10).Порт
com.hbm.render.entity.effect.RenderCloudFleija — сфера без текстуры, additive blend.Универсальный рендер крипера с кастомной текстурой и overlay при
isPowered().Shared utility for distance-based LOD and fade-out calculations used by
all BER renderers.
Per-render-frame lightmap update guard.
Порт
com.hbm.render.entity.effect.RenderQuasar.Снимок и автоматическое восстановление стандартного набора GL state, который
наши рендереры регулярно трогают вручную (VAO, ARRAY_BUFFER, cull, depth
test/mask/func, blend + blend func, шейдер).
Обломки блоков, засасываемые чёрной дырой (порт
com.hbm.entity.projectile.EntityRubble).Порт
com.hbm.render.entity.projectile.RenderRubble — текстура из блока-источника.Базовый интерфейс для всех серверных (S2C) пакетов.
Шрабидиевые слитковые блоки с
ExtDisplayEffect.SCHRAB (GIT com.hbm.blocks.generic.BlockHazard).Клиентская «schrabfog».
Отмена взаимодействия с дверью при клике отверткой.
Отвертка для настройки дверей и конвертера энергии.
ОПТИМИЗИРОВАННЫЙ ТРЕКЕР ЗАТВЕРДЕВАНИЯ СЕЛЛАФИТА v2
Основные улучшения:
ConcurrentHashMap для потокобезопасности
Использование long вместо составного ключа
Сокращение создания объектов
Оптимизированное управление памятью
Spawns always-visible explosion particles from the dedicated server without
touching client-only classes (
Minecraft, ClientLevel).Lightweight GLSL source modifier inspired by Veil's ShaderModification system,
but reimplemented from scratch (no glslprocessor dependency).
Wraps a
ResourceProvider so that resources matching a target ResourceLocation
are intercepted, their content is run through a ShaderModification, and the modified
bytes are exposed back to the caller as a synthetic Resource.Кольца ударной волны (шокволна)
Расширяющиеся волны давления от взрыва
Generates shredder recipes, including block conversions and powder automation.
C2S packet to toggle the Collision Prevention flag on the Soldering Station.
Модель для рендеринга T51 Power Armor в GUI и руке.
T51PowerArmorLayer<T extends net.minecraft.world.entity.LivingEntity,M extends net.minecraft.client.model.HumanoidModel<T>>
Render layer для T51 Power Armor.
Эффект порчи — периодический урон и следы блока taint под сущностью.
Рендерер иконки
TaintEffect из textures/gui/potions.png.Модель предмета: обычный вид шаблона; при зажатом Shift — иконка выхода рецепта (если есть NBT).
Stores per-world thermal vision warning acknowledgement (client-side).
Клиентская «townaura».
Универсальное пространство узлов (порт UniNodespace из 1.7.10).
Ключ узловой карты: (позиция, провайдер сети).
Карта узлов на одном измерении.
Минимальная реализация менеджера апгрейдов.
S2C: частицы взрыва VNT (порт
ExplosionVanillaNewTechnologyCompressed...Packet 1.7.10).HBM registers its own water/lava types; vanilla buckets and many pipes use
Fluids.WATER / Fluids.LAVA.Contract for the vanilla VBO instanced renderer — the code path
active when no external shader pack (Iris/Oculus) is loaded.
Рвота при радиационной болезни.
Порт
com.hbm.entity.effect.EntityVortex — уменьшающийся вихрь.Продвинутый генератор кратеров с системой прочности блоков HBM Nuclear Tech
Блоки могут защищать более слабые блоки позади них
Порт
com.hbm.blocks.generic.WasteEarth — waste_mycelium и аналоги.ВОЛНОВОЙ ДЫМ - НЕ ПРОХОДИТ СКВОЗЬ БЛОКИ
Особенности:
- Проверяет столкновения с блоками
- "Облетает" препятствия сверху
- Создаёт тряску камеры при касании игрока
- Сила тряски зависит от расстояния частицы от эпицентра
BlockEntity для провода.
Визуальная форма центра провода: контакт (Core) или прямой сегмент через блок (CX/CY/CZ в cable_neo.obj).
Минимальные утилиты мира для fallout / смены биомов (порт WorldUtil).