forked from mtcontrib/pipeworks
		
	Compare commits
	
		
			7 Commits
		
	
	
		
			e4db1e885e
			...
			e2fdcc4fb2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e2fdcc4fb2 | |||
|  | db6d1bd9c1 | ||
|  | 79dc5f5c7d | ||
|  | 01d44056a2 | ||
|  | c7d44272e6 | ||
|  | 5837d62979 | ||
|  | fc6efb450c | 
| @@ -19,6 +19,6 @@ read_globals = { | |||||||
|  |  | ||||||
| 	-- mods | 	-- mods | ||||||
| 	"default", "mesecon", "digiline", | 	"default", "mesecon", "digiline", | ||||||
| 	"screwdriver" | 	"screwdriver", "unified_inventory" | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -426,6 +426,7 @@ minetest.register_node("pipeworks:autocrafter", { | |||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:autocrafter" | ||||||
|  |  | ||||||
| minetest.register_craft( { | minetest.register_craft( { | ||||||
| 	output = "pipeworks:autocrafter 2", | 	output = "pipeworks:autocrafter 2", | ||||||
|   | |||||||
| @@ -28,6 +28,7 @@ minetest.register_node("pipeworks:steel_block_embedded_tube", { | |||||||
| 	after_dig_node = pipeworks.after_dig, | 	after_dig_node = pipeworks.after_dig, | ||||||
| 	on_rotate = pipeworks.on_rotate, | 	on_rotate = pipeworks.on_rotate, | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:steel_block_embedded_tube" | ||||||
|  |  | ||||||
| minetest.register_craft( { | minetest.register_craft( { | ||||||
| 	output = "pipeworks:steel_block_embedded_tube 1", | 	output = "pipeworks:steel_block_embedded_tube 1", | ||||||
| @@ -81,6 +82,7 @@ minetest.register_node("pipeworks:steel_pane_embedded_tube", { | |||||||
| 	after_dig_node = pipeworks.after_dig, | 	after_dig_node = pipeworks.after_dig, | ||||||
| 	on_rotate = pipeworks.on_rotate, | 	on_rotate = pipeworks.on_rotate, | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:steel_pane_embedded_tube" | ||||||
|  |  | ||||||
| minetest.register_craft( { | minetest.register_craft( { | ||||||
| 	output = "pipeworks:steel_pane_embedded_tube 1", | 	output = "pipeworks:steel_pane_embedded_tube 1", | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								devices.lua
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								devices.lua
									
									
									
									
									
								
							| @@ -222,6 +222,8 @@ for s in ipairs(states) do | |||||||
| 		new_flow_logic_register.directional_horizonal_rotate(nodename_valve_empty, true) | 		new_flow_logic_register.directional_horizonal_rotate(nodename_valve_empty, true) | ||||||
| 	end | 	end | ||||||
| end | end | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:pump_off" | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:valve_off_empty" | ||||||
|  |  | ||||||
| local nodename_valve_loaded = "pipeworks:valve_on_loaded" | local nodename_valve_loaded = "pipeworks:valve_on_loaded" | ||||||
| minetest.register_node(nodename_valve_loaded, { | minetest.register_node(nodename_valve_loaded, { | ||||||
| @@ -301,6 +303,7 @@ minetest.register_node("pipeworks:grating", { | |||||||
| 	end, | 	end, | ||||||
| 	on_rotate = false | 	on_rotate = false | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:grating" | ||||||
|  |  | ||||||
| -- outlet spigot | -- outlet spigot | ||||||
|  |  | ||||||
| @@ -378,6 +381,8 @@ minetest.register_node(nodename_spigot_loaded, { | |||||||
| 	drop = "pipeworks:spigot", | 	drop = "pipeworks:spigot", | ||||||
| 	on_rotate = pipeworks.fix_after_rotation | 	on_rotate = pipeworks.fix_after_rotation | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:spigot" | ||||||
|  |  | ||||||
| -- new flow logic does not currently distinguish between these two visual states. | -- new flow logic does not currently distinguish between these two visual states. | ||||||
| -- register both so existing flowing spigots continue to work (even if the visual doesn't match the spigot's behaviour). | -- register both so existing flowing spigots continue to work (even if the visual doesn't match the spigot's behaviour). | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_spigot_empty, false) | new_flow_logic_register.directional_horizonal_rotate(nodename_spigot_empty, false) | ||||||
| @@ -441,6 +446,9 @@ minetest.register_node(nodename_panel_loaded, { | |||||||
| 	drop = "pipeworks:entry_panel_empty", | 	drop = "pipeworks:entry_panel_empty", | ||||||
| 	on_rotate = pipeworks.fix_after_rotation | 	on_rotate = pipeworks.fix_after_rotation | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:entry_panel_empty" | ||||||
|  |  | ||||||
| -- TODO: AFAIK the two panels have no visual difference, so are redundant under new flow logic - alias? | -- TODO: AFAIK the two panels have no visual difference, so are redundant under new flow logic - alias? | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_panel_empty, true) | new_flow_logic_register.directional_horizonal_rotate(nodename_panel_empty, true) | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_panel_loaded, true) | new_flow_logic_register.directional_horizonal_rotate(nodename_panel_loaded, true) | ||||||
| @@ -525,6 +533,8 @@ minetest.register_node(nodename_sensor_loaded, { | |||||||
| 	mesecons = pipereceptor_on, | 	mesecons = pipereceptor_on, | ||||||
| 	on_rotate = pipeworks.fix_after_rotation | 	on_rotate = pipeworks.fix_after_rotation | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:flow_sensor_empty" | ||||||
|  |  | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_sensor_empty, true) | new_flow_logic_register.directional_horizonal_rotate(nodename_sensor_empty, true) | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_sensor_loaded, true) | new_flow_logic_register.directional_horizonal_rotate(nodename_sensor_loaded, true) | ||||||
| -- activate flow sensor at roughly half the pressure pumps drive pipes | -- activate flow sensor at roughly half the pressure pumps drive pipes | ||||||
| @@ -603,6 +613,7 @@ for fill = 0, 10 do | |||||||
| 		on_rotate = false | 		on_rotate = false | ||||||
| 	}) | 	}) | ||||||
| end | end | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:storage_tank_0" | ||||||
|  |  | ||||||
| -- fountainhead | -- fountainhead | ||||||
|  |  | ||||||
| @@ -639,6 +650,7 @@ minetest.register_node(nodename_fountain_empty, { | |||||||
| 	}, | 	}, | ||||||
| 	on_rotate = false | 	on_rotate = false | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:fountainhead" | ||||||
|  |  | ||||||
| local nodename_fountain_loaded = "pipeworks:fountainhead_pouring" | local nodename_fountain_loaded = "pipeworks:fountainhead_pouring" | ||||||
| minetest.register_node(nodename_fountain_loaded, { | minetest.register_node(nodename_fountain_loaded, { | ||||||
| @@ -734,6 +746,7 @@ minetest.register_node(nodename_sp_loaded, { | |||||||
| 	check_for_pole = pipeworks.check_for_vert_pipe, | 	check_for_pole = pipeworks.check_for_vert_pipe, | ||||||
| 	check_for_horiz_pole = pipeworks.check_for_horiz_pipe | 	check_for_horiz_pole = pipeworks.check_for_horiz_pipe | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:straight_pipe_empty" | ||||||
|  |  | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_sp_empty, true) | new_flow_logic_register.directional_horizonal_rotate(nodename_sp_empty, true) | ||||||
| new_flow_logic_register.directional_horizonal_rotate(nodename_sp_loaded, true) | new_flow_logic_register.directional_horizonal_rotate(nodename_sp_loaded, true) | ||||||
|   | |||||||
| @@ -479,6 +479,7 @@ for _, data in ipairs({ | |||||||
|  |  | ||||||
|  |  | ||||||
| 	minetest.register_node("pipeworks:"..data.name, node) | 	minetest.register_node("pipeworks:"..data.name, node) | ||||||
|  | 	pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:"..data.name | ||||||
| end | end | ||||||
|  |  | ||||||
| minetest.register_craft( { | minetest.register_craft( { | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								init.lua
									
									
									
									
									
								
							| @@ -5,6 +5,7 @@ | |||||||
| -- | -- | ||||||
|  |  | ||||||
| pipeworks = {} | pipeworks = {} | ||||||
|  | pipeworks.ui_cat_tube_list = {} | ||||||
|  |  | ||||||
| pipeworks.worldpath = minetest.get_worldpath() | pipeworks.worldpath = minetest.get_worldpath() | ||||||
| pipeworks.modpath = minetest.get_modpath("pipeworks") | pipeworks.modpath = minetest.get_modpath("pipeworks") | ||||||
| @@ -148,4 +149,16 @@ end | |||||||
|  |  | ||||||
| minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") | minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") | ||||||
|  |  | ||||||
|  | -- Unified Inventory categories integration | ||||||
|  |  | ||||||
|  | if unified_inventory and unified_inventory.registered_categories then | ||||||
|  | 	if not unified_inventory.registered_categories["automation"] then | ||||||
|  | 		unified_inventory.register_category("automation", { | ||||||
|  | 			symbol = "pipeworks:lua_tube000000", | ||||||
|  | 			label = "Automation components" | ||||||
|  | 		}) | ||||||
|  | 	end | ||||||
|  | 	unified_inventory.add_category_items("automation", pipeworks.ui_cat_tube_list) | ||||||
|  | end | ||||||
|  |  | ||||||
| minetest.log("info", "Pipeworks loaded!") | minetest.log("info", "Pipeworks loaded!") | ||||||
|   | |||||||
| @@ -981,6 +981,8 @@ end | |||||||
| end | end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = BASENAME.."000000" | ||||||
|  |  | ||||||
| ------------------------------------ | ------------------------------------ | ||||||
| -- Overheated Lua controlled Tube -- | -- Overheated Lua controlled Tube -- | ||||||
| ------------------------------------ | ------------------------------------ | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								mod.conf
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| name = pipeworks | name = pipeworks | ||||||
| description = This mod uses mesh nodes and nodeboxes to supply a complete set of 3D pipes and tubes, along with devices that work with them. | description = This mod uses mesh nodes and nodeboxes to supply a complete set of 3D pipes and tubes, along with devices that work with them. | ||||||
| depends = default, basic_materials, screwdriver | depends = default, basic_materials, screwdriver | ||||||
| optional_depends = mesecons, mesecons_mvps, digilines, signs_lib | optional_depends = mesecons, mesecons_mvps, digilines, signs_lib, unified_inventory | ||||||
| min_minetest_version = 5.2.0 | min_minetest_version = 5.2.0 | ||||||
|   | |||||||
| @@ -133,7 +133,7 @@ for index, connects in ipairs(cconnects) do | |||||||
| 	new_flow_logic_register.simple(emptypipe) | 	new_flow_logic_register.simple(emptypipe) | ||||||
| 	new_flow_logic_register.simple(fullpipe) | 	new_flow_logic_register.simple(fullpipe) | ||||||
| end | end | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:pipe_1_empty" | ||||||
|  |  | ||||||
|  |  | ||||||
| if REGISTER_COMPATIBILITY then | if REGISTER_COMPATIBILITY then | ||||||
|   | |||||||
| @@ -192,6 +192,7 @@ if pipeworks.enable_one_way_tube then | |||||||
| 		check_for_pole = pipeworks.check_for_vert_tube, | 		check_for_pole = pipeworks.check_for_vert_tube, | ||||||
| 		check_for_horiz_pole = pipeworks.check_for_horiz_tube | 		check_for_horiz_pole = pipeworks.check_for_horiz_tube | ||||||
| 	}) | 	}) | ||||||
|  | 	pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:one_way_tube" | ||||||
| 	minetest.register_craft({ | 	minetest.register_craft({ | ||||||
| 		output = "pipeworks:one_way_tube 2", | 		output = "pipeworks:one_way_tube 2", | ||||||
| 		recipe = { | 		recipe = { | ||||||
|   | |||||||
| @@ -40,6 +40,7 @@ minetest.register_node("pipeworks:trashcan", { | |||||||
| 		minetest.get_meta(pos):get_inventory():set_stack(listname, index, ItemStack("")) | 		minetest.get_meta(pos):get_inventory():set_stack(listname, index, ItemStack("")) | ||||||
| 	end, | 	end, | ||||||
| }) | }) | ||||||
|  | pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:trashcan" | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "pipeworks:trashcan", | 	output = "pipeworks:trashcan", | ||||||
|   | |||||||
| @@ -200,6 +200,7 @@ local register_all_tubes = function(name, desc, plain, noctrs, ends, short, inv, | |||||||
| 		end | 		end | ||||||
| 		end | 		end | ||||||
| 		end | 		end | ||||||
|  | 		pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = name.."_000000" | ||||||
| 	else | 	else | ||||||
| 		-- 6d tubes: uses only 10 nodes instead of 64, but the textures must be rotated | 		-- 6d tubes: uses only 10 nodes instead of 64, but the textures must be rotated | ||||||
| 		local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} | 		local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} | ||||||
| @@ -222,6 +223,7 @@ local register_all_tubes = function(name, desc, plain, noctrs, ends, short, inv, | |||||||
| 				tube = {connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}}, | 				tube = {connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}}, | ||||||
| 				drop = name.."_1", | 				drop = name.."_1", | ||||||
| 			}) | 			}) | ||||||
|  | 			pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = name.."_1" | ||||||
| 			table.insert(tubenodes, cname) | 			table.insert(tubenodes, cname) | ||||||
| 			for xm = 0, 1 do | 			for xm = 0, 1 do | ||||||
| 			for xp = 0, 1 do | 			for xp = 0, 1 do | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ end | |||||||
|  |  | ||||||
| local function set_wielder_formspec(data, meta) | local function set_wielder_formspec(data, meta) | ||||||
| 	meta:set_string("formspec", | 	meta:set_string("formspec", | ||||||
| 			"invsize[8,"..(6+data.wield_inv_height)..";]".. | 			"size[8,"..(6+data.wield_inv_height)..";]".. | ||||||
| 			"item_image[0,0;1,1;"..data.name_base.."_off]".. | 			"item_image[0,0;1,1;"..data.name_base.."_off]".. | ||||||
| 			"label[1,0;"..minetest.formspec_escape(data.description).."]".. | 			"label[1,0;"..minetest.formspec_escape(data.description).."]".. | ||||||
| 			"list[current_name;"..minetest.formspec_escape(data.wield_inv_name)..";"..((8-data.wield_inv_width)*0.5)..",1;"..data.wield_inv_width..","..data.wield_inv_height..";]".. | 			"list[current_name;"..minetest.formspec_escape(data.wield_inv_name)..";"..((8-data.wield_inv_width)*0.5)..",1;"..data.wield_inv_width..","..data.wield_inv_height..";]".. | ||||||
| @@ -371,6 +371,7 @@ if pipeworks.enable_node_breaker then | |||||||
| 		eject_drops = true, | 		eject_drops = true, | ||||||
| 	} | 	} | ||||||
| 	register_wielder(data) | 	register_wielder(data) | ||||||
|  | 	pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:nodebreaker_off" | ||||||
| 	minetest.register_craft({ | 	minetest.register_craft({ | ||||||
| 		output = "pipeworks:nodebreaker_off", | 		output = "pipeworks:nodebreaker_off", | ||||||
| 		recipe = { | 		recipe = { | ||||||
| @@ -422,6 +423,7 @@ if pipeworks.enable_deployer then | |||||||
| 		end, | 		end, | ||||||
| 		eject_drops = false, | 		eject_drops = false, | ||||||
| 	}) | 	}) | ||||||
|  | 	pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:deployer_off" | ||||||
| 	minetest.register_craft({ | 	minetest.register_craft({ | ||||||
| 		output = "pipeworks:deployer_off", | 		output = "pipeworks:deployer_off", | ||||||
| 		recipe = { | 		recipe = { | ||||||
| @@ -457,6 +459,7 @@ if pipeworks.enable_dispenser then | |||||||
| 		end, | 		end, | ||||||
| 		eject_drops = false, | 		eject_drops = false, | ||||||
| 	}) | 	}) | ||||||
|  | 	pipeworks.ui_cat_tube_list[#pipeworks.ui_cat_tube_list+1] = "pipeworks:dispenser_off" | ||||||
| 	minetest.register_craft({ | 	minetest.register_craft({ | ||||||
| 		output = "pipeworks:dispenser_off", | 		output = "pipeworks:dispenser_off", | ||||||
| 		recipe = { | 		recipe = { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user