1
0
mirror of https://github.com/mt-mods/pipeworks.git synced 2025-06-29 23:00:49 +02:00

1 Commits

Author SHA1 Message Date
c93df73a5c Rend les items du groupe limitcraft non craftable par l'autocrafter 2019-03-02 19:29:26 +01:00
5 changed files with 30 additions and 24 deletions

2
README
View File

@ -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

View File

@ -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

View File

@ -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
})

View File

@ -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)

View File

@ -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!")