diff options
Diffstat (limited to 'mesecons/mesecons_movestones')
-rw-r--r-- | mesecons/mesecons_movestones/depends.txt | 3 | ||||
-rw-r--r-- | mesecons/mesecons_movestones/doc/movestone/description.html | 1 | ||||
-rw-r--r-- | mesecons/mesecons_movestones/doc/movestone/preview.png | bin | 77702 -> 0 bytes | |||
-rw-r--r-- | mesecons/mesecons_movestones/doc/movestone/recipe.png | bin | 14873 -> 0 bytes | |||
-rw-r--r-- | mesecons/mesecons_movestones/doc/movestone_sticky/description.html | 1 | ||||
-rw-r--r-- | mesecons/mesecons_movestones/doc/movestone_sticky/preview.png | bin | 82749 -> 0 bytes | |||
-rw-r--r-- | mesecons/mesecons_movestones/doc/movestone_sticky/recipe.png | bin | 10190 -> 0 bytes | |||
-rw-r--r-- | mesecons/mesecons_movestones/init.lua | 156 | ||||
-rw-r--r-- | mesecons/mesecons_movestones/textures/jeija_movestone_arrows.png | bin | 344 -> 0 bytes | |||
-rw-r--r-- | mesecons/mesecons_movestones/textures/jeija_movestone_side.png | bin | 466 -> 0 bytes | |||
-rw-r--r-- | mesecons/mesecons_movestones/textures/jeija_sticky_movestone.png | bin | 742 -> 0 bytes |
11 files changed, 0 insertions, 161 deletions
diff --git a/mesecons/mesecons_movestones/depends.txt b/mesecons/mesecons_movestones/depends.txt deleted file mode 100644 index a596cf8..0000000 --- a/mesecons/mesecons_movestones/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -mesecons -mesecons_materials -mesecons_mvps diff --git a/mesecons/mesecons_movestones/doc/movestone/description.html b/mesecons/mesecons_movestones/doc/movestone/description.html deleted file mode 100644 index 8555a9e..0000000 --- a/mesecons/mesecons_movestones/doc/movestone/description.html +++ /dev/null @@ -1 +0,0 @@ -Movestones are effectors that push the blocks in front of them. They move along on the right side of a mesecon wire track. diff --git a/mesecons/mesecons_movestones/doc/movestone/preview.png b/mesecons/mesecons_movestones/doc/movestone/preview.png Binary files differdeleted file mode 100644 index bda64db..0000000 --- a/mesecons/mesecons_movestones/doc/movestone/preview.png +++ /dev/null diff --git a/mesecons/mesecons_movestones/doc/movestone/recipe.png b/mesecons/mesecons_movestones/doc/movestone/recipe.png Binary files differdeleted file mode 100644 index f3d45df..0000000 --- a/mesecons/mesecons_movestones/doc/movestone/recipe.png +++ /dev/null diff --git a/mesecons/mesecons_movestones/doc/movestone_sticky/description.html b/mesecons/mesecons_movestones/doc/movestone_sticky/description.html deleted file mode 100644 index 460c277..0000000 --- a/mesecons/mesecons_movestones/doc/movestone_sticky/description.html +++ /dev/null @@ -1 +0,0 @@ -Movestones are effectors that push the blocks in front of them. They move along on the right side of a mesecon wire track. Sticky ones also pull blocks. diff --git a/mesecons/mesecons_movestones/doc/movestone_sticky/preview.png b/mesecons/mesecons_movestones/doc/movestone_sticky/preview.png Binary files differdeleted file mode 100644 index 85f9213..0000000 --- a/mesecons/mesecons_movestones/doc/movestone_sticky/preview.png +++ /dev/null diff --git a/mesecons/mesecons_movestones/doc/movestone_sticky/recipe.png b/mesecons/mesecons_movestones/doc/movestone_sticky/recipe.png Binary files differdeleted file mode 100644 index bbf0a94..0000000 --- a/mesecons/mesecons_movestones/doc/movestone_sticky/recipe.png +++ /dev/null diff --git a/mesecons/mesecons_movestones/init.lua b/mesecons/mesecons_movestones/init.lua deleted file mode 100644 index 52a5605..0000000 --- a/mesecons/mesecons_movestones/init.lua +++ /dev/null @@ -1,156 +0,0 @@ --- MOVESTONE --- Non-sticky: --- Moves along mesecon lines --- Pushes all blocks in front of it --- --- Sticky one --- Moves along mesecon lines --- Pushes all block in front of it --- Pull all blocks in its back - -function mesecon.get_movestone_direction(pos) - local lpos - local rules = { - {x=0, y=1, z=-1}, - {x=0, y=0, z=-1}, - {x=0, y=-1, z=-1}, - {x=0, y=1, z=1}, - {x=0, y=-1, z=1}, - {x=0, y=0, z=1}, - {x=1, y=0, z=0}, - {x=1, y=1, z=0}, - {x=1, y=-1, z=0}, - {x=-1, y=1, z=0}, - {x=-1, y=-1, z=0}, - {x=-1, y=0, z=0}} - - lpos = {x=pos.x+1, y=pos.y, z=pos.z} - for n = 1, 3 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then - return {x=0, y=0, z=-1} - end - end - - lpos = {x = pos.x-1, y = pos.y, z = pos.z} - for n=4, 6 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then - return {x=0, y=0, z=1} - end - end - - lpos = {x = pos.x, y = pos.y, z = pos.z+1} - for n=7, 9 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then - return {x=-1, y=0, z=0} - end - end - - lpos = {x = pos.x, y = pos.y, z = pos.z-1} - for n=10, 12 do - if mesecon.is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) then - return {x=1, y=0, z=0} - end - end -end - -function mesecon.register_movestone(name, def, is_sticky) - local timer_interval = 1 / mesecon.setting("movestone_speed", 3) - local name_active = name.."_active" - - local function movestone_move (pos) - if minetest.get_node(pos).name ~= name_active then - return - end - - local direction = mesecon.get_movestone_direction(pos) - if not direction then - minetest.set_node(pos, {name = name}) - return - end - local frontpos = vector.add(pos, direction) - local backpos = vector.subtract(pos, direction) - - -- ### Step 1: Push nodes in front ### - local maxpush = mesecon.setting("movestone_max_push", 50) - local maxpull = mesecon.setting("movestone_max_pull", 50) - local success, stack, oldstack = mesecon.mvps_push(frontpos, direction, maxpush) - if success then - mesecon.mvps_process_stack(stack) - mesecon.mvps_move_objects(frontpos, direction, oldstack) - -- Too large stack/stopper in the way: try again very soon - else - minetest.after(0.05, movestone_move, pos) - return - end - - -- ### Step 2: Move the movestone ### - local node = minetest.get_node(pos) - minetest.set_node(frontpos, node) - minetest.remove_node(pos) - mesecon.on_dignode(pos, node) - mesecon.on_placenode(frontpos, node) - minetest.after(timer_interval, movestone_move, frontpos) - - -- ### Step 3: If sticky, pull stack behind ### - if is_sticky then - mesecon.mvps_pull_all(backpos, direction, maxpull) - end - end - - def.mesecons = {effector = { - action_on = function (pos) - if minetest.get_node(pos).name ~= name_active then - minetest.set_node(pos, {name = name_active}) - movestone_move(pos) - end - end, - action_off = function (pos) - minetest.set_node(pos, {name = name}) - end - }} - - def.drop = name - - minetest.register_node(name, def) - - -- active node only - local def_active = table.copy(def) - def_active.groups.not_in_creative_inventory = 1 - minetest.register_node(name_active, def_active) -end - -mesecon.register_movestone("mesecons_movestones:movestone", { - tiles = {"jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_arrows.png", "jeija_movestone_arrows.png"}, - groups = {cracky=3}, - description="Movestone", - sounds = default.node_sound_stone_defaults() -}, false) - -minetest.register_craft({ - output = "mesecons_movestones:movestone 2", - recipe = { - {"default:stone", "default:stone", "default:stone"}, - {"group:mesecon_conductor_craftable", "group:mesecon_conductor_craftable", "group:mesecon_conductor_craftable"}, - {"default:stone", "default:stone", "default:stone"}, - } -}) - --- STICKY_MOVESTONE -mesecon.register_movestone("mesecons_movestones:sticky_movestone", { - tiles = {"jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_sticky_movestone.png", "jeija_sticky_movestone.png"}, - inventory_image = minetest.inventorycube("jeija_sticky_movestone.png", "jeija_movestone_side.png", "jeija_movestone_side.png"), - groups = {cracky=3}, - description="Sticky Movestone", - sounds = default.node_sound_stone_defaults(), -}, true) - -minetest.register_craft({ - output = "mesecons_movestones:sticky_movestone 2", - recipe = { - {"mesecons_materials:glue", "mesecons_movestones:movestone", "mesecons_materials:glue"}, - } -}) - --- Don't allow pushing movestones while they're active -mesecon.register_mvps_stopper("mesecons_movestones:movestone_active") -mesecon.register_mvps_stopper("mesecons_movestones:sticky_movestone_active") diff --git a/mesecons/mesecons_movestones/textures/jeija_movestone_arrows.png b/mesecons/mesecons_movestones/textures/jeija_movestone_arrows.png Binary files differdeleted file mode 100644 index 358c357..0000000 --- a/mesecons/mesecons_movestones/textures/jeija_movestone_arrows.png +++ /dev/null diff --git a/mesecons/mesecons_movestones/textures/jeija_movestone_side.png b/mesecons/mesecons_movestones/textures/jeija_movestone_side.png Binary files differdeleted file mode 100644 index de753ef..0000000 --- a/mesecons/mesecons_movestones/textures/jeija_movestone_side.png +++ /dev/null diff --git a/mesecons/mesecons_movestones/textures/jeija_sticky_movestone.png b/mesecons/mesecons_movestones/textures/jeija_sticky_movestone.png Binary files differdeleted file mode 100644 index 8953cf1..0000000 --- a/mesecons/mesecons_movestones/textures/jeija_sticky_movestone.png +++ /dev/null |