diff --git a/api.lua b/api.lua index 45d18f4..cab5f23 100644 --- a/api.lua +++ b/api.lua @@ -18,6 +18,7 @@ local S=minetest.get_translator("industrialtest") industrialtest.api={} industrialtest.api.maceratorRecipes={} +industrialtest.api.compressorRecipes={} local function clamp(num,min,max) return math.max(math.min(num,max),min) @@ -254,3 +255,15 @@ end industrialtest.api.getMaceratorRecipeResult=function(recipe) return industrialtest.api.maceratorRecipes[recipe] end +industrialtest.api.registerCompressorRecipe=function(config) + local definition={ + output=config.output or "", + recipe=config.recipe or "", + time=config.time or 2, + count=config.count or 1 + } + industrialtest.api.compressorRecipes[definition.recipe]=definition +end +industrialtest.api.getCompressorRecipeResult=function(recipe) + return industrialtest.api.compressorRecipes[recipe] +end diff --git a/crafts.lua b/crafts.lua index f065156..664694e 100644 --- a/crafts.lua +++ b/crafts.lua @@ -57,3 +57,20 @@ if industrialtest.mclAvailable then recipe="mcl_mobitems:bone" }) end + +-- Compressor crafts +industrialtest.api.registerCompressorRecipe({ + output=industrialtest.elementKeys.sandstone, + recipe=industrialtest.elementKeys.sand +}) +industrialtest.api.registerCompressorRecipe({ + output=industrialtest.elementKeys.ice, + recipe=industrialtest.elementKeys.snowball +}) +if industrialtest.mclAvailable then + industrialtest.api.registerCompressorRecipe({ + output="mcl_nether:nether_brick", + recipe="mcl_nether:netherrack", + count=3 + }) +end diff --git a/machines.lua b/machines.lua index b312a00..a533452 100644 --- a/machines.lua +++ b/machines.lua @@ -297,6 +297,22 @@ local function registerSimpleElectricItemProcessor(config) time=output.time, src=srcAfter } + elseif method=="industrialtest.compressing" then + local output=industrialtest.api.getCompressorRecipeResult(item:get_name()) + if not output or item:get_count()