Update to battery box
@ -64,11 +64,13 @@ battery_box_formspec =
|
|||||||
|
|
||||||
minetest.register_node("technic:battery_box", {
|
minetest.register_node("technic:battery_box", {
|
||||||
description = "Battery box",
|
description = "Battery box",
|
||||||
tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side.png",
|
tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side0.png",
|
||||||
"technic_battery_box_side.png", "technic_battery_box_side.png", "technic_battery_box_side.png"},
|
"technic_battery_box_side0.png", "technic_battery_box_side0.png", "technic_battery_box_side0.png"},
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
technic_power_machine=1,
|
technic_power_machine=1,
|
||||||
|
last_side_shown=0,
|
||||||
|
drop="technic:battery_box",
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
meta:set_string("infotext", "Battery box")
|
meta:set_string("infotext", "Battery box")
|
||||||
@ -79,6 +81,7 @@ minetest.register_node("technic:battery_box", {
|
|||||||
inv:set_size("dst", 1)
|
inv:set_size("dst", 1)
|
||||||
battery_charge = 0
|
battery_charge = 0
|
||||||
max_charge = 60000
|
max_charge = 60000
|
||||||
|
last_side_shown=0
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
local meta = minetest.env:get_meta(pos);
|
local meta = minetest.env:get_meta(pos);
|
||||||
@ -93,6 +96,42 @@ minetest.register_node("technic:battery_box", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
for i=1,8,1 do
|
||||||
|
minetest.register_node("technic:battery_box"..i, {
|
||||||
|
description = "Battery box",
|
||||||
|
tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side"..i..".png",
|
||||||
|
"technic_battery_box_side"..i..".png", "technic_battery_box_side"..i..".png", "technic_battery_box_side"..i..".png"},
|
||||||
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
technic_power_machine=1,
|
||||||
|
last_side_shown=0,
|
||||||
|
drop="technic:battery_box",
|
||||||
|
on_construct = function(pos)
|
||||||
|
local meta = minetest.env:get_meta(pos)
|
||||||
|
meta:set_string("infotext", "Battery box")
|
||||||
|
meta:set_float("technic_power_machine", 1)
|
||||||
|
meta:set_string("formspec", battery_box_formspec)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
inv:set_size("src", 1)
|
||||||
|
inv:set_size("dst", 1)
|
||||||
|
battery_charge = 0
|
||||||
|
max_charge = 60000
|
||||||
|
last_side_shown=0
|
||||||
|
end,
|
||||||
|
can_dig = function(pos,player)
|
||||||
|
local meta = minetest.env:get_meta(pos);
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
if not inv:is_empty("dst") then
|
||||||
|
return false
|
||||||
|
elseif not inv:is_empty("src") then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
LV_nodes_visited = {}
|
LV_nodes_visited = {}
|
||||||
|
|
||||||
function get_RE_item_load (load1,max_load)
|
function get_RE_item_load (load1,max_load)
|
||||||
@ -110,14 +149,23 @@ return math.floor(temp)
|
|||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"technic:battery_box"},
|
nodenames = {"technic:battery_box","technic:battery_box1","technic:battery_box2","technic:battery_box3","technic:battery_box4",
|
||||||
|
"technic:battery_box5","technic:battery_box6","technic:battery_box7","technic:battery_box8"
|
||||||
|
},
|
||||||
interval = 1,
|
interval = 1,
|
||||||
chance = 1,
|
chance = 1,
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
charge= meta:get_float("battery_charge")
|
charge= meta:get_float("battery_charge")
|
||||||
max_charge= 60000
|
max_charge= 60000
|
||||||
|
local i=math.ceil((charge/max_charge)*8)
|
||||||
|
if i>8 then i=8 end
|
||||||
|
j=meta:get_float("last_side_shown")
|
||||||
|
if i~=j then
|
||||||
|
if i>0 then hacky_swap_node(pos,"technic:battery_box"..i)
|
||||||
|
elseif i==0 then hacky_swap_node(pos,"technic:battery_box") end
|
||||||
|
meta:set_float("last_side_shown",i)
|
||||||
|
end
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
if inv:is_empty("src")==false then
|
if inv:is_empty("src")==false then
|
||||||
srcstack = inv:get_stack("src", 1)
|
srcstack = inv:get_stack("src", 1)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
minetest.register_node("technic:solar_panel", {
|
minetest.register_node("technic:solar_panel", {
|
||||||
tiles = {"technic_solar_panel_top.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png",
|
tiles = {"technic_solar_panel_top.png", "technic_solar_panel_bottom.png", "technic_solar_panel_side.png",
|
||||||
"technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png"},
|
"technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png"},
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
@ -54,7 +54,7 @@ minetest.register_abm(
|
|||||||
local light = minetest.env:get_node_light(pos1, nil)
|
local light = minetest.env:get_node_light(pos1, nil)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
if light == nil then light = 0 end
|
if light == nil then light = 0 end
|
||||||
if light >= 12 then
|
if light >= 14 then
|
||||||
meta:set_string("infotext", "Solar Panel is active ")
|
meta:set_string("infotext", "Solar Panel is active ")
|
||||||
meta:set_float("active",1)
|
meta:set_float("active",1)
|
||||||
local internal_EU_buffer=meta:get_float("internal_EU_buffer")
|
local internal_EU_buffer=meta:get_float("internal_EU_buffer")
|
||||||
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 2.0 KiB |
BIN
textures/technic_battery_box_side0.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side1.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side2.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side3.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side4.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side5.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side6.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side7.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_battery_box_side8.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 2.3 KiB |
BIN
textures/technic_menu_bg.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
textures/technic_solar_panel_bottom.png
Normal file
After Width: | Height: | Size: 2.0 KiB |