INTRODUCING THE ASSEMBLY MACHINE!
This is a massive content update centered around our first-ever multiblock structure.
Presenting: The Assembly Machine! Added a fully functional, multiblock Assembly Machine with a custom hitbox! It features a modular crafting system via new Assembly Templates. This marks a new era for crafting in the mod, featuring a deeply modular system driven by craftable Assembly Templates. Engineer complex components with our new energy storage system, powered initially by the Creative Battery.
To support this, we've introduced the Template Folder for designing new schematics, and a whole new tier of ingots and plates exclusively craftable in this new machine.
Template Folder GUI with working search bar
Key Fixes & Refactoring:
- CRITICAL: Annihilated a duplication bug in the Armor Table.
- Performance: Significantly optimized the radiation system by overhauling the
handleWorldDestruction
method usingMutableBlockPos
.- Optimized
recalculateChunkRadiation
for more efficient processing.
- Optimized
New Content:
- Assembly Machine: Added a fully functional, multiblock Assembly Machine with a custom precise hitbox. It features a modular crafting system via new Assembly Templates. Howewer, currently no animations. Only sounds.
- Energy System: Implemented an energy storage and transfer system for machines.
- New Items:
- Added Creative Battery as the initial power source for the assembler.
- Added Template Folder to create new crafting templates. Templates can be crafted in survival.
- Added a variety of new ingots and plates, craftable in the Assembly Machine.
- Recipes & Datagen: Fully integrated the new machine and items into the data generation pipeline with custom recipes.
Other Changes:
- Refactored project structure for better organization (renaming files, moving classes).
- Implemented a robust networking layer for machine state synchronization.
- Added custom tooltips and GUI elements for the new systems.
P.S I decided to abandon the implementation of animations in the mod at this stage and focus more on functionality, in order to first create a solid skeleton out of core mechanics, which will then be covered with "meat" - QoL content and other less important things. Functionality > Visuality
feat(core): Implement Armor Modification and Data Generation Overhaul
My first Public Release!
This major update introduces a complete armor modification system and fundamentally refactors the project's architecture by implementing a full data generation pipeline. This simplifies future content additions and improves overall code quality and maintainability.
-
Armor Table now fully functional!!
-
Added neat interaction sounds
-
Created a base
ItemArmorMod
class for all future armor modules. -
Added new modification items:
- Heart Piece: Increases player's maximum health.
- Giorsium Lining: Adds radiation resistance.
- And some others
-
Completely overhauled item tooltips for both armor and mods to be dynamic, context-aware (e.g., hiding mod lists via SHIFT), and more informative.
-
Introduced a new radiation protection system based on an absolute resistance value.
-
This absolute value is converted to a percentage-based damage reduction using an exponential formula (
1 - e^-kx
), providing diminishing returns. -
Vanilla armors have been assigned base resistance values.
-
Total resistance is calculated from the base armor plus all installed radiation protection mods.
-
The Geiger Counter and Dosimeter now display the player's current absolute and percentage-based radiation protection.
-
RadAway: Added a new consumable item that applies an effect to reduce a player's accumulated radiation.
-
Block Geiger Counter: A placeable, functional block version of the Geiger counter has been added. It features a custom OBJ model, provides radiation info on right-click, and outputs a redstone signal proportional to the radiation level.
-
Some new ingots (including radioactive ones)
-
Refactored the entire asset and data registration process to use Forge's Data Generation system (
runData
). -
Manual
.json
files insrc/main/resources
have been removed and are now generated insrc/generated/resources
. -
This automates the creation of:
- Item and Block models
- Block states (for simple, custom-sided, and OBJ-modelled blocks)
- Language files (
en_us.json
,ru_ru.json
) from a central source - Item and Block tags (including OreDict and custom mod tags)
- Custom Damage Types
-
Established a central
ModIngots
enum to streamline the addition of new metals and materials. -
Refactored the radiation damage system to use modern Damage Types.
-
Fixed a critical bug where player health would not correctly update after unequipping armor with health-boosting mods. Implemented a robust, tick-based check to resolve the issue.
-
Restructured client-side event handling for better separation of concerns (e.g.,
ArmorTooltipHandler
,ModTooltipHandler
).