From d973f97916878764d62f51c9177de23c48236e76 Mon Sep 17 00:00:00 2001
From: mrkubax10 <mrkubax10@onet.pl>
Date: Sun, 7 Jan 2024 14:30:33 +0100
Subject: [PATCH] Add Biofuel Cell and some items required to produce it

---
 compatibility.lua | 12 ++++++
 craftitems.lua    | 95 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 107 insertions(+)

diff --git a/compatibility.lua b/compatibility.lua
index 253bfa7..3026101 100644
--- a/compatibility.lua
+++ b/compatibility.lua
@@ -540,6 +540,12 @@ if industrialtest.mclAvailable then
 	industrialtest.elementKeys.ironPickaxe="mcl_tools:pick_iron"
 	industrialtest.elementKeys.lavaSource="mcl_core:lava_source"
 	industrialtest.elementKeys.waterSource="mcl_core:water_source"
+	industrialtest.elementKeys.sugarCane="mcl_core:reeds"
+	industrialtest.elementKeys.wheat="mcl_farming:wheat_item"
+	industrialtest.elementKeys.dryShrub="mcl_core:deadbush"
+	industrialtest.elementKeys.cactus="mcl_core:cactus"
+	industrialtest.elementKeys.groupSapling="group:sapling"
+	industrialtest.elementKeys.groupLeaves="group:leaves"
 	
 	-- register required minerals that are not available in MCL
 	industrialtest.registerMetal("tin","Tin",3,3)
@@ -759,6 +765,12 @@ elseif industrialtest.mtgAvailable then
 	industrialtest.elementKeys.ironPickaxe="default:pick_steel"
 	industrialtest.elementKeys.lavaSource="default:lava_source"
 	industrialtest.elementKeys.waterSource="default:water_source"
+	industrialtest.elementKeys.sugarCane="default:papyrus"
+	industrialtest.elementKeys.wheat="farming:wheat"
+	industrialtest.elementKeys.dryShrub="default:dry_shrub"
+	industrialtest.elementKeys.cactus="default:cactus"
+	industrialtest.elementKeys.groupSapling="group:sapling"
+	industrialtest.elementKeys.groupLeaves="group:leaves"
 else
 	error("No compatible games found!")
 end
diff --git a/craftitems.lua b/craftitems.lua
index 370b82d..27062c5 100644
--- a/craftitems.lua
+++ b/craftitems.lua
@@ -535,6 +535,32 @@ if industrialtest.mtgAvailable then
 	})
 end
 
+minetest.register_craftitem("industrialtest:bio_cell",{
+	description=S("Bio Cell"),
+	inventory_image="industrialtest_bio_cell.png"
+})
+minetest.register_craft({
+	type="shapeless",
+	output="industrialtest:bio_cell",
+	recipe={
+		"industrialtest:empty_cell",
+		"industrialtest:compressed_plantball"
+	}
+})
+
+minetest.register_craftitem("industrialtest:biofuel_cell",{
+	description=S("Biofuel Cell"),
+	inventory_image="industrialtest_bio_cell.png",
+	groups={
+		_industrialtest_jetpackFuel=1
+	}
+})
+industrialtest.api.registerExtractorRecipe({
+	output="industrialtest:biofuel_cell",
+	recipe="industrialtest:bio_cell",
+	time=4
+})
+
 -- Other items
 minetest.register_craftitem("industrialtest:electronic_circuit",{
 	description=S("Electronic Circuit"),
@@ -583,6 +609,75 @@ minetest.register_craftitem("industrialtest:uu_matter",{
 	inventory_image="industrialtest_uu_matter.png"
 })
 
+minetest.register_craftitem("industrialtest:plantball",{
+	description=S("Plantball"),
+	inventory_image="industrialtest_plantball.png"
+})
+minetest.register_craft({
+	type="shaped",
+	output="industrialtest:plantball 2",
+	recipe={
+		{industrialtest.elementKeys.groupSapling,industrialtest.elementKeys.groupSapling,industrialtest.elementKeys.groupSapling},
+		{industrialtest.elementKeys.groupSapling,"",industrialtest.elementKeys.groupSapling},
+		{industrialtest.elementKeys.groupSapling,industrialtest.elementKeys.groupSapling,industrialtest.elementKeys.groupSapling}
+	}
+})
+minetest.register_craft({
+	type="shaped",
+	output="industrialtest:plantball",
+	recipe={
+		{industrialtest.elementKeys.groupLeaves,industrialtest.elementKeys.groupLeaves,industrialtest.elementKeys.groupLeaves},
+		{industrialtest.elementKeys.groupLeaves,"",industrialtest.elementKeys.groupLeaves},
+		{industrialtest.elementKeys.groupLeaves,industrialtest.elementKeys.groupLeaves,industrialtest.elementKeys.groupLeaves}
+	}
+})
+minetest.register_craft({
+	type="shaped",
+	output="industrialtest:plantball",
+	recipe={
+		{industrialtest.elementKeys.sugarCane,industrialtest.elementKeys.sugarCane,industrialtest.elementKeys.sugarCane},
+		{industrialtest.elementKeys.sugarCane,"",industrialtest.elementKeys.sugarCane},
+		{industrialtest.elementKeys.sugarCane,industrialtest.elementKeys.sugarCane,industrialtest.elementKeys.sugarCane}
+	}
+})
+minetest.register_craft({
+	type="shaped",
+	output="industrialtest:plantball",
+	recipe={
+		{industrialtest.elementKeys.wheat,industrialtest.elementKeys.wheat,industrialtest.elementKeys.wheat},
+		{industrialtest.elementKeys.wheat,"",industrialtest.elementKeys.wheat},
+		{industrialtest.elementKeys.wheat,industrialtest.elementKeys.wheat,industrialtest.elementKeys.wheat}
+	}
+})
+minetest.register_craft({
+	type="shaped",
+	output="industrialtest:plantball",
+	recipe={
+		{industrialtest.elementKeys.dryShrub,industrialtest.elementKeys.dryShrub,industrialtest.elementKeys.dryShrub},
+		{industrialtest.elementKeys.dryShrub,"",industrialtest.elementKeys.dryShrub},
+		{industrialtest.elementKeys.dryShrub,industrialtest.elementKeys.dryShrub,industrialtest.elementKeys.dryShrub}
+	}
+})
+minetest.register_craft({
+	type="shaped",
+	output="industrialtest:plantball",
+	recipe={
+		{industrialtest.elementKeys.cactus,industrialtest.elementKeys.cactus,industrialtest.elementKeys.cactus},
+		{industrialtest.elementKeys.cactus,"",industrialtest.elementKeys.cactus},
+		{industrialtest.elementKeys.cactus,industrialtest.elementKeys.cactus,industrialtest.elementKeys.cactus}
+	}
+})
+
+minetest.register_craftitem("industrialtest:compressed_plantball",{
+	description=S("Compressed Plantball"),
+	inventory_image="industrialtest_compressed_plantball.png"
+})
+industrialtest.api.registerCompressorRecipe({
+	output="industrialtest:compressed_plantball",
+	recipe="industrialtest:plantball",
+	time=5
+})
+
 -- Item callbacks
 minetest.register_on_player_inventory_action(function(player,action,inventory,info)
 	if action=="put" then