Skip to content

Create Bits 'n' Bobs: Contraptions 'n' control#79

Draft
cakeGit wants to merge 215 commits intomainfrom
contraptions-and-control
Draft

Create Bits 'n' Bobs: Contraptions 'n' control#79
cakeGit wants to merge 215 commits intomainfrom
contraptions-and-control

Conversation

@cakeGit
Copy link
Copy Markdown
Contributor

@cakeGit cakeGit commented Mar 21, 2026

2.0.0 - Contraptions 'n' Control

Key features:

  • Aura
  • Chain carriage contraptions
  • "Activator" contact and controls
  • Extended chain drive behaviour to include capabilities for partial editing and riding with a wrench

(Currently includes all features from compat n casings but once merged it should be new content only)

cakeGit and others added 30 commits March 30, 2026 20:04
Replace convenience recipe methods (p.stonecutting, p.stairs, p.slab)
with manual recipe builders using p.withConditions(BnbFeatureFlag.TILES)
so that all palette block recipes (stonecutting, crafting, recycling)
are conditioned on the TILES feature flag.

Affected recipe types:
- Palette variant stonecutting recipes (BnbPalettesVariantEntry)
- Base block stonecutting recipes (BnbPalettesVariantEntry)
- Stair crafting + stonecutting (Stairs, TileStairs)
- Slab crafting + stonecutting + recycling (Slab, TileSlab)
- Wall crafting + stonecutting (Wall, TileWall)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add ConfigBool entries for each BnbFeatureGroup (Chain Drives, Lights,
Girder Struts, Dyeable Pipes and Tanks) in a 'groups' section of the
feature flags config. Group toggles appear in Catnip's config screen
as boolean toggles.

Behaviour:
- Toggling a group to true calls enableAll() on its children
- Toggling a group to false calls disableAll() on its children
- Group value syncs from children state on load/reload (true = all
  enabled, false = partial or all disabled)
- Guard flag prevents recursive reload when syncing

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… truss

- Create TrussEncasedPipeBlock extending Block with IWrenchable, IBE,
  EncasedBlock, TransformableBlock, and SpecialBlockItemRequirement
- Frozen pipe connections: set at encasing time, only break on neighbor removal
- Wrench/sneak-wrench reverts to FluidPipeBlock, drops truss item
- Full rotation/mirror/transform support for both truss axis and pipe connections
- Update TrussBlock.useItemOn to allow inserting fluid pipes into trusses
- Add TrussBlock.getEncasedPipeState with frozen connection calculation
- Add TrussBlockStateGen.trussEncasedPipeModel using multipart for per-direction cutouts
- Register INDUSTRIAL_TRUSS_ENCASED_PIPE in BnbDecorativeBlocks
- Add block to ENCASED_PIPE block entity in BnbBlockEntities

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants