Repository navigation
Create
Minecraft 1.20.1 / Forge: this page documents that build and its measurements. For the separate 170-control Minecraft 1.21.1 port, see Minecraft 1.21.1 NeoForge.
Four controls for Create 6.0.8 (mod id create), all added in 1.0.30: contraption collision boxes are built in one pass, and three changes make funnel extraction and contraption storage cheaper. Create itself shipped these ideas only for Minecraft 1.21.1; each section names its source. Every switch checks the code it would change against the tested build; another build is left untouched with one WARN line (see How the patches are applied).
| Key | Target | Side | Since | Kind |
|---|---|---|---|---|
create_collision_single_pass |
Create 6.0.8 | BOTH | 1.0.30 | opt |
create_item_helper_empty_slots |
Create 6.0.8 | BOTH | 1.0.30 | opt |
create_mounted_slot_index |
Create 6.0.8 | BOTH | 1.0.30 | opt |
create_single_pass_extraction |
Create 6.0.8 | BOTH | 1.0.30 | opt |
Since: 1.0.30 · Target: Create 6.0.8 · Side: BOTH · Kind: opt
Mixins: ContraptionCollisionMixin, VoxelShapeAccessor
Create contraption collision boxes in one pass. When a contraption or train is assembled, loaded or changes a block, Create builds its collision boxes in the background by joining every block's shape into one shape, block after block, and each join rebuilds everything joined so far: a few hundred blocks take tenths of a second and hundreds of megabytes of garbage. The switch collects the same block shapes and builds the combined shape's boxes in one pass: the same boxes in the same order, to the last bit. Where Minecraft's joining could round or merge nearly equal coordinates, or for shape types it does not know, Create's own joining runs instead.
Idea: Create issue #6902 and Create 6.0.9's changelog (1.21.1), backported by Create Optimized Trains; idea text only. This is not Create 6.0.10's later collision change.
Measured: a 200-block carriage 31.3 -> 0.22 ms and 13.2 -> 0.11 MB, a 400-block carriage 369 -> 1.3 ms and 108 -> 0.25 MB, 5,000 plain blocks 150 -> 1.5 ms; 10,349 shape lists and 600 real contraptions identical, also with Radium's shape code
Since: 1.0.30 · Target: Create 6.0.8 · Side: BOTH · Kind: opt
Mixin: MountedSlotIndexMixin
Create contraption storage slot lookup. Every slot access on a contraption's or train's combined storage (Forge's CombinedInvWrapper inside Create's MountedItemStorageWrapper) first scans the list of mounted chests and vaults to find the one holding that slot. The switch answers from a table built once from the same fixed slot boundaries: the same storage for every slot number, including out-of-range ones; a wrapper class other than Create's two keeps the scan.
Idea: Create PR #9706 (1.21.1) and Create Repair, idea text only
Measured: slot reads through the wrapper 6.5 -> 5.7 ns (4 storages), 14.7 -> 6.4 ns (40), 26.7 -> 5.9 ns (120); 5.5 million slot answers on 3,000 real wrappers identical, incl. adversarial boundary arrays
Since: 1.0.30 · Target: Create 6.0.8 · Side: BOTH · Kind: opt
Mixins: ItemHelperExtractMixin, SidedInvWrapperAccessor, CompoundContainerAccessor
Create extraction skips empty slots. Create's item extraction loop (funnels, chutes, contraption funnels, deployers, the schematicannon) simulates an extraction from every slot of a chest, empty or not, and funnels and chutes repeat it every tick while nothing can be taken. For Forge's and Minecraft's own inventory classes, whose code was checked for this, an empty slot cannot give anything, so it is skipped before that call; every other inventory keeps Create's loop as it is.
Idea: Create PR #9706 (1.21.1) and Create Repair, idea text only
Measured: an idle poll of an empty chest 887 -> 576 ns, of a chest with 3 stacks 794 -> 296 ns; 60,000 extraction cases on 13 inventory kinds identical (results, contents, predicate and handler call logs)
Since: 1.0.30 · Target: Create 6.0.8 · Side: BOTH · Kind: opt
Mixins: InvManipulationExtractMixin, FilteringBehaviourAccessor
Create funnels extract in one pass. When a funnel takes items out of an inventory, Create first runs the whole extraction simulated and then again for real. For funnels with no filter or a plain item filter on Forge's and Minecraft's own inventory classes, the simulated pass changes nothing, so the real pass alone gives the same items and leaves the same inventory. Since 1.0.34 it also works on its own: with create_item_helper_empty_slots switched off (or skipped), double chests and sided inventories (furnaces, brewing stands, shulker boxes) keep Create's own two passes instead of stopping the server.
Idea: Create PR #9706 (1.21.1) and Create Repair, idea text only
Measured: a funnel taking one item from a chest 257 -> 212 ns (item in the first slot), 724 -> 393 ns (last slot); 30,000 funnel extraction cases identical (results, contents, call logs)
Bons and Furious is licensed GPL-3.0-only with upstream notices retained. Target mod names identify compatibility targets and do not imply endorsement; their code, assets and licenses remain their authors' property. All measurements on this wiki are focused method, phase or reproduction measurements from the pack the mod was built for, taken on the historical build named in each entry; they are not whole-game FPS or TPS promises and are not additive.
Bons and Furious
Minecraft 1.20.1 / Forge 1.0.34
- Home
- Installation and configuration
- How the patches are applied
- All controls
- Measurements and caveats
- Whole-modpack benchmark
- Troubleshooting and log messages
- Generation context fixes
- Version history
Compatibility
- Compatibility
- Known conflicts and workarounds
- Tested mod list
- Redundant mods
- Compatibility and target versions
Controls by mod
- Minecraft (51)
- Forge (6)
- Ad Astra (1)
- Alex's Caves (4)
- Alex's Mobs (2)
- Almost Unified (1)
- AmbientSounds (3)
- Architectury API (1)
- Ars Nouveau (2)
- Artifacts (1)
- Better Combat (1)
- Bosses of Mass Destruction (1)
- Butterflies (1)
- ChunkSending (1)
- CIT Reforged (1)
- Citadel (1)
- CoFH Core (1)
- Colorwheel (1)
- Cooking for Blockheads (1)
- Create (4)
- Critters and Companions (1)
- Cryptic Foes (2)
- Cucumber (1)
- Curios API (6)
- Distant Horizons (17)
- Dungeons Delight (1)
- Dynamic Trees (2)
- Embeddium (13)
- Entity Model Features (4)
- Entity Texture Features (1)
- EntityCulling (1)
- FancyMenu (1)
- Farmer's Delight (2)
- FD Bosses (2)
- Fowl Play (2)
- Fusion (2)
- GeckoLib (5)
- Goblins Tyranny (2)
- Hostile Villages (2)
- Ice and Fire (6)
- ImmediatelyFast (3)
- Immersive Engineering (1)
- Jaden's Nether Expansion (1)
- JEI (7)
- Kiwi (1)
- L2 Library (2)
- Legendary Monsters (1)
- Lionfish API (2)
- ModernFix (4)
- Mowzie's Mobs (1)
- Mutant Monsters (1)
- Nether Depths Upgrade (1)
- Occult (1)
- Oculus (12)
- Oh The Biomes We've Gone (1)
- Particular (1)
- Pehkui (1)
- Pipez (2)
- Placebo (1)
- Presence Footsteps (1)
- Radium Re-Reforged (8)
- Regions Unexplored (1)
- Relics (2)
- Ribbits (1)
- Ryoamic Lights (2)
- Sake's Structures (1)
- Scorched (1)
- Scuba Gear (1)
- Simply Swords (1)
- SlashBlade: Resharped (1)
- Slice & Dice (1)
- Spawn (4)
- Storage Drawers (2)
- Structure Gel API (1)
- Structurify (3)
- TaCZ (2)
- TerraBlender (2)
- Terramity (1)
- Under the Moon (1)
- Valkyrien Skies (15)
- Trackwork model repair
- Living Engineering (moved out in 1.0.20)
Links