BuckarooBanzay b3595a760c job context
2022-04-03 15:48:57 +02:00
2022-04-03 14:57:01 +02:00
2022-04-03 15:48:57 +02:00
2022-04-03 13:36:03 +02:00
2022-04-03 15:48:57 +02:00
2022-04-03 15:48:57 +02:00
2022-03-29 18:11:49 +02:00
2022-04-03 15:48:57 +02:00
2022-03-25 21:13:40 +01:00
2022-03-29 17:54:18 +02:00
2022-04-01 17:08:30 +02:00

mtscad

OpenSCAD inspired minetest mod

Status: WIP

License Download

Required engine-version: 5.5.0

Example

Files placed in <worlddir>/mtscad/

stairs.lua

return function(ctx, opts)
    -- filler
    ctx
    :with(opts.filler)
    :line(opts.height-1, opts.height-1, 0)
    :translate(0, 0, opts.width-1)
    :line(opts.height-1, opts.height-1, 0)

    -- slopes above
    ctx
    :with(opts.slopes)
    :slope(-1, 1, 0)
    :translate(0, 1, 0)
    :line(opts.height-2, opts.height-2, 0)
    :translate(0, 0, opts.width-1)
    :line(opts.height-2, opts.height-2, 0)

    -- slopes below
    ctx
    :with(opts.slopes)
    :slope(1, -1, 0)
    :translate(1, 0, 0)
    :line(opts.height-2, opts.height-2, 0)
    :translate(0, 0, opts.width-1)
    :line(opts.height-2, opts.height-2, 0)

    -- stairs
    for z=1,opts.width-2 do
        ctx
        :with(opts.stairs)
        :slope(-1, 1, 0)
        :translate(0, 0, z)
        :line(opts.height-1, opts.height-1, 0)
    end
end, {
    defaults = {
        height = 4,
        width = 5,
        slopes = "moreblocks:slope_stone",
        stairs = "moreblocks:stair_stone_alt_4",
        filler = "default:stone"
    }
}

test.lua

-- load function from module
local stairs = load("stairs")

return function(ctx)
    ctx
    :translate(0, 0, 0) -- apply translations here
    :rotate(0, 0, 0) -- apply rotations here
    :execute(stairs, {
        height = 4,
        width = 5,
        slopes = "moreblocks:slope_stone",
        stairs = "moreblocks:stair_stone_alt_4",
        filler = "default:stone"
    })
end
/scad test
Description
No description provided
Readme 139 KiB
Languages
Lua 99%
Dockerfile 0.7%
Mathematica 0.3%