updates and bugfixes

master
Rubberduck 2016-10-14 20:12:48 +02:00
parent 4b458d3512
commit 0629f5832f
8 changed files with 303 additions and 83 deletions

View File

@ -234,7 +234,17 @@ minetest.register_craft({
}
})
if minetest.get_modpath("technic") == false then
if minetest.get_modpath("technic") then
local recipes = {
{"default:mese_crystal_fragment 4", "default:glass", "meseconductors:default_glass"},
{"default:mese_crystal_fragment 4", "default:obsidian_glass", "meseconductors:default_obsidian_glass"},
}
for _, data in pairs(recipes) do
technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]})
end
else
minetest.register_craft({
output = 'meseconductors:default_glass',
@ -252,26 +262,14 @@ if minetest.get_modpath("technic") == false then
{'', 'mesecons:mesecon', ''},
}
})
end
local recipes = {
{"default:mese_crystal_fragment 4", "default:glass", "meseconductors:default_glass"},
{"default:mese_crystal_fragment 4", "default:obsidian_glass", "meseconductors:default_obsidian_glass"},
}
for _, data in pairs(recipes) do
technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]})
end
if meseconductors.use_moreblocks and minetest.get_modpath("moreblocks") then
local nodes = {"iron_stone_bricks", "grey_bricks", "cactus_brick", "stone_tile", "split_stone_tile", "wood_tile", "wood_tile_full"}
if minetest.get_modpath("technic") == false then
nodes = {"iron_stone_bricks", "grey_bricks", "cactus_brick", "stone_tile", "split_stone_tile", "wood_tile", "wood_tile_full", "super_glow_glass", "glow_glass", "clean_glass"}
else
if minetest.get_modpath("technic") then
local recipes = {
{"default:mese_crystal_fragment 4", "moreblocks:super_glow_glass", "meseconductors:moreblocks_super_glow_glass"},
{"default:mese_crystal_fragment 4", "moreblocks:glow_glass", "meseconductors:moreblocks_glow_glass"},
@ -280,6 +278,10 @@ if meseconductors.use_moreblocks and minetest.get_modpath("moreblocks") then
for _, data in pairs(recipes) do
technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]})
end
else
nodes = {"iron_stone_bricks", "grey_bricks", "cactus_brick", "stone_tile", "split_stone_tile", "wood_tile", "wood_tile_full", "super_glow_glass", "glow_glass", "clean_glass"}
end
for i in ipairs(nodes) do
local node = nodes[i]
@ -340,8 +342,20 @@ end
if meseconductors.use_glooptest and minetest.get_modpath("glooptest") then
if minetest.get_modpath("technic") == false then
if minetest.get_modpath("technic") then
local recipes = {
{"default:mese_crystal_fragment 4", "glooptest:crystal_glass", "meseconductors:glooptest_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:reinforced_crystal_glass", "meseconductors:glooptest_reinforced_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:akalin_crystal_glass", "meseconductors:glooptest_akalin_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:alatro_crystal_glass", "meseconductors:glooptest_alatro_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:arol_crystal_glass", "meseconductors:glooptest_arol_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:talinite_crystal_glass", "meseconductors:glooptest_talinite_crystal_glass"},
}
for _, data in pairs(recipes) do
technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]})
end
else
local nodes = {"crystal_glass", "reinforced_crystal_glass", "akalin_crystal_glass", "alatro_crystal_glass", "arol_crystal_glass", "talinite_crystal_glass"}
for i in ipairs(nodes) do
local node = nodes[i]
@ -355,22 +369,7 @@ if meseconductors.use_glooptest and minetest.get_modpath("glooptest") then
}
})
end
else
local recipes = {
{"default:mese_crystal_fragment 4", "glooptest:crystal_glass", "meseconductors:glooptest_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:reinforced_crystal_glass", "meseconductors:glooptest_reinforced_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:akalin_crystal_glass", "meseconductors:glooptest_akalin_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:alatro_crystal_glass", "meseconductors:glooptest_alatro_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:arol_crystal_glass", "meseconductors:glooptest_arol_crystal_glass"},
{"default:mese_crystal_fragment 4", "glooptest:talinite_crystal_glass", "meseconductors:glooptest_talinite_crystal_glass"},
}
for _, data in pairs(recipes) do
technic.register_alloy_recipe({input = {data[1], data[2]}, output = data[3], time = data[4]})
end
end
end
if meseconductors.use_gloopblocks and minetest.get_modpath("gloopblocks") then

View File

@ -7,6 +7,10 @@ meseconductors.highlight_conducting = false
-- highlight all conductalbe nodes, useful for debugging, not working yet
meseconductors.debug_highlight_all = false
--use creative inventory
--nodes and their recipes can still be viewed in a custom meseconductors-inventory-node (not implemented yet)
meseconductors.use_creative_inventory = true
--mods
--moreblocks
@ -27,6 +31,10 @@ meseconductors.use_quartz = true
--moretrees
meseconductors.use_moretrees = true
--technic
meseconductors.use_technic = true

View File

@ -13,6 +13,15 @@ local lightstone_rules = {
{x=0, y=-1, z=-1},
{x=0, y=-1, z=0},
}
local rules_all_directions =
{
{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},
}
function meseconductors:lightstone_add(name, base_item, texture_off, texture_on)
minetest.register_node("meseconductors:lightstone_" .. name .. "_off", {
@ -21,7 +30,7 @@ function meseconductors:lightstone_add(name, base_item, texture_off, texture_on)
description=name.." Lightstone",
sounds = default.node_sound_stone_defaults(),
mesecons = {effector = {
rules = lightstone_rules,
rules = rules_all_directions,
action_on = function (pos, node)
minetest.swap_node(pos, {name = "meseconductors:lightstone_" .. name .. "_on", param2 = node.param2})
end,
@ -34,7 +43,7 @@ function meseconductors:lightstone_add(name, base_item, texture_off, texture_on)
light_source = LIGHT_MAX-1,
sounds = default.node_sound_stone_defaults(),
mesecons = {effector = {
rules = lightstone_rules,
rules = rules_all_directions,
action_off = function (pos, node)
minetest.swap_node(pos, {name = "meseconductors:lightstone_" .. name .. "_off", param2 = node.param2})
end,
@ -54,88 +63,59 @@ end
meseconductors:lightstone_add("red", "default:clay_brick", "lightstone_red_off.png", "lightstone_red_on.png")
meseconductors:lightstone_add("green", "default:cactus", "lightstone_green_off.png", "lightstone_green_on.png")
meseconductors:lightstone_add("blue", "mesecons_materials:fiber", "lightstone_blue_off.png", "lightstone_blue_on.png")
meseconductors:lightstone_add("yellow", "default:gold_ingot", "lightstone_yellow_off.png", "lightstone_yellow_on.png")
if minetest.get_modpath("moreblocks") then
stairsplus:register_all(
"meseconductors",
"lightstone_red_off",
"meseconductors:lightstone_red_off",
{
description = "Red Lightstone",
tiles = {"lightstone_red_off.png"},
groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
sounds = default.node_sound_stone_defaults(),
}
)
stairsplus:register_all(
"meseconductors",
"lightstone_red_on",
"meseconductors:lightstone_red_on",
{
description = "Red Lightstone On",
drop = "lightstone_red_off",
tiles = {"lightstone_red_on.png"},
groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
sounds = default.node_sound_stone_defaults(),
light_source = LIGHT_MAX-1,
}
)
end
local lamp_cbox = {
type = "fixed",
type = "wallmounted",
fixed = { -11/32, -8/16, -11/32, 11/32, 4/16, 11/32 }
}
-- Node Definition
minetest.register_node("meseconductors:mese_light_off", {
drawtype = "mesh",
mesh = "mese_light.obj",
tiles = {"mese_light.png"},
groups = {cracky=3},
paramtype = "light",
paramtype2 = "facedir",
paramtype2 = "wallmounted",
description = "Mese Light",
selection_box = lamp_cbox,
collision_box = lamp_cbox,
mesecons = {effector = {
rules = rules_all_directions,
action_on = function (pos, node)
minetest.swap_node(pos, {name = "meseconductors:mese_light_on", param2 = node.param2})
--on_place = minetest.rotate_node
end
}}
})
minetest.register_node("meseconductors:mese_light_on", {
drawtype = "mesh",
mesh = "mese_light.obj",
tiles = {"mese_light_on.png"},
groups = {cracky=3, not_in_creative_inventory=1},
paramtype = "light",
paramtype2 = "facedir",
paramtype2 = "wallmounted",
description = "Mese Light On (hey - cheated???)",
selection_box = lamp_cbox,
collision_box = lamp_cbox,
on_place = minetest.rotate_node,
light_source = 15,
drop = "meseconductors:mese_light_off",
mesecons = {effector = {
rules = rules_all_directions,
action_off = function (pos, node)
minetest.swap_node(pos, {name = "meseconductors:mese_light_off", param2 = node.param2})
end

249
nodes.lua
View File

@ -6,10 +6,16 @@ function meseconductors:register_wire_block(mod, node)
local offstate = "meseconductors:"..mod.."_"..node
local onstate = "meseconductors:"..mod.."_"..node.."_on"
local description = minetest.registered_nodes[mod ..":"..node].description .. "(conductable)"
local description = minetest.registered_nodes[mod ..":"..node].description .. " (conductable)"
local description_on = minetest.registered_nodes[mod ..":"..node].description .. " (conductable - on - NICI)"
local textures2 = minetest.registered_nodes[mod ..":"..node].tiles
local groups = table.copy(minetest.registered_nodes[mod ..":"..node].groups)
table.insert(groups, 2, oddly_breakable_by_hand)
if not meseconductors.use_creative_inventory then
groups["not_in_creative_inventory"] = 1
end
local drawtype = minetest.registered_nodes[mod ..":"..node].drawtype
local paramtype = minetest.registered_nodes[mod ..":"..node].paramtype
local sounds = minetest.registered_nodes[mod ..":"..node].sounds
@ -32,7 +38,7 @@ function meseconductors:register_wire_block(mod, node)
minetest.register_node(offstate, {
tiles = textures2,
groups = groups,
description = description,
drawtype = drawtype,
paramtype = paramtype,
@ -43,7 +49,9 @@ function meseconductors:register_wire_block(mod, node)
state = "off",
onstate = "meseconductors:"..mod.."_"..node.."_on",
rules = mesewire_rules
}}
}},
groups = groups,
})
local textures_on = table.copy(textures2)
if meseconductors.highlight_conducting then
@ -60,13 +68,14 @@ function meseconductors:register_wire_block(mod, node)
end
local groups_on = table.copy(groups)
table.insert(groups_on, 1, not_in_creative_inventory)
--table.insert(groups_on, 1, not_in_creative_inventory)
groups_on["not_in_creative_inventory"] = 1
minetest.register_node(onstate, {
tiles = textures_on,
groups = groups_on,
drop = offstate,
description = description_on,
drawtype = drawtype,
paramtype = paramtype,
sounds = sounds,
@ -77,10 +86,13 @@ function meseconductors:register_wire_block(mod, node)
offstate = "meseconductors:"..mod.."_"..node,
rules = mesewire_rules
}},
groups = groups_on,
--groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
})
end
end
--todo for version 03: pack this in a loop !!!!!!!!!!
meseconductors:register_wire_block(
"default",
"wood")
@ -172,6 +184,42 @@ meseconductors:register_wire_block(
meseconductors:register_wire_block(
"default",
"cactus")
meseconductors:register_wire_block(
"default",
"dirt_with_dry_grass")
meseconductors:register_wire_block(
"default",
"aspen_tree")
meseconductors:register_wire_block(
"default",
"aspen_wood")
meseconductors:register_wire_block(
"default",
"snowblock")
meseconductors:register_wire_block(
"default",
"gravel")
meseconductors:register_wire_block(
"default",
"copperblock")
meseconductors:register_wire_block(
"default",
"obsidianbrick")
meseconductors:register_wire_block(
"default",
"stone_block")
meseconductors:register_wire_block(
"default",
"stone_block")
meseconductors:register_wire_block(
"default",
"desert_stone_block")
meseconductors:register_wire_block(
"default",
"obsidian_block")
meseconductors:register_wire_block(
"default",
"sandstone_block")
if meseconductors.use_moreblocks then
meseconductors:register_wire_block(
@ -204,6 +252,39 @@ if meseconductors.use_moreblocks then
meseconductors:register_wire_block(
"moreblocks",
"wood_tile_full")
meseconductors:register_wire_block(
"moreblocks",
"cactus_checker")
meseconductors:register_wire_block(
"moreblocks",
"circle_stone_bricks")
meseconductors:register_wire_block(
"moreblocks",
"coal_checker")
meseconductors:register_wire_block(
"moreblocks",
"coal_glass")
meseconductors:register_wire_block(
"moreblocks",
"coal_stone")
meseconductors:register_wire_block(
"moreblocks",
"coal_stone_bricks")
meseconductors:register_wire_block(
"moreblocks",
"iron_checker")
meseconductors:register_wire_block(
"moreblocks",
"iron_glass")
meseconductors:register_wire_block(
"moreblocks",
"iron_stone")
meseconductors:register_wire_block(
"moreblocks",
"plankstone")
meseconductors:register_wire_block(
"moreblocks",
"split_stone_tile_alt")
end
if meseconductors.use_building_blocks then
@ -222,6 +303,12 @@ if meseconductors.use_building_blocks then
meseconductors:register_wire_block(
"building_blocks",
"Marble")
meseconductors:register_wire_block(
"building_blocks",
"woodglass")
meseconductors:register_wire_block(
"building_blocks",
"smoothglass")
end
if meseconductors.use_quartz then
@ -348,9 +435,155 @@ if meseconductors.use_moretrees then
meseconductors:register_wire_block(
"moretrees",
"fir_planks")
end
if meseconductors.use_technic then
meseconductors:register_wire_block(
"technic",
"brass_block")
meseconductors:register_wire_block(
"technic",
"carbon_steel_block")
meseconductors:register_wire_block(
"technic",
"cast_iron_block")
meseconductors:register_wire_block(
"technic",
"chromium_block")
meseconductors:register_wire_block(
"technic",
"concrete")
meseconductors:register_wire_block(
"technic",
"granite")
meseconductors:register_wire_block(
"technic",
"lead_block")
meseconductors:register_wire_block(
"technic",
"marble")
meseconductors:register_wire_block(
"technic",
"marble_bricks")
meseconductors:register_wire_block(
"technic",
"zinc_block")
end
meseconductors:register_wire_block(
"ethereal",
"bamboo_dirt")
meseconductors:register_wire_block(
"ethereal",
"banana_trunk")
meseconductors:register_wire_block(
"ethereal",
"banana_wood")
meseconductors:register_wire_block(
"ethereal",
"birch_trunk")
meseconductors:register_wire_block(
"ethereal",
"birch_wood")
meseconductors:register_wire_block(
"ethereal",
"bush")
meseconductors:register_wire_block(
"ethereal",
"cold_dirt")
meseconductors:register_wire_block(
"ethereal",
"crystal_block")
meseconductors:register_wire_block(
"ethereal",
"crystal_dirt")
meseconductors:register_wire_block(
"ethereal",
"crystal_moss")
meseconductors:register_wire_block(
"ethereal",
"dry_dirt")
meseconductors:register_wire_block(
"ethereal",
"fiery_dirt")
meseconductors:register_wire_block(
"ethereal",
"fiery_moss")
meseconductors:register_wire_block(
"ethereal",
"frost_tree")
meseconductors:register_wire_block(
"ethereal",
"frost_wood")
--glostone won't be as conductable, there will be a mese-triggered glostone soon
meseconductors:register_wire_block(
"ethereal",
"gray_dirt")
meseconductors:register_wire_block(
"ethereal",
"gray_moss")
--meseconductors:register_wire_block(
-- "ethereal",
-- "green_dirt")
meseconductors:register_wire_block(
"ethereal",
"green_moss")
meseconductors:register_wire_block(
"ethereal",
"grove_dirt")
meseconductors:register_wire_block(
"ethereal",
"icebrick")
meseconductors:register_wire_block(
"ethereal",
"jungle_dirt")
meseconductors:register_wire_block(
"ethereal",
"mushroom")
meseconductors:register_wire_block(
"ethereal",
"mushroom_dirt")
meseconductors:register_wire_block(
"ethereal",
"mushroom_moss")
meseconductors:register_wire_block(
"ethereal",
"mushroom_pore")
meseconductors:register_wire_block(
"ethereal",
"mushroom_trunk")
meseconductors:register_wire_block(
"ethereal",
"palm_trunk")
meseconductors:register_wire_block(
"ethereal",
"palm_wood")
meseconductors:register_wire_block(
"ethereal",
"prairie_dirt")
meseconductors:register_wire_block(
"ethereal",
"redwood_trunk")
meseconductors:register_wire_block(
"ethereal",
"redwood_wood")
meseconductors:register_wire_block(
"ethereal",
"scorched_tree")
meseconductors:register_wire_block(
"ethereal",
"snowbrick")
meseconductors:register_wire_block(
"ethereal",
"willow_trunk")
meseconductors:register_wire_block(
"ethereal",
"willow_wood")
meseconductors:register_wire_block(
"ethereal",
"yellow_trunk")
meseconductors:register_wire_block(
"ethereal",
"yellow_wood")

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B