91 lines
3.3 KiB
Lua
91 lines
3.3 KiB
Lua
local S = minetest.get_translator("home_workshop_machines")
|
|
local materials = xcompat.materials
|
|
|
|
-- "bedflinger" style 3D Printer (Prusa i3 or equivalent)
|
|
|
|
local cbox = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.25, -0.5, 0.3, 0.3, 0.25 }
|
|
}
|
|
|
|
minetest.register_node("home_workshop_machines:3dprinter_bedflinger", {
|
|
description = S('3D Printer ("bedflinger" design)'),
|
|
inventory_image = "home_workshop_machines_3dprinter_bedflinger_inv.png",
|
|
tiles = {
|
|
{ name = "home_workshop_machines_3dprinter.png", color = 0xffffffff },
|
|
"home_workshop_machines_3dprinter_filament.png"
|
|
},
|
|
paramtype = "light",
|
|
walkable = true,
|
|
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2},
|
|
is_ground_content = false,
|
|
sound = xcompat.sounds.node_sound_wood_defaults(),
|
|
drawtype = "mesh",
|
|
mesh = "home_workshop_machines_3dprinter_bedflinger.obj",
|
|
paramtype2 = "colorwallmounted",
|
|
palette = "unifieddyes_palette_colorwallmounted.png",
|
|
selection_box = cbox,
|
|
collision_box = cbox,
|
|
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
|
end,
|
|
on_dig = unifieddyes.on_dig,
|
|
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
|
})
|
|
|
|
-- COreXY style printer (Hypercube or similar)
|
|
|
|
cbox = {
|
|
type = "fixed",
|
|
fixed = {-0.4375, -0.5, -0.5, 0.4375, 0.5, 0.375 }
|
|
}
|
|
|
|
minetest.register_node("home_workshop_machines:3dprinter_corexy", {
|
|
description = S('3D Printer (CoreXY design)'),
|
|
tiles = {
|
|
{ name = "home_workshop_machines_3dprinter.png", color = 0xffffffff },
|
|
"home_workshop_machines_3dprinter_filament.png"
|
|
},
|
|
paramtype = "light",
|
|
walkable = true,
|
|
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2},
|
|
is_ground_content = false,
|
|
sound = xcompat.sounds.node_sound_wood_defaults(),
|
|
drawtype = "mesh",
|
|
mesh = "home_workshop_machines_3dprinter_corexy.obj",
|
|
paramtype2 = "colorwallmounted",
|
|
palette = "unifieddyes_palette_colorwallmounted.png",
|
|
selection_box = cbox,
|
|
collision_box = cbox,
|
|
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
|
end,
|
|
on_dig = unifieddyes.on_dig,
|
|
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
|
})
|
|
|
|
if minetest.get_modpath("basic_materials") then
|
|
minetest.register_craft({
|
|
output = "home_workshop_machines:3dprinter_bedflinger",
|
|
recipe = {
|
|
{"basic_materials:plastic_sheet", materials.dye_white, "basic_materials:plastic_sheet"},
|
|
{"basic_materials:motor", "basic_materials:heating_element", "basic_materials:motor"},
|
|
{materials.steel_ingot, materials.steel_ingot, materials.steel_ingot},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "home_workshop_machines:3dprinter_corexy",
|
|
recipe = {
|
|
{materials.steel_ingot, "basic_materials:motor", "basic_materials:plastic_sheet"},
|
|
{materials.glass, "basic_materials:heating_element", materials.glass},
|
|
{materials.steel_ingot, "basic_materials:motor", materials.steel_ingot},
|
|
},
|
|
})
|
|
end
|
|
|
|
minetest.register_alias("computer:3dprinter_bedflinger", "home_workshop_machines:3dprinter_bedflinger")
|
|
minetest.register_alias("computers:3dprinter_bedflinger", "home_workshop_machines:3dprinter_bedflinger")
|
|
minetest.register_alias("computer:3dprinter_corexy", "home_workshop_machines:3dprinter_corexy")
|
|
minetest.register_alias("computers:3dprinter_corexy", "home_workshop_machines:3dprinter_corexy")
|