From a152a8dd437963d4711764f67f18f50a7c2cd420 Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Fri, 17 Mar 2017 13:29:02 -0600 Subject: [PATCH] import caverealms glow worms --- biomes.lua | 6 ++++ glow_worms.lua | 47 +++++++++++++++++++++++++++++++ init.lua | 1 + textures/dfcaverns_glow_worm.png | Bin 0 -> 191 bytes textures/license.txt | 3 +- 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 glow_worms.lua create mode 100644 textures/dfcaverns_glow_worm.png diff --git a/biomes.lua b/biomes.lua index 11bb74f..4942f50 100644 --- a/biomes.lua +++ b/biomes.lua @@ -30,6 +30,10 @@ local c_cobble_fungus = minetest.get_content_id("dfcaverns:cobble_with_floor_fun -- Coal Dust local test_biome_floor = function(area, data, ai, vi, bi, param2_data) + if data[bi] ~= c_stone then + return + end + if math.random() < 0.25 then data[bi] = c_dirt else @@ -48,6 +52,8 @@ end local test_biome_ceiling = function(area, data, ai, vi, bi) if subterrane:vertically_consistent_random(vi, area) < 0.002 then subterrane:stalactite(vi, area, data, 6, 20, c_stone, c_stone, c_stone) + elseif math.random() < 0.03 then + dfcaverns.glow_worm_ceiling(area, data, ai, vi, bi) end end diff --git a/glow_worms.lua b/glow_worms.lua new file mode 100644 index 0000000..ccfc8de --- /dev/null +++ b/glow_worms.lua @@ -0,0 +1,47 @@ +-- internationalization boilerplate +local MP = minetest.get_modpath(minetest.get_current_modname()) +local S, NS = dofile(MP.."/intllib.lua") + +minetest.register_node("dfcaverns:glow_worm", { + description = S("Glow Worms"), + tiles = {"dfcaverns_glow_worm.png"}, + inventory_image = "dfcaverns_glow_worm.png", + wield_image = "dfcaverns_glow_worm.png", + is_ground_content = true, + groups = {oddly_breakable_by_hand=3}, + light_source = 9, + paramtype = "light", + drawtype = "plantlike", + walkable = false, + buildable_to = true, + visual_scale = 1.0, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.5, 0.5}, + }, +}) + +local c_air = minetest.get_content_id("air") +local c_worm = minetest.get_content_id("dfcaverns:glow_worm") + +dfcaverns.glow_worm_ceiling = function(area, data, ai, vi, bi) + if data[vi] == c_air and data[bi] == c_air then + data[vi] = c_worm + data[bi] = c_worm + if math.random(2) == 1 then + local pos = area:position(vi) + pos.y = pos.y-2 + local bbi = area:indexp(pos) + if data[bbi] == c_air then + data[bbi] = c_worm + if math.random(2) == 1 then + pos.y = pos.y-1 + local bbbi = area:indexp(pos) + if data[bbbi] == c_air then + data[bbbi] = c_worm + end + end + end + end + end +end \ No newline at end of file diff --git a/init.lua b/init.lua index 256e5d9..39ac30f 100644 --- a/init.lua +++ b/init.lua @@ -11,6 +11,7 @@ local modpath = minetest.get_modpath(minetest.get_current_modname()) dofile(modpath.."/config.lua") dofile(modpath.."/ground_cover.lua") +dofile(modpath.."/glow_worms.lua") -- Plants dofile(modpath.."/plants.lua") -- general functions diff --git a/textures/dfcaverns_glow_worm.png b/textures/dfcaverns_glow_worm.png new file mode 100644 index 0000000000000000000000000000000000000000..56cbebab416ce9d1a9d45cb988323ca83488b2e4 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=3reJ^TCb-~a#r=l=hH z^Z)Eal|AsgoAD1cpVwz2_z+T7LM++(mCpBHvcu>@m@rCw}IeqL)hQ*3yl=TPC*&ztjj+ j+rRDBGY@6k2T#7R^IziizTDAf0kX@})z4*}Q$iB}bmB`f literal 0 HcmV?d00001 diff --git a/textures/license.txt b/textures/license.txt index 65a68bb..8272b90 100644 --- a/textures/license.txt +++ b/textures/license.txt @@ -8,4 +8,5 @@ dftrees_tower_cap - derived from default dead coral dftrees_tower_cap_gills - from caverealms mushroom gills dftrees_cave_wheat - derived from farming wheat dftrees_tunnel_tube - derived from moretrees palm tree bark -dfcaverns_fungi - copied from caverealms \ No newline at end of file +dfcaverns_fungi - copied from caverealms +dfcaverns_glow_worm - copied from caverealms \ No newline at end of file