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.
Режим применения конфигурационного поля после изменения.
Datapack-facing recipe shape (
hbm_m:arc_furnace) for the Arc Furnace — generic port of
the 1.7.10 ArcFurnaceRecipes/ArcFurnaceRecipe (see
TileEntityMachineArcFurnaceLarge for the original single-block-per-recipe application
logic; that class is a multiblock and was NOT ported structurally).Recipe for Adding all the ArcWelder Machine
Made by Fuchs
Single ingredient with required count.
Optional fluid requirement.
Минимальный порт проверок брони для
ContaminationUtil.Порт
AshesCreator из 1.7.10.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.Small single-block iron fluid barrel — same logic as
MachineFluidTankBlockEntity,
just a much smaller capacity and no multiblock structure.Direct clone of
Bat9000Menu (same slot layout/logic as MachineFluidTankMenu),
just registered/validated against the iron barrel.Small single-block steel fluid barrel — same logic as
MachineFluidTankBlockEntity,
just a much smaller capacity and no multiblock structure.Direct clone of
Bat9000Menu (same slot layout/logic as MachineFluidTankMenu),
just registered/validated against the iron barrel.Small single-block fluid barrel (no multiblock structure — same full-cube hitbox as the
decorative
CrtBlock family it replaces for the functional iron/steel variants).Базовый блок для всех ящиков HBM.
Базовый BlockEntity для всех ящиков HBM.
Базовое меню для всех ящиков HBM.
Базовый класс для всех машин с энергией.
BAT9000 — a large-capacity variant of the Fluid Tank multiblock.
Direct clone of
MachineFluidTankMenu for the BAT9000 — identical slot layout and
logic, just registered under its own ModMenuTypes.BAT9000_MENU and validated against
ModBlocks.BAT9000.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)
Portiert
ItemBedrockOreBase.getOreLevel/BedrockOre.getTier/getBoreFluid
aus dem 1.7.10-Original: die Erzqualitaet an einer Weltposition ist deterministisch (nicht
zufaellig), damit der Ore Density Scanner sie vorher anzeigen kann.1:1-Aequivalent zu
BedrockOre.generateAuto/generate aus dem 1.7.10-Original:
setzt ein paar ore_bedrock-Bloecke direkt auf der Bedrock-Schicht (deterministische
Dichte per BedrockOreDensity, siehe dort fuer Tier/Fluid-Tabelle) und fuellt darueber
mit stone_depth auf, damit der Mining Drill eine abbaubare "Ader" vorfindet.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).JEI category for blast furnace recipes (two items -> output).
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).Порт
com.hbm.blocks.generic.BlockHazard (1.7.10).com.hbm.blocks.generic.BlockHazard.ExtDisplayEffect (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 1.7.10.Порт
com.hbm.blocks.generic.BlockSellafieldOre — sellafite-руда с оверлеем и кастомным дропом.Порт
BlockSellafieldSlaked 1.7.10 — инертный sellafite.Блок шлака (порт
com.hbm.blocks.generic.BlockSlag 1.7.10).Блок порчи — распространяется по соседним блокам, замедляет сущности и накладывает эффект taint.
Math helpers used by particle and explosion code
Разминирование (дизарм) мин/блоков-бомб при клике дефьюзером.
Базовый интерфейс для всех клиентских (C2S) пакетов.
ОБРАБОТЧИК ТРЯСКИ КАМЕРЫ И GUI
Управляет эффектом тряски камеры и интерфейса при воздействии ударной волны
Создаёт резкие импульсные толчки вместо мелкого дрожания
Multipart baked model для CargoElevator.
Порт
BlockCargoElevator из 1.7.10 (extends BlockDummyable).Порт
TileEntityCargoElevator из 1.7.10.Загрузчик модели для CargoElevator: один OBJ (elevator.obj)
с частями Base, Platform, Piston, Guides.
BER для CargoElevator.
VBO-хелпер для CargoElevator.
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.
Клиентский цикл звука турбины Chungus — вынесен из
MachineChungusBlockEntity, чтобы
серверный класс BE не содержал в bytecode ссылок на AbstractTickableSoundInstance.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 и т.д.)Скрывает рендер «мёртвых» сущностей на клиенте, чтобы эффект скелетонизации
(ParticleSkeletonNT) не дублировался с нормальным рендером трупа.
Суббоеприпас кластерной боеголовки (аналог
EntityBulletBaseMK4 + cluster_submunition).Кэш части
MiniNuke из fatman.obj для суббоеприпасов кластерной боеголовки.Datapack-facing recipe shape (
hbm_m:combination_oven) for the Combination Oven —
generic port of the 1.7.10 TileEntityFurnaceCombination/CombinationRecipes.Тестовый предмет для проверки эффектов
ConfettiUtil.Портированный
ConfettiUtil из HBM 1.7.10.C2S: оператор применяет серверные настройки, отредактированные в GUI.
Метаданные одного конфигурационного поля + адаптер доступа к живому значению.
Тип данных поля (определяет виджет: boolean→toggle, int/long/double/float→slider/editbox, enum→cycle).
Пути к JSON-файлам конфигурации мода (замена TOML-сериализатора AutoConfig).
Реестр всех конфигурационных полей мода (единый источник правды).
Собственное меню конфигурации на vanilla-виджетах (замена Cloth Config GUI).
Логическая сторона (владелец значения) конфигурационного поля.
S2C: полный снапшот серверных настроек конфига (сторона
ConfigSide.SERVER).Connected-textures модель (как CT в 1.7.10): для каждой грани выбираются 4 фрагмента (TL/TR/BL/BR)
на основе соседей вокруг этой грани.
Приоритет подключения получателей в жидкостной сети.
Утилиты контаминации.
Renderer-owned chase-кэш плавной анимации двери на контрапшене.
Клиентский звук двери на контрапшене.
Состояние HBM-дверей на Create-контрапшенах, синкаемое кастомным S2C-пакетом
(см.
Определяет, рендерится ли BlockEntity внутри фейкового мира контрапшена
(Create
VirtualRenderWorld, схема, превью и т.п.), а не в основном
клиентском ClientLevel.Forge fluid capability bridge for the (large) Cooling Tower.
Лёгкий 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
1:1 порт
com.hbm.world.biome.BiomeGenCraterBase (1.7.10).Туман в crater биомах.
Дополнительные переключатели финальной стадии
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.
Утилита валидации предметов для ящиков.
Точка входа совместимости с Create.
Reflective доступ к ContraptionWorld / VirtualRenderWorld.
Наполнение креативных вкладок (логика из старого 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.
Port of the 1.7.10 com.hbm.util.CrucibleUtil.
Рецепт рудного окислителя (Crystallizer).
Реестр рецептов для рудного окислителя (Crystallizer).
A named animation clip: a set of curves targeting node transforms.
Static baked model over a flat list of block-atlas quads, produced by the
hbm_m:dae geometry loader.A single animation curve: a list of (time, value) keyframes sampled from a COLLADA
sampler source.
Triangle soup parsed from a single COLLADA geometry element, fully tessellated.
A COLLADA (.dae) model parsed from a resource: geometry, the visual scene node tree,
material -> texture resolution and animation clips.
Thrown when a COLLADA file cannot be parsed or is missing required data.
Bakes a COLLADA (.dae) model into a static item model.
A COLLADA scene node.
Bakes DAE scene meshes into block-atlas
BakedQuads.A single transform primitive of a COLLADA node, preserving the document order in
which the transforms were declared.
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 для дверей с поддержкой смены скина.
Отложенная инвалидация чанков для дверей.
Клиентская инициализация render-состояния двери на контрапшене.
Клиентский приёмник
DoorContraptionStatePacket.S2C-пакет: открыть/закрыть HBM-дверь на Create-контрапшене.
Декларативный класс параметров двери.
Клиентский цикл звука двери — вынесен из
DoorBlockEntity, чтобы серверный класс BE
не содержал в bytecode ссылок на AbstractTickableSoundInstance.Рендерит 3D модель двери с выбранным скином в GUI.
Client-only holder for ModelProperty constants used by door rendering.
Реестр моделей и скинов дверей.
Конфигурация одной двери
Выбор модели двери: тип модели + скин.
Тип модели двери.
Вычисляет и кладёт в
ContraptionDoorState коллизию всех блоков двери
(контроллер + части) для текущего open/closed состояния.Определение скина (текстуры) для двери.
ДАДО-БОЕВАЯ ГОЛОВКА 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.
Порт
com.hbm.particle.helper.ExplosionCreator (1.7.10).Огонь взрыва (красно-оранжевый пламя)
Основание взрыва
Яркая белая вспышка взрыва
Основное освещение в центре взрыва
Постепенное сферическое стирание блоков (F.L.E.I.J.A. / анти-шрабидиевый взрыв).
Общая логика урона/огня/трансформации мира для мощных ядерных взрывов.
Батчированный лучевой взрыв для ядерной бомбы MK5.
УТИЛИТЫ ДЛЯ ВЗРЫВНЫХ ЭФФЕКТОВ
Группирует все эффекты для разных типов взрывов:
- spawnAirBombExplosion() - фугасный взрыв
- spawnNukeExplosion() - ядерный взрыв
Система регистрации кастомной прочности блоков для взрывов
Прочность от 0 до 15:
0-4: низкая прочность (легко уничтожаются)
5-9: средняя прочность (могут защищать более слабые блоки)
10-14: высокая прочность (редко уничтожаются, защищают соседние блоки)
15: неуничтожаемые (как бедрок)
Оранжевые искры с физикой падения
Gerald/Horizons' authentic crater shape (port of legacy
com.hbm.explosion.ExplosionTom):
unlike the plain sphere-clearing ExplosionFleija, this carves a proper crater bowl
with a raised "peak ring" rim made of tektite (the black glassy ring the meteor is
known for) and floods everything below the original terrain height with lava.Типы ядерных взрывов для команды (строковые 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.Renders the molten metal surface inside the foundry basin.
Renders the molten metal flowing through a foundry channel:
a center quad plus one quad per connected direction.
Обработчик жидкостей для 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.Static JEI display of the 1.7.10 Gas Centrifuge's four canonical cascade outcomes (the original
NEI handler showed a fully-cascaded result rather than the per-tick enrichment logic).
Порт
com.hbm.blocks.machine.GeigerCounter (1.7.10).Порт
com.hbm.tileentity.machine.TileEntityGeiger (1.7.10).Общие флаги.
Универсальный узел сети (аналог GenNode из 1.7.10).
☠️ ТОКСИЧНЫЙ ГЕЙЗЕР
Периодически выбрасывает Agent Orange вертикально вверх
Частицы поднимаются на 10 блоков, затем разлетаются в стороны
Полупрозрачный рендер «призрачных» предметов-рецептов в GUI.
Helpers for core-profile VAO rules.
Direct clone of
GUIBat9000/GUIMachineFluidTank for the iron barrel.Direct clone of
GUIBat9000/GUIMachineFluidTank for the iron barrel.Direct clone of
GUIMachineFluidTank for the BAT9000 — same texture/layout, just a much
larger dummy-tank capacity for the client-side fill bar.Базовый экран GUI для всех ящиков HBM.
GUI screen for the Heating Oven - a pure combustion source.
GuiInfoScreen<T extends net.minecraft.world.inventory.AbstractContainerMenu>
Modernized variant of the classic GuiInfoContainer from the 1.7.10 mod.
Новый GUI для ржавой пусковой площадки.
Eigenes, kompaktes Einzelblock-GUI-Layout (das Original
GUIMachineArcFurnaceLarge ist
fuer den Multiblock und dient nur als grobe visuelle Inspiration - siehe Klassenkommentar in
MachineArcFurnaceBlockEntity).[ФИКС] GUI для энергохранилища.
Centrifuge GUI.
GUI для Chemical Plant - порт с 1.7.10.
GUI для Crystallizer - порт с 1.7.10 GUICrystallizer.
GUI Screen для Fracking Tower (Гидроразрывная вышка).
Direct port of the 1.7.10
GUIMachineGasCent: same 206x204 canvas, same widget/tank/
slot coordinates, sourcing the energy-bar and progress-arrow sprites from the actual texture
instead of drawing placeholder colored fills.GUI для Large Pylon (WIP).
1:1-Port von
GUIMachineExcavator (1.7.10, vom User bereitgestellt) auf GuiGraphics.GUI for the Industrial Mixer.
GUI радара (порт GUIMachineRadarNT из 1.7.10, текстура gui_radar_nt.png).
GUI слотов радара (порт GUIMachineRadarNTSlots из 1.7.10, текстура gui_radar_link.png).
Screen for the "Satellite ID Manager" - direct port of legacy
GUIMachineSatLinker
(same texture/layout): slot 1 copies its frequency onto slot 2, slot 3 randomizes its own.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.
Screen for the Soyuz Launcher - direct port of legacy
GUISoyuzLauncher
(same texture, same UV offsets/coordinates).Generischer GUI-Screen fuer alle Turret-Varianten - Textur kommt aus
TurretStats.Контейнер для набора правил об опасностях, применяемых к предмету или тегу.
Опасности выброшенных предметов (гидрореактивность, взрыв в огне).
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.
Радиационное сопротивление брони.
JSON-бэкенд конфигурации без внешних зависимостей.
Правый клик по двери на собранном поезде.
Door-actor для Create-контрапшенов.
Right-click по блоку-ЧАСТИ двери (UniversalMachinePartBlock) на собранном поезде.
Brigadier-дерево для
/hbm_m explosion ....JEI ingredient renderer for
net.minecraftforge.fluids.FluidStack.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 3x3x1 multiblock furnace with animated door.
Heating Oven block entity - a pure combustion/heat source with an 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.
Port of the 1.7.10 api.hbm.block.ICrucibleAcceptor.
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.Port of legacy
com.hbm.items.ISatChip.Deprecated.
Используй
ModBatteryItem вместо этогоEine Veredelungsstufe der Bedrock-Ore-Progression (Mining Drill). 1:1-Port der Namens-/Tooltip-
Logik aus
ItemBedrockOreNew (Original-Repo, 1.7.10): Anzeigename = Grade-Vorlage mit dem
Typnamen als Platzhalter ("Actinide Bedrock Ore, Roasted Primary Fraction"), Tooltip = eine Zeile
pro ItemBedrockOreGraded.Trait des Grades (Faerbung/Text bereits in den lang-Werten enthalten, wie im Original).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).Порт
com.hbm.items.tool.ItemGeigerCounter (1.7.10).Апгрейд машины — порт ItemMachineUpgrade из 1.7.10.
Модификация батареи — увеличивает ёмкость силовой брони (аналог 1.7.10
ItemModBattery).1:1-Aequivalent zu
ItemOreDensityScanner aus dem 1.7.10-Original: zeigt alle 5 Ticks
die Bedrock-Erz-Dichte jeder der 6 Kategorien an der Spielerposition als Actionbar-Text an,
plus den daraus resultierenden Gesamt-Tier und das benoetigte Bohr-Fluid (siehe
BedrockOreDensity).Порт
ItemRadarLinker (extends ItemCoordinateBase) из 1.7.10.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.Generic satellite payload chip (e.g.
Remote control for an orbited satellite: sneak + right-click sets its own frequency
(
ItemSatChip); a plain right-click raytraces 300 blocks and fires
Satellite.onCoordAction(net.minecraft.server.level.ServerLevel, net.minecraft.world.entity.player.Player, int, int, int) on whatever satellite shares that frequency (e.g.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
Arc Furnace - true multiblock port of the original 1.7.10
MachineArcFurnaceLarge/
TileEntityMachineArcFurnaceLarge, built on this repo's own IMultiblockController
/ MultiblockStructureHelper framework (NOT the obsolete 1.7.10 BlockDummyable/
MultiblockHandlerXR system).Arc Furnace - generisch rezeptgesteuerte Einzelblock-Maschine, vereinfachte Portierung der
Kernlogik aus
TileEntityMachineArcFurnaceLarge/ArcFurnaceRecipes (1.7.10-
Original).BER fuer den Arc Furnace - schaltet die Elektroden zwischen "kalt" (Idle) und "heiss" (waehrend
der Verarbeitung,
MachineArcFurnaceBlockEntity.isActive()) um, analog der Hot/Cold-Gruppen
aus dem Original-OBJ (siehe arc_furnace.obj: Electrode1-3 vs.Сборочная машина (мультиблок 3x2x3).
Сборочная машина (Assembler) - мультиблочная структура для автоматизированного крафта.
Загрузчик модели для MachineAssembler: загружает несколько OBJ-файлов
(Body, Slider, Arm, Cog) как отдельные части с индивидуальными текстурами.
BAT9000 — large-capacity variant of
MachineFluidTankBlock.Универсальный класс блока для всех энергохранилищ.
Энергохранилище с настраиваемыми режимами работы.
2×2×2 multiblock cube.
Centrifuge machine.
World render: пустой chunk mesh — вся геометрия в BER/VBO.
Chemical Plant BlockEntity - порт с 1.7.10.
22 слота, 6 FluidTank (3 input, 3 output), энергия.
Menu для Chemical Plant — порт с 1.7.10.
Цвет/текстура для fallback; основной путь — mesh с
chemical_plant_fluid.Chungus / Leviathan Steam Turbine - das Endgame-Upgrade zur Industrial Turbine.
Chungus / Leviathan Steam Turbine BlockEntity - das Endgame-Upgrade zur Industrial Turbine.
Combination Oven - Einzelblock-Maschine (kein Multiblock).
Combination Oven - generisch rezeptgesteuerte Einzelblock-Maschine, Portierung der Kernlogik
aus
TileEntityFurnaceCombination/CombinationRecipes (1.7.10-Original): 1 Item-
Eingang + N mB einer bestimmten Fluessigkeit -> 1 Item-Ausgang, feste Prozesszeit.Конфигурация машин.
BlockEntity for the (large) Cooling Tower multiblock.
Crucible machine block — GIT MachineCrucible multiblock (3×3 ring) with bowl collision on controller.
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).Port of the 1.7.10 TileEntityFoundryBasin / TileEntityFoundryCastingBase
Port of the 1.7.10 TileEntityFoundryChannel.
Port of the 1.7.10 FoundryOutlet block.
Port of the 1.7.10 TileEntityFoundryOutlet.
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}).Port des Large Mining Drill (1.7.10:
MachineExcavator/TileEntityMachineExcavator).BER fuer den Large Mining Drill - 1:1 nach dem 1.7.10-Original (
RenderExcavator) nachgebaut:
"Main" bleibt (weil unbewegt) im statischen Composite-Blockmodell, alles Bewegliche wird hier Frame
fuer Frame gezeichnet:
Crusher1/Crusher2 schwingen gegenlaeufig als Pendel um ihre jeweilige Achse (crusherRotation).
Drillbit rotiert um die Y-Achse (drillRotation) und senkt sich um drillExtension
Bloecke ab; der entstehende Zwischenraum wird mit gestapelten "Shaft"-Segmenten (je 2 Einheiten hoch)
aufgefuellt, exakt wie im Original.
Die Pivot-Punkte des Originals sind in OBJ-Rohkoordinaten angegeben (Ursprung = Blockmitte); da unsere
JSON-Modelle den translate(0.5,0,0.5)-Versatz bereits beim Backen einrechnen, muss hier bei
jeder Rotation der gleiche Versatz auf den Pivot addiert werden (siehe Konstanten unten).MVP-Port der Missile-Assembly-Station - siehe
MissileAssemblyBlockEntity.Industrial Mixer BlockEntity.
Модуль крафта для продвинутой сборочной машины.
MachineModuleBase<T extends net.minecraft.world.item.crafting.Recipe<?>>
Базовый модуль машины, инкапсулирующий логику крафта.
Ore Slopper - Einzelblock-Maschine (kein Multiblock).
Ore Slopper - Einzelblock-Maschine, Portierung der Kernrezeptlogik aus
TileEntityMachineOreSlopper (1.7.10-Original): Bedrock-Erz-Item (bedrock_ore_base,
mit den 6 Kategorie-Dichten als NBT getaggt, siehe MachineMiningDrillBlockEntity.mineBedrockOre(net.minecraft.server.level.ServerLevel, net.minecraft.core.BlockPos, com.hbm_m.blockentity.machines.MachineMiningDrillBlockEntity.DrillProps))
wird mit Wasser "geschlaemmt" und liefert nach und nach die 6 sortierten Basis-Erze
(bedrock_ore_base_<type>).BER fuer den Ore Slopper - rendert nur die rotierenden Teile (Fan, BladesLeft/Right), analog
MachineMiningDrillRenderer.Малый радар:
Base + Dish; большой — Radar + Dish.Главное меню радара (порт ContainerMachineRadarNT из 1.7.10).
BER радара: при VBO — основание (instanced) + вращающаяся тарелка (instanced / single VBO).
Radar Screen — мультиблок 2x2x1 (порт
MachineRadarScreen / BlockDummyable
с размерами {1,0,0,0,1,0}).Порт
TileEntityMachineRadarScreen из 1.7.10.BER экрана радара (порт
RenderRadarScreen из 1.7.10).Меню слотов радара (порт ContainerMachineRadarNT из 1.7.10, текстура gui_radar_link.png).
VBO single-draw fallback для радара (основание и тарелка).
Refinery - processes crude oil into various petroleum products.
Refinery BlockEntity - processes crude oil into petroleum products.
"Satellite ID Manager": no facing/rotation (matches legacy
MachineSatLinker, a plain
non-directional block).Port of legacy
TileEntityMachineSatLinker: slot 0+1 copies slot 0's satellite chip
frequency onto slot 1 (so a designator can be matched to a payload before launch); slot 2
assigns a fresh random unused frequency to whatever chip is placed there.Menu for the "Satellite ID Manager" - slot layout is a direct port of legacy
ContainerMachineSatLinker (same pixel coordinates).Блок измельчителя (Shredder)
Функционал:
- 9 входных слотов для предметов
- 2 слота для лезвий (требуется BLADE_TEST)
- 18 выходных слотов
- Обработка по рецептам или в металлолом
Шреддер машина - перерабатывает предметы в пыль/скрап
Основан на оригинальной версии из 1.7.10
Солнечный котёл: вода → пар за счёт солнца.
Solar Boiler BlockEntity - converts water to steam using sunlight.
Solar Mirror BlockEntity - a passive single-block "marker" that contributes to
nearby Solar Boilers when it has direct sky access.
Steam Turbine - takes steam, produces RF energy.
Cooling Tower (Multiblock, WIP).
BlockEntity for the Cooling Tower (Small) multiblock.
Generischer BER fuer alle 11 Turret-Varianten (siehe
TurretStats): rotiert die
"Carriage"/"Pivot"-Gruppe um die Yaw-Achse und die daran haengende Pitch-Gruppe
(Kanone/Body/Laeufe) um ihre Achse, jeweils zur clientseitig interpolierten Zielrichtung
aus der BlockEntity.Дровяной генератор энергии (мультиблок 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.
Opens resources from the client resource manager.
Mineral Pipe - A pipe item for a specific mineral type.
Schaltet einen der fuenf Bohrer-Modi (drill/crusher/walling/veinminer/silktouch) um.
Порт
EntityMissileAntiBallistic из 1.7.10.MVP-Port der 1.7.10 Missile-Assembly-Maschine (
TileEntityMachineMissileAssembly).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).
Клиентский движок звука баллистических ракет: владеет
MissileFlybySoundInstance
по одному на ракету и кормит их снимками позы/скорости каждый тик.Стелс-ракета: не видна радару, корпус 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.Общие эффекты боеголовок баллистических ракет.
Recipe table for the Industrial Mixer.
Single mixer recipe: two input fluids (in any tank order) combine into one output fluid.
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.
Этот класс отвечает за добавление общих подсказок ко всем предметам-модификациям брони.
Casting outputs for the foundry basin's molds.
A crucible alloying reaction: combines several molten materials held
simultaneously in the crucible's pool into one or more different molten
outputs.
Registry of crucible alloying reactions (molten material → molten material[]).
Порт
ClientProxy / effectNT ветки type == "muke" (1.7.10).Item для блока-контроллера мультиблока.
Общая логика рамки (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
1:1-Aequivalent zu
BlockBedrockOreTE aus dem 1.7.10-Original: optisch/physisch identisch
mit Bedrock (unzerstoerbar per Hand, siehe OreBedrockBlock.getDestroyProgress(net.minecraft.world.level.block.state.BlockState, net.minecraft.world.entity.player.Player, net.minecraft.world.level.BlockGetter, net.minecraft.core.BlockPos)), nur die Maschinen
(Mining Drill) koennen es abbauen.1:1-Aequivalent zu
BlockBedrockOreTE.TileEntityBedrockOre aus dem 1.7.10-Original:
haelt das per Ring-Mining zu gewinnende Item, den benoetigten Bohr-Fluid-Typ/Menge und den
Mindest-Drillbit-Tier.Провайдер 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 из тех же квадов.Порт
ParticleAshes из HBM 1.7.10.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.
Платформенный слой Strategy B: тонкие адаптеры для API, которые НЕ покрывает Architectury.
Применение опасностей инвентаря игрока.
Мультилоадерный доступ к "персистентному 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).
Port of the 1.7.10 Gas Centrifuge's inner
PseudoFluidTank class: a simple
fill/capacity pair typed with a PseudoFluidType instead of a real Forge fluid.Direct port of the 1.7.10 Gas Centrifuge's
GasCentrifugeRecipes.PseudoFluidType.Порт
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) пакетов.
Port of legacy
com.hbm.saveddata.satellites.Satellite: a satellite "type" that gets
tracked in orbit by SatelliteManager once its payload item reaches altitude via the
Soyuz Launcher."Gerald the Construction Android" (
sat_gerald).Frequency -> orbited
Satellite registry.Клиентская «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.Порт
com.hbm.particle.ParticleMukeWave (1.7.10) — расширяющееся кольцо ударной волны.JEI category for shredder recipes (single item -> output).
Generates shredder recipes, including block conversions and powder automation.
Порт
SkeletonCreator из 1.7.10.Forge fluid capability bridge for the Solar Boiler.
C2S packet to toggle the Collision Prevention flag on the Soldering Station.
Simplified stand-in for the legacy player-pilotable
EntitySoyuzCapsule:
descends at a fixed speed from orbit height and drops its cargo payload on the
ground near the launcher's designated target, then removes itself.Renders the cargo-mode descent capsule as a small scaled-down instance of the
Soyuz rocket mesh - there's no dedicated capsule OBJ asset ported (the legacy
player-pilotable capsule is a separate feature outside this launcher's scope).
Port of legacy
com.hbm.entity.missile.EntitySoyuz: accelerates straight up,
damages/ignites anything caught underneath, and at altitude either "deploys" its
satellite payload (mode 0 - no orbital simulation exists in this port, see plan
notes on SoyuzLauncherBlockEntity) or spawns a SoyuzCapsuleEntity carrying
cargo down to the designated target (mode 1).Renders the ascending
SoyuzEntity by reusing the already-built
SoyuzRocketBakedModel VBO path (same mesh as the decorative
deco_soyuz_rocket block / the launcher's mounted-rocket preview).Baked model for the decorative Soyuz launch tower (6 separate OBJ parts:
Table, TowerBase, Tower, SupportBase, Support, Legs).
Soyuz launch tower: rotatable full-cube placement shape (like
CrtBlock),
but backed by a real BlockEntity (fuel/power/launch logic) + BlockEntityRenderer,
since the masts are ~60 blocks tall - too large for a normal static baked block
model (16-bit chunk-mesh vertex overflow corrupts/"flips" the geometry).Port of legacy
TileEntitySoyuzLauncher: two fuel tanks (kerosene/oxygen),
energy storage, 4 dedicated item slots (rocket/designator/satellite/lander) + 18
cargo slots, a Satellite/Cargo mode switch, and a launch countdown that spawns a
SoyuzEntity.C2S packet for the Soyuz Launcher's two GUI buttons (mode switch, launch start).
Menu for the Soyuz Launcher - slot layout is a direct port of legacy
ContainerSoyuzLauncher (same pixel coordinates).Loads the 6 separate Soyuz launcher OBJ parts (Table, TowerBase, Tower,
SupportBase, Support, Legs - each its own .obj file, unlike other multipart
machines here which use one .obj with named sub-groups) into a single
SoyuzLauncherBakedModel.BER for the Soyuz launch tower: renders the 6 static OBJ parts (Table,
TowerBase, Tower, SupportBase, Support, Legs) via the VBO path (see
SoyuzLauncherBakedModel for why baked-quad world rendering is
skipped), plus:
the mounted rocket (SoyuzRocketBakedModel's "Rocket" part)
while hasRocket() is true
the Tower/Support "arm" pivot animation, matching legacy
SoyuzLauncherPronter.prontLauncher(rot)'s
glTranslate -> glRotate -> glTranslate dance
Baked model for the decorative Soyuz rocket (soyuz.obj, ~52 blocks tall,
single multi-material mesh).
Decorative Soyuz rocket.
Purely decorative - no game logic.
Loads soyuz.obj (single multi-material mesh, ~52 blocks tall) into a
SoyuzRocketBakedModel.BER for the decorative Soyuz rocket: renders the single ~52-block-tall
multi-material mesh via the VBO path (see
SoyuzRocketBakedModel
for why baked-quad world rendering is skipped).Процессор структур, назначающий лут-таблицы контейнерам при генерации.
Модель для рендеринга 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).
Gerald/Horizons' actual detonation - the authentic tektite-ring/lava crater
(
ExplosionTom), not the plain sphere-clearing ExplosionFleija
used by the generic nukes.Gerald/Horizons meteor.
Blue glow trailing Gerald's meteor (
TomEntity) - same
camera-facing billboard technique as MissileNozzleFlareParticle, tinted blue-white
to match the legacy tom_flame.png glow instead of an engine's yellow-orange flare.Forge fluid capability bridge for the Cooling Tower (Small).
Клиентская «townaura».
Multiblock blast door.
Core block entity of the transition seal multiblock.
BER for the transition seal blast door multiblock.
Клиентский цикл звука турбины — вынесен из
MachineIndustrialTurbineBlockEntity, чтобы
серверный класс BE не содержал в bytecode ссылок на AbstractTickableSoundInstance.MVP-Port aller Turret-Varianten aus der 1.7.10-Originalmod (TileEntityTurretBaseNT-Familie).
Generischer MVP-Turret-Block: einzelner Block (kein Multiblock), statisches Modell.
Gerade Munitions-Geschoss-Vorlage fuer die hitscan-artigen Turret-Typen (Sentry/Chekhov/Friendly/
Jeremy/Howard), Port des Original-Prinzips (eigene
EntityBulletBaseMK4) stark vereinfacht:
kein Fall-off/Penetration, feste Geschwindigkeit, Schaden aus dem feuernden Turret uebernommen.Button-Klicks im Turret-GUI: On/Off + die vier Ziel-Kategorie-Toggles (siehe
TurretBaseBlockEntity).Generisches Menu fuer alle Turret-Varianten - siehe
TurretBaseBlockEntity.Gelenkte Turret-Rakete fuer Richard/Himars (Original:
EntityBulletBaseMK4 mit
lockonTarget).Stat- und Modell-Tabelle fuer alle Turret-Varianten aus dem Original
(WeaponRecipes.java / TileEntityTurretX / RenderTurretX).
Универсальное пространство узлов (порт UniNodespace из 1.7.10).
Ключ узловой карты: (позиция, провайдер сети).
Карта узлов на одном измерении.
C2S-пакет управления радаром (порт GUIMachineRadarNT.receiveControl + NBTControlPacket).
Минимальная реализация менеджера апгрейдов.
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 и аналоги.Порт
com.hbm.blocks.generic.WasteLeaves (1.7.10) под 1.20.1.ВОЛНОВОЙ ДЫМ - НЕ ПРОХОДИТ СКВОЗЬ БЛОКИ
Особенности:
- Проверяет столкновения с блоками
- "Облетает" препятствия сверху
- Создаёт тряску камеры при касании игрока
- Сила тряски зависит от расстояния частицы от эпицентра
BlockEntity для провода.
Визуальная форма центра провода: контакт (Core) или прямой сегмент через блок (CX/CY/CZ в cable_neo.obj).
Минимальные утилиты мира для fallout / смены биомов (порт WorldUtil).