From da66780a569712c23ae4f2996cfb4608a9f9d69d Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 20:02:19 -0400 Subject: copy all standard Dreambuilder mods in from the old subgame (exactly as last supplied there, updates to these mods will follow later) --- mesecons/mesecons_torch/depends.txt | 1 + mesecons/mesecons_torch/doc/torch/description.html | 1 + mesecons/mesecons_torch/doc/torch/preview.png | Bin 0 -> 10142 bytes mesecons/mesecons_torch/doc/torch/recipe.png | Bin 0 -> 2345 bytes mesecons/mesecons_torch/init.lua | 118 +++++++++++++++++++++ .../mesecons_torch/textures/jeija_torches_off.png | Bin 0 -> 219 bytes .../textures/jeija_torches_off_ceiling.png | Bin 0 -> 220 bytes .../textures/jeija_torches_off_side.png | Bin 0 -> 206 bytes .../mesecons_torch/textures/jeija_torches_on.png | Bin 0 -> 210 bytes .../textures/jeija_torches_on_ceiling.png | Bin 0 -> 220 bytes .../textures/jeija_torches_on_side.png | Bin 0 -> 197 bytes 11 files changed, 120 insertions(+) create mode 100644 mesecons/mesecons_torch/depends.txt create mode 100644 mesecons/mesecons_torch/doc/torch/description.html create mode 100644 mesecons/mesecons_torch/doc/torch/preview.png create mode 100644 mesecons/mesecons_torch/doc/torch/recipe.png create mode 100644 mesecons/mesecons_torch/init.lua create mode 100644 mesecons/mesecons_torch/textures/jeija_torches_off.png create mode 100644 mesecons/mesecons_torch/textures/jeija_torches_off_ceiling.png create mode 100644 mesecons/mesecons_torch/textures/jeija_torches_off_side.png create mode 100644 mesecons/mesecons_torch/textures/jeija_torches_on.png create mode 100644 mesecons/mesecons_torch/textures/jeija_torches_on_ceiling.png create mode 100644 mesecons/mesecons_torch/textures/jeija_torches_on_side.png (limited to 'mesecons/mesecons_torch') diff --git a/mesecons/mesecons_torch/depends.txt b/mesecons/mesecons_torch/depends.txt new file mode 100644 index 0000000..acaa924 --- /dev/null +++ b/mesecons/mesecons_torch/depends.txt @@ -0,0 +1 @@ +mesecons diff --git a/mesecons/mesecons_torch/doc/torch/description.html b/mesecons/mesecons_torch/doc/torch/description.html new file mode 100644 index 0000000..da7f19c --- /dev/null +++ b/mesecons/mesecons_torch/doc/torch/description.html @@ -0,0 +1 @@ +The torch is an inverter, it may take up to 1 second until the signal has passed through. The input is 2 blocks away in the direction of the stick, outputs are around the mesecon glow. diff --git a/mesecons/mesecons_torch/doc/torch/preview.png b/mesecons/mesecons_torch/doc/torch/preview.png new file mode 100644 index 0000000..fa32543 Binary files /dev/null and b/mesecons/mesecons_torch/doc/torch/preview.png differ diff --git a/mesecons/mesecons_torch/doc/torch/recipe.png b/mesecons/mesecons_torch/doc/torch/recipe.png new file mode 100644 index 0000000..529d99f Binary files /dev/null and b/mesecons/mesecons_torch/doc/torch/recipe.png differ diff --git a/mesecons/mesecons_torch/init.lua b/mesecons/mesecons_torch/init.lua new file mode 100644 index 0000000..5d1ad8f --- /dev/null +++ b/mesecons/mesecons_torch/init.lua @@ -0,0 +1,118 @@ +--MESECON TORCHES + +local rotate_torch_rules = function (rules, param2) + if param2 == 5 then + return mesecon.rotate_rules_right(rules) + elseif param2 == 2 then + return mesecon.rotate_rules_right(mesecon.rotate_rules_right(rules)) --180 degrees + elseif param2 == 4 then + return mesecon.rotate_rules_left(rules) + elseif param2 == 1 then + return mesecon.rotate_rules_down(rules) + elseif param2 == 0 then + return mesecon.rotate_rules_up(rules) + else + return rules + end +end + +local torch_get_output_rules = function(node) + local rules = { + {x = 1, y = 0, z = 0}, + {x = 0, y = 0, z = 1}, + {x = 0, y = 0, z =-1}, + {x = 0, y = 1, z = 0}, + {x = 0, y =-1, z = 0}} + + return rotate_torch_rules(rules, node.param2) +end + +local torch_get_input_rules = function(node) + local rules = {{x = -2, y = 0, z = 0}, + {x = -1, y = 1, z = 0}} + + return rotate_torch_rules(rules, node.param2) +end + +minetest.register_craft({ + output = "mesecons_torch:mesecon_torch_on 4", + recipe = { + {"group:mesecon_conductor_craftable"}, + {"default:stick"},} +}) + +local torch_selectionbox = +{ + type = "wallmounted", + wall_top = {-0.1, 0.5-0.6, -0.1, 0.1, 0.5, 0.1}, + wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5+0.6, 0.1}, + wall_side = {-0.5, -0.1, -0.1, -0.5+0.6, 0.1, 0.1}, +} + +minetest.register_node("mesecons_torch:mesecon_torch_off", { + drawtype = "torchlike", + tiles = {"jeija_torches_off.png", "jeija_torches_off_ceiling.png", "jeija_torches_off_side.png"}, + inventory_image = "jeija_torches_off.png", + paramtype = "light", + walkable = false, + paramtype2 = "wallmounted", + selection_box = torch_selectionbox, + groups = {dig_immediate = 3, not_in_creative_inventory = 1}, + drop = "mesecons_torch:mesecon_torch_on", + mesecons = {receptor = { + state = mesecon.state.off, + rules = torch_get_output_rules + }} +}) + +minetest.register_node("mesecons_torch:mesecon_torch_on", { + drawtype = "torchlike", + tiles = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"}, + inventory_image = "jeija_torches_on.png", + wield_image = "jeija_torches_on.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + paramtype2 = "wallmounted", + selection_box = torch_selectionbox, + groups = {dig_immediate=3}, + light_source = default.LIGHT_MAX-5, + description="Mesecon Torch", + mesecons = {receptor = { + state = mesecon.state.on, + rules = torch_get_output_rules + }}, +}) + +minetest.register_abm({ + nodenames = {"mesecons_torch:mesecon_torch_off","mesecons_torch:mesecon_torch_on"}, + interval = 1, + chance = 1, + action = function(pos, node) + local is_powered = false + for _, rule in ipairs(torch_get_input_rules(node)) do + local src = mesecon.addPosRule(pos, rule) + if mesecon.is_power_on(src) then + is_powered = true + end + end + + if is_powered then + if node.name == "mesecons_torch:mesecon_torch_on" then + minetest.swap_node(pos, {name = "mesecons_torch:mesecon_torch_off", param2 = node.param2}) + mesecon.receptor_off(pos, torch_get_output_rules(node)) + end + elseif node.name == "mesecons_torch:mesecon_torch_off" then + minetest.swap_node(pos, {name = "mesecons_torch:mesecon_torch_on", param2 = node.param2}) + mesecon.receptor_on(pos, torch_get_output_rules(node)) + end + end +}) + +-- Param2 Table (Block Attached To) +-- 5 = z-1 +-- 3 = x-1 +-- 4 = z+1 +-- 2 = x+1 +-- 0 = y+1 +-- 1 = y-1 diff --git a/mesecons/mesecons_torch/textures/jeija_torches_off.png b/mesecons/mesecons_torch/textures/jeija_torches_off.png new file mode 100644 index 0000000..537920c Binary files /dev/null and b/mesecons/mesecons_torch/textures/jeija_torches_off.png differ diff --git a/mesecons/mesecons_torch/textures/jeija_torches_off_ceiling.png b/mesecons/mesecons_torch/textures/jeija_torches_off_ceiling.png new file mode 100644 index 0000000..3934e6e Binary files /dev/null and b/mesecons/mesecons_torch/textures/jeija_torches_off_ceiling.png differ diff --git a/mesecons/mesecons_torch/textures/jeija_torches_off_side.png b/mesecons/mesecons_torch/textures/jeija_torches_off_side.png new file mode 100644 index 0000000..ecb2951 Binary files /dev/null and b/mesecons/mesecons_torch/textures/jeija_torches_off_side.png differ diff --git a/mesecons/mesecons_torch/textures/jeija_torches_on.png b/mesecons/mesecons_torch/textures/jeija_torches_on.png new file mode 100644 index 0000000..a93dcc2 Binary files /dev/null and b/mesecons/mesecons_torch/textures/jeija_torches_on.png differ diff --git a/mesecons/mesecons_torch/textures/jeija_torches_on_ceiling.png b/mesecons/mesecons_torch/textures/jeija_torches_on_ceiling.png new file mode 100644 index 0000000..24fe201 Binary files /dev/null and b/mesecons/mesecons_torch/textures/jeija_torches_on_ceiling.png differ diff --git a/mesecons/mesecons_torch/textures/jeija_torches_on_side.png b/mesecons/mesecons_torch/textures/jeija_torches_on_side.png new file mode 100644 index 0000000..fe7dfd2 Binary files /dev/null and b/mesecons/mesecons_torch/textures/jeija_torches_on_side.png differ -- cgit v1.2.3