diff --git a/src/coffee/models/parser_versions/mod_version_parser_v1.coffee b/src/coffee/models/parser_versions/mod_version_parser_v1.coffee index 0df79f147..3896bb2dc 100644 --- a/src/coffee/models/parser_versions/mod_version_parser_v1.coffee +++ b/src/coffee/models/parser_versions/mod_version_parser_v1.coffee @@ -297,10 +297,25 @@ module.exports = class ModVersionParserV1 extends CommandParserVersionBase .line 'item: ', item.name .indent() .onlyIf item.isGatherable, => builder.line 'gatherable: yes' + .onlyIf item.multiblock?, => + builder + .indent() + .call => @_unparseMultiblock builder, item.multiblock + .outdent() .onlyIf recipes.length > 0, => builder.loop recipes, delimiter:'', onEach:(b, r)=> @_unparseRecipe(b, r) .outdent() + _unparseMultiblock: (builder, multiblock)-> + builder + .line 'multiblock:' + .indent() + .push "input: " + .call => @_unparseStackList builder, multiblock.input + .push ";\n" + .loop(multiblock.layers, delimiter:'', onEach:(builder, layer)=> builder.line "layer: #{layer}") + .outdent() + _unparseRecipe: (builder, recipe)-> inputStacks = recipe.input[..] inputStacks.sort (a, b)-> Stack.compare a, b diff --git a/test/parser_versions/mod_version_parser_v1.test.coffee b/test/parser_versions/mod_version_parser_v1.test.coffee index 01a48499d..969e24cce 100644 --- a/test/parser_versions/mod_version_parser_v1.test.coffee +++ b/test/parser_versions/mod_version_parser_v1.test.coffee @@ -312,6 +312,12 @@ describe 'mod_version_parser_v1.coffee', -> input: 4 (Empty) Tin Can, Apple pattern: .1. .0. ... + item: Pyramid + multiblock: + input: Cobblestone + layer: 000 000 000 + layer: ... .0. ... + group: Functional Blocks item: Furnace