From 43acec290067f9aca534647d46ba1f13cfeb377a Mon Sep 17 00:00:00 2001
From: TechDudie <73961295+TechDudie@users.noreply.github.com>
Date: Tue, 09 Feb 2021 19:03:55 +0100
Subject: [PATCH] Add Rubber Goo as replacement for the grinder (#578)

---
 technic/machines/other/injector.lua |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/technic/machines/other/injector.lua b/technic/machines/other/injector.lua
index 4fe78b2..6bd5a83 100644
--- a/technic/machines/other/injector.lua
+++ b/technic/machines/other/injector.lua
@@ -6,7 +6,7 @@
 local tube_entry = "^pipeworks_tube_connection_metallic.png"
 
 local function inject_items (pos)
-		local meta=minetest.get_meta(pos) 
+		local meta=minetest.get_meta(pos)
 		local inv = meta:get_inventory()
 		local mode=meta:get_string("mode")
 		if mode=="single items" then
@@ -15,8 +15,8 @@
 			i=i+1
 				if stack then
 				local item0=stack:to_table()
-				if item0 then 
-					item0["count"] = "1"
+				if item0 then
+					item0["count"] = 1
 					technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
 					stack:take_item(1)
 					inv:set_stack("main", i, stack)
@@ -31,7 +31,7 @@
 			i=i+1
 				if stack then
 				local item0=stack:to_table()
-				if item0 then 
+				if item0 then
 					technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
 					stack:clear()
 					inv:set_stack("main", i, stack)
@@ -40,7 +40,7 @@
 				end
 			end
 		end
-		
+
 end
 
 minetest.register_craft({
@@ -61,6 +61,9 @@
 		(is_stack and
 			"button[0,1;2,1;mode_item;"..S("Stackwise").."]" or
 			"button[0,1;2,1;mode_stack;"..S("Itemwise").."]")..
+		(meta:get_int("public") == 1 and
+			"button[2,1;2,1;mode_private;"..S("Public").."]" or
+			"button[2,1;2,1;mode_public;"..S("Private").."]")..
 		"list[current_name;main;0,2;8,2;]"..
 		"list[current_player;main;0,5;8,4;]"..
 		"listring[]"..
@@ -95,7 +98,7 @@
 			if meta:get_int("splitstacks") == 1 then
 				stack = stack:peek_item(1)
 			end
-			return meta:get_inventory():room_for_item("main", stack)
+			return inv:room_for_item("main", stack)
 		end,
 		insert_object = function(pos, node, stack, direction)
 			return minetest.get_meta(pos):get_inventory():add_item("main", stack)
@@ -117,9 +120,14 @@
 		return inv:is_empty("main")
 	end,
 	on_receive_fields = function(pos, formanme, fields, sender)
+		if minetest.is_protected(pos, sender:get_player_name()) then return end
+
 		local meta = minetest.get_meta(pos)
 		if fields.mode_item then meta:set_string("mode", "single items") end
 		if fields.mode_stack then meta:set_string("mode", "whole stacks") end
+
+		if fields.mode_private then meta:set_int("public", 0) end
+		if fields.mode_public then meta:set_int("public", 1) end
 
 		if fields["fs_helpers_cycling:0:splitstacks"]
 		  or fields["fs_helpers_cycling:1:splitstacks"] then
@@ -142,7 +150,7 @@
 	chance = 1,
 	action = function(pos, node, active_object_count, active_object_count_wider)
 		local pos1 = vector.add(pos, vector.new(0, -1, 0))
-		local node1 = minetest.get_node(pos1) 
+		local node1 = minetest.get_node(pos1)
 		if minetest.get_item_group(node1.name, "tubedevice") > 0 then
 			inject_items(pos)
 		end

--
Gitblit v1.8.0