Repository navigation
Conversation
geyesborg
force-pushed
the
pr/data-components
branch
23 times, most recently
from
October 17, 2026 03:46
ee151e5 to
3a7721c
Compare
…mod retention, and world migration - Lift block (4096), item (32000), biome (256), potion (256), enchantment (32767), villager profession (1024), and entity network ID caps to Integer.MAX_VALUE with deterministic runtime IDs and standalone IBlockState IDs (Block.BLOCK_STATE_IDS). - Save chunk sections and 2D/3D biomes as string palettes (SectionBlockFormat, ChunkBiomes) with legacy Forge, JEID/REID, and NEID world migration (LegacyIds, LegacyIdWorlds). - Synchronize and reconcile registry order on multiplayer handshake (RegistrySync). - Retain missing-mod blocks, biomes, items, entities, tile entities, villager professions, enchantments, and world types with stand-ins (RetainedContent, RetentionFile, StandIns, MissingItem). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 03:47
3a7721c to
e4742f4
Compare
… records from LegacyIds during legacy/JEID/NEID migration Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 04:00
e4742f4 to
bce05de
Compare
…iveEffects and EnchantmentHelper retention Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 04:11
bce05de to
17ce750
Compare
… and FlowerPot saves and delegate BlockStateContainer.setDataFromNBT Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 18:08
86f0541 to
98da6b0
Compare
…otions in AreaEffectCloud/TippedArrow, and auto-rebuild Block states in EnumHelper.addEnum Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 18:56
98da6b0 to
9c86b0c
Compare
…and retain village crop names in StructureVillagePieces Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:07
9c86b0c to
9c4dd38
Compare
…and resolve BaseName/ColorName in TileEntityBanner Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:16
9c4dd38 to
92ae530
Compare
…FlatGeneratorInfo and retain missing-mod player statistics in StatisticsManagerServer Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:23
92ae530 to
baa9cfe
Compare
…etention helpers in RetainedContent and retain custom EntityPainting Motive Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:35
baa9cfe to
eb934d0
Compare
…, unlocked recipes (RecipeBookServer), and unresolved block-state properties on registered blocks Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:43
eb934d0 to
3394eb3
Compare
…rdSaveData and refactor EntityFallingBlock/EntityArrow to use RetainedContent.readRetainedBlockState Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:50
3394eb3 to
77969f1
Compare
…ontent.readRetainedBlockState and retain DisplaySlots in ScoreboardSaveData Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 19:55
77969f1 to
07c1f73
Compare
…ct, fix PotionUtils.appendEffects tag type, and centralize RetainedContent.isRemovedStatKey Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 20:24
07c1f73 to
9cea5f8
Compare
…eacon, preserve retained potions on picked-up EntityTippedArrow, and preserve retained BaseName on dropped/re-placed Banners Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
geyesborg
force-pushed
the
pr/data-components
branch
from
October 17, 2026 20:33
9cea5f8 to
13e7d00
Compare
…room.common.id, fold IdFormatContainer into CleanroomContainer, CommandRegistry, IdDataFixers, BiomeArrayTransformer)
geyesborg
force-pushed
the
pr/data-components
branch
from
October 20, 2026 22:27
13e7d00 to
30dc0ab
Compare
…ep pr/wide-ids focused on Wide IDs and tag/palette storage
geyesborg
force-pushed
the
pr/data-components
branch
from
October 20, 2026 22:48
30dc0ab to
21ec25d
Compare
geyesborg
force-pushed
the
pr/data-components
branch
from
October 20, 2026 22:59
21ec25d to
41b0e79
Compare
…flection, and replace global NBT equality patches with ItemStack tag normalization
geyesborg
force-pushed
the
pr/data-components
branch
from
October 20, 2026 23:26
41b0e79 to
cc90a4e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cleanroom Version
0.7.7-alphaSummary
Stacked on #684 (
pr/wide-ids). Introduces Cleanroom's typedItemStackData Component architecture (com.cleanroommc.component.*), standaloneIItemState(ItemStateContainer,ItemStateIdMap), and@Deprecatedcompatibility shims for legacy 4-bit block metadata and 16-bit item damage APIs.Goals
Itema template for standaloneIItemStateinstances (getStateId(),getOrdinal(),Item.ITEM_STATE_IDS,ItemStateContainer) mirroringBlock->IBlockState, while preservingstack.getItem() == Items.DYEidentity for 1.12 mods.DataComponentType<T>system (cleanroom:data_component_types) with lazy per-Itemprototype maps (DataComponentMap) and per-ItemStackcopy-on-write patches (PatchedDataComponentMap).ItemStackdurability (DataComponents.DAMAGE, 32-bitintviagetDamageValue/setDamageValue), standalone states on stacks (DataComponents.BLOCK_STATE,DataComponents.ITEM_STATE), and map IDs (DataComponents.MAP_ID) while keepingitemDamagesynchronized for legacy callers.DataComponentPredicate([component=value,!removed]and state-property matching) across/give,/clear,/replaceitem,Ingredient,CraftingHelper,FurnaceRecipes,LootFunctionManager(set_components), andItemPredicate.Block.getStateFromMeta,Block.getMetaFromState,ItemStack.getItemDamage,ItemStack.getMetadata) as compatibility shims.Depends On
pr/wide-ids) — this branch is stacked on top of feature(ids): Cleanroom wide IDs, paletted chunk/biome storage, missing-mod retention, and world migration #684.Description
com.cleanroommc.component.*):DataComponentType<T>with optionalNbtCodec<T>andNetCodec<T>, registered inGameData.DATA_COMPONENT_TYPES(cleanroom:data_component_types).DataComponents:MAX_STACK_SIZE,MAX_DAMAGE,DAMAGE,UNBREAKABLE,CUSTOM_NAME,LORE,CUSTOM_DATA,MAP_ID,LEGACY_VARIANT,BLOCK_STATE, andITEM_STATE.ItemStackare retained verbatim inunknownComponentTagsacross load/save (and dropped if their namespace is removed viaRetainedContent).IItemState,ItemStateContainer,ItemStateIdMap):Item.createItemState()builds anItemStateContainerwhose validIItemStateinstances receive dense runtime IDs inItem.ITEM_STATE_IDS(ItemStateIdMap).ItemDye,ItemCoal,ItemAppleGold,ItemFishFood,ItemSkull,ItemBanner,ItemBed) withItem.rebuildItemState()support inEnumHelper.addDyeColor.ItemBlock.stackFor,Block.getStateForDrop):ItemBlock.stackFor(IBlockState)attachesDataComponents.BLOCK_STATEwhenever a block state cannot round-trip through 4-bitgetStateFromMeta(such as>16-state blocks or customEnumDyeColorvariants on wool, carpet, concrete, stained clay, and stained glass/panes).DataComponentPredicateparses bracket syntax (item[component=value,!removed,prop=val]) for/give,/clear, and/replaceitem, and JSON"components"for recipes, advancements, and loot tables.ItemStack.areItemStackTagsEqual,ItemStack.isItemEqual,PackedItems,Ingredient,FurnaceRecipes,TileEntityFurnace,MerchantRecipeList,SlotMerchantResult,EntityItem, andItemHandlerHelperpreserve and comparePatchedDataComponentMapentries.Generated with Devin