diff --git a/mods/snow/init.lua b/mods/snow/init.lua index 11a58177..86ad7232 100755 --- a/mods/snow/init.lua +++ b/mods/snow/init.lua @@ -75,7 +75,6 @@ if (minetest.get_modpath("moreblocks")) then dofile(minetest.get_modpath("snow").."/src/stairsplus.lua") -else end --This function places snow checking at the same time for snow level and increasing as needed. diff --git a/mods/snow/other_textures/connected_textures_ice.png b/mods/snow/other_textures/connected_textures_ice.png new file mode 100644 index 00000000..63e24217 Binary files /dev/null and b/mods/snow/other_textures/connected_textures_ice.png differ diff --git a/mods/snow/other_textures/default_ice.png b/mods/snow/other_textures/default_ice.png new file mode 100644 index 00000000..f9a07568 Binary files /dev/null and b/mods/snow/other_textures/default_ice.png differ diff --git a/mods/snow/other_textures/default_ice.xcf b/mods/snow/other_textures/default_ice.xcf new file mode 100644 index 00000000..85c3036b Binary files /dev/null and b/mods/snow/other_textures/default_ice.xcf differ diff --git a/mods/snow/textures/inkscape_default_ice.svg b/mods/snow/other_textures/inkscape_default_ice.svg old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/inkscape_default_ice.svg rename to mods/snow/other_textures/inkscape_default_ice.svg diff --git a/mods/snow/other_textures/mocha.png b/mods/snow/other_textures/mocha.png new file mode 100644 index 00000000..00dd30d0 Binary files /dev/null and b/mods/snow/other_textures/mocha.png differ diff --git a/mods/snow/textures/mocha.xcf b/mods/snow/other_textures/mocha.xcf old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/mocha.xcf rename to mods/snow/other_textures/mocha.xcf diff --git a/mods/snow/other_textures/original_snow_snow_brick.png b/mods/snow/other_textures/original_snow_snow_brick.png new file mode 100644 index 00000000..cc9c58ee Binary files /dev/null and b/mods/snow/other_textures/original_snow_snow_brick.png differ diff --git a/mods/snow/other_textures/rect2985.png b/mods/snow/other_textures/rect2985.png new file mode 100644 index 00000000..91f74ce4 Binary files /dev/null and b/mods/snow/other_textures/rect2985.png differ diff --git a/mods/snow/other_textures/snow_ice.png b/mods/snow/other_textures/snow_ice.png new file mode 100644 index 00000000..14e4f563 Binary files /dev/null and b/mods/snow/other_textures/snow_ice.png differ diff --git a/mods/snow/textures/snow_needles_decorated_animated.xcf b/mods/snow/other_textures/snow_needles_decorated_animated.xcf old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/snow_needles_decorated_animated.xcf rename to mods/snow/other_textures/snow_needles_decorated_animated.xcf diff --git a/mods/snow/other_textures/snow_snow.png b/mods/snow/other_textures/snow_snow.png new file mode 100644 index 00000000..2a2439fb Binary files /dev/null and b/mods/snow/other_textures/snow_snow.png differ diff --git a/mods/snow/textures/snow_snow_brick.xcf b/mods/snow/other_textures/snow_snow_brick.xcf old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/snow_snow_brick.xcf rename to mods/snow/other_textures/snow_snow_brick.xcf diff --git a/mods/snow/other_textures/snow_snow_brick_lazyJ.png b/mods/snow/other_textures/snow_snow_brick_lazyJ.png new file mode 100644 index 00000000..20d0cf87 Binary files /dev/null and b/mods/snow/other_textures/snow_snow_brick_lazyJ.png differ diff --git a/mods/snow/textures/snow_snow_cobble.png_01 b/mods/snow/other_textures/snow_snow_cobble.png_01 old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/snow_snow_cobble.png_01 rename to mods/snow/other_textures/snow_snow_cobble.png_01 diff --git a/mods/snow/textures/snow_snow_cobble.xcf b/mods/snow/other_textures/snow_snow_cobble.xcf old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/snow_snow_cobble.xcf rename to mods/snow/other_textures/snow_snow_cobble.xcf diff --git a/mods/snow/other_textures/snow_snow_side.png b/mods/snow/other_textures/snow_snow_side.png new file mode 100644 index 00000000..c62d3492 Binary files /dev/null and b/mods/snow/other_textures/snow_snow_side.png differ diff --git a/mods/snow/other_textures/snow_snowball.png b/mods/snow/other_textures/snow_snowball.png new file mode 100644 index 00000000..2cff65a2 Binary files /dev/null and b/mods/snow/other_textures/snow_snowball.png differ diff --git a/mods/snow/other_textures/snow_snowfall.png b/mods/snow/other_textures/snow_snowfall.png new file mode 100644 index 00000000..b00443a8 Binary files /dev/null and b/mods/snow/other_textures/snow_snowfall.png differ diff --git a/mods/snow/textures/snow_star_lit.xcf b/mods/snow/other_textures/snow_star_lit.xcf old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/snow_star_lit.xcf rename to mods/snow/other_textures/snow_star_lit.xcf diff --git a/mods/snow/other_textures/xdefault_cobble.png b/mods/snow/other_textures/xdefault_cobble.png new file mode 100644 index 00000000..7abc9744 Binary files /dev/null and b/mods/snow/other_textures/xdefault_cobble.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_bottom.png b/mods/snow/other_textures/xdefault_furnace_bottom.png new file mode 100644 index 00000000..e8191f7b Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_bottom.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_fire_bg.png b/mods/snow/other_textures/xdefault_furnace_fire_bg.png new file mode 100644 index 00000000..091679ba Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_fire_bg.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_fire_fg.png b/mods/snow/other_textures/xdefault_furnace_fire_fg.png new file mode 100644 index 00000000..7a126e32 Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_fire_fg.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_front.png b/mods/snow/other_textures/xdefault_furnace_front.png new file mode 100644 index 00000000..cbc21c6e Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_front.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_front_active.png b/mods/snow/other_textures/xdefault_furnace_front_active.png new file mode 100644 index 00000000..d103606e Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_front_active.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_side.png b/mods/snow/other_textures/xdefault_furnace_side.png new file mode 100644 index 00000000..e8191f7b Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_side.png differ diff --git a/mods/snow/other_textures/xdefault_furnace_top.png b/mods/snow/other_textures/xdefault_furnace_top.png new file mode 100644 index 00000000..e8191f7b Binary files /dev/null and b/mods/snow/other_textures/xdefault_furnace_top.png differ diff --git a/mods/snow/other_textures/xdefault_glass.png b/mods/snow/other_textures/xdefault_glass.png new file mode 100644 index 00000000..b4c7fb5f Binary files /dev/null and b/mods/snow/other_textures/xdefault_glass.png differ diff --git a/mods/snow/other_textures/xdefault_ice.png b/mods/snow/other_textures/xdefault_ice.png new file mode 100644 index 00000000..14e4f563 Binary files /dev/null and b/mods/snow/other_textures/xdefault_ice.png differ diff --git a/mods/snow/textures/xdefault_ice.xcf b/mods/snow/other_textures/xdefault_ice.xcf old mode 100755 new mode 100644 similarity index 100% rename from mods/snow/textures/xdefault_ice.xcf rename to mods/snow/other_textures/xdefault_ice.xcf diff --git a/mods/snow/other_textures/xdefault_snow.png b/mods/snow/other_textures/xdefault_snow.png new file mode 100644 index 00000000..2a2439fb Binary files /dev/null and b/mods/snow/other_textures/xdefault_snow.png differ diff --git a/mods/snow/other_textures/xdefault_stone_brick.png b/mods/snow/other_textures/xdefault_stone_brick.png new file mode 100644 index 00000000..7958330d Binary files /dev/null and b/mods/snow/other_textures/xdefault_stone_brick.png differ diff --git a/mods/snow/schematics/pine.mts b/mods/snow/schematics/pine.mts old mode 100755 new mode 100644 index 27dc5732..cf09cd86 Binary files a/mods/snow/schematics/pine.mts and b/mods/snow/schematics/pine.mts differ diff --git a/mods/snow/src/abms.lua b/mods/snow/src/abms.lua index 8a595a10..8197bfea 100755 --- a/mods/snow/src/abms.lua +++ b/mods/snow/src/abms.lua @@ -1,13 +1,12 @@ --Backwards Compatability. minetest.register_abm({ - nodenames = {"snow:snow1","snow:snow2","snow:snow3","gsnow4","snow:snow5","snow:snow6","snow:snow7","snow:snow8"}, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local level = 7*(tonumber(node.name:sub(-1))) - minetest.add_node(pos,{name="default:snow"}) - minetest.set_node_level(pos, level) - end, + nodenames = {"snow:snow1","snow:snow2","snow:snow3","gsnow4","snow:snow5","snow:snow6","snow:snow7","snow:snow8"}, + interval = 1, + chance = 1, + action = function(pos, node) + minetest.add_node(pos,{name="default:snow"}) + minetest.set_node_level(pos, 7*(tonumber(node.name:sub(-1)))) + end, }) @@ -19,12 +18,14 @@ minetest.register_abm({ interval = 2, chance = 20, action = function(pos, node) - local above = {x=pos.x, y=pos.y+1, z=pos.z} - local name = minetest.get_node(above).name + local name = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name local nodedef = minetest.registered_nodes[name] - if name ~= "ignore" and nodedef - and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light") - and nodedef.liquidtype == "none") then + if name ~= "ignore" + and nodedef + and not ( + (nodedef.sunlight_propagates or nodedef.paramtype == "light") + and nodedef.liquidtype == "none" + ) then minetest.set_node(pos, {name = "default:dirt"}) end end @@ -40,16 +41,18 @@ minetest.register_abm({ --3: one water_flowing minetest.register_abm({ - nodenames = {"group:melts"}, - neighbors = {"group:igniter","default:torch","default:furnace_active","group:hot"}, - interval = 2, - chance = 2, - action = function(pos, node, active_object_count, active_object_count_wider) + nodenames = {"group:melts"}, + neighbors = {"group:igniter","default:torch","default:furnace_active","group:hot"}, + interval = 2, + chance = 2, + action = function(pos, node) local intensity = minetest.get_item_group(node.name,"melts") if intensity == 1 then minetest.add_node(pos,{name="default:water_source"}) elseif intensity == 2 then - --[[ This was causing "melts=2" nodes to just disappear so I changed it to replace the + minetest.add_node(pos,{name="default:water_flowing", param2=7}) + --[[ LazyJ, you need to add param2, which defines the amount of the flowing water ~ HybridDog 2015_03_06 + This was causing "melts=2" nodes to just disappear so I changed it to replace the node with a water_source for a couple seconds and then replace the water_source with air. This way it made a watery mess that quickly evaporated. ~ LazyJ 2014_04_24 local check_place = function(pos,node) @@ -63,7 +66,7 @@ minetest.register_abm({ check_place({x=pos.x,y=pos.y+1,z=pos.z},{name="default:water_flowing"}) check_place({x=pos.x,y=pos.y-1,z=pos.z},{name="default:water_flowing"}) elseif intensity == 3 then - --]] + --] minetest.add_node(pos,{name="default:water_source"}) minetest.after(2, function() -- 2 seconds gives just enough time for -- the water to flow and spread before the @@ -72,9 +75,10 @@ minetest.register_abm({ minetest.add_node(pos,{name="air"}) end end) - end + --]] + end nodeupdate(pos) - end, + end, }) @@ -83,68 +87,60 @@ minetest.register_abm({ --Freezing --Water freezes when in contact with snow. minetest.register_abm({ - nodenames = {"default:water_source"}, - -- Added "group:icemaker" and snowbrick. ~ LazyJ - neighbors = {"default:snow", "default:snowblock", "snow:snow_brick", "group:icemaker"}, - interval = 20, - chance = 4, - action = function(pos, node, active_object_count, active_object_count_wider) + nodenames = {"default:water_source"}, + -- Added "group:icemaker" and snowbrick. ~ LazyJ + neighbors = {"default:snow", "default:snowblock", "snow:snow_brick", "group:icemaker"}, + interval = 20, + chance = 4, + action = function(pos) minetest.add_node(pos,{name="default:ice"}) - end, + end, }) --Freeze Ice according to it's param2 value. minetest.register_abm({ - nodenames = {"default:ice"}, - neighbors = {"default:water_source"}, - interval = 20, - chance = 4, - action = function(pos, node, active_object_count, active_object_count_wider) - if node.param2 > 0 then - if math.random(2) == 2 and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z}).name == "default:water_source" then - minetest.add_node({x=pos.x+1, y=pos.y, z=pos.z},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z}).name == "default:water_source" then - minetest.add_node({x=pos.x-1, y=pos.y, z=pos.z},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1}).name == "default:water_source" then - minetest.add_node({x=pos.x, y=pos.y, z=pos.z-1},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}).name == "default:water_source" then - minetest.add_node({x=pos.x, y=pos.y, z=pos.z+1},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z-1}).name == "default:water_source" then - minetest.add_node({x=pos.x+1, y=pos.y, z=pos.z-1},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z+1}).name == "default:water_source" then - minetest.add_node({x=pos.x-1, y=pos.y, z=pos.z+1},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z+1}).name == "default:water_source" then - minetest.add_node({x=pos.x+1, y=pos.y, z=pos.z+1},{name="default:ice", param2 = math.random(0,node.param2-1)}) - end - if math.random(2) == 2 and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z-1}).name == "default:water_source" then - minetest.add_node({x=pos.x-1, y=pos.y, z=pos.z-1},{name="default:ice", param2 = math.random(0,node.param2-1)}) + nodenames = {"default:ice"}, + neighbors = {"default:water_source"}, + interval = 20, + chance = 4, + action = function(pos, node) + if node.param2 > 0 then + for l = 0,1 do + for i = -1,1,2 do + for _,p in pairs({ + {x=pos.x+i, z=pos.z-l*i}, + {x=pos.x+l*i, z=pos.z+i} + }) do + if math.random(2) == 2 then + p.y = pos.y + if minetest.get_node(p).name == "default:water_source" then + minetest.add_node(p,{name="default:ice", param2 = math.random(0,node.param2-1)}) + end + end + end + end end if math.random(8) == 8 then - minetest.add_node({x=pos.x, y=pos.y, z=pos.z}, {name="default:water_source"}) + minetest.add_node(pos, {name="default:water_source"}) else - minetest.add_node({x=pos.x, y=pos.y, z=pos.z}, {name="default:ice", param2 = 0}) + minetest.add_node(pos, {name="default:ice", param2 = 0}) end end - end, + end, }) --Spread moss to cobble. minetest.register_abm({ - nodenames = {"default:cobble"}, - neighbors = {"snow:moss"}, - interval = 20, - chance = 6, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.add_node(pos,{name="default:mossycobble"}) - end, + nodenames = {"default:cobble"}, + neighbors = {"snow:moss"}, + interval = 20, + chance = 6, + action = function(pos, node) + node.name = "default:mossycobble" + minetest.add_node(pos, node) + end, }) @@ -152,35 +148,30 @@ minetest.register_abm({ --Grow Pine Saplings minetest.register_abm({ - nodenames = {"snow:sapling_pine"}, - interval = 10, - chance = 50, - action = function(pos, node, active_object_count, active_object_count_wider) + nodenames = {"snow:sapling_pine"}, + interval = 10, + chance = 50, + action = function(pos, node) -- Check if there is enough vertical-space for the sapling to grow without -- hitting anything else. ~ LazyJ, 2014_04_10 - - if -- 'If' there is air in each of the 8 nodes dirctly above the sapling,... ~LazyJ - minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+2, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+3, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+4, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+5, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+6, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+7, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+8, z=pos.z}).name == "air" - then -- 'then' let the sapling grow into a tree. ~ LazyJ - + + -- 'If' there is air in each of the 8 nodes dirctly above the sapling,... ~LazyJ + for i = 1,8 do + if minetest.get_node({x=pos.x, y=pos.y+i, z=pos.z}).name ~= "air" then + return + end + end + -- 'then' let the sapling grow into a tree. ~ LazyJ + snow.make_pine(pos,false) - -- This finds the sapling under the grown tree. ~ LazyJ - if minetest.get_node({x = pos.x, y = pos.y, z = pos.z}).name == "snow:sapling_pine" then - -- This switches the sapling to a tree trunk. ~ LazyJ - minetest.set_node(pos, {name="default:tree"}) - -- This is more for testing but it may be useful info to some admins when - -- grepping the server logs too. ~ LazyJ - minetest.log("action", "A pine sapling grows into a tree at "..minetest.pos_to_string(pos)) - end - else + -- This finds the sapling under the grown tree. ~ LazyJ + if minetest.get_node(pos).name == "snow:sapling_pine" then + -- This switches the sapling to a tree trunk. ~ LazyJ + minetest.set_node(pos, {name="default:pinetree"}) + -- This is more for testing but it may be useful info to some admins when + -- grepping the server logs too. ~ LazyJ + minetest.log("action", "A pine sapling grows into a tree at "..minetest.pos_to_string(pos)) end end }) @@ -190,27 +181,24 @@ minetest.register_abm({ --Grow Christmas Tree Saplings minetest.register_abm({ - nodenames = {"snow:xmas_tree"}, - interval = 10, - chance = 50, - action = function(pos, node, active_object_count, active_object_count_wider) + nodenames = {"snow:xmas_tree"}, + interval = 10, + chance = 50, + action = function(pos, node, active_object_count, active_object_count_wider) - if -- 'If' there is air in each of the 8 nodes dirctly above the sapling,... ~LazyJ - minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+2, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+3, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+4, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+5, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+6, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+7, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+8, z=pos.z}).name == "air" - then -- 'then' let the sapling grow into a tree. ~ LazyJ + -- 'If' there is air in each of the 8 nodes dirctly above the sapling,... ~LazyJ + for i = 1,8 do + if minetest.get_node({x=pos.x, y=pos.y+i, z=pos.z}).name ~= "air" then + return + end + end + -- 'then' let the sapling grow into a tree. ~ LazyJ snow.make_pine(pos,false,true) minetest.log("action", "A pine sapling grows into a Christmas tree at "..minetest.pos_to_string(pos)) -- ~ LazyJ - else -- 'Else', if there isn't air in each of the 8 nodes above the sapling, + --else -- 'Else', if there isn't air in each of the 8 nodes above the sapling, -- then don't anything; including not allowing the sapling to grow. -- ~ LazyJ, 2014_04_10 - end - end + --end + end }) diff --git a/mods/snow/src/falling_snow.lua b/mods/snow/src/falling_snow.lua index 5192b3b9..c0983fcb 100755 --- a/mods/snow/src/falling_snow.lua +++ b/mods/snow/src/falling_snow.lua @@ -40,162 +40,192 @@ near torches and lava. --============================================================= -if snow.enable_snowfall then +if not snow.enable_snowfall then + return +end - local weather_legacy - - local read_weather_legacy = function () - local file = io.open(minetest.get_worldpath().."/weather_v6", "r") - if not file then return end - local readweather = file:read() - file:close() - return readweather - end - - --Weather for legacy versions of minetest. - local save_weather_legacy = function () - local file = io.open(minetest.get_worldpath().."/weather_v6", "w+") - file:write(weather_legacy) - file:close() - end - - weather_legacy = read_weather_legacy() or "" +local weather_legacy - minetest.register_globalstep(function(dtime) - if weather_legacy == "snow" then - if math.random(1, 10000) == 1 then - weather_legacy = "none" - save_weather_legacy() - end - else - if math.random(1, 50000) == 2 then - weather_legacy = "snow" - save_weather_legacy() - end - end - end) - - --Get snow at position. - local get_snow = function(pos) - --Legacy support. +local read_weather_legacy = function () + local file = io.open(minetest.get_worldpath().."/weather_v6", "r") + if not file then return end + local readweather = file:read() + file:close() + return readweather +end + +--Weather for legacy versions of minetest. +local save_weather_legacy = function () + local file = io.open(minetest.get_worldpath().."/weather_v6", "w+") + file:write(weather_legacy) + file:close() +end + + weather_legacy = read_weather_legacy() or "" + + minetest.register_globalstep(function(dtime) if weather_legacy == "snow" then - local perlin1 = minetest.env:get_perlin(112,3, 0.5, 150) - if perlin1:get2d( {x=pos.x, y=pos.z} ) > 0.53 then - return true - else - return false + if math.random(1, 10000) == 1 then + weather_legacy = "none" + save_weather_legacy() end else + if math.random(1, 50000) == 2 then + weather_legacy = "snow" + save_weather_legacy() + end + end + end) + +-- copied from meru mod +local SEEDDIFF3 = 9130 -- 9130 -- Values should match minetest mapgen desert perlin. +local OCTAVES3 = 3 -- 3 +local PERSISTENCE3 = 0.5 -- 0.5 +local SCALE3 = 250 -- 250 + +--Get snow at position. +local get_snow = function(pos) + --Legacy support. + if weather_legacy == "snow" then + local perlin1 = minetest.get_perlin(112,3, 0.5, 150) + if perlin1:get2d({x=pos.x, y=pos.z}) <= 0.53 then return false end - end - - local addvectors = vector and vector.add - - --Returns a random position between minp and maxp. - local randpos = function (minp, maxp) - local x,y,z - if minp.x > maxp.x then - x = math.random(maxp.x,minp.x) else x = math.random(minp.x,maxp.x) end - y = minp.y - if minp.z > maxp.z then - z = math.random(maxp.z,minp.z) else z = math.random(minp.z,maxp.z) end - return {x=x,y=y,z=z} - end - local snow_fall=function (pos, player, animate) - local ground_y = nil - for y=pos.y+10,pos.y+20,1 do - local n = minetest.env:get_node({x=pos.x,y=y,z=pos.z}).name - if n ~= "air" and n ~= "ignore" then - return - end - end - for y=pos.y+10,pos.y-15,-1 do - local n = minetest.env:get_node({x=pos.x,y=y,z=pos.z}).name - if n ~= "air" and n ~= "ignore" then - ground_y = y - break - end - end - if not ground_y then return end - pos = {x=pos.x, y=ground_y, z=pos.z} - local spos = {x=pos.x, y=ground_y+10, z=pos.z} - - - if get_snow(pos) then - if animate then - local minp = addvectors(spos, {x=-9, y=3, z=-9}) - local maxp = addvectors(spos, {x= 9, y=5, z= 9}) - local vel = {x=0, y= -1, z=-1} - local acc = {x=0, y= 0, z=0} - minetest.add_particlespawner(3, 0.5, - minp, maxp, - vel, vel, - acc, acc, - 5, 5, - 50, 50, - false, "weather_snow.png", player:get_player_name()) - end - snow.place(pos, true) - --minetest.place_node({x=pos.x, y=pos.y+2, z=pos.z}, {name="default:snow"}) -- LazyJ - end + -- disable falling snow in desert + local desert_perlin = minetest.get_perlin(SEEDDIFF3, OCTAVES3, PERSISTENCE3, SCALE3) + local noise3 = desert_perlin:get2d({x=pos.x+150,y=pos.z+50}) -- Offsets must match minetest mapgen desert perlin. + if noise3 > 0.35 then -- Smooth transition 0.35 to 0.45. + return false + end + return true end + return false +end - -- Snow - minetest.register_globalstep(function(dtime) - for _, player in ipairs(minetest.get_connected_players()) do - local ppos = player:getpos() - - local sminp = addvectors(ppos, {x=-20, y=0, z=-20}) - local smaxp = addvectors(ppos, {x= 20, y=0, z= 20}) +local addvectors = vector and vector.add + +--Returns a random position between minp and maxp. +local randpos = function (minp, maxp) + local x,y,z + if minp.x > maxp.x then + x = math.random(maxp.x,minp.x) else x = math.random(minp.x,maxp.x) end + y = minp.y + if minp.z > maxp.z then + z = math.random(maxp.z,minp.z) else z = math.random(minp.z,maxp.z) end + return {x=x,y=y,z=z} +end + +local default_snow_particle = { + amount = 3, + time = 0.5, + exptime = 5, + size = 50, + collisiondetection = false, + vertical = false, +} + +local function get_snow_particledef(data) + for n,i in pairs(default_snow_particle) do + data[n] = data[n] or i + end + for _,i in pairs({"vel", "acc", "exptime", "size"}) do + data["min"..i] = data[i] + data["max"..i] = data[i] + end + data.texture = "weather_snow.png^[transform"..math.random(0,7) + return data +end + +local function snow_fall(pos, player, animate) + local ground_y = nil + for y=pos.y+10,pos.y+20,1 do + local n = minetest.get_node({x=pos.x,y=y,z=pos.z}).name + if n ~= "air" and n ~= "ignore" then + return + end + end + for y=pos.y+10,pos.y-15,-1 do + local n = minetest.get_node({x=pos.x,y=y,z=pos.z}).name + if n ~= "air" and n ~= "ignore" then + ground_y = y + break + end + end + if not ground_y then return end + pos = {x=pos.x, y=ground_y, z=pos.z} + local spos = {x=pos.x, y=ground_y+10, z=pos.z} + + + if get_snow(pos) then + if animate then + local minp = addvectors(spos, {x=-9, y=3, z=-9}) + local maxp = addvectors(spos, {x= 9, y=5, z= 9}) + local vel = {x=0, y= -1, z=-1} + local acc = {x=0, y= 0, z=0} + minetest.add_particlespawner(get_snow_particledef({ + minpos = minp, + maxpos = maxp, + vel = vel, + acc = acc, + playername = player:get_player_name() + })) + end + snow.place(pos, true) + --minetest.place_node({x=pos.x, y=pos.y+2, z=pos.z}, {name="default:snow"}) -- LazyJ + end +end + +-- Snow +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local ppos = player:getpos() - -- Make sure player is not in a cave/house... - if get_snow(ppos) and minetest.env:get_node_light(ppos, 0.5) == 15 then + local sminp = addvectors(ppos, {x=-20, y=0, z=-20}) + local smaxp = addvectors(ppos, {x= 20, y=0, z= 20}) + + -- Make sure player is not in a cave/house... + if get_snow(ppos) and minetest.get_node_light(ppos, 0.5) == 15 then - local minp = addvectors(ppos, {x=-9, y=3, z=-9}) - local maxp = addvectors(ppos, {x= 9, y=5, z= 9}) + local minp = addvectors(ppos, {x=-9, y=3, z=-9}) + local maxp = addvectors(ppos, {x= 9, y=5, z= 9}) - local minp_deep = addvectors(ppos, {x=-5, y=3.2, z=-5}) - local maxp_deep = addvectors(ppos, {x= 5, y=1.6, z= 5}) + local minp_deep = addvectors(ppos, {x=-5, y=3.2, z=-5}) + local maxp_deep = addvectors(ppos, {x= 5, y=1.6, z= 5}) - local vel = {x=0, y= -1, z=-1} - local acc = {x=0, y= 0, z=0} - - if not snow.lighter_snowfall then - minetest.add_particlespawner(5, 0.5, - minp, maxp, - vel, vel, - acc, acc, - 5, 5, - 25, 25, - false, "weather_snow.png", player:get_player_name()) - - minetest.add_particlespawner(4, 0.5, - minp_deep, maxp_deep, - vel, vel, - acc, acc, - 4, 4, - 25, 25, - false, "weather_snow.png", player:get_player_name()) - - if math.random(1,5) == 4 then - snow_fall(randpos(sminp, smaxp), player) - end - else - if math.random(1,5) == 4 then - snow_fall(randpos(sminp, smaxp), player, true) - end - end - - - else + local vel = {x=0, y= -1, z=-1} + local acc = {x=0, y= 0, z=0} + if not snow.lighter_snowfall then + minetest.add_particlespawner(get_snow_particledef({ + amount = 5, + minpos = minp, + maxpos = maxp, + vel = vel, + acc = acc, + size = 25, + playername = player:get_player_name() + })) + + minetest.add_particlespawner(get_snow_particledef({ + amount = 4, + minpos = minp_deep, + maxpos = maxp_deep, + vel = vel, + acc = acc, + exptime = 4, + size = 25, + playername = player:get_player_name() + })) + + if math.random(1,5) == 4 then + snow_fall(randpos(sminp, smaxp), player) + end + else if math.random(1,5) == 4 then snow_fall(randpos(sminp, smaxp), player, true) end end end - end) - -end + end +end) diff --git a/mods/snow/src/mapgen.lua b/mods/snow/src/mapgen.lua index 1b42c8f1..b8a11298 100755 --- a/mods/snow/src/mapgen.lua +++ b/mods/snow/src/mapgen.lua @@ -40,7 +40,7 @@ local pine_tree = { axiom="TABff", rules_a="[&T+f+ff+ff+ff+f]GA", rules_b="[&T+f+Gf+Gf+Gf]GB", - trunk="default:tree", + trunk="default:pinetree", leaves="snow:needles", angle=90, iterations=1, @@ -55,7 +55,7 @@ local xmas_tree = { axiom="TABff", rules_a="[&T+f+ff+ff+ff+f]GA", rules_b="[&T+f+Gf+Gf+Gf]GB", - trunk="default:tree", + trunk="default:pinetree", leaves="snow:needles_decorated", angle=90, iterations=1, @@ -68,59 +68,59 @@ local xmas_tree = { --Makes pine tree function snow.make_pine(pos,snow,xmas) - local env = minetest.env - local perlin1 = env:get_perlin(112,3, 0.5, 150) - local try_node = function(pos, node) - local n = env:get_node(pos).name - if n == "air" or n == "ignore" then - env:add_node(pos,node) - end - end - --Clear ground. - for x=-1,1 do - for z=-1,1 do - if env:get_node({x=pos.x+x,y=pos.y,z=pos.z+z}).name == "default:snow" then - env:remove_node({x=pos.x+x,y=pos.y,z=pos.z+z}) - end - if env:get_node({x=pos.x+x,y=pos.y,z=pos.z+z}).name == "default:snowblock" then - env:remove_node({x=pos.x+x,y=pos.y,z=pos.z+z}) - end - end - end - if xmas then - env:remove_node(pos) - minetest.env:spawn_tree(pos, xmas_tree) - else - minetest.env:spawn_tree(pos, pine_tree) - end - if snow then - local x,z = pos.x,pos.z - try_node({x=x+1,y=pos.y+3,z=z+1},{name="default:snow"}) - try_node({x=x-1,y=pos.y+3,z=z-1},{name="default:snow"}) - try_node({x=x-1,y=pos.y+3,z=z+1},{name="default:snow"}) - try_node({x=x+1,y=pos.y+3,z=z-1},{name="default:snow"}) - - try_node({x=x+1,y=pos.y+5,z=z},{name="default:snow"}) - try_node({x=x-1,y=pos.y+5,z=z},{name="default:snow"}) - try_node({x=x,y=pos.y+5,z=z+1},{name="default:snow"}) - try_node({x=x,y=pos.y+5,z=z-1},{name="default:snow"}) - end - if xmas then - try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="snow:star_lit"}) -- Added lit star. ~ LazyJ - elseif snow and perlin1:get2d({x=pos.x,y=pos.z}) > 0.53 then - try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="default:snow"}) - end + local minetest = minetest + local perlin1 = minetest.get_perlin(112,3, 0.5, 150) + local try_node = function(pos, node) + local n = minetest.get_node(pos).name + if n == "air" or n == "ignore" then + minetest.add_node(pos,node) + end + end + --Clear ground. + for x=-1,1 do + for z=-1,1 do + if minetest.get_node({x=pos.x+x,y=pos.y,z=pos.z+z}).name == "default:snow" then + minetest.remove_node({x=pos.x+x,y=pos.y,z=pos.z+z}) + end + if minetest.get_node({x=pos.x+x,y=pos.y,z=pos.z+z}).name == "default:snowblock" then + minetest.remove_node({x=pos.x+x,y=pos.y,z=pos.z+z}) + end + end + end + if xmas then + minetest.remove_node(pos) + minetest.spawn_tree(pos, xmas_tree) + else + minetest.spawn_tree(pos, pine_tree) + end + if snow then + local x,z = pos.x,pos.z + try_node({x=x+1,y=pos.y+3,z=z+1},{name="default:snow"}) + try_node({x=x-1,y=pos.y+3,z=z-1},{name="default:snow"}) + try_node({x=x-1,y=pos.y+3,z=z+1},{name="default:snow"}) + try_node({x=x+1,y=pos.y+3,z=z-1},{name="default:snow"}) + + try_node({x=x+1,y=pos.y+5,z=z},{name="default:snow"}) + try_node({x=x-1,y=pos.y+5,z=z},{name="default:snow"}) + try_node({x=x,y=pos.y+5,z=z+1},{name="default:snow"}) + try_node({x=x,y=pos.y+5,z=z-1},{name="default:snow"}) + end + if xmas then + try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="snow:star_lit"}) -- Added lit star. ~ LazyJ + elseif snow and perlin1:get2d({x=pos.x,y=pos.z}) > 0.53 then + try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="default:snow"}) + end end --Makes pine tree function snow.voxelmanip_pine(pos,a,data) - local c_snow = minetest.get_content_id("default:snow") - local c_pine_needles = minetest.get_content_id("snow:needles") - local c_tree = minetest.get_content_id("default:tree") - local c_air = minetest.get_content_id("air") - + local c_snow = minetest.get_content_id("default:snow") + local c_pine_needles = minetest.get_content_id("snow:needles") + local c_pinetree = minetest.get_content_id("default:pinetree") + local c_air = minetest.get_content_id("air") + local perlin1 = minetest.get_perlin(112,3, 0.5, 150) --Clear ground. for x=-1,1 do @@ -170,7 +170,7 @@ function snow.voxelmanip_pine(pos,a,data) end end end - data[a:index(pos.x,pos.y+i,pos.z)] = c_tree + data[a:index(pos.x,pos.y+i,pos.z)] = c_pinetree end data[a:index(pos.x,pos.y+5,pos.z)] = c_pine_needles data[a:index(pos.x,pos.y+6,pos.z)] = c_pine_needles diff --git a/mods/snow/src/mapgen_v6.lua b/mods/snow/src/mapgen_v6.lua index 5f430e92..7f0c51c0 100755 --- a/mods/snow/src/mapgen_v6.lua +++ b/mods/snow/src/mapgen_v6.lua @@ -100,14 +100,13 @@ minetest.register_on_generated(function(minp, maxp, seed) -- Choose biomes local pr = PseudoRandom(seed+57) local biome - local biome2 -- Land biomes biome = pr:next(1, 5) local snowy = biome == 1 -- spawns alot of snow local plain = biome == 2 -- spawns not much local alpine = biome == 3 -- rocky terrain -- Water biomes - biome2 = pr:next(1, 5) + local biome2 = pr:next(1, 5) local cool = biome == 1 -- only spawns ice on edge of water local icebergs = biome == 2 local icesheet = biome == 3 @@ -151,14 +150,17 @@ minetest.register_on_generated(function(minp, maxp, seed) if data[vi] == c_leaves or data[vi] == c_jungleleaves then for y = ground_y, -16, -1 do local vi = area:index(x, y, z) - if data[vi] ~= c_leaves - and data[vi] ~= c_jungleleaves - and data[vi] ~= c_tree - and data[vi] ~= c_air - and data[vi] ~= c_apple then - break - else - data[vi] = c_air + local id = data[vi] + if id ~= c_air then + if id == c_leaves + or id == c_jungleleaves + or id == c_tree + or id == c_air + or id == c_apple then + data[vi] = c_air + else + break + end end end end @@ -254,24 +256,24 @@ minetest.register_on_generated(function(minp, maxp, seed) local rand = pr:next(1,4) == 1 if ((x1 and x1 ~= c_water and x1 ~= c_ice and x1 ~= c_air and x1 ~= c_ignore) - or ((cool or icebergs) and x1 == c_ice and rand)) + or (rand and (cool or icebergs) and x1 == c_ice)) or ((z1 and z1 ~= c_water and z1 ~= c_ice and z1 ~= c_air and z1 ~= c_ignore) - or ((cool or icebergs) and z1 == c_ice and rand)) + or (rand and (cool or icebergs) and z1 == c_ice)) or ((xz1 and xz1 ~= c_water and xz1 ~= c_ice and xz1 ~= c_air and xz1 ~= c_ignore) - or ((cool or icebergs) and xz1 == c_ice and rand)) + or (rand and (cool or icebergs) and xz1 == c_ice)) or ((xz2 and xz2 ~= c_water and xz2 ~= c_ice and xz2 ~= c_air and xz2 ~= c_ignore) - or ((cool or icebergs) and xz2 == c_ice and rand)) + or (rand and (cool or icebergs) and xz2 == c_ice)) or ((x2 and x2 ~= c_water and x2 ~= c_ice and x2 ~= c_air and x2 ~= c_ignore) - or ((cool or icebergs) and x2 == c_ice and rand)) + or (rand and (cool or icebergs) and x2 == c_ice)) or ((z2 and z2 ~= c_water and z2 ~= c_ice and z2 ~= c_air and z2 ~= c_ignore) - or ((cool or icebergs) and z2 == c_ice and rand)) - or (y ~= c_water and y ~= c_ice and y ~= "air") - or (pr:next(1,6) == 1 and icebergs) then + or (rand and (cool or icebergs) and z2 == c_ice)) + or (y ~= c_water and y ~= c_ice) -- and y ~= "air") …I don't think y can be a string here ~HybridDog + or (icebergs and pr:next(1,6) == 1) then data[node] = c_ice end else diff --git a/mods/snow/src/nodes.lua b/mods/snow/src/nodes.lua index 17cb4a4c..03f4f6c8 100755 --- a/mods/snow/src/nodes.lua +++ b/mods/snow/src/nodes.lua @@ -66,7 +66,7 @@ end --Christmas easter egg minetest.register_on_mapgen_init( function() - if minetest.get_modpath("skins") ~= nil then + if rawget(_G, "skins") then skins.add("character_snow_man") end end @@ -209,7 +209,7 @@ minetest.register_node("snow:star", { minetest.register_node("snow:star_lit", { description = "Star Lighted", drawtype = "plantlike", - light_source = default.LIGHT_MAX - 1, + light_source = LIGHT_MAX, tiles = {"snow_star_lit.png"}, wield_image = "snow_star.png", paramtype = "light", @@ -228,6 +228,7 @@ minetest.register_node("snow:star_lit", { -- Moss minetest.register_node("snow:moss", { description = "Moss", + inventory_image = "snow_moss.png", tiles = {"snow_moss.png"}, drawtype = "signlike", paramtype = "light", @@ -242,6 +243,18 @@ minetest.register_node("snow:moss", { +local function snow_onto_dirt(pos) + pos.y = pos.y - 1 + local node = minetest.get_node(pos) + if node.name == "default:dirt_with_grass" + or node.name == "default:dirt" then + node.name = "default:dirt_with_snow" + minetest.set_node(pos, node) + end +end + + + -- Snow Brick minetest.register_node("snow:snow_brick", { description = "Snow Brick", @@ -265,15 +278,7 @@ minetest.register_node("snow:snow_brick", { }), -- The "on_construct" part below, thinking in terms of layers, dirt_with_snow could also -- double as dirt_with_frost which adds subtlety to the winterscape. ~ LazyJ - on_construct = function(pos) - pos.y = pos.y - 1 - if minetest.get_node(pos).name == "default:dirt_with_grass" - -- Thinking in terms of layers, dirt_with_snow could also double as - -- dirt_with_frost which adds subtlety to the winterscape. ~ LazyJ, 2014_04_04 - or minetest.get_node(pos).name == "default:dirt" then - minetest.set_node(pos, {name="default:dirt_with_snow"}) - end - end + on_construct = snow_onto_dirt }) @@ -299,13 +304,7 @@ minetest.register_node("snow:snow_cobble", { }), -- The "on_construct" part below, thinking in terms of layers, dirt_with_snow could also -- double as dirt_with_frost which adds subtlety to the winterscape. ~ LazyJ - on_construct = function(pos) - pos.y = pos.y - 1 - if minetest.get_node(pos).name == "default:dirt_with_grass" - or minetest.get_node(pos).name == "default:dirt" then - minetest.set_node(pos, {name="default:dirt_with_snow"}) - end - end + on_construct = snow_onto_dirt }) @@ -321,18 +320,12 @@ minetest.override_item("default:ice", { --param2 is reserved for how much ice will freezeover. sunlight_propagates = true, -- 2 drawtype = "glasslike", - inventory_image = minetest.inventorycube("default_ice.png"), + inventory_image = minetest.inventorycube("default_ice.png").."^[brighten", liquidtype = "none", -- I made this a lot harder to dig than snow blocks because ice is much more dense -- and solid than fluffy snow. ~ LazyJ groups = {cracky=2, crumbly=1, choppy=1, --[[oddly_breakable_by_hand=1,]] melts=1}, - on_construct = function(pos) - pos.y = pos.y - 1 - if minetest.get_node(pos).name == "default:dirt_with_grass" - or minetest.get_node(pos).name == "default:dirt" then - minetest.set_node(pos, {name="default:dirt_with_snow"}) - end - end, + on_construct = snow_onto_dirt, liquids_pointable = true, --Make ice freeze over when placed by a maximum of 10 blocks. after_place_node = function(pos, placer, itemstack, pointed_thing) @@ -350,13 +343,7 @@ minetest.override_item("default:snowblock", { -- Snow blocks should be easy to dig because they are just fluffy snow. ~ LazyJ groups = {cracky=3, crumbly=3, choppy=3, oddly_breakable_by_hand=3, melts=1, icemaker=1, cooks_into_ice=1, falling_node=1}, --drop = "snow:snow_cobble", - on_construct = function(pos) - pos.y = pos.y - 1 - if minetest.get_node(pos).name == "default:dirt_with_grass" - -- Thinking in terms of layers, dirt_with_snow could also double as - -- dirt_with_frost which adds subtlety to the winterscape. ~ LazyJ, 2014_04_04 - or minetest.get_node(pos).name == "default:dirt" then - minetest.set_node(pos, {name="default:dirt_with_snow"}) - end - end + on_construct = snow_onto_dirt + -- Thinking in terms of layers, dirt_with_snow could also double as + -- dirt_with_frost which adds subtlety to the winterscape. ~ LazyJ, 2014_04_04 }) diff --git a/mods/snow/src/sled.lua b/mods/snow/src/sled.lua index c16cdf89..d3728c66 100755 --- a/mods/snow/src/sled.lua +++ b/mods/snow/src/sled.lua @@ -53,7 +53,7 @@ than I originally planned. :p ~ LazyJ -- local function is_water(pos) - local nn = minetest.env:get_node(pos).name + local nn = minetest.get_node(pos).name return minetest.get_item_group(nn, "water") ~= 0 end @@ -62,16 +62,13 @@ end -- Sled entity -- -local HUD --- FIXME: FIND WHAT IS HUD FOR - local sled = { physical = false, collisionbox = {-0.6,-0.25,-0.6, 0.6,0.3,0.6}, visual = "mesh", mesh = "sled.x", textures = {"sled.png"}, - HUD, + nil, driver = nil, sliding = false, @@ -184,8 +181,8 @@ minetest.register_craftitem("snow:sled", { local name = placer:get_player_name() local player_pos = placer:getpos() if not players_sled[name] then - if minetest.get_node({x=player_pos.x,y=player_pos.y, z=player_pos.z}).name == "default:snow" then - local sled = minetest.env:add_entity(pos, "snow:sled") + if minetest.get_node(player_pos).name == "default:snow" then + local sled = minetest.add_entity(pos, "snow:sled") sled:get_luaentity():on_rightclick(placer) end end diff --git a/mods/snow/src/stairsplus.lua b/mods/snow/src/stairsplus.lua index e1d9d70e..27f51e29 100755 --- a/mods/snow/src/stairsplus.lua +++ b/mods/snow/src/stairsplus.lua @@ -51,8 +51,9 @@ There is one in each of the "stairsplus.register_all" sections. -- next section of stairsplus stuff. ~LazyJ if (minetest.get_modpath("moreblocks")) +and rawget(_G, "stairsplus") --- 'If' MoreBlocks was found, well, 'then' go ahead with this next part: +-- 'If' MoreBlocks was found and stairsplus is available, well, 'then' go ahead with this next part: then @@ -271,9 +272,6 @@ for _, name in pairs(snow_nodes) do local groups = {} for k, v in pairs(ndef.groups) do groups[k] = v end - local drop - -- FIXME: FIND WHAT IS DROP SUPPOSED TO BE FROM AND FOR WHAT IT IS HERE - stairsplus:register_all("moreblocks", name, nodename, { description = ndef.description, drop = drop, diff --git a/mods/snow/textures/character_snow_man.png b/mods/snow/textures/character_snow_man.png old mode 100755 new mode 100644 index de0f3c1f..9b72766f Binary files a/mods/snow/textures/character_snow_man.png and b/mods/snow/textures/character_snow_man.png differ diff --git a/mods/snow/textures/character_snow_man_preview.png b/mods/snow/textures/character_snow_man_preview.png old mode 100755 new mode 100644 index 3d6abe23..2316d26f Binary files a/mods/snow/textures/character_snow_man_preview.png and b/mods/snow/textures/character_snow_man_preview.png differ diff --git a/mods/snow/textures/character_snow_man_preview_back.png b/mods/snow/textures/character_snow_man_preview_back.png old mode 100755 new mode 100644 index f3bd7f81..1d0d8c2f Binary files a/mods/snow/textures/character_snow_man_preview_back.png and b/mods/snow/textures/character_snow_man_preview_back.png differ diff --git a/mods/snow/textures/default_ice.png b/mods/snow/textures/default_ice.png old mode 100755 new mode 100644 index 97581e8b..de0e9841 Binary files a/mods/snow/textures/default_ice.png and b/mods/snow/textures/default_ice.png differ diff --git a/mods/snow/textures/default_ice.xcf b/mods/snow/textures/default_ice.xcf deleted file mode 100755 index cadccac3..00000000 Binary files a/mods/snow/textures/default_ice.xcf and /dev/null differ diff --git a/mods/snow/textures/mocha.png b/mods/snow/textures/mocha.png deleted file mode 100755 index 39394a27..00000000 Binary files a/mods/snow/textures/mocha.png and /dev/null differ diff --git a/mods/snow/textures/original_snow_snow_brick.png b/mods/snow/textures/original_snow_snow_brick.png deleted file mode 100755 index 47c85ee4..00000000 Binary files a/mods/snow/textures/original_snow_snow_brick.png and /dev/null differ diff --git a/mods/snow/textures/rect2985.png b/mods/snow/textures/rect2985.png deleted file mode 100755 index a2dcfbfd..00000000 Binary files a/mods/snow/textures/rect2985.png and /dev/null differ diff --git a/mods/snow/textures/snow_ice.png b/mods/snow/textures/snow_ice.png deleted file mode 100755 index 97581e8b..00000000 Binary files a/mods/snow/textures/snow_ice.png and /dev/null differ diff --git a/mods/snow/textures/snow_moss.png b/mods/snow/textures/snow_moss.png old mode 100755 new mode 100644 index ddaeea3d..a0480575 Binary files a/mods/snow/textures/snow_moss.png and b/mods/snow/textures/snow_moss.png differ diff --git a/mods/snow/textures/snow_needles.png b/mods/snow/textures/snow_needles.png old mode 100755 new mode 100644 index b8140575..2a242d03 Binary files a/mods/snow/textures/snow_needles.png and b/mods/snow/textures/snow_needles.png differ diff --git a/mods/snow/textures/snow_needles_decorated.png b/mods/snow/textures/snow_needles_decorated.png old mode 100755 new mode 100644 index f3d6800f..a3a35f78 Binary files a/mods/snow/textures/snow_needles_decorated.png and b/mods/snow/textures/snow_needles_decorated.png differ diff --git a/mods/snow/textures/snow_needles_decorated_animated.png b/mods/snow/textures/snow_needles_decorated_animated.png old mode 100755 new mode 100644 index f7d67e13..8bccbd35 Binary files a/mods/snow/textures/snow_needles_decorated_animated.png and b/mods/snow/textures/snow_needles_decorated_animated.png differ diff --git a/mods/snow/textures/snow_sapling_pine.png b/mods/snow/textures/snow_sapling_pine.png old mode 100755 new mode 100644 index cd8167a2..619fadbc Binary files a/mods/snow/textures/snow_sapling_pine.png and b/mods/snow/textures/snow_sapling_pine.png differ diff --git a/mods/snow/textures/snow_sled.png b/mods/snow/textures/snow_sled.png old mode 100755 new mode 100644 index f18bc82d..d34999ef Binary files a/mods/snow/textures/snow_sled.png and b/mods/snow/textures/snow_sled.png differ diff --git a/mods/snow/textures/snow_snow.png b/mods/snow/textures/snow_snow.png deleted file mode 100755 index 4290ca42..00000000 Binary files a/mods/snow/textures/snow_snow.png and /dev/null differ diff --git a/mods/snow/textures/snow_snow_brick.png b/mods/snow/textures/snow_snow_brick.png old mode 100755 new mode 100644 index cd431839..c5d640c6 Binary files a/mods/snow/textures/snow_snow_brick.png and b/mods/snow/textures/snow_snow_brick.png differ diff --git a/mods/snow/textures/snow_snow_brick_lazyJ.png b/mods/snow/textures/snow_snow_brick_lazyJ.png deleted file mode 100755 index 10b42d68..00000000 Binary files a/mods/snow/textures/snow_snow_brick_lazyJ.png and /dev/null differ diff --git a/mods/snow/textures/snow_snow_cobble.png b/mods/snow/textures/snow_snow_cobble.png old mode 100755 new mode 100644 index 83f96d1c..879830ef Binary files a/mods/snow/textures/snow_snow_cobble.png and b/mods/snow/textures/snow_snow_cobble.png differ diff --git a/mods/snow/textures/snow_snow_side.png b/mods/snow/textures/snow_snow_side.png deleted file mode 100755 index 661c0864..00000000 Binary files a/mods/snow/textures/snow_snow_side.png and /dev/null differ diff --git a/mods/snow/textures/snow_snowball.png b/mods/snow/textures/snow_snowball.png deleted file mode 100755 index 8a4a14a2..00000000 Binary files a/mods/snow/textures/snow_snowball.png and /dev/null differ diff --git a/mods/snow/textures/snow_snowfall.png b/mods/snow/textures/snow_snowfall.png deleted file mode 100755 index 08922ad4..00000000 Binary files a/mods/snow/textures/snow_snowfall.png and /dev/null differ diff --git a/mods/snow/textures/snow_star.png b/mods/snow/textures/snow_star.png old mode 100755 new mode 100644 index b168c247..10125c49 Binary files a/mods/snow/textures/snow_star.png and b/mods/snow/textures/snow_star.png differ diff --git a/mods/snow/textures/snow_star_lit.png b/mods/snow/textures/snow_star_lit.png old mode 100755 new mode 100644 index 11579e34..cedac60a Binary files a/mods/snow/textures/snow_star_lit.png and b/mods/snow/textures/snow_star_lit.png differ diff --git a/mods/snow/textures/snow_xmas_tree.png b/mods/snow/textures/snow_xmas_tree.png old mode 100755 new mode 100644 index 357406c1..d787d37c Binary files a/mods/snow/textures/snow_xmas_tree.png and b/mods/snow/textures/snow_xmas_tree.png differ diff --git a/mods/snow/textures/weather_snow.png b/mods/snow/textures/weather_snow.png old mode 100755 new mode 100644 index 8c44f7af..b1cb49c9 Binary files a/mods/snow/textures/weather_snow.png and b/mods/snow/textures/weather_snow.png differ diff --git a/mods/snow/textures/xdefault_cobble.png b/mods/snow/textures/xdefault_cobble.png deleted file mode 100755 index cf8896dc..00000000 Binary files a/mods/snow/textures/xdefault_cobble.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_bottom.png b/mods/snow/textures/xdefault_furnace_bottom.png deleted file mode 100755 index 2d19b6b1..00000000 Binary files a/mods/snow/textures/xdefault_furnace_bottom.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_fire_bg.png b/mods/snow/textures/xdefault_furnace_fire_bg.png deleted file mode 100755 index e98a4f61..00000000 Binary files a/mods/snow/textures/xdefault_furnace_fire_bg.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_fire_fg.png b/mods/snow/textures/xdefault_furnace_fire_fg.png deleted file mode 100755 index 66aab652..00000000 Binary files a/mods/snow/textures/xdefault_furnace_fire_fg.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_front.png b/mods/snow/textures/xdefault_furnace_front.png deleted file mode 100755 index 88069c7e..00000000 Binary files a/mods/snow/textures/xdefault_furnace_front.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_front_active.png b/mods/snow/textures/xdefault_furnace_front_active.png deleted file mode 100755 index 1c460be0..00000000 Binary files a/mods/snow/textures/xdefault_furnace_front_active.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_side.png b/mods/snow/textures/xdefault_furnace_side.png deleted file mode 100755 index 2d19b6b1..00000000 Binary files a/mods/snow/textures/xdefault_furnace_side.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_furnace_top.png b/mods/snow/textures/xdefault_furnace_top.png deleted file mode 100755 index 2d19b6b1..00000000 Binary files a/mods/snow/textures/xdefault_furnace_top.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_glass.png b/mods/snow/textures/xdefault_glass.png deleted file mode 100755 index ade0196f..00000000 Binary files a/mods/snow/textures/xdefault_glass.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_ice.png b/mods/snow/textures/xdefault_ice.png deleted file mode 100755 index 4aa583a3..00000000 Binary files a/mods/snow/textures/xdefault_ice.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_snow.png b/mods/snow/textures/xdefault_snow.png deleted file mode 100755 index b4d0cc8d..00000000 Binary files a/mods/snow/textures/xdefault_snow.png and /dev/null differ diff --git a/mods/snow/textures/xdefault_stone_brick.png b/mods/snow/textures/xdefault_stone_brick.png deleted file mode 100755 index 8032f7d9..00000000 Binary files a/mods/snow/textures/xdefault_stone_brick.png and /dev/null differ