Fixes here and there, more nuclear work

This commit is contained in:
Evert Prants 2019-01-22 05:09:12 +02:00
parent 22bb3a76be
commit b2cb65ed14
Signed by: evert
GPG Key ID: 1688DA83D222D0B5
27 changed files with 738 additions and 8 deletions

View File

@ -87,9 +87,62 @@ minetest.register_node("elepower_dynamics:etching_acid_flowing", {
sounds = default.node_sound_water_defaults(),
})
-- Liquid Lithium
minetest.register_node("elepower_dynamics:lithium_source", {
description = "Liquid Lithium Source",
drawtype = "liquid",
tiles = {"elepower_lithium.png"},
alpha = 200,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_source = "elepower_dynamics:lithium_source",
liquid_alternative_flowing = "elepower_dynamics:lithium_flowing",
liquid_viscosity = 4,
damage_per_second = 4,
post_effect_color = {a = 103, r = 229, g = 227, b = 196},
groups = {lithium = 1, liquid = 3},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("elepower_dynamics:lithium_flowing", {
description = "Flowing Liquid Lithium",
drawtype = "flowingliquid",
tiles = {"elepower_lithium.png"},
special_tiles = {"elepower_lithium.png", "elepower_lithium.png"},
alpha = 200,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "elepower_dynamics:lithium_flowing",
liquid_alternative_source = "elepower_dynamics:lithium_source",
liquid_viscosity = 4,
damage_per_second = 4,
post_effect_color = {a = 103, r = 229, g = 227, b = 196},
groups = {lithium = 1, liquid = 3, not_in_creative_inventory = 1},
sounds = default.node_sound_water_defaults(),
})
bucket.register_liquid("elepower_dynamics:etching_acid_source", "elepower_dynamics:etching_acid_flowing",
"elepower_dynamics:bucket_etching_acid", "#410800", "Etching Acid Bucket")
bucket.register_liquid("elepower_dynamics:lithium_source", "elepower_dynamics:lithium_flowing",
"elepower_dynamics:bucket_lithium", "#e5e3c4", "Liquid Lithium Bucket")
-----------
-- Gases --
-----------
@ -117,3 +170,15 @@ minetest.register_node("elepower_dynamics:nitrogen", {
groups = {not_in_creative_inventory = 1, gas = 1},
tiles = {"elepower_steam.png"},
})
minetest.register_node("elepower_dynamics:lithium_gas", {
description = "Lithium Gas",
groups = {not_in_creative_inventory = 1, gas = 1, lithium = 1},
tiles = {"elepower_lithium.png"},
})
minetest.register_node("elepower_dynamics:chlorine_gas", {
description = "Chlorine Gas",
groups = {not_in_creative_inventory = 1, gas = 1, chlorine = 1},
tiles = {"elepower_chlorine.png"},
})

View File

@ -43,3 +43,8 @@ ele.register_gas("elepower_dynamics:oxygen_container", "Oxygen",
ele.register_gas("elepower_dynamics:nitrogen_container", "Nitrogen",
"elepower_dynamics:nitrogen", "elepower_gas_nitrogen.png")
ele.register_gas("elepower_dynamics:lithium_container", "Lithium",
"elepower_dynamics:lithium_gas", "elepower_gas_lithium.png")
ele.register_gas("elepower_dynamics:chlorine_container", "Chlorine",
"elepower_dynamics:chlorine_gas", "elepower_gas_chlorine.png")

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 626 B

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -111,7 +111,7 @@ local function on_timer(pos, elapsed)
meta:set_int("input_fluid_storage", buffer.amount)
meta:set_string("input_fluid", buffer.fluid)
meta:set_string("formspec", get_formspec(mode, buffer))
meta:set_string("formspec", get_formspec(mode, buffer, state))
return refresh
end

View File

@ -32,7 +32,8 @@ minetest.register_node("elepower_nuclear:helium_plasma", {
ele.register_gas(nil, "Tritium", "elepower_nuclear:tritium")
ele.register_gas(nil, "Deuterium", "elepower_nuclear:deuterium")
ele.register_gas(nil, "Helium", "elepower_nuclear:helium")
ele.register_gas("elepower_nuclear:helium_container", "Helium",
"elepower_nuclear:helium", "elepower_gas_helium.png")
ele.register_gas(nil, "Helium Plasma", "elepower_nuclear:helium_plasma")
-------------
@ -130,7 +131,6 @@ minetest.register_node("elepower_nuclear:heavy_water_flowing", {
sounds = default.node_sound_water_defaults(),
})
-- Cold coolant
minetest.register_node("elepower_nuclear:coolant_source", {
@ -229,6 +229,56 @@ minetest.register_node("elepower_nuclear:hot_coolant_flowing", {
sounds = default.node_sound_water_defaults(),
})
-- Brine
minetest.register_node("elepower_nuclear:brine_source", {
description = "Brine Source",
drawtype = "liquid",
tiles = {"elenuclear_brine.png"},
special_tiles = {"elenuclear_brine.png"},
alpha = 240,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "elepower_nuclear:brine_flowing",
liquid_alternative_source = "elepower_nuclear:brine_source",
liquid_viscosity = 7,
post_effect_color = {a = 200, r = 215, g = 221, b = 187},
groups = {brine = 3, saline = 1, liquid = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("elepower_nuclear:brine_flowing", {
description = "Flowing Brine",
drawtype = "flowingliquid",
tiles = {"elenuclear_brine.png"},
special_tiles = {"elenuclear_brine.png", "elenuclear_brine.png"},
alpha = 240,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "elepower_nuclear:brine_flowing",
liquid_alternative_source = "elepower_nuclear:brine_source",
liquid_viscosity = 7,
post_effect_color = {a = 200, r = 215, g = 221, b = 187},
groups = {brine = 3, saline = 1, liquid = 3, puts_out_fire = 1,
not_in_creative_inventory = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
if minetest.get_modpath("bucket") ~= nil then
bucket.register_liquid("elepower_nuclear:coolant_source", "elepower_nuclear:hot_coolant_flowing",
"elepower_nuclear:bucket_coolant", "#2497ff", "Coolant (Cold)")
@ -238,4 +288,16 @@ if minetest.get_modpath("bucket") ~= nil then
bucket.register_liquid("elepower_nuclear:heavy_water_source", "elepower_nuclear:heavy_water_flowing",
"elepower_nuclear:bucket_heavy_water", "#0d4579", "Heavy Water Bucket")
bucket.register_liquid("elepower_nuclear:brine_source", "elepower_nuclear:brine_flowing",
"elepower_nuclear:bucket_heavy_water", "#d7ddbb", "Brine Bucket")
fluid_tanks.register_tank(":elepower_dynamics:portable_tank", {
description = "Portable Tank",
capacity = 8000,
accepts = true,
tiles = {
"elepower_tank_base.png", "elepower_tank_side.png", "elepower_tank_base.png^elepower_power_port.png",
}
})
end

View File

@ -301,7 +301,6 @@ local function reactor_core_timer(pos)
if heat >= 100 then
-- TODO: Melt
print("It ded.")
minetest.set_node(pos, {name = "air"})
return false
end

View File

@ -90,6 +90,10 @@ local function determine_structure(pos, player)
if success and player then
minetest.chat_send_player(player, "Multi-node structure complete!")
local t = minetest.get_node_timer(pos)
if not t:is_started() then
t:start(1.0)
end
end
return success, inputs, outputs, power
@ -301,7 +305,7 @@ local function power_timer(pos)
local ctrl, ctrl_meta = get_port_controller(pos)
if not ctrl then
meta:set_string("No controller found.")
meta:set_string("infotext", "No controller found.")
return false
end

View File

@ -45,7 +45,7 @@ local function heat_exchanger_timer(pos)
local damnt = heat_recipes[heat.fluid]
local water_convert = math.min(water.amount, 1000 * damnt.factor)
if cold.fluid ~= damnt.fluid and cold.fluid ~= "" then
if cold.fluid ~= damnt.out and cold.fluid ~= "" then
break
end
@ -110,7 +110,6 @@ ele.register_machine("elepower_nuclear:heat_exchanger", {
},
steam = {
capacity = 16000,
accepts = {"elepower_dynamics:steam"},
drainable = true,
},
},

View File

@ -5,4 +5,5 @@ dofile(mp.."enrichment_plant.lua")
dofile(mp.."fission_reactor.lua")
dofile(mp.."fusion_reactor.lua")
dofile(mp.."heat_exchanger.lua")
dofile(mp.."solar_neutron_activator.lua")

View File

@ -0,0 +1,166 @@
local recipes = {
{
input = "elepower_dynamics:lithium_gas 100",
output = "elepower_nuclear:tritium 20",
time = 5,
}
}
local function get_recipe(input)
local recipe = {time = 0}
for _,r in pairs(recipes) do
local istack = ItemStack(r.input)
if input.amount >= istack:get_count() and input.fluid == istack:get_name() then
recipe = {
input = istack,
output = ItemStack(r.output),
time = r.time,
}
break
end
end
return recipe
end
local function get_formspec(inp, outp, solar, percent)
local bar = "image[3.5,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"
if percent ~= nil then
bar = "image[3.5,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:"..
(percent)..":gui_furnace_arrow_fg.png^[transformR270]"
end
return "size[8,8.5]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
ele.formspec.fluid_bar(0, 0, inp)..
bar..
"label[3.4,0.5;Light: "..solar.."%]"..
ele.formspec.fluid_bar(7, 0, outp)..
"list[current_player;main;0,4.25;8,1;]"..
"list[current_player;main;0,5.5;8,3;8]"..
"listring[current_player;main]"..
default.get_hotbar_bg(0, 4.25)
end
local function on_timer (pos, elapsed)
local meta = minetest.get_meta(pos)
local refresh = true
local inp = fluid_lib.get_buffer_data(pos, "input")
local outp = fluid_lib.get_buffer_data(pos, "output")
local recipe = get_recipe(inp)
local status = "Idle"
local time = meta:get_int("src_time")
local time_res = meta:get_int("src_time_max")
local solarp = 0
while true do
if recipe.time == 0 then
refresh = false
break
end
time_res = recipe.time
local result_t = recipe.output:get_count()
local input_t = recipe.input:get_count()
if result_t + outp.amount > outp.capacity or (outp.fluid ~= recipe.output:get_name() and outp.fluid ~= "") then
status = "Output full!"
refresh = false
break
end
local pos1 = vector.add(pos, {x=0,y=1,z=0})
local light = minetest.get_node_light(pos1, nil) or 0
local time_of_day = minetest.get_timeofday()
solarp = light / (minetest.LIGHT_MAX + 1)
if light >= 12 and time_of_day >= 0.24 and time_of_day <= 0.76 then
status = "Active"
time = time + 1
outp.amount = outp.amount + result_t * solarp
inp.amount = inp.amount - input_t * solarp
outp.fluid = recipe.output:get_name()
else
status = "Not enough light!"
end
if time >= time_res then
time = 0
end
break
end
if inp.amount == 0 then
inp.fluid = ""
end
meta:set_string("input_fluid", inp.fluid)
meta:set_int("input_fluid_storage", inp.amount)
meta:set_string("output_fluid", outp.fluid)
meta:set_int("output_fluid_storage", outp.amount)
meta:set_int("src_time", time)
meta:set_int("src_time_max", time_res)
local pcrt = 0
if time_res > 0 then
pcrt = math.floor(100 * time / time_res)
end
meta:set_string("infotext", ("Solar Neutron Activator %s"):format(status))
meta:set_string("formspec", get_formspec(inp, outp, solarp * 100, pcrt))
return refresh
end
ele.register_base_device("elepower_nuclear:solar_neutron_activator", {
description = "Solar Neutron Activator",
drawtype = "mesh",
mesh = "elenuclear_solar_activator.obj",
tiles = {"elenuclear_solar_activator.png"},
paramtype2 = "facedir",
fluid_buffers = {
input = {
capacity = 8000,
accepts = {"elepower_dynamics:lithium_gas"},
drainable = false,
},
output = {
capacity = 8000,
drainable = true,
},
},
groups = {fluid_container = 1, oddly_breakable_by_hand = 1},
collision_box = {
type = "fixed",
fixed = {
{-0.3750, 0.5000, -0.3750, 0.3750, 1.188, 0.3750},
{-0.5000, -0.5000, -0.5000, 0.5000, 0.5000, 0.5000}
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.3750, 0.5000, -0.3750, 0.3750, 1.188, 0.3750},
{-0.5000, -0.5000, -0.5000, 0.5000, 0.5000, 0.5000}
}
},
on_timer = on_timer,
on_punch = function (pos, node, puncher, pointed_thing)
minetest.get_node_timer(pos):start(1.0)
minetest.node_punch(pos, node, puncher, pointed_thing)
end,
on_construct = function (pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", get_formspec(nil, nil, 0))
end
})

View File

@ -0,0 +1,409 @@
# Blender v2.79 (sub 0) OBJ File: ''
# www.blender.org
o Cube_Cube.001
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 0.500000 -0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v -0.396182 0.500000 0.396182
v -0.396182 0.500000 -0.396182
v 0.396182 0.500000 -0.396182
v 0.396182 0.500000 0.396182
v -0.396182 0.447856 0.396182
v -0.396182 0.447856 -0.396182
v 0.396182 0.447856 -0.396182
v 0.396182 0.447856 0.396182
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 0.500000
v 0.119517 0.500000 0.500000
v -0.119517 0.500000 0.500000
v 0.094701 0.500000 0.396182
v -0.094701 0.500000 0.396182
v 0.136858 1.073909 0.462949
v -0.136858 1.073909 0.462949
v 0.094701 1.048212 0.396182
v -0.094701 1.048212 0.396182
v 0.136858 1.108070 0.462949
v -0.136858 1.108070 0.462949
v 0.094701 1.078044 0.396182
v -0.094701 1.078044 0.396182
v 0.094701 1.048212 -0.395736
v -0.094701 1.048212 -0.395736
v 0.094701 1.078044 -0.395736
v -0.094701 1.078044 -0.395736
v 0.494701 1.130281 0.396182
v 0.494701 1.100448 0.396182
v 0.494701 1.130281 -0.395736
v 0.494701 1.100448 -0.395736
v -0.494701 1.130281 0.396182
v -0.494701 1.100448 0.396182
v -0.494701 1.130281 -0.395736
v -0.494701 1.100448 -0.395736
v 0.094701 1.048212 0.136754
v 0.094701 1.048212 -0.122674
v 0.094701 1.078044 -0.122674
v 0.094701 1.078044 0.136754
v -0.094701 1.048212 0.136754
v -0.094701 1.048212 -0.122674
v -0.094701 1.078044 0.136754
v -0.094701 1.078044 -0.122674
v 0.494701 1.100448 0.136754
v 0.494701 1.100448 -0.122674
v 0.494701 1.130281 -0.122674
v 0.494701 1.130281 0.136754
v -0.494701 1.100448 0.136754
v -0.494701 1.100448 -0.122674
v -0.494701 1.130281 0.136754
v -0.494701 1.130281 -0.122674
v 0.294701 1.067915 0.396182
v 0.294701 1.097747 0.396182
v 0.294701 1.097747 -0.395736
v 0.294701 1.067915 -0.395736
v 0.294701 1.067915 0.136754
v 0.294701 1.067915 -0.122674
v 0.294701 1.097747 -0.122674
v 0.294701 1.097747 0.136754
v -0.294701 1.067915 -0.395736
v -0.294701 1.097747 -0.395736
v -0.294701 1.097747 0.396182
v -0.294701 1.067915 0.396182
v -0.294701 1.067915 -0.122674
v -0.294701 1.067915 0.136754
v -0.294701 1.097747 0.136754
v -0.294701 1.097747 -0.122674
vt 0.941349 0.666554
vt 0.629356 0.333447
vt 0.941349 0.333278
vt 0.000000 0.333278
vt 0.314706 0.000000
vt 0.314706 0.333278
vt 0.311993 1.000000
vt 0.000000 0.666556
vt 0.311993 0.666725
vt 0.314696 0.333278
vt 0.000000 0.666556
vt 0.000000 0.333278
vt 0.314706 0.333278
vt 0.629412 0.000000
vt 0.629412 0.333278
vt 0.991120 0.595088
vt 0.974710 0.333278
vt 0.991120 0.333287
vt 0.314706 0.333278
vt 0.347372 0.631956
vt 0.314706 0.666556
vt 0.596690 0.631956
vt 0.629356 0.666556
vt 0.629356 0.333278
vt 0.347372 0.367878
vt 0.878674 0.930799
vt 0.629356 0.666722
vt 0.878673 0.666722
vt 0.991783 0.261801
vt 0.975373 0.000009
vt 0.991783 0.000000
vt 0.958963 0.000000
vt 0.975373 0.264077
vt 0.958963 0.264077
vt 0.964814 0.666722
vt 0.981223 0.930799
vt 0.964814 0.930799
vt 0.314696 0.333278
vt 0.314696 0.354724
vt 0.314696 0.346449
vt 0.974710 0.536286
vt 0.951109 0.351886
vt 0.974102 0.344645
vt 0.629356 0.539750
vt 0.314706 0.376966
vt 0.314706 0.349901
vt 0.314706 0.360344
vt 0.596690 0.367878
vt 0.629356 0.460085
vt 0.596690 0.468355
vt 0.958355 0.191642
vt 0.935894 0.194327
vt 0.935362 0.184401
vt 0.884131 0.869471
vt 0.964814 0.678107
vt 0.959356 0.869471
vt 0.958963 0.000000
vt 0.925602 0.001988
vt 0.563917 0.849263
vt 0.623523 0.666556
vt 0.623523 0.849263
vt 0.899775 0.210485
vt 0.878589 0.133311
vt 0.899775 0.119261
vt 0.586587 0.916762
vt 0.579280 0.850551
vt 0.588589 0.849263
vt 0.951640 0.341959
vt 0.974710 0.333278
vt 0.878674 0.678107
vt 0.964814 0.666722
vt 0.899775 0.133311
vt 0.909163 0.196435
vt 0.899775 0.196435
vt 0.400630 0.862991
vt 0.314696 0.799868
vt 0.400630 0.799867
vt 0.915364 0.066656
vt 0.916214 0.000000
vt 0.925602 0.000000
vt 0.715331 0.196435
vt 0.629412 0.133311
vt 0.715331 0.133311
vt 0.990611 0.838155
vt 0.981223 0.928380
vt 0.981223 0.838160
vt 0.878705 0.263090
vt 0.797269 0.329746
vt 0.797076 0.263090
vt 0.915364 0.263090
vt 0.916214 0.329746
vt 0.905975 0.263090
vt 0.314696 0.733212
vt 0.400630 0.666556
vt 0.400630 0.733212
vt 0.990611 0.756943
vt 1.000000 0.666727
vt 1.000000 0.756948
vt 0.629528 0.066656
vt 0.715640 0.000000
vt 0.715447 0.066656
vt 0.567935 0.916661
vt 0.573260 0.850238
vt 0.577278 0.917635
vt 0.563917 0.929647
vt 0.482273 0.996302
vt 0.482273 0.929647
vt 0.400630 0.929647
vt 0.314696 0.996302
vt 0.314696 0.929647
vt 0.400630 0.996302
vt 0.797076 0.066656
vt 0.878898 0.000000
vt 0.878705 0.066656
vt 0.797269 0.000000
vt 0.990612 0.928375
vt 1.000000 0.842664
vt 1.000000 0.928380
vt 0.990611 0.842659
vt 0.482273 0.733212
vt 0.563917 0.666556
vt 0.563917 0.733212
vt 0.482273 0.666556
vt 0.715447 0.263090
vt 0.629721 0.329746
vt 0.629528 0.263090
vt 0.715640 0.329746
vt 0.990611 0.666722
vt 0.981223 0.752443
vt 0.981223 0.666727
vt 0.990611 0.752438
vt 0.878589 0.196435
vt 0.796960 0.133311
vt 0.796960 0.196435
vt 0.563917 0.862991
vt 0.482273 0.799867
vt 0.563917 0.799867
vt 0.482273 0.862991
vt 0.629412 0.196435
vt 0.588589 0.983706
vt 0.577278 0.918049
vt 0.314696 0.862991
vt 0.567935 0.983639
vt 0.577278 0.984614
vt 0.909163 0.133311
vt 0.905975 0.066656
vt 0.629356 0.666722
vt 0.000000 0.000000
vt 0.000000 0.999832
vt 0.314696 0.666556
vt 0.314706 0.000000
vt 0.974710 0.595079
vt 0.629356 0.930800
vt 0.975373 0.261809
vt 0.975373 0.000000
vt 0.981223 0.666722
vt 0.314696 0.367895
vt 0.941349 0.534299
vt 0.596690 0.531479
vt 0.958963 0.203008
vt 0.563917 0.666556
vt 0.878674 0.666722
vt 0.990611 0.928375
vt 0.878898 0.329746
vt 0.925602 0.329746
vt 0.314696 0.666556
vt 0.990611 0.666722
vt 0.629721 0.000000
vt 0.563917 0.849263
vt 0.563917 0.996302
vt 0.579280 0.984994
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.8542 -0.0592 -0.5166
vn -0.8456 0.0000 -0.5339
vn 0.0000 0.0644 0.9979
vn -0.9726 0.0000 -0.2325
vn 0.0000 0.9120 -0.4101
vn 0.8456 0.0000 -0.5339
vn -0.1606 0.9870 0.0000
vn 0.1606 -0.9870 0.0000
vn 0.1606 0.9870 0.0000
vn -0.1606 -0.9870 0.0000
vn -0.0980 0.9952 0.0000
vn 0.0980 -0.9952 0.0000
vn 0.0980 0.9952 0.0000
vn -0.0980 -0.9952 0.0000
vn 0.9726 0.0000 -0.2325
vn -0.8542 -0.0592 -0.5166
s off
f 16/1/1 2/2/1 1/3/1
f 3/4/2 5/5/2 2/6/2
f 6/7/3 4/8/3 5/9/3
f 15/10/4 1/11/4 4/12/4
f 5/13/5 1/14/5 2/15/5
f 9/16/1 14/17/1 10/18/1
f 3/19/6 9/20/6 6/21/6
f 6/21/6 10/22/6 15/23/6
f 16/24/6 8/25/6 3/19/6
f 12/26/6 14/27/6 13/28/6
f 7/29/3 12/30/3 8/31/3
f 10/32/2 11/33/2 7/34/2
f 8/35/4 13/36/4 9/37/4
f 10/38/4 20/39/4 19/40/4
f 17/41/7 23/42/7 21/43/7
f 10/22/6 17/44/6 15/23/6
f 16/45/2 17/46/2 18/47/2
f 7/48/6 18/49/6 20/50/6
f 22/51/8 28/52/8 24/53/8
f 17/54/9 22/55/9 18/56/9
f 18/57/10 24/53/10 20/58/10
f 20/59/2 23/60/2 19/61/2
f 25/62/11 28/63/11 26/64/11
f 58/65/4 34/66/4 33/67/4
f 21/43/12 27/68/12 25/69/12
f 21/70/4 26/71/4 22/55/4
f 30/72/2 31/73/2 29/74/2
f 46/75/5 29/76/5 42/77/5
f 66/78/2 40/79/2 39/80/2
f 43/81/6 32/82/6 48/83/6
f 50/84/3 35/85/3 51/86/3
f 58/87/13 52/88/13 64/89/13
f 59/90/2 36/91/2 60/92/2
f 60/93/14 50/94/14 62/95/14
f 56/96/1 40/97/1 54/98/1
f 66/99/15 56/100/15 72/101/15
f 67/102/4 38/103/4 68/104/4
f 68/105/16 53/106/16 70/107/16
f 69/108/16 40/109/16 65/110/16
f 70/107/16 54/111/16 69/108/16
f 71/112/15 37/113/15 67/114/15
f 72/101/15 55/115/15 71/112/15
f 37/116/1 53/117/1 38/118/1
f 55/119/1 54/98/1 53/117/1
f 61/120/14 34/121/14 57/122/14
f 62/95/14 49/123/14 61/120/14
f 63/124/13 35/125/13 59/126/13
f 64/89/13 51/127/13 63/124/13
f 34/128/3 52/129/3 33/130/3
f 49/131/3 51/86/3 52/129/3
f 27/132/6 47/133/6 28/63/6
f 44/134/6 48/83/6 47/133/6
f 24/135/5 41/136/5 23/137/5
f 45/138/5 42/77/5 41/136/5
f 44/134/17 63/124/17 43/81/17
f 43/81/17 59/126/17 31/139/17
f 42/77/18 61/120/18 41/136/18
f 41/136/18 57/122/18 23/137/18
f 29/76/18 62/95/18 42/77/18
f 31/73/2 60/92/2 29/74/2
f 27/132/17 64/89/17 44/134/17
f 27/140/4 57/141/4 58/65/4
f 48/83/19 71/112/19 47/133/19
f 47/133/19 67/114/19 28/63/19
f 45/138/20 69/108/20 46/75/20
f 46/75/20 65/110/20 30/142/20
f 24/135/20 70/107/20 45/138/20
f 28/143/4 68/104/4 24/144/4
f 32/82/19 72/101/19 48/83/19
f 32/145/2 65/146/2 66/78/2
f 16/1/1 3/147/1 2/2/1
f 3/4/2 6/148/2 5/5/2
f 6/7/3 15/149/3 4/8/3
f 15/10/4 16/150/4 1/11/4
f 5/13/5 4/151/5 1/14/5
f 9/16/1 13/152/1 14/17/1
f 3/19/6 8/25/6 9/20/6
f 6/21/6 9/20/6 10/22/6
f 16/24/6 7/48/6 8/25/6
f 12/26/6 11/153/6 14/27/6
f 7/29/3 11/154/3 12/30/3
f 10/32/2 14/155/2 11/33/2
f 8/35/4 12/156/4 13/36/4
f 10/38/4 7/157/4 20/39/4
f 17/41/21 19/158/21 23/42/21
f 10/22/6 19/159/6 17/44/6
f 16/45/4 15/10/4 17/46/4
f 7/48/6 16/24/6 18/49/6
f 22/51/8 26/160/8 28/52/8
f 17/54/9 21/70/9 22/55/9
f 18/57/22 22/51/22 24/53/22
f 20/59/2 24/161/2 23/60/2
f 25/62/11 27/132/11 28/63/11
f 58/65/4 57/141/4 34/66/4
f 21/43/12 23/42/12 27/68/12
f 21/70/4 25/162/4 26/71/4
f 30/72/2 32/145/2 31/73/2
f 46/75/5 30/142/5 29/76/5
f 66/78/2 65/146/2 40/79/2
f 43/81/6 31/139/6 32/82/6
f 50/84/3 36/163/3 35/85/3
f 58/87/13 33/164/13 52/88/13
f 59/90/2 35/165/2 36/91/2
f 60/93/14 36/166/14 50/94/14
f 56/96/1 39/167/1 40/97/1
f 66/99/15 39/168/15 56/100/15
f 67/102/4 37/169/4 38/103/4
f 68/105/16 38/170/16 53/106/16
f 69/108/16 54/111/16 40/109/16
f 70/107/16 53/106/16 54/111/16
f 71/112/15 55/115/15 37/113/15
f 72/101/15 56/100/15 55/115/15
f 37/116/1 55/119/1 53/117/1
f 55/119/1 56/96/1 54/98/1
f 61/120/14 49/123/14 34/121/14
f 62/95/14 50/94/14 49/123/14
f 63/124/13 51/127/13 35/125/13
f 64/89/13 52/88/13 51/127/13
f 34/128/3 49/131/3 52/129/3
f 49/131/3 50/84/3 51/86/3
f 27/132/6 44/134/6 47/133/6
f 44/134/6 43/81/6 48/83/6
f 24/135/5 45/138/5 41/136/5
f 45/138/5 46/75/5 42/77/5
f 44/134/17 64/89/17 63/124/17
f 43/81/17 63/124/17 59/126/17
f 42/77/18 62/95/18 61/120/18
f 41/136/18 61/120/18 57/122/18
f 29/76/18 60/93/18 62/95/18
f 31/73/2 59/90/2 60/92/2
f 27/132/17 58/87/17 64/89/17
f 27/140/4 23/171/4 57/141/4
f 48/83/19 72/101/19 71/112/19
f 47/133/19 71/112/19 67/114/19
f 45/138/20 70/107/20 69/108/20
f 46/75/20 69/108/20 65/110/20
f 24/135/20 68/105/20 70/107/20
f 28/143/4 67/102/4 68/104/4
f 32/82/19 66/99/19 72/101/19
f 32/145/2 30/72/2 65/146/2

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -395,7 +395,7 @@ function ele.register_base_device(nodename, nodedef)
-- Mesecons support
if mc then
nodedef["mesecons"] = mesecons_def
if nodedef.groups["state_machine"] ~= 1 then
if nodedef.groups["state_machine"] ~= 0 then
nodedef.states["mesecons"] = true
end
end
@ -409,6 +409,7 @@ function ele.register_base_device(nodename, nodedef)
if nodedef.states then
if fields["cyclestate"] then
print("hmm")
switch_state(pos, nodedef.states)
end
end

View File

@ -1,2 +1,3 @@
elepower_papi
elepower_dynamics
3d_armor?

12
elepower_solar/helmet.lua Normal file
View File

@ -0,0 +1,12 @@
-- Solar helmet
armor:register_armor("elepower_solar:helmet", {
description = "Solar Helmet",
inventory_image = "elepower_armor_inv_helmet_solar.png",
texture = "elepower_armor_helmet_solar.png",
preview = "elepower_armor_helmet_solar_preview.png",
groups = {armor_head=1, armor_heal=0, armor_use=2000,
physics_speed=0.01, physics_gravity=0.01},
armor_groups = {fleshy=9},
damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1},
})

View File

@ -9,3 +9,7 @@ elesolar.modpath = modpath
dofile(modpath.."/generator.lua")
dofile(modpath.."/register.lua")
dofile(modpath.."/crafting.lua")
if minetest.get_modpath("3d_armor") ~= nil then
dofile(modpath.."/helmet.lua")
end

View File

@ -1,3 +1,4 @@
name = elepower_solar
description = Harvest the sun!
depends = elepower_papi,elepower_dynamics
optional_depends = 3d_armor

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

View File

@ -124,3 +124,4 @@ for k, v in pairs(materials) do
},
})
end