[Mod] Technic [0.4.16-dev] [technic]

1244
Member
Posts: 45
Joined: Fri Jul 13, 2012 16:40
Location: Poland

by 1244 » Post

In which way I can add new machine to function check_LV_node_subp in battery box? I ask because I create new mod wich use energy from LV battery box.
My mods:
Barrels, Chemistry

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

1244 wrote:In which way I can add new machine to function check_LV_node_subp in battery box? I ask because I create new mod wich use energy from LV battery box.
by now only manually by adding there your power receiver (or producer)
i need to make an API call to register new machines easily

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

- added fully functional MV furnace

Image

put RE batteries into upgrade slots to increase internal energy buffer
or put there Control Logic Unit for furnace send cooked items into tubes
Furnace can accept tubes input from any side (but left is recommended)
Output is only to the right.

crafting recipes:

output = 'technic:mv_electric_furnace',
recipe = {
{'technic:stainless_steel_ingot', 'technic:electric_furnace', 'technic:stainless_steel_ingot'},
{'pipeworks:tube_000000', 'technic:mv_transformer', 'pipeworks:tube_000000'},
{'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'},
}

end:
output = 'technic:control_logic_unit',
recipe = {
{'', 'moreores:gold_ingot', ''},
{'moreores:copper_ingot', 'technic:silicon_wafer', 'moreores:copper_ingot'},
{'', 'moreores:copper_ingot', ''},
}
Last edited by RealBadAngel on Sun Feb 03, 2013 01:29, edited 1 time in total.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

by Nore » Post

I tried to use the MV furnace, but it looks like it doesn't receive power from the MV cables, battery boxes and solar panels. Am I doing something wrong?

EDIT: found where the bug comes from: you should add the following at line 320 of battery_box_mv.lua:

Code: Select all

if minetest.env:get_node(pos1).name == "technic:mv_electric_furnace" then     new_node_added=add_new_cable_node(RE_nodes,pos1) end        
if minetest.env:get_node(pos1).name == "technic:mv_electric_furnace_active" then     new_node_added=add_new_cable_node(RE_nodes,pos1) end        
It could be even better if you used something in the node definition, so one could easily define new machines and power producers, and the code would be more simpler.
Last edited by Nore on Sun Feb 03, 2013 09:20, edited 1 time in total.

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Nore wrote:I tried to use the MV furnace, but it looks like it doesn't receive power from the MV cables, battery boxes and solar panels. Am I doing something wrong?

EDIT: found where the bug comes from: you should add the following at line 320 of battery_box_mv.lua:

Code: Select all

if minetest.env:get_node(pos1).name == "technic:mv_electric_furnace" then     new_node_added=add_new_cable_node(RE_nodes,pos1) end        
if minetest.env:get_node(pos1).name == "technic:mv_electric_furnace_active" then     new_node_added=add_new_cable_node(RE_nodes,pos1) end        
It could be even better if you used something in the node definition, so one could easily define new machines and power producers, and the code would be more simpler.
hehe, forgot to update this file :) ofc youre right, i will make register function

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

by Nore » Post

About the HV tier, you could perhaps make them compatible with filters... It could be useful for taking out items at a high rate.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

by Nore » Post

Suggestion for tube crafting recipes:

Code: Select all

minetest.register_craft({
    output = 'pipeworks:accelerator_tube_000000',
    recipe = {
        {'technic:copper_coil', 'pipeworks:tube_000000', 'technic:copper_coil'},
        }
})

minetest.register_craft({
    output = 'pipeworks:detector_tube_off_000000',
    recipe = {
        {'mesecons:mesecon', 'pipeworks:tube_000000', 'mesecons:mesecon'},
        }
})

minetest.register_craft({
    output = 'pipeworks:sand_tube_000000',
    recipe = {
        {'default:sand', 'pipeworks:tube_000000', 'default:sand'},
        }
})

minetest.register_craft({
    output = 'pipeworks:teleport_tube_000000',
    recipe = {
        {'default:mese_crystal', 'default:desert_stone', 'default:mese_crystal'},
        {'default:desert_stone', 'pipeworks:tube_000000', 'default:desert_stone'},
        {'default:mese_crystal', 'default:desert_stone', 'default:mese_crystal'},
        }
})

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Nore wrote:Suggestion for tube crafting recipes:

Code: Select all

minetest.register_craft({
    output = 'pipeworks:accelerator_tube_000000',
    recipe = {
        {'technic:copper_coil', 'pipeworks:tube_000000', 'technic:copper_coil'},
        }
})

minetest.register_craft({
    output = 'pipeworks:detector_tube_off_000000',
    recipe = {
        {'mesecons:mesecon', 'pipeworks:tube_000000', 'mesecons:mesecon'},
        }
})

minetest.register_craft({
    output = 'pipeworks:sand_tube_000000',
    recipe = {
        {'default:sand', 'pipeworks:tube_000000', 'default:sand'},
        }
})

minetest.register_craft({
    output = 'pipeworks:teleport_tube_000000',
    recipe = {
        {'default:mese_crystal', 'default:desert_stone', 'default:mese_crystal'},
        {'default:desert_stone', 'pipeworks:tube_000000', 'default:desert_stone'},
        {'default:mese_crystal', 'default:desert_stone', 'default:mese_crystal'},
        }
})
Recipes added, with some changes to teleport tube.

Also added Injector.
crafting recipe:
output = 'technic:injector 1',
recipe = {
{'', 'technic:control_logic_unit',''},
{'', 'default:chest',''},
{'', 'pipeworks:tube_000000',''},
}
output: bottom, input from all sides
Use it like a chest, it will put everything stored here into the tubes

Injector is on the left side:
Image

Another setup of injector and furnace, quite nice:
Image
Last edited by RealBadAngel on Sun Feb 03, 2013 13:12, edited 1 time in total.

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Added MV Alloy Furnace

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

by VanessaE » Post

I like that crafting recipe for the accelerator tube - reminds me of a coilgun :-)
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

1244 wrote:In which way I can add new machine to function check_LV_node_subp in battery box? I ask because I create new mod wich use energy from LV battery box.
Implemented.

To register new power machine please use:

register_LV_machine (node_name,machine_type)
or
register_MV_machine (node_name,machine_type)

where node_name is name of registered machine
machine_type can be "PR" when machine produces energy, "RE" when machine is energy receiver

also metadata of registered machine shall have 3 additional variables defined

for LV machines:
technic_power_machine=1,
internal_EU_buffer=0;
internal_EU_buffer_size=value;

for MV machines
technic_mv_power_machine=1,
internal_EU_buffer=0;
internal_EU_buffer_size=value;

technic_power_machine=1 or technic_MV_power_machine=1 is used by wireing check routines

1244
Member
Posts: 45
Joined: Fri Jul 13, 2012 16:40
Location: Poland

by 1244 » Post

When I used technic 0.94 I have bug in unified inventory:
18:57:40: VERBOSE[main]: error_message = ServerError: LuaError: error: ...n\..\mods\minetest\technic\unified_inventory/api.lua:465: bad argument #1 to 'lower' (string expected, got table)
My mods:
Barrels, Chemistry

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

by Nore » Post

Try to upgrade to latest stairplus.

Also, I have a more or less working frame code:

Code: Select all

function get_face(pos,ppos,pvect)
    ppos={x=ppos.x-pos.x,y=ppos.y-pos.y+1.5,z=ppos.z-pos.z}
    if pvect.x>0 then
        local t=(-0.5-ppos.x)/pvect.x
        local y_int=ppos.y+t*pvect.y
        local z_int=ppos.z+t*pvect.z
        if y_int>-0.4 and y_int<0.4 and z_int>-0.4 and z_int<0.4 then return 1 end 
    elseif pvect.x<0 then
        local t=(0.5-ppos.x)/pvect.x
        local y_int=ppos.y+t*pvect.y
        local z_int=ppos.z+t*pvect.z
        if y_int>-0.4 and y_int<0.4 and z_int>-0.4 and z_int<0.4 then return 2 end 
    end
    if pvect.y>0 then
        local t=(-0.5-ppos.y)/pvect.y
        local x_int=ppos.x+t*pvect.x
        local z_int=ppos.z+t*pvect.z
        if x_int>-0.4 and x_int<0.4 and z_int>-0.4 and z_int<0.4 then return 3 end 
    elseif pvect.y<0 then
        local t=(0.5-ppos.y)/pvect.y
        local x_int=ppos.x+t*pvect.x
        local z_int=ppos.z+t*pvect.z
        if x_int>-0.4 and x_int<0.4 and z_int>-0.4 and z_int<0.4 then return 4 end 
    end
    if pvect.z>0 then
        local t=(-0.5-ppos.z)/pvect.z
        local x_int=ppos.x+t*pvect.x
        local y_int=ppos.y+t*pvect.y
        if x_int>-0.4 and x_int<0.4 and y_int>-0.4 and y_int<0.4 then return 5 end 
    elseif pvect.z<0 then
        local t=(0.5-ppos.z)/pvect.z
        local x_int=ppos.x+t*pvect.x
        local y_int=ppos.y+t*pvect.y
        if x_int>-0.4 and x_int<0.4 and y_int>-0.4 and y_int<0.4 then return 6 end 
    end
end


for xm=0,1 do
for xp=0,1 do
for ym=0,1 do
for yp=0,1 do
for zm=0,1 do
for zp=0,1 do

    local outimgs = {}

    if yp==1 then
        table.insert(outimgs, "technic_lv_cable.png")
    else
        table.insert(outimgs, "default_stone.png")
    end
    if ym==1 then
        table.insert(outimgs, "technic_lv_cable.png")
    else
        table.insert(outimgs, "default_stone.png")
    end
    if xp==1 then
        table.insert(outimgs, "technic_lv_cable.png")
    else
        table.insert(outimgs, "default_stone.png")
    end
    if xm==1 then
        table.insert(outimgs, "technic_lv_cable.png")
    else
        table.insert(outimgs, "default_stone.png")
    end
    if zp==1 then
        table.insert(outimgs, "technic_lv_cable.png")
    else
        table.insert(outimgs, "default_stone.png")
    end
    if zm==1 then
        table.insert(outimgs, "technic_lv_cable.png")
    else
        table.insert(outimgs, "default_stone.png")
    end
    
    local nameext=tostring(xm)..tostring(xp)..tostring(ym)..tostring(yp)..tostring(zm)..tostring(zp)
    local groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}
    if nameext~="111111" then groups.not_in_creative_inventory=1 end
    

    minetest.register_node("technic:frame_"..nameext,{
        description = "Frame",
        tiles = outimgs,
        groups=groups,
        frame=1,
        drop="technic:frame_111111",
        frame_connect_all=function(pos)
            local nodename=minetest.env:get_node(pos).name
            l2={}
            l1={{x=-1,y=0,z=0},{x=1,y=0,z=0},{x=0,y=-1,z=0},{x=0,y=1,z=0},{x=0,y=0,z=-1},{x=0,y=0,z=1}}
            for i,dir in ipairs(l1) do
                if string.sub(nodename,-7+i,-7+i)=="1" then
                    l2[#(l2)+1]=dir
                end
            end
            return l2
        end,
        on_punch=function(pos,node,puncher)
            local ppos=puncher:getpos()
            local pvect=puncher:get_look_dir()
            local pface=get_face(pos,ppos,pvect)
            if pface==nil then return end
            local nodename=node.name
            local newstate=tostring(1-tonumber(string.sub(nodename,-7+pface,-7+pface)))
            if pface<=5 then
                nodename=string.sub(nodename,1,-7+pface-1)..newstate..string.sub(nodename,-7+pface+1)
            else
                nodename=string.sub(nodename,1,-2)..newstate
            end
            node.name=nodename
            minetest.env:set_node(pos,node)
        end
    })

end
end
end
end
end
end


function frame_motor1_on(pos,node)
    local npos={x=pos.x,y=pos.y+1,z=pos.z}
    local nnode=minetest.env:get_node(npos)
    if node.param2==0 then
        dir={x=1,y=0,z=0}
    elseif node.param2==1 then
        dir={x=0,y=0,z=-1}
    elseif node.param2==2 then
        dir={x=-1,y=0,z=0}
    else
        dir={x=0,y=0,z=1}
    end
    if minetest.registered_nodes[nnode.name].frame==1 then
        local connected_nodes=get_connected_nodes(npos)
        move_nodes_vect(connected_nodes,dir)
    end
end

function frame_motor2_on(pos,node)
    local npos={x=pos.x,y=pos.y-1,z=pos.z}
    local nnode=minetest.env:get_node(npos)
    if node.param2==0 then
        dir={x=1,y=0,z=0}
    elseif node.param2==1 then
        dir={x=0,y=0,z=-1}
    elseif node.param2==2 then
        dir={x=-1,y=0,z=0}
    else
        dir={x=0,y=0,z=1}
    end
    if minetest.registered_nodes[nnode.name].frame==1 then
        local connected_nodes=get_connected_nodes(npos)
        move_nodes_vect(connected_nodes,dir)
    end
end

function frame_motor3_on(pos,node)
    local npos={x=pos.x,y=pos.y,z=pos.z}
    if node.param2==0 then
        dir={x=1,y=0,z=0}
        npos.z=npos.z-1
    elseif node.param2==1 then
        dir={x=0,y=0,z=-1}
        npos.x=npos.x-1
    elseif node.param2==2 then
        dir={x=-1,y=0,z=0}
        npos.z=npos.z+1
    else
        dir={x=0,y=0,z=1}
        npos.x=npos.x+1
    end
    local nnode=minetest.env:get_node(npos)
    if minetest.registered_nodes[nnode.name].frame==1 then
        local connected_nodes=get_connected_nodes(npos)
        move_nodes_vect(connected_nodes,dir)
    end
end

function frame_motor4_on(pos,node)
    local npos={x=pos.x,y=pos.y,z=pos.z}
    if node.param2==0 then
        dir={x=-1,y=0,z=0}
        npos.z=npos.z-1
    elseif node.param2==1 then
        dir={x=0,y=0,z=1}
        npos.x=npos.x-1
    elseif node.param2==2 then
        dir={x=1,y=0,z=0}
        npos.z=npos.z+1
    else
        dir={x=0,y=0,z=-1}
        npos.x=npos.x+1
    end
    local nnode=minetest.env:get_node(npos)
    if minetest.registered_nodes[nnode.name].frame==1 then
        local connected_nodes=get_connected_nodes(npos)
        move_nodes_vect(connected_nodes,dir)
    end
end

function frame_motor5_on(pos,node)
    local npos={x=pos.x,y=pos.y,z=pos.z}
    if node.param2==0 then
        npos.z=npos.z-1
    elseif node.param2==1 then
        npos.x=npos.x-1
    elseif node.param2==2 then
        npos.z=npos.z+1
    else
        npos.x=npos.x+1
    end
    dir={x=0,y=1,z=0}
    local nnode=minetest.env:get_node(npos)
    if minetest.registered_nodes[nnode.name].frame==1 then
        local connected_nodes=get_connected_nodes(npos)
        move_nodes_vect(connected_nodes,dir)
    end
end

function frame_motor6_on(pos,node)
    local npos={x=pos.x,y=pos.y,z=pos.z}
    if node.param2==0 then
        npos.z=npos.z-1
    elseif node.param2==1 then
        npos.x=npos.x-1
    elseif node.param2==2 then
        npos.z=npos.z+1
    else
        npos.x=npos.x+1
    end
    dir={x=0,y=-1,z=0}
    local nnode=minetest.env:get_node(npos)
    if minetest.registered_nodes[nnode.name].frame==1 then
        local connected_nodes=get_connected_nodes(npos)
        move_nodes_vect(connected_nodes,dir)
    end
end


minetest.register_node("technic:frame_motor1",{
    description = "Frame motor 1",
    tiles = {"pipeworks_filter_top.png", "technic_lv_cable.png", "technic_lv_cable.png",
        "technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png"},
    groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
    paramtype2 = "facedir",
    mesecons={effector={action_on=frame_motor1_on}},
    frames_can_connect=function(pos,dir)
        return dir.y~=-1
    end
})

minetest.register_node("technic:frame_motor2",{
    description = "Frame motor 2",
    tiles = {"technic_lv_cable.png", "pipeworks_filter_top.png", "technic_lv_cable.png",
        "technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png"},
    groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
    paramtype2 = "facedir",
    mesecons={effector={action_on=frame_motor2_on}},
    frames_can_connect=function(pos,dir)
        return dir.y~=1
    end
})

minetest.register_node("technic:frame_motor3",{
    description = "Frame motor 3",
    tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
        "technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
    groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
    paramtype2 = "facedir",
    mesecons={effector={action_on=frame_motor3_on}},
    frames_can_connect=function(pos,dir)
        local node=minetest.env:get_node(pos)
        if node.param2==0 then return dir.z~=1
        elseif node.param2==1 then return dir.x~=1
        elseif node.param2==2 then return dir.z~=-1
        else return dir.x~=-1 end
    end
})

minetest.register_node("technic:frame_motor4",{
    description = "Frame motor 4",
    tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
        "technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
    groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
    paramtype2 = "facedir",
    mesecons={effector={action_on=frame_motor4_on}},
    frames_can_connect=function(pos,dir)
        local node=minetest.env:get_node(pos)
        if node.param2==0 then return dir.z~=1
        elseif node.param2==1 then return dir.x~=1
        elseif node.param2==2 then return dir.z~=-1
        else return dir.x~=-1 end
    end
})

minetest.register_node("technic:frame_motor5",{
    description = "Frame motor 5",
    tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
        "technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
    groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
    paramtype2 = "facedir",
    mesecons={effector={action_on=frame_motor5_on}},
    frames_can_connect=function(pos,dir)
        local node=minetest.env:get_node(pos)
        if node.param2==0 then return dir.z~=1
        elseif node.param2==1 then return dir.x~=1
        elseif node.param2==2 then return dir.z~=-1
        else return dir.x~=-1 end
    end
})

minetest.register_node("technic:frame_motor6",{
    description = "Frame motor 6",
    tiles = {"technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png",
        "technic_lv_cable.png", "technic_lv_cable.png", "pipeworks_filter_top.png"},
    groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
    paramtype2 = "facedir",
    mesecons={effector={action_on=frame_motor6_on}},
    frames_can_connect=function(pos,dir)
        local node=minetest.env:get_node(pos)
        if node.param2==0 then return dir.z~=1
        elseif node.param2==1 then return dir.x~=1
        elseif node.param2==2 then return dir.z~=-1
        else return dir.x~=-1 end
    end
})




function move_nodes_vect(poslist,vect)
    for _,pos in ipairs(poslist) do
        local npos=addVect(pos,vect)
        if minetest.env:get_node(npos).name~="air" and not(pos_in_list(poslist,npos)) then return end
    end
    nodelist={}
    for _,pos in ipairs(poslist) do
        local node=minetest.env:get_node(pos)
        local meta=minetest.env:get_meta(pos):to_table()
        nodelist[#(nodelist)+1]={pos=pos,node=node,meta=meta}
        minetest.env:remove_node(pos)
    end
    for _,n in ipairs(nodelist) do
        local npos=addVect(n.pos,vect)
        minetest.env:set_node(npos,n.node)
        local meta=minetest.env:get_meta(npos)
        meta:from_table(n.meta)
    end
end

function get_connected_nodes(pos)
    c={pos}
    local nodename=minetest.env:get_node(pos).name
    connected(pos,c,minetest.registered_nodes[nodename].frame_connect_all(pos))
    return c
end

function addVect(pos,vect)
    return {x=pos.x+vect.x,y=pos.y+vect.y,z=pos.z+vect.z}
end

function pos_in_list(l,pos)
    for _,p in ipairs(l) do
        if p.x==pos.x and p.y==pos.y and p.z==pos.z then return true end
    end
    return false
end

function connected(pos,c,adj)
    for _,vect in ipairs(adj) do
        local pos1=addVect(pos,vect)
        local nodename=minetest.env:get_node(pos1).name
        if not(pos_in_list(c,pos1)) and nodename~="air" and
        (minetest.registered_nodes[nodename].frames_can_connect==nil or
        minetest.registered_nodes[nodename].frames_can_connect(pos1,vect)) then
            c[#(c)+1]=pos1
            if minetest.registered_nodes[nodename].frame==1 then
                local adj=minetest.registered_nodes[nodename].frame_connect_all(pos1)
                connected(pos1,c,adj)
            end
        end
    end
end



User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Nore wrote:Try to upgrade to latest stairplus.

Also, I have a more or less working frame code:
Yikes! im testin it right now

WOW !
Image
Last edited by RealBadAngel on Tue Feb 05, 2013 21:13, edited 1 time in total.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

by Inocudom » Post

In creative mode in the latest xyz build of 0.4.4, unified_inventory's inventory menu disappears and never comes back. Instead, I end up having to use the default creative menu.

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Inocudom wrote:In creative mode in the latest xyz build of 0.4.4, unified_inventory's inventory menu disappears and never comes back. Instead, I end up having to use the default creative menu.
Please delete folder "creative" from minetest_game
UI replaces its functionality

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Nore's frames code merged. I made for it nodeboxed frames.
Image
Last edited by RealBadAngel on Wed Feb 06, 2013 14:57, edited 1 time in total.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

by Nore » Post

Thanks. Could you make better textures for the frame motor? Moreover, have you got a way to rotate a frame motor without using 6 different nodes?

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

Nore wrote:Thanks. Could you make better textures for the frame motor? Moreover, have you got a way to rotate a frame motor without using 6 different nodes?
im workin on the motor right now
to rotate stuff just use screwdrivers, theyre very handy :)
ofc i will need to modify its code to support also up/down
Last edited by RealBadAngel on Thu Feb 07, 2013 02:56, edited 1 time in total.

Axel
Member
Posts: 15
Joined: Wed Sep 05, 2012 18:50

by Axel » Post

I've got an error while generating a map

Code: Select all

ERROR[EmergeThread]: ERROR: An unhandled exception occurred: LuaError: error: ...n\..\mods\minetest\technic-master\technic/rubber.lua:111: attempt to call method 'spawn_tree' (a nil value)
It sounds like it depends on something missing.

BZab
Member
Posts: 126
Joined: Mon Jan 28, 2013 10:04
Location: Poland

by BZab » Post

I go t it too - you need to get latest version of minetest from git

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

by VanessaE » Post

if something (technic, plantlife, moretrees, or otherwise) calls for spawn_tree, you need a build of Minetest dated Jan. 7 or later, either from one of PilzAdam's, thexyz's, or sfan5's prebuilt binaries (all for Windows), or from a nightly builds repository or compiled from source code (generally Linux users).
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

BZab
Member
Posts: 126
Joined: Mon Jan 28, 2013 10:04
Location: Poland

by BZab » Post

1. Am I alone? im using latest technic, but MV wires, vertical are 'invisible'... isnt missing texture?
Image



PS how to use frames and f. motors? (I think they arent just decorative)
Last edited by BZab on Fri Feb 08, 2013 14:14, edited 1 time in total.

User avatar
RealBadAngel
Member
Posts: 557
Joined: Wed Jul 18, 2012 16:30

by RealBadAngel » Post

BZab wrote:1. Am I alone? im using latest technic, but MV wires, vertical are 'invisible'... isnt missing texture?

PS how to use frames and f. motors? (I think they arent just decorative)
Sorry but i cannot see anythin on this screenshot.
MV wires works here without any problems.
Image

About frames: theyre still work in progress, if you would like to see them in action, please visit VanessE server, theres workin setup which uses frames.
Last edited by RealBadAngel on Fri Feb 08, 2013 16:14, edited 1 time in total.

BZab
Member
Posts: 126
Joined: Mon Jan 28, 2013 10:04
Location: Poland

by BZab » Post

OK i know ss isnt good but:
Vertical parts of MV wires are invisible
Isolation is only in "middle" of section with wire...
I'll try do better SS ;)

EDIT:
Image

(Using a bit old Misa's pack, which was made before adding MV..)
Last edited by BZab on Fri Feb 08, 2013 16:56, edited 1 time in total.

Post Reply

Who is online

Users browsing this forum: No registered users and 26 guests