Skip to content

thermionicfabricator.recipeBuilder().shape(...) does not support space characters for empty #297

Open

Description

@romanfedyniak

For example:

.shape(
    "#R#",
    "PMP",
    "GMG"
)
.key('#', item('minecraft:air'))

This works fine when I map # to minecraft:air, but if I try:

.shape(
    " R ",
    "PMP",
    "GMG"
)

and omit the key for the space (expecting it to mean "empty"), it fails.

[SERVER/ERROR] [postInit.forestry:38]:  - key ' ' is not defined

Activity

  1. romanfedyniak commented on Apr 4, 2025

    @romanfedyniak
    Author

    Update
    .key('#', item('minecraft:air')) doesn't help, the Thermionic Fabricator doesn't recognize the recipe with empty slots.

  2. WaitingIdly commented on Apr 4, 2025

    @WaitingIdly
    Collaborator

    the forestry thermionic fabricator does not use the same information as the normal crafting table does. this is not a bug - although it should probably be changed.

  3. romanfedyniak commented on Apr 4, 2025

    @romanfedyniak
    Author

    the forestry thermionic fabricator does not use the same information as the normal crafting table does. this is not a bug - although it should probably be changed.

    But even with that, if you bind the slot to minecraft:air or ItemStack.EMPTY, the craft still doesn’t work - that’s already a bug

  4. romanfedyniak commented on Apr 4, 2025

    @romanfedyniak
    Author
        mods.forestry.thermionicFabricator.removeByOutput(item('forestry:thermionic_tubes'))
        mods.forestry.thermionicFabricator.recipeBuilder()
            .fluidInput(fluid('glass') * 500)
            .output(item('forestry:thermionic_tubes') * 4)
            .shape(
                '#R#',
                'PMP',
                'GMG'
            )
            .key('R', ore('ingotRedstoneAlloy'))
            .key('P', ore('dustPyrotheum'))
            .key('M', ore('ingotCopper'))
            .key('G', item('enderio:block_fused_quartz'))
            .key('#', item('minecraft:air'))
            .register()

    JEI:
    Image
    Reality:
    Image

  5. WaitingIdly commented on Apr 4, 2025

    @WaitingIdly
    Collaborator

    can you confirm that this is unrelated to ForestryMC/ForestryMC#2734?

  6. romanfedyniak commented on Apr 4, 2025

    @romanfedyniak
    Author

    I found a solution — Forestry uses ore(' ') instead of an empty value.

    A space character is being passed here

    Image

  7. thedarkcolour commented on Apr 22, 2025

    @thedarkcolour

    ForestryMC/ForestryMC#2734 has been fixed. Does the issue still happen?

  8. romanfedyniak commented on Apr 23, 2025

    @romanfedyniak
    Author

    ForestryMC/ForestryMC#2734 has been fixed. Does the issue still happen?

    The problem is not in this, but in the fact that if there are empty spaces in the craft, you need to specify it with ore(‘ ’), not with a space

        mods.forestry.thermionicFabricator.recipeBuilder()
            .fluidInput(fluid('glass') * 500)
            .output(tube * 4)
            .shape(
                '#R#',
                'PMP',
                'GMG'
            )
            .key('R', ore('ingotRedstoneAlloy'))
            .key('P', ore('dustPyrotheum'))
            .key('M', material)
            .key('G', item('enderio:block_fused_quartz'))
            .key('#', ore(' ')) // empty slot
            .register()
  9. added
    bugSomething isn't working
    mod compatRelating to compatability with a mod or features of a mod
    on Oct 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmod compatRelating to compatability with a mod or features of a mod

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions