forked from mtcontrib/pipeworks
Added a little stub to the bottom of the spigot, showing the water texture,
so that when a spigot is flowing, it looks like water is actually pouring out of it.
This commit is contained in:
parent
109729cfb2
commit
3a7b9fa31c
53
devices.lua
53
devices.lua
@ -48,6 +48,12 @@ spigot_bottomstub = {
|
|||||||
{ -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 }
|
{ -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spigot_stream = {
|
||||||
|
{ -3/64, -48/64, -5/64, 3/64, -16/64, 5/64 },
|
||||||
|
{ -4/64, -48/64, -4/64, 4/64, -16/64, 4/64 },
|
||||||
|
{ -5/64, -48/64, -3/64, 5/64, -16/64, 3/64 }
|
||||||
|
}
|
||||||
|
|
||||||
entry_panel = {
|
entry_panel = {
|
||||||
{ -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 }
|
{ -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 }
|
||||||
}
|
}
|
||||||
@ -194,12 +200,18 @@ minetest.register_node("pipeworks:grating", {
|
|||||||
pipe_addbox(spigotboxes, spigot_bottomstub)
|
pipe_addbox(spigotboxes, spigot_bottomstub)
|
||||||
pipe_addbox(spigotboxes, pipe_bendsphere)
|
pipe_addbox(spigotboxes, pipe_bendsphere)
|
||||||
|
|
||||||
|
local spigotboxes_pouring = {}
|
||||||
|
pipe_addbox(spigotboxes_pouring, spigot_stream)
|
||||||
|
pipe_addbox(spigotboxes_pouring, pipe_backstub)
|
||||||
|
pipe_addbox(spigotboxes_pouring, spigot_bottomstub)
|
||||||
|
pipe_addbox(spigotboxes_pouring, pipe_bendsphere)
|
||||||
|
|
||||||
minetest.register_node("pipeworks:spigot", {
|
minetest.register_node("pipeworks:spigot", {
|
||||||
description = "Spigot outlet",
|
description = "Spigot outlet",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"pipeworks_spigot_sides.png",
|
"pipeworks_spigot_sides.png",
|
||||||
"pipeworks_pipe_end_empty.png",
|
"pipeworks_spigot_sides.png",
|
||||||
"pipeworks_spigot_sides.png",
|
"pipeworks_spigot_sides.png",
|
||||||
"pipeworks_spigot_sides.png",
|
"pipeworks_spigot_sides.png",
|
||||||
"pipeworks_pipe_end_empty.png",
|
"pipeworks_pipe_end_empty.png",
|
||||||
@ -231,6 +243,45 @@ minetest.register_node("pipeworks:spigot", {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("pipeworks:spigot_pouring", {
|
||||||
|
description = "Spigot outlet",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {
|
||||||
|
"pipeworks_spigot_sides.png",
|
||||||
|
"pipeworks_spigot_sides.png",
|
||||||
|
"default_water.png^pipeworks_spigot_sides2.png",
|
||||||
|
"default_water.png^pipeworks_spigot_sides2.png",
|
||||||
|
"default_water.png^pipeworks_spigot_sides2.png",
|
||||||
|
"default_water.png^pipeworks_spigot_sides2.png"
|
||||||
|
},
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {snappy=3, pipe=1},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
walkable = true,
|
||||||
|
pipelike=1,
|
||||||
|
on_construct = function(pos)
|
||||||
|
local meta = minetest.env:get_meta(pos)
|
||||||
|
meta:set_int("pipelike",1)
|
||||||
|
end,
|
||||||
|
after_place_node = function(pos)
|
||||||
|
pipe_scanforobjects(pos)
|
||||||
|
end,
|
||||||
|
after_dig_node = function(pos)
|
||||||
|
pipe_scanforobjects(pos)
|
||||||
|
end,
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = spigotboxes_pouring,
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 }
|
||||||
|
},
|
||||||
|
drop = "pipeworks:spigot",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
-- sealed pipe entry/exit (decorative horizontal pipe passing through a metal
|
-- sealed pipe entry/exit (decorative horizontal pipe passing through a metal
|
||||||
-- wall, for use in places where walls should look like they're airtight)
|
-- wall, for use in places where walls should look like they're airtight)
|
||||||
|
|
||||||
|
@ -79,8 +79,10 @@ local spigot_check = function(pos,node)
|
|||||||
local top = minetest.env:get_node(check[node.param2+1]).name
|
local top = minetest.env:get_node(check[node.param2+1]).name
|
||||||
dbg('found '..top)
|
dbg('found '..top)
|
||||||
if string.find(top,'_loaded') then
|
if string.find(top,'_loaded') then
|
||||||
|
minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot_pouring'})
|
||||||
minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'})
|
minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'})
|
||||||
elseif minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == 'default:water_source' then
|
elseif minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == 'default:water_source' then
|
||||||
|
minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot'})
|
||||||
minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z})
|
minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -100,11 +102,11 @@ minetest.register_abm({
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {'pipeworks:outlet','pipeworks:spigot'},
|
nodenames = {'pipeworks:outlet','pipeworks:spigot','pipeworks:spigot_pouring'},
|
||||||
interval = 1,
|
interval = 1,
|
||||||
chance = 1,
|
chance = 1,
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
if node.name == 'pipeworks:outlet' then update_outlet(pos)
|
if node.name == 'pipeworks:outlet' then update_outlet(pos)
|
||||||
elseif node.name == 'pipeworks:spigot' then spigot_check(pos,node) end
|
elseif node.name == 'pipeworks:spigot' or node.name == 'pipeworks:spigot_pouring' then spigot_check(pos,node) end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
BIN
textures/pipeworks_spigot_bottom2.png
Normal file
BIN
textures/pipeworks_spigot_bottom2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 338 B |
BIN
textures/pipeworks_spigot_sides2.png
Normal file
BIN
textures/pipeworks_spigot_sides2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 267 B |
Loading…
Reference in New Issue
Block a user