Mineuniverse
Log in Register
Mods

Assembler Table

BuildCraft-inspired Assembly Table with FE lasers, queued crafting, and KubeJS/CraftTweaker support.
by Sixik
Download Claim this project
53 downloads
0 likes
Updated Jul 6, 2026
0 hypes
API and Library CraftTweaker KubeJS Server Utility Technology

Assembly Table

Assembly Table is a NeoForge mod for Minecraft 1.21.1 that brings back a BuildCraft-inspired assembly workflow with modern FE-based automation.

The mod adds Assembly Table machines, configurable lasers, chipset items, and scripting support for custom recipes through both KubeJS and CraftTweaker.

Machines

Assembly Table

  • Crafts recipes using stored FE
  • Supports a recipe queue instead of a single fixed recipe
  • Accepts energy from lasers
  • Pushes crafted items into the inventory above the block when possible

Powered Assembly Table

  • Works like the normal Assembly Table
  • Can receive FE directly from cables or other energy providers
  • Does not require lasers to operate

Lasers

  • Search for valid targets in front of the block
  • Require line of sight to transfer energy
  • Support optional warmup behavior
  • Can expose laser stats in the tooltip by holding Shift

Mining and Drops

  • Assembly Table and Laser blocks are mineable with a pickaxe
  • They require an iron-tier tool to drop themselves

How to Use

The mod supports both KubeJS and CraftTweaker for recipe creation.

KubeJS

The custom recipe type is:

assemblytable:assembly_table

Recipe format:

{
  "type": "assemblytable:assembly_table",
  "result": { "item": "minecraft:diamond" },
  "ingredients": [
    { "ingredient": { "item": "minecraft:iron_ingot" }, "count": 2 },
    { "ingredient": { "item": "minecraft:redstone" }, "count": 1 }
  ],
  "energy": 1000
}

Example:

ServerEvents.recipes(event => {
  event.custom({
    type: 'assemblytable:assembly_table',
    result: Item.of('minecraft:diamond'),
    ingredients: [
      { ingredient: { item: 'minecraft:iron_ingot' }, count: 2 },
      { ingredient: { item: 'minecraft:redstone' }, count: 1 }
    ],
    energy: 1000
  })
})

CraftTweaker

Assembly Table recipes can be added through the global bc_assemblyTable recipe manager.

Example:

bc_assemblyTable.addRecipe(
    "my_recipe_new_ct",
    <item:mekanism:ultimate_universal_cable>,
    [
        <item:minecraft:iron_ingot> * 4,
        <item:minecraft:diamond>,
        <item:minecraft:netherite_scrap> * 6
    ],
    5000000
);

Method signature:

bc_assemblyTable.addRecipe(
    recipeId as String,
    outItem as IItemStack,
    ingredient as IIngredientWithAmount[],
    energyRequired as int
);

Developer API

Laser Configuration

Laser variants can be created through LaserConfig.builder().

Supported builder options:

  • targetRange(int) - search range in front of the laser
  • energyBuffer(int) - internal FE buffer
  • maxTransferPerTick(int) - maximum FE sent per tick
  • maxSpeedTransferPerTick(int) - alias for max transfer, useful for warmup-based lasers
  • maxReceivePerTick(int) - maximum FE the laser can receive per tick
  • beamColor(...) - default beam color when warmup is disabled
  • warmupDisabled() - keeps classic instant transfer behavior
  • warmup(int) - enables warmup for the specified number of ticks
  • rampUpTicks(int) - alias for warmup(int)
  • warmupColors(Vec4i low, Vec4i mid, Vec4i max) - colors for low, medium, and max speed stages

Example:

LaserConfig config = LaserConfig.builder()
        .targetRange(6)
        .energyBuffer(1000)
        .maxSpeedTransferPerTick(1000)
        .maxReceivePerTick(5000)
        .rampUpTicks(60)
        .warmupColors(
                new Vec4i(255, 40, 20, 200),
                new Vec4i(255, 220, 30, 200),
                new Vec4i(30, 100, 255, 200)
        )
        .build();

Laser Targets

Block entities that want to receive power from lasers should implement LaserTarget.

Contract:

  • getRequiredLaserPower() - returns how much FE the target currently wants
  • receiveLaserPower(int) - accepts FE and returns leftover energy
  • isInvalidTarget() - tells lasers whether the target should be ignored

Compatibility

  • JEI
  • CraftTweaker
  • KubeJS

License

GNU LGPL 3.0

assemblytable-1.21.1-1.0.1.jar
MC Client, 1.21.1, NeoForge, Server
Release 2026-06-27 Get

More from Sixik

SDM Engine Core
980,484
CraftTweaker Sixik Utils AOA3 (Nevermine) (Outdated)
9,537
CraftTweaker Sixik Utils Curios (Outdated)
9,455
SDM Loot Stages
8,665
SDM Market (Forge/Fabric)
773,883
Player Stages
67,409

You Might Also Like

APTweaks: Items (11.x Classic)
Item clustering (fallen blocks, experience orbs, ...) and garbage cleanup.
9,884,514
VanillaDeathChest (Fabric)
Places containers when players die that contain their items.
994,762
Styled Nicknames
Simple, but configurable nicknaming mod allowing your server's players (and admins) to change their nickname with full formatting support
989,499
Tiquality
Make server lag the problem of the source player.
99,489
Blame (Fabric)
Those gosh darn crashlogs not saying which worldgen feature is crashing!
99,012
Weathering with You
Forecast Minecraft weather with a radar or a hat!
98,579