support new craftguide api
This commit is contained in:
parent
347e5f67d1
commit
339043bbac
@ -1,4 +1,5 @@
|
|||||||
local have_ui = minetest.get_modpath("unified_inventory")
|
local have_ui = minetest.get_modpath("unified_inventory")
|
||||||
|
local have_cg = minetest.get_modpath("craftguide") and craftguide and craftguide.register_craft
|
||||||
|
|
||||||
elepm.craft = {}
|
elepm.craft = {}
|
||||||
elepm.craft.types = {}
|
elepm.craft.types = {}
|
||||||
@ -11,6 +12,11 @@ function elepm.register_craft_type(name, def)
|
|||||||
gui_name = def.gui_name,
|
gui_name = def.gui_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
elepm.craft[name] = {}
|
||||||
|
|
||||||
|
-- Don't register cooking or fuel types externally.
|
||||||
|
if name == "cooking" or name == "fuel" then return end
|
||||||
|
|
||||||
if have_ui and unified_inventory.register_craft_type then
|
if have_ui and unified_inventory.register_craft_type then
|
||||||
unified_inventory.register_craft_type(name, {
|
unified_inventory.register_craft_type(name, {
|
||||||
description = def.description or name,
|
description = def.description or name,
|
||||||
@ -19,7 +25,13 @@ function elepm.register_craft_type(name, def)
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
elepm.craft[name] = {}
|
if have_cg then
|
||||||
|
craftguide.register_craft_type(name, {
|
||||||
|
description = def.description,
|
||||||
|
icon = def.icon or "elepower_alloy_furnace.png",
|
||||||
|
width = def.inputs or 2,
|
||||||
|
})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function elepm.register_craft(craftdef)
|
function elepm.register_craft(craftdef)
|
||||||
@ -63,32 +75,65 @@ function elepm.register_craft(craftdef)
|
|||||||
time = time
|
time = time
|
||||||
}
|
}
|
||||||
|
|
||||||
if have_ui then
|
if have_ui or have_cg then
|
||||||
local spec = {}
|
local spec = {}
|
||||||
|
|
||||||
for item, count in pairs(recipe.recipe) do
|
for item, count in pairs(recipe.recipe) do
|
||||||
spec[#spec+1] = ItemStack(item .. " " .. count)
|
spec[#spec+1] = ItemStack(item .. " " .. count)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local items = {}
|
||||||
|
for itm,q in pairs(recipe.recipe) do
|
||||||
|
local itmn = itm
|
||||||
|
if q > 1 then itmn = itmn .. " " .. q end
|
||||||
|
items[#items+1] = itmn
|
||||||
|
end
|
||||||
|
|
||||||
if type(recipe.output) == "table" then
|
if type(recipe.output) == "table" then
|
||||||
for _,itm in pairs(recipe.output) do
|
for _,itm in pairs(recipe.output) do
|
||||||
local itmst = ItemStack(itm)
|
local itmst = ItemStack(itm)
|
||||||
unified_inventory.register_craft({
|
if have_ui then
|
||||||
type = craftdef.type,
|
unified_inventory.register_craft({
|
||||||
output = itmst,
|
type = craftdef.type,
|
||||||
items = spec,
|
output = itmst,
|
||||||
width = 0,
|
items = spec,
|
||||||
})
|
width = 0,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
if have_cg then
|
||||||
|
local iname = itm
|
||||||
|
if type(iname) == "userdata" then iname = iname:get_name() end
|
||||||
|
|
||||||
|
craftguide.register_craft({
|
||||||
|
type = craftdef.type,
|
||||||
|
output = iname,
|
||||||
|
items = items,
|
||||||
|
})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
unified_inventory.register_craft({
|
if have_ui then
|
||||||
type = craftdef.type,
|
unified_inventory.register_craft({
|
||||||
output = recipe.output,
|
type = craftdef.type,
|
||||||
items = spec,
|
output = recipe.output,
|
||||||
width = 0,
|
items = spec,
|
||||||
})
|
width = 0,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
if have_cg then
|
||||||
|
local iname = recipe.output
|
||||||
|
if type(iname) == "userdata" then iname = iname:get_name() end
|
||||||
|
|
||||||
|
craftguide.register_craft({
|
||||||
|
type = craftdef.type,
|
||||||
|
output = iname,
|
||||||
|
items = items,
|
||||||
|
})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(elepm.craft[ctype], recipe)
|
table.insert(elepm.craft[ctype], recipe)
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
elepower_dynamics
|
elepower_dynamics
|
||||||
unified_inventory?
|
unified_inventory?
|
||||||
|
craftguide?
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
elepm.register_craft_type("can", {
|
elepm.register_craft_type("can", {
|
||||||
description = "Canning",
|
description = "Canning",
|
||||||
|
icon = "elepower_canning_machine.png",
|
||||||
inputs = 2,
|
inputs = 2,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
elepm.register_craft_type("compress", {
|
elepm.register_craft_type("compress", {
|
||||||
description = "Compressing",
|
description = "Compressing",
|
||||||
|
icon = "elepower_compressor.png",
|
||||||
inputs = 1,
|
inputs = 1,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -31,3 +31,4 @@ dofile(mp .. "electrolyzer.lua")
|
|||||||
dofile(mp .. "accumulator.lua")
|
dofile(mp .. "accumulator.lua")
|
||||||
dofile(mp .. "lava_cooler.lua")
|
dofile(mp .. "lava_cooler.lua")
|
||||||
dofile(mp .. "bucketer.lua")
|
dofile(mp .. "bucketer.lua")
|
||||||
|
dofile(mp .. "pump.lua")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
elepm.register_craft_type("grind", {
|
elepm.register_craft_type("grind", {
|
||||||
description = "Grinding",
|
description = "Grinding",
|
||||||
|
icon = "elepower_grinder.png",
|
||||||
inputs = 1,
|
inputs = 1,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
31
elepower_machines/machines/pump.lua
Normal file
31
elepower_machines/machines/pump.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
ele.register_machine("elepower_machines:pump", {
|
||||||
|
description = "Pump",
|
||||||
|
tiles = {
|
||||||
|
"elepower_machine_top.png^elepower_power_port.png", "elepower_pump_base.png", "elepower_pump_side.png",
|
||||||
|
"elepower_pump_side.png", "elepower_pump_side.png", "elepower_pump_side.png",
|
||||||
|
},
|
||||||
|
groups = {
|
||||||
|
ele_machine = 1,
|
||||||
|
ele_user = 1,
|
||||||
|
fluid_container = 1,
|
||||||
|
oddly_breakable_by_hand = 1,
|
||||||
|
},
|
||||||
|
ele_no_automatic_ports = true,
|
||||||
|
fluid_buffers = {
|
||||||
|
pump = {
|
||||||
|
capacity = 16000,
|
||||||
|
drainable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_entity("elepower_machines:pump_tube", {
|
||||||
|
initial_properties = {
|
||||||
|
hp_max = 1,
|
||||||
|
visual = "mesh",
|
||||||
|
mesh = "elepower_pump_tube.obj",
|
||||||
|
physical = true,
|
||||||
|
textures = {"elepower_pump_tube.png"}
|
||||||
|
}
|
||||||
|
})
|
@ -3,6 +3,7 @@ elepm.register_craft_type("saw", {
|
|||||||
description = "Sawmilling",
|
description = "Sawmilling",
|
||||||
inputs = 1,
|
inputs = 1,
|
||||||
gui_name = "elepower_saw",
|
gui_name = "elepower_saw",
|
||||||
|
icon = "elepower_sawmill.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
elepm.register_crafter("elepower_machines:sawmill", {
|
elepm.register_crafter("elepower_machines:sawmill", {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
elepm.register_craft_type("solder", {
|
elepm.register_craft_type("solder", {
|
||||||
description = "Soldering",
|
description = "Soldering",
|
||||||
inputs = 3,
|
inputs = 3,
|
||||||
|
icon = "elepower_solderer.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
elepm.register_crafter("elepower_machines:solderer", {
|
elepm.register_crafter("elepower_machines:solderer", {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
name = elepower_machines
|
name = elepower_machines
|
||||||
description = Elepower machinery!
|
description = Elepower machinery!
|
||||||
depends = elepower_dynamics
|
depends = elepower_dynamics
|
||||||
optional_depends = unified_inventory
|
optional_depends = unified_inventory,craftguide
|
||||||
|
230
elepower_machines/models/elepower_pump_tube.obj
Normal file
230
elepower_machines/models/elepower_pump_tube.obj
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
# Blender v2.79 (sub 0) OBJ File: ''
|
||||||
|
# www.blender.org
|
||||||
|
o Cube
|
||||||
|
v 1.555200 -5.062500 1.555200
|
||||||
|
v 1.555200 5.062500 1.555200
|
||||||
|
v 1.555200 5.062500 2.592000
|
||||||
|
v 1.555200 -5.062500 2.592000
|
||||||
|
v -1.555200 -5.062500 -1.555200
|
||||||
|
v -1.555200 5.062500 -1.555200
|
||||||
|
v -1.555200 5.062500 -2.592000
|
||||||
|
v -1.555200 -5.062500 -2.592000
|
||||||
|
v -2.592000 -5.062500 -1.555200
|
||||||
|
v -2.592000 5.062500 -1.555200
|
||||||
|
v 2.592000 -5.062500 1.555200
|
||||||
|
v 2.592000 5.062500 1.555200
|
||||||
|
v -1.555200 5.062500 1.555200
|
||||||
|
v -1.555200 5.062500 2.592000
|
||||||
|
v -0.518400 5.062500 2.592000
|
||||||
|
v 0.518400 5.062500 2.592000
|
||||||
|
v 2.592000 5.062500 0.518400
|
||||||
|
v 2.592000 5.062500 -0.518400
|
||||||
|
v 2.592000 5.062500 -1.555200
|
||||||
|
v 1.555200 5.062500 -1.555200
|
||||||
|
v 1.555200 5.062500 -2.592000
|
||||||
|
v 0.518400 5.062500 -2.592000
|
||||||
|
v -0.518400 5.062500 -2.592000
|
||||||
|
v -2.592000 5.062500 -0.518400
|
||||||
|
v -2.592000 5.062500 0.518400
|
||||||
|
v -2.592000 5.062500 1.555200
|
||||||
|
v -2.592000 -5.062500 -0.518400
|
||||||
|
v -2.592000 -5.062500 0.518400
|
||||||
|
v -2.592000 -5.062500 1.555200
|
||||||
|
v -1.555200 -5.062500 1.555200
|
||||||
|
v -1.555200 -5.062500 2.592000
|
||||||
|
v 2.592000 -5.062500 0.518400
|
||||||
|
v 2.592000 -5.062500 -0.518400
|
||||||
|
v 2.592000 -5.062500 -1.555200
|
||||||
|
v 1.555200 -5.062500 -2.592000
|
||||||
|
v 0.518400 -5.062500 -2.592000
|
||||||
|
v -0.518400 -5.062500 -2.592000
|
||||||
|
v -0.518400 -5.062500 2.592000
|
||||||
|
v 0.518400 -5.062500 2.592000
|
||||||
|
v 1.555200 -5.062500 -1.555200
|
||||||
|
vt 0.937500 0.000000
|
||||||
|
vt 1.000000 0.500000
|
||||||
|
vt 0.937500 0.500000
|
||||||
|
vt 0.500000 0.000000
|
||||||
|
vt 0.562500 0.500000
|
||||||
|
vt 0.500000 0.500000
|
||||||
|
vt 0.687500 0.000000
|
||||||
|
vt 0.625000 0.500000
|
||||||
|
vt 0.625000 0.000000
|
||||||
|
vt 0.750000 0.500000
|
||||||
|
vt 0.812500 0.000000
|
||||||
|
vt 0.812500 0.500000
|
||||||
|
vt 0.125000 0.640000
|
||||||
|
vt 0.062500 0.640000
|
||||||
|
vt 0.062500 0.576000
|
||||||
|
vt 0.375000 0.000000
|
||||||
|
vt 0.437500 0.000000
|
||||||
|
vt 0.375000 0.500000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.937500 0.000000
|
||||||
|
vt 0.937500 0.500000
|
||||||
|
vt 0.437500 0.500000
|
||||||
|
vt 0.375000 0.500000
|
||||||
|
vt 0.437500 0.000000
|
||||||
|
vt 0.750000 0.000000
|
||||||
|
vt 0.812500 0.000000
|
||||||
|
vt 0.812500 0.500000
|
||||||
|
vt 0.562500 0.000000
|
||||||
|
vt 0.625000 0.000000
|
||||||
|
vt 0.625000 0.500000
|
||||||
|
vt 0.250000 0.064000
|
||||||
|
vt 0.250000 0.256000
|
||||||
|
vt 0.062500 0.256000
|
||||||
|
vt 0.562500 0.000000
|
||||||
|
vt 0.625000 0.500000
|
||||||
|
vt 0.562500 0.500000
|
||||||
|
vt 0.687500 0.000000
|
||||||
|
vt 0.750000 0.500000
|
||||||
|
vt 0.687500 0.500000
|
||||||
|
vt 1.000000 0.000000
|
||||||
|
vt 0.937500 0.500000
|
||||||
|
vt 0.937500 0.000000
|
||||||
|
vt 1.000000 0.000000
|
||||||
|
vt 0.562500 0.000000
|
||||||
|
vt 0.687500 0.500000
|
||||||
|
vt 0.750000 0.000000
|
||||||
|
vt 0.250000 0.384000
|
||||||
|
vt 0.312500 0.384000
|
||||||
|
vt 0.312500 0.448000
|
||||||
|
vt 0.312500 0.512000
|
||||||
|
vt 0.312500 0.576000
|
||||||
|
vt 0.250000 0.576000
|
||||||
|
vt 0.187500 0.320000
|
||||||
|
vt 0.250000 0.320000
|
||||||
|
vt 0.062500 0.320000
|
||||||
|
vt 0.125000 0.320000
|
||||||
|
vt 0.062500 0.384000
|
||||||
|
vt 0.000000 0.448000
|
||||||
|
vt 0.000000 0.384000
|
||||||
|
vt 0.250000 0.640000
|
||||||
|
vt 0.187500 0.640000
|
||||||
|
vt 0.000000 0.512000
|
||||||
|
vt 0.000000 0.576000
|
||||||
|
vt 0.500000 0.000000
|
||||||
|
vt 0.500000 0.500000
|
||||||
|
vt 0.437500 0.500000
|
||||||
|
vt 0.312500 0.500000
|
||||||
|
vt 0.312500 0.000000
|
||||||
|
vt 0.875000 0.000000
|
||||||
|
vt 0.312500 0.500000
|
||||||
|
vt 0.312500 0.000000
|
||||||
|
vt 0.375000 0.000000
|
||||||
|
vt 0.500000 0.000000
|
||||||
|
vt 0.500000 0.500000
|
||||||
|
vt 0.875000 0.000000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.750000 0.500000
|
||||||
|
vt 0.687500 0.500000
|
||||||
|
vt 0.687500 0.000000
|
||||||
|
vt 0.687500 0.000000
|
||||||
|
vt 0.687500 0.500000
|
||||||
|
vt 0.562500 0.500000
|
||||||
|
vt 0.500000 0.500000
|
||||||
|
vt 0.500000 0.000000
|
||||||
|
vt 0.125000 0.320000
|
||||||
|
vt 0.062500 0.320000
|
||||||
|
vt 0.000000 0.256000
|
||||||
|
vt 0.000000 0.192000
|
||||||
|
vt 0.000000 0.128000
|
||||||
|
vt 0.000000 0.064000
|
||||||
|
vt 0.062500 0.064000
|
||||||
|
vt 0.187500 0.320000
|
||||||
|
vt 0.250000 0.320000
|
||||||
|
vt 0.312500 0.192000
|
||||||
|
vt 0.312500 0.256000
|
||||||
|
vt 0.312500 0.064000
|
||||||
|
vt 0.312500 0.128000
|
||||||
|
vt 0.062500 0.000000
|
||||||
|
vt 0.125000 0.000000
|
||||||
|
vt 0.187500 0.000000
|
||||||
|
vt 0.250000 0.000000
|
||||||
|
vt 0.625000 0.000000
|
||||||
|
vt 0.750000 0.000000
|
||||||
|
vt 1.000000 0.500000
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn -1.0000 -0.0000 0.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.0000 -0.0000 1.0000
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
s 1
|
||||||
|
f 2/1/1 4/2/1 1/3/1
|
||||||
|
f 6/4/2 8/5/2 5/6/2
|
||||||
|
f 9/7/3 6/8/3 5/9/3
|
||||||
|
f 11/10/4 2/11/4 1/12/4
|
||||||
|
f 18/13/5 19/14/5 20/15/5
|
||||||
|
f 25/16/2 24/17/2 28/18/2
|
||||||
|
f 31/19/2 13/20/2 30/21/2
|
||||||
|
f 18/22/1 17/23/1 33/24/1
|
||||||
|
f 23/25/3 22/26/3 36/27/3
|
||||||
|
f 16/28/4 15/29/4 38/30/4
|
||||||
|
f 1/31/6 30/32/6 5/33/6
|
||||||
|
f 20/34/3 34/35/3 40/36/3
|
||||||
|
f 13/37/4 29/38/4 30/39/4
|
||||||
|
f 35/40/1 20/41/1 40/42/1
|
||||||
|
f 2/1/1 3/43/1 4/2/1
|
||||||
|
f 6/4/2 7/44/2 8/5/2
|
||||||
|
f 9/7/3 10/45/3 6/8/3
|
||||||
|
f 11/10/4 12/46/4 2/11/4
|
||||||
|
f 13/47/5 14/48/5 15/49/5
|
||||||
|
f 16/50/5 3/51/5 2/52/5
|
||||||
|
f 13/47/5 15/49/5 16/50/5
|
||||||
|
f 25/53/5 26/54/5 13/47/5
|
||||||
|
f 10/55/5 24/56/5 6/57/5
|
||||||
|
f 24/56/5 25/53/5 6/57/5
|
||||||
|
f 23/58/5 7/59/5 6/57/5
|
||||||
|
f 25/53/5 13/47/5 6/57/5
|
||||||
|
f 13/47/5 16/50/5 2/52/5
|
||||||
|
f 2/52/5 12/60/5 17/61/5
|
||||||
|
f 13/47/5 2/52/5 20/15/5
|
||||||
|
f 23/58/5 6/57/5 22/62/5
|
||||||
|
f 22/62/5 6/57/5 20/15/5
|
||||||
|
f 20/15/5 21/63/5 22/62/5
|
||||||
|
f 20/15/5 6/57/5 13/47/5
|
||||||
|
f 2/52/5 17/61/5 20/15/5
|
||||||
|
f 17/61/5 18/13/5 20/15/5
|
||||||
|
f 24/17/2 10/64/2 9/65/2
|
||||||
|
f 9/65/2 27/66/2 24/17/2
|
||||||
|
f 27/66/2 28/18/2 24/17/2
|
||||||
|
f 28/18/2 29/67/2 26/68/2
|
||||||
|
f 26/68/2 25/16/2 28/18/2
|
||||||
|
f 31/19/2 14/69/2 13/20/2
|
||||||
|
f 17/23/1 12/70/1 11/71/1
|
||||||
|
f 11/71/1 32/72/1 17/23/1
|
||||||
|
f 32/72/1 33/24/1 17/23/1
|
||||||
|
f 33/24/1 34/73/1 19/74/1
|
||||||
|
f 19/74/1 18/22/1 33/24/1
|
||||||
|
f 22/26/3 21/75/3 35/76/3
|
||||||
|
f 36/27/3 37/77/3 23/25/3
|
||||||
|
f 37/77/3 8/78/3 23/25/3
|
||||||
|
f 22/26/3 35/76/3 36/27/3
|
||||||
|
f 8/78/3 7/79/3 23/25/3
|
||||||
|
f 15/29/4 14/80/4 31/81/4
|
||||||
|
f 38/30/4 39/82/4 16/28/4
|
||||||
|
f 39/82/4 4/83/4 16/28/4
|
||||||
|
f 15/29/4 31/81/4 38/30/4
|
||||||
|
f 4/83/4 3/84/4 16/28/4
|
||||||
|
f 27/85/6 9/86/6 5/33/6
|
||||||
|
f 5/33/6 8/87/6 37/88/6
|
||||||
|
f 36/89/6 35/90/6 40/91/6
|
||||||
|
f 5/33/6 37/88/6 40/91/6
|
||||||
|
f 37/88/6 36/89/6 40/91/6
|
||||||
|
f 28/92/6 27/85/6 5/33/6
|
||||||
|
f 30/32/6 29/93/6 28/92/6
|
||||||
|
f 38/94/6 31/95/6 30/32/6
|
||||||
|
f 1/31/6 4/96/6 39/97/6
|
||||||
|
f 39/97/6 38/94/6 30/32/6
|
||||||
|
f 30/32/6 28/92/6 5/33/6
|
||||||
|
f 40/91/6 34/98/6 33/99/6
|
||||||
|
f 33/99/6 32/100/6 1/31/6
|
||||||
|
f 32/100/6 11/101/6 1/31/6
|
||||||
|
f 1/31/6 39/97/6 30/32/6
|
||||||
|
f 5/33/6 40/91/6 1/31/6
|
||||||
|
f 40/91/6 33/99/6 1/31/6
|
||||||
|
f 20/34/3 19/102/3 34/35/3
|
||||||
|
f 13/37/4 26/103/4 29/38/4
|
||||||
|
f 35/40/1 21/104/1 20/41/1
|
BIN
elepower_machines/textures/elepower_pump_base.png
Normal file
BIN
elepower_machines/textures/elepower_pump_base.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
BIN
elepower_machines/textures/elepower_pump_side.png
Normal file
BIN
elepower_machines/textures/elepower_pump_side.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
BIN
elepower_machines/textures/elepower_pump_tube.png
Normal file
BIN
elepower_machines/textures/elepower_pump_tube.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
Loading…
Reference in New Issue
Block a user