mirror of
https://github.com/mt-mods/pipeworks.git
synced 2025-06-29 23:00:49 +02:00
Compare commits
1 Commits
2018-09-13
...
nalc-1.0
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