Update to battery box
authorMaciej Kasatkin <mk@realbadangel.pl>
Mon, 15 Oct 2012 22:17:32 +0000 (00:17 +0200)
committerMaciej Kasatkin <mk@realbadangel.pl>
Mon, 15 Oct 2012 22:17:32 +0000 (00:17 +0200)
15 files changed:
battery_box.lua
solar_panel.lua
textures/technic_battery_box_bottom.png
textures/technic_battery_box_side0.png [new file with mode: 0644]
textures/technic_battery_box_side1.png [new file with mode: 0644]
textures/technic_battery_box_side2.png [new file with mode: 0644]
textures/technic_battery_box_side3.png [new file with mode: 0644]
textures/technic_battery_box_side4.png [new file with mode: 0644]
textures/technic_battery_box_side5.png [new file with mode: 0644]
textures/technic_battery_box_side6.png [new file with mode: 0644]
textures/technic_battery_box_side7.png [new file with mode: 0644]
textures/technic_battery_box_side8.png [new file with mode: 0644]
textures/technic_battery_box_top.png
textures/technic_menu_bg.png [new file with mode: 0644]
textures/technic_solar_panel_bottom.png [new file with mode: 0644]

index 225984b73a8ce46e31b0980c1834b7d9cc043088..93f07ee1743c9a71ce51eb68a5de365056c9230d 100644 (file)
@@ -64,11 +64,13 @@ battery_box_formspec =
 
 minetest.register_node("technic:battery_box", {
        description = "Battery box",
-       tiles = {"technic_battery_box_top.png", "technic_battery_box_bottom.png", "technic_battery_box_side.png",
-               "technic_battery_box_side.png", "technic_battery_box_side.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_side0.png", "technic_battery_box_side0.png", "technic_battery_box_side0.png"},
        groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
        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")
@@ -79,6 +81,7 @@ minetest.register_node("technic:battery_box", {
                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);
@@ -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 = {}
 
 function get_RE_item_load (load1,max_load)
@@ -110,14 +149,23 @@ return math.floor(temp)
 end
 
 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,
        chance = 1,
        action = function(pos, node, active_object_count, active_object_count_wider)
        local meta = minetest.env:get_meta(pos)
        charge= meta:get_float("battery_charge")
        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()
        if inv:is_empty("src")==false  then 
                srcstack = inv:get_stack("src", 1)
index eacf9876126e7c7022f5cacfed3adb713dbb7e3f..f2d08f67ab52115186bfe833a9972f25cd9cbb43 100644 (file)
@@ -1,5 +1,5 @@
 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"},
        groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
        sounds = default.node_sound_wood_defaults(),
@@ -54,7 +54,7 @@ minetest.register_abm(
                local light = minetest.env:get_node_light(pos1, nil)
                local meta = minetest.env:get_meta(pos)
                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_float("active",1)
                        local internal_EU_buffer=meta:get_float("internal_EU_buffer")
index 1b3cf4813728c1017266e71bb5daf6d99bb79381..03c7ccc105305656c0344a68aa0dbff15728f677 100644 (file)
Binary files a/textures/technic_battery_box_bottom.png and b/textures/technic_battery_box_bottom.png differ
diff --git a/textures/technic_battery_box_side0.png b/textures/technic_battery_box_side0.png
new file mode 100644 (file)
index 0000000..2662ac0
Binary files /dev/null and b/textures/technic_battery_box_side0.png differ
diff --git a/textures/technic_battery_box_side1.png b/textures/technic_battery_box_side1.png
new file mode 100644 (file)
index 0000000..7b8b99e
Binary files /dev/null and b/textures/technic_battery_box_side1.png differ
diff --git a/textures/technic_battery_box_side2.png b/textures/technic_battery_box_side2.png
new file mode 100644 (file)
index 0000000..56a44dc
Binary files /dev/null and b/textures/technic_battery_box_side2.png differ
diff --git a/textures/technic_battery_box_side3.png b/textures/technic_battery_box_side3.png
new file mode 100644 (file)
index 0000000..6bbe61b
Binary files /dev/null and b/textures/technic_battery_box_side3.png differ
diff --git a/textures/technic_battery_box_side4.png b/textures/technic_battery_box_side4.png
new file mode 100644 (file)
index 0000000..23caa0b
Binary files /dev/null and b/textures/technic_battery_box_side4.png differ
diff --git a/textures/technic_battery_box_side5.png b/textures/technic_battery_box_side5.png
new file mode 100644 (file)
index 0000000..8d4067d
Binary files /dev/null and b/textures/technic_battery_box_side5.png differ
diff --git a/textures/technic_battery_box_side6.png b/textures/technic_battery_box_side6.png
new file mode 100644 (file)
index 0000000..cd5b847
Binary files /dev/null and b/textures/technic_battery_box_side6.png differ
diff --git a/textures/technic_battery_box_side7.png b/textures/technic_battery_box_side7.png
new file mode 100644 (file)
index 0000000..865b074
Binary files /dev/null and b/textures/technic_battery_box_side7.png differ
diff --git a/textures/technic_battery_box_side8.png b/textures/technic_battery_box_side8.png
new file mode 100644 (file)
index 0000000..910c3bc
Binary files /dev/null and b/textures/technic_battery_box_side8.png differ
index f10be046eabe0902faa60ded9e88352878b1cf3f..4953a32983318ca8075c5fe11ff4f8c9b1e6e28d 100644 (file)
Binary files a/textures/technic_battery_box_top.png and b/textures/technic_battery_box_top.png differ
diff --git a/textures/technic_menu_bg.png b/textures/technic_menu_bg.png
new file mode 100644 (file)
index 0000000..18e6a56
Binary files /dev/null and b/textures/technic_menu_bg.png differ
diff --git a/textures/technic_solar_panel_bottom.png b/textures/technic_solar_panel_bottom.png
new file mode 100644 (file)
index 0000000..b0ad82f
Binary files /dev/null and b/textures/technic_solar_panel_bottom.png differ