mirror of
				https://github.com/mt-mods/pipeworks.git
				synced 2025-11-04 10:15:32 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			2018-09-13
			...
			c93df73a5c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					c93df73a5c | 
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
				
			|||||||
This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, 
 | 
					This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, 
 | 
				
			||||||
along devices that work with them.
 | 
					along devices that work with them.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See https://gitlab.com/VanessaE/pipeworks/wikis/ for detailed information about usage of this mod.
 | 
					See https://github.com/VanessaE/pipeworks/wiki/ for detailed information about usage of this mod.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Unlike the previous version of this mod, these pipes are rounded, and when 
 | 
					Unlike the previous version of this mod, these pipes are rounded, and when 
 | 
				
			||||||
placed, they'll automatically join together as needed.  Pipes can go vertically 
 | 
					placed, they'll automatically join together as needed.  Pipes can go vertically 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,8 +66,11 @@ local function run_autocrafter(pos, elapsed)
 | 
				
			|||||||
	local inventory = meta:get_inventory()
 | 
						local inventory = meta:get_inventory()
 | 
				
			||||||
	local craft = get_craft(pos, inventory)
 | 
						local craft = get_craft(pos, inventory)
 | 
				
			||||||
	local output_item = craft.output.item
 | 
						local output_item = craft.output.item
 | 
				
			||||||
 | 
						-- NALC: existence de limitgroup ?
 | 
				
			||||||
 | 
						local limitcraft = minetest.get_item_group(output_item:get_name(), "limitcraft") or 0
 | 
				
			||||||
	-- only use crafts that have an actual result
 | 
						-- only use crafts that have an actual result
 | 
				
			||||||
	if output_item:is_empty() then
 | 
						-- NALC: ou si l'item n'est pas dans le group limitcraft
 | 
				
			||||||
 | 
						if output_item:is_empty() or limitcraft > 0 then
 | 
				
			||||||
		meta:set_string("infotext", "unconfigured Autocrafter: unknown recipe")
 | 
							meta:set_string("infotext", "unconfigured Autocrafter: unknown recipe")
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								devices.lua
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								devices.lua
									
									
									
									
									
								
							@@ -738,3 +738,21 @@ new_flow_logic_register.directional_horizonal_rotate(nodename_sp_loaded, true)
 | 
				
			|||||||
minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty")
 | 
					minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty")
 | 
				
			||||||
minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty")
 | 
					minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_lbm({
 | 
				
			||||||
 | 
						name = "pipeworks:rotate_valves_flowsensors",
 | 
				
			||||||
 | 
						label = "Flip pipeworks valves and flow sensors around X/Z",
 | 
				
			||||||
 | 
						run_at_every_load = false,
 | 
				
			||||||
 | 
						nodenames = {
 | 
				
			||||||
 | 
							"pipeworks:flow_sensor_empty",
 | 
				
			||||||
 | 
							"pipeworks:flow_sensor_loaded",
 | 
				
			||||||
 | 
							"pipeworks:valve_off_empty",
 | 
				
			||||||
 | 
							"pipeworks:valve_on_empty",
 | 
				
			||||||
 | 
							"pipeworks:valve_off_loaded",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						action = function(pos, node)
 | 
				
			||||||
 | 
							local dir = minetest.facedir_to_dir(node.param2)
 | 
				
			||||||
 | 
							local newdir = { x=dir.z, y=dir.y, z=dir.x }
 | 
				
			||||||
 | 
							local newfdir = minetest.dir_to_facedir(newdir)
 | 
				
			||||||
 | 
							minetest.swap_node(pos, { name = node.name, param2 = newfdir })
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -350,10 +350,8 @@ luaentity.register_entity("pipeworks:tubed_item", {
 | 
				
			|||||||
					-- compatible with Minetest 0.4.13.
 | 
										-- compatible with Minetest 0.4.13.
 | 
				
			||||||
					-- Using item_drop here makes Minetest 0.4.13 crash.
 | 
										-- Using item_drop here makes Minetest 0.4.13 crash.
 | 
				
			||||||
					local dropped_item = minetest.add_item(self.start_pos, stack)
 | 
										local dropped_item = minetest.add_item(self.start_pos, stack)
 | 
				
			||||||
					if dropped_item then
 | 
										dropped_item:set_velocity(vector.multiply(velocity, 5))
 | 
				
			||||||
						dropped_item:set_velocity(vector.multiply(velocity, 5))
 | 
										self:remove()
 | 
				
			||||||
						self:remove()
 | 
					 | 
				
			||||||
					end
 | 
					 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					velocity = vector.multiply(velocity, -1)
 | 
										velocity = vector.multiply(velocity, -1)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										23
									
								
								wielder.lua
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								wielder.lua
									
									
									
									
									
								
							@@ -331,25 +331,12 @@ if pipeworks.enable_node_breaker then
 | 
				
			|||||||
				virtplayer:set_wielded_item(wieldstack)
 | 
									virtplayer:set_wielded_item(wieldstack)
 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
				local under_node = minetest.get_node(pointed_thing.under)
 | 
									local under_node = minetest.get_node(pointed_thing.under)
 | 
				
			||||||
				local def = minetest.registered_nodes[under_node.name]
 | 
									local on_dig = (minetest.registered_nodes[under_node.name] or {on_dig=minetest.node_dig}).on_dig
 | 
				
			||||||
				if not def then
 | 
									-- check that the current tool is capable of destroying the target node.
 | 
				
			||||||
					-- do not dig an unknown node
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				end
 | 
					 | 
				
			||||||
				-- check that the current tool is capable of destroying the
 | 
					 | 
				
			||||||
				-- target node.
 | 
					 | 
				
			||||||
				-- if we can't, don't dig, and leave the wield stack unchanged.
 | 
									-- if we can't, don't dig, and leave the wield stack unchanged.
 | 
				
			||||||
				-- note that wieldstack:get_tool_capabilities() returns hand
 | 
									-- note that wieldstack:get_tool_capabilities() returns hand properties if the item has none of it's own.
 | 
				
			||||||
				-- properties if the item has none of it's own.
 | 
									if can_tool_dig_node(under_node.name, wieldstack:get_tool_capabilities(), wieldstack:get_name()) then
 | 
				
			||||||
				if can_tool_dig_node(under_node.name,
 | 
										on_dig(pointed_thing.under, under_node, virtplayer)
 | 
				
			||||||
						wieldstack:get_tool_capabilities(),
 | 
					 | 
				
			||||||
						wieldstack:get_name()) then
 | 
					 | 
				
			||||||
					def.on_dig(pointed_thing.under, under_node, virtplayer)
 | 
					 | 
				
			||||||
					local sound = def.sounds and def.sounds.dug
 | 
					 | 
				
			||||||
					if sound then
 | 
					 | 
				
			||||||
						minetest.sound_play(sound.name,
 | 
					 | 
				
			||||||
							{pos=pointed_thing.under, gain=sound.gain})
 | 
					 | 
				
			||||||
					end
 | 
					 | 
				
			||||||
					wieldstack = virtplayer:get_wielded_item()
 | 
										wieldstack = virtplayer:get_wielded_item()
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					--pipeworks.logger(dname.."couldn't dig node!")
 | 
										--pipeworks.logger(dname.."couldn't dig node!")
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user