Skip to content

Fix 1.21 text module serialization and a multitude of other bugs that apparently were on this branch that was never merged#4773

Open
screret wants to merge 19 commits intoGregTechCEu:1.21from
screret:sc/merge-1.20-on-3605
Open

Fix 1.21 text module serialization and a multitude of other bugs that apparently were on this branch that was never merged#4773
screret wants to merge 19 commits intoGregTechCEu:1.21from
screret:sc/merge-1.20-on-3605

Conversation

@screret
Copy link
Copy Markdown
Contributor

@screret screret commented Apr 6, 2026

What

Title.
A notable fix that's been on this branch is fixing data items' data bank requirement being inverted.

Implementation Details

IDEK anymore, this has been sitting stale for half a year, look through the code.

Outcome

At least two (2) bugs fixed. Likely many more.

Additional Information

If you see something you don't like, feel free to fix/change it. I don't really care.

screret added 18 commits August 3, 2025 16:26
# Conflicts:
#	dependencies.gradle
#	gradle/forge.versions.toml
#	gradle/libs.versions.toml
#	gradle/scripts/jars.gradle
#	gradle/scripts/moddevgradle.gradle
#	gradle/scripts/resources.gradle
#	gradle/wrapper/gradle-wrapper.properties
#	src/generated/resources/assets/gtceu/blockstates/active_transformer.json
#	src/generated/resources/assets/gtceu/blockstates/alloy_blast_smelter.json
#	src/generated/resources/assets/gtceu/blockstates/assembly_line.json
#	src/generated/resources/assets/gtceu/blockstates/coke_oven.json
#	src/generated/resources/assets/gtceu/blockstates/cracker.json
#	src/generated/resources/assets/gtceu/blockstates/creative_chest.json
#	src/generated/resources/assets/gtceu/blockstates/creative_tank.json
#	src/generated/resources/assets/gtceu/blockstates/data_bank.json
#	src/generated/resources/assets/gtceu/blockstates/electric_blast_furnace.json
#	src/generated/resources/assets/gtceu/blockstates/ev_bedrock_ore_miner.json
#	src/generated/resources/assets/gtceu/blockstates/ev_fluid_drilling_rig.json
#	src/generated/resources/assets/gtceu/blockstates/ev_large_miner.json
#	src/generated/resources/assets/gtceu/blockstates/ev_super_chest.json
#	src/generated/resources/assets/gtceu/blockstates/ev_super_tank.json
#	src/generated/resources/assets/gtceu/blockstates/extreme_combustion_engine.json
#	src/generated/resources/assets/gtceu/blockstates/gas_large_turbine.json
#	src/generated/resources/assets/gtceu/blockstates/high_performance_computation_array.json
#	src/generated/resources/assets/gtceu/blockstates/hv_bedrock_ore_miner.json
#	src/generated/resources/assets/gtceu/blockstates/hv_fluid_drilling_rig.json
#	src/generated/resources/assets/gtceu/blockstates/hv_super_chest.json
#	src/generated/resources/assets/gtceu/blockstates/hv_super_tank.json
#	src/generated/resources/assets/gtceu/blockstates/implosion_compressor.json
#	src/generated/resources/assets/gtceu/blockstates/iv_large_miner.json
#	src/generated/resources/assets/gtceu/blockstates/iv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/iv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/large_arc_smelter.json
#	src/generated/resources/assets/gtceu/blockstates/large_assembler.json
#	src/generated/resources/assets/gtceu/blockstates/large_autoclave.json
#	src/generated/resources/assets/gtceu/blockstates/large_brewer.json
#	src/generated/resources/assets/gtceu/blockstates/large_centrifuge.json
#	src/generated/resources/assets/gtceu/blockstates/large_chemical_bath.json
#	src/generated/resources/assets/gtceu/blockstates/large_chemical_reactor.json
#	src/generated/resources/assets/gtceu/blockstates/large_circuit_assembler.json
#	src/generated/resources/assets/gtceu/blockstates/large_combustion_engine.json
#	src/generated/resources/assets/gtceu/blockstates/large_cutter.json
#	src/generated/resources/assets/gtceu/blockstates/large_electrolyzer.json
#	src/generated/resources/assets/gtceu/blockstates/large_electromagnet.json
#	src/generated/resources/assets/gtceu/blockstates/large_engraving_laser.json
#	src/generated/resources/assets/gtceu/blockstates/large_extractor.json
#	src/generated/resources/assets/gtceu/blockstates/large_extruder.json
#	src/generated/resources/assets/gtceu/blockstates/large_maceration_tower.json
#	src/generated/resources/assets/gtceu/blockstates/large_material_press.json
#	src/generated/resources/assets/gtceu/blockstates/large_mixer.json
#	src/generated/resources/assets/gtceu/blockstates/large_packer.json
#	src/generated/resources/assets/gtceu/blockstates/large_sifting_funnel.json
#	src/generated/resources/assets/gtceu/blockstates/large_solidifier.json
#	src/generated/resources/assets/gtceu/blockstates/large_wiremill.json
#	src/generated/resources/assets/gtceu/blockstates/luv_fusion_reactor.json
#	src/generated/resources/assets/gtceu/blockstates/luv_large_miner.json
#	src/generated/resources/assets/gtceu/blockstates/luv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/luv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/lv_super_chest.json
#	src/generated/resources/assets/gtceu/blockstates/lv_super_tank.json
#	src/generated/resources/assets/gtceu/blockstates/mega_blast_furnace.json
#	src/generated/resources/assets/gtceu/blockstates/mega_vacuum_freezer.json
#	src/generated/resources/assets/gtceu/blockstates/multi_smelter.json
#	src/generated/resources/assets/gtceu/blockstates/mv_bedrock_ore_miner.json
#	src/generated/resources/assets/gtceu/blockstates/mv_fluid_drilling_rig.json
#	src/generated/resources/assets/gtceu/blockstates/mv_super_chest.json
#	src/generated/resources/assets/gtceu/blockstates/mv_super_tank.json
#	src/generated/resources/assets/gtceu/blockstates/network_switch.json
#	src/generated/resources/assets/gtceu/blockstates/opv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/opv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/plasma_large_turbine.json
#	src/generated/resources/assets/gtceu/blockstates/power_substation.json
#	src/generated/resources/assets/gtceu/blockstates/primitive_blast_furnace.json
#	src/generated/resources/assets/gtceu/blockstates/pyrolyse_oven.json
#	src/generated/resources/assets/gtceu/blockstates/research_station.json
#	src/generated/resources/assets/gtceu/blockstates/steam_grinder.json
#	src/generated/resources/assets/gtceu/blockstates/steam_large_turbine.json
#	src/generated/resources/assets/gtceu/blockstates/steam_oven.json
#	src/generated/resources/assets/gtceu/blockstates/steel_multiblock_tank.json
#	src/generated/resources/assets/gtceu/blockstates/uev_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/uev_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/uhv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/uhv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/uiv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/uiv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/uv_fusion_reactor.json
#	src/generated/resources/assets/gtceu/blockstates/uv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/uv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/uxv_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/uxv_quantum_tank.json
#	src/generated/resources/assets/gtceu/blockstates/vacuum_freezer.json
#	src/generated/resources/assets/gtceu/blockstates/wooden_multiblock_tank.json
#	src/generated/resources/assets/gtceu/blockstates/zpm_fusion_reactor.json
#	src/generated/resources/assets/gtceu/blockstates/zpm_quantum_chest.json
#	src/generated/resources/assets/gtceu/blockstates/zpm_quantum_tank.json
#	src/generated/resources/assets/gtceu/lang/en_ud.json
#	src/generated/resources/assets/gtceu/lang/en_us.json
#	src/generated/resources/assets/gtceu/models/block/machine/coke_oven_hatch.json
#	src/generated/resources/assets/gtceu/models/block/machine/configurable_maintenance_hatch.json
#	src/generated/resources/assets/gtceu/models/block/machine/maintenance_hatch.json
#	src/main/java/com/gregtechceu/gtceu/api/blockentity/MetaMachineBlockEntity.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/GTCapabilityHelper.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/ICoverable.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/forge/GTCapability.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/recipe/RecipeCapability.java
#	src/main/java/com/gregtechceu/gtceu/api/gui/widget/PatternPreviewWidget.java
#	src/main/java/com/gregtechceu/gtceu/api/item/component/IDataItem.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/IExhaustVentMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IMaintenanceMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IMultiController.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockControllerMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/steam/SteamEnergyRecipeHandler.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/trait/RecipeLogic.java
#	src/main/java/com/gregtechceu/gtceu/api/material/material/Material.java
#	src/main/java/com/gregtechceu/gtceu/api/material/material/properties/ArmorProperty.java
#	src/main/java/com/gregtechceu/gtceu/api/material/material/properties/ToolProperty.java
#	src/main/java/com/gregtechceu/gtceu/api/multiblock/Predicates.java
#	src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java
#	src/main/java/com/gregtechceu/gtceu/api/recipe/ResearchRecipeBuilder.java
#	src/main/java/com/gregtechceu/gtceu/api/registry/registrate/GTRegistrate.java
#	src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MultiblockMachineBuilder.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/BlockHighlightRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/GTRenderTypes.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/impl/FluidAreaRender.java
#	src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java
#	src/main/java/com/gregtechceu/gtceu/common/data/GTOres.java
#	src/main/java/com/gregtechceu/gtceu/common/item/DataItemBehavior.java
#	src/main/java/com/gregtechceu/gtceu/common/item/armor/IJetpack.java
#	src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/HullMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeTurbineMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MaintenanceHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MufflerPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/RotorHolderPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CrateMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/network/GTNetwork.java
#	src/main/java/com/gregtechceu/gtceu/core/mixins/client/LevelRendererMixin.java
#	src/main/java/com/gregtechceu/gtceu/data/datagen/lang/ConfigurationLang.java
#	src/main/java/com/gregtechceu/gtceu/data/datagen/lang/ItemLang.java
#	src/main/java/com/gregtechceu/gtceu/data/datagen/lang/LangHandler.java
#	src/main/java/com/gregtechceu/gtceu/data/inject/GTSyncedFieldAccessors.java
#	src/main/java/com/gregtechceu/gtceu/data/item/GTItems.java
#	src/main/java/com/gregtechceu/gtceu/data/machine/GTMachineUtils.java
#	src/main/java/com/gregtechceu/gtceu/data/machine/GTMachines.java
#	src/main/java/com/gregtechceu/gtceu/data/machine/GTResearchMachines.java
#	src/main/java/com/gregtechceu/gtceu/data/model/GTMachineModels.java
#	src/main/java/com/gregtechceu/gtceu/data/recipe/generated/OreRecipeHandler.java
#	src/main/java/com/gregtechceu/gtceu/data/recipe/misc/ComputerRecipes.java
#	src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityMachineRecipeLoader.java
#	src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java
#	src/main/java/com/gregtechceu/gtceu/integration/kjs/GregTechKubeJSPlugin.java
#	src/main/java/com/gregtechceu/gtceu/integration/top/provider/RecipeOutputProvider.java
#	src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java
#	src/main/java/com/gregtechceu/gtceu/utils/ResearchManager.java
#	src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java
# Conflicts:
#	dependencies.gradle
#	gradle/forge.versions.toml
#	gradle/libs.versions.toml
#	gradle/scripts/jars.gradle
#	gradle/scripts/moddevgradle.gradle
#	src/generated/resources/assets/gtceu/lang/en_ud.json
#	src/generated/resources/assets/gtceu/lang/en_us.json
#	src/main/java/com/gregtechceu/gtceu/api/GTCEuAPI.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/GTCapability.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/GTCapabilityHelper.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/ICoverable.java
#	src/main/java/com/gregtechceu/gtceu/api/capability/recipe/RecipeCapability.java
#	src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/Material.java
#	src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/ArmorProperty.java
#	src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/ToolProperty.java
#	src/main/java/com/gregtechceu/gtceu/api/gui/widget/PatternPreviewWidget.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/IExhaustVentMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IMaintenanceMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IMultiController.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockControllerMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/steam/SteamEnergyRecipeHandler.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/trait/RecipeLogic.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/Predicates.java
#	src/main/java/com/gregtechceu/gtceu/api/placeholder/MultiLineComponent.java
#	src/main/java/com/gregtechceu/gtceu/api/placeholder/PlaceholderContext.java
#	src/main/java/com/gregtechceu/gtceu/api/placeholder/PlaceholderHandler.java
#	src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java
#	src/main/java/com/gregtechceu/gtceu/api/recipe/ResearchRecipeBuilder.java
#	src/main/java/com/gregtechceu/gtceu/api/registry/registrate/GTRegistrate.java
#	src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MultiblockMachineBuilder.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/BlockHighlightRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/monitor/MonitorImageRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/monitor/MonitorTextRenderer.java
#	src/main/java/com/gregtechceu/gtceu/common/CommonEventListener.java
#	src/main/java/com/gregtechceu/gtceu/common/CommonInit.java
#	src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java
#	src/main/java/com/gregtechceu/gtceu/common/cover/ComputerMonitorCover.java
#	src/main/java/com/gregtechceu/gtceu/common/cover/WirelessTransmitterCover.java
#	src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java
#	src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java
#	src/main/java/com/gregtechceu/gtceu/common/data/GTMaterials.java
#	src/main/java/com/gregtechceu/gtceu/common/data/item/GTDataComponents.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java
#	src/main/java/com/gregtechceu/gtceu/common/data/materials/FirstDegreeMaterials.java
#	src/main/java/com/gregtechceu/gtceu/common/data/models/GTMachineModels.java
#	src/main/java/com/gregtechceu/gtceu/common/datafixer/fixes/DataItemComponentFix.java
#	src/main/java/com/gregtechceu/gtceu/common/item/armor/IJetpack.java
#	src/main/java/com/gregtechceu/gtceu/common/item/armor/QuarkTechSuite.java
#	src/main/java/com/gregtechceu/gtceu/common/item/behavior/DataItemBehavior.java
#	src/main/java/com/gregtechceu/gtceu/common/item/behavior/FacadeItemBehaviour.java
#	src/main/java/com/gregtechceu/gtceu/common/item/behavior/modules/ImageModuleBehaviour.java
#	src/main/java/com/gregtechceu/gtceu/common/item/behavior/modules/TextModuleBehaviour.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CentralMonitorMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MaintenanceHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CrateMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/network/GTNetwork.java
#	src/main/java/com/gregtechceu/gtceu/common/network/packets/CPacketImageRequest.java
#	src/main/java/com/gregtechceu/gtceu/common/network/packets/CPacketKeyDown.java
#	src/main/java/com/gregtechceu/gtceu/common/network/packets/SCPacketMonitorGroupNBTChange.java
#	src/main/java/com/gregtechceu/gtceu/common/network/packets/SPacketImageResponse.java
#	src/main/java/com/gregtechceu/gtceu/core/mixins/client/LevelRendererMixin.java
#	src/main/java/com/gregtechceu/gtceu/data/datafixer/GTDataFixers.java
#	src/main/java/com/gregtechceu/gtceu/data/datagen/lang/ConfigurationLang.java
#	src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java
#	src/main/java/com/gregtechceu/gtceu/data/placeholder/GTPlaceholders.java
#	src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityMachineRecipeLoader.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/GTAEPlaceholders.java
#	src/main/java/com/gregtechceu/gtceu/integration/create/GTCreateIntegration.java
#	src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java
#	src/main/java/com/gregtechceu/gtceu/integration/kjs/GTKubeJSPlugin.java
#	src/main/java/com/gregtechceu/gtceu/integration/top/provider/RecipeOutputProvider.java
#	src/main/java/com/gregtechceu/gtceu/utils/GTStringUtils.java
#	src/main/java/com/gregtechceu/gtceu/utils/ResearchManager.java
#	src/main/java/com/gregtechceu/gtceu/utils/input/KeyBind.java
#	src/main/java/com/gregtechceu/gtceu/utils/input/SyncedKeyMappings.java
#	src/main/resources/gtceu.mixins.json
It actually uses block entity types now
@screret screret requested review from a team as code owners April 6, 2026 17:34
@github-actions github-actions bot added the 1.21 label Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant