From 8bed2d7ac8c186e056bfe996a7528d04d08c77ab Mon Sep 17 00:00:00 2001 From: Chris N Date: Thu, 26 Jun 2014 18:17:11 -1000 Subject: [PATCH] Added Algae Biome, glowing mese crystals In other words, mesecons-users will be pleased. --- init.lua | 181 +++++++++++++++++--- textures/caverealms_algae.png | Bin 0 -> 971 bytes textures/caverealms_algae_side.png | Bin 0 -> 528 bytes textures/caverealms_glow_mese.png | Bin 0 -> 756 bytes textures/caverealms_glow_worm.png | Bin 296 -> 318 bytes textures/caverealms_mushroom_cap_legacy.png | Bin 0 -> 317 bytes 6 files changed, 159 insertions(+), 22 deletions(-) create mode 100644 textures/caverealms_algae.png create mode 100644 textures/caverealms_algae_side.png create mode 100644 textures/caverealms_glow_mese.png create mode 100644 textures/caverealms_mushroom_cap_legacy.png diff --git a/init.lua b/init.lua index 8316525..b82789b 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,4 @@ --- caverealms 0.2.5 by HeroOfTheWinds +-- caverealms 0.2.6 by HeroOfTheWinds -- For latest stable Minetest and back to 0.4.8 -- Depends default -- License: code WTFPL @@ -116,6 +116,20 @@ minetest.register_node("caverealms:glow_emerald", { sunlight_propagates = true, }) +--glowing mese crystal blocks +minetest.register_node("caverealms:glow_mese", { + description = "Mese Crystal Block", + tiles = {"caverealms_glow_mese.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_glass_defaults(), + light_source = 13, + paramtype = "light", + use_texture_alpha = true, + drawtype = "glasslike", + sunlight_propagates = true, +}) + --embedded crystal minetest.register_node("caverealms:glow_ore", { description = "Glow Crystal Ore", @@ -183,6 +197,18 @@ minetest.register_node("caverealms:stone_with_lichen", { }), }) +--cave algae-covered cobble - yellow-ish +minetest.register_node("caverealms:stone_with_algae", { + description = "Cave Stone with Algae", + tiles = {"default_cobble.png^caverealms_algae.png", "default_cobble.png", "default_cobble.png^caverealms_algae_side.png"}, + is_ground_content = true, + groups = {crumbly=3}, + drop = 'default:cobblestone', + sounds = default.node_sound_dirt_defaults({ + footstep = {name="default_grass_footstep", gain=0.25}, + }), +}) + --glow worms minetest.register_node("caverealms:glow_worm", { description = "Glow Worms", @@ -347,7 +373,19 @@ function caverealms:crystal_stalagmite(x,y,z, area, data, biome) local c_crystore = minetest.get_content_id("caverealms:glow_ore") local c_emerald = minetest.get_content_id("caverealms:glow_emerald") local c_emore = minetest.get_content_id("caverealms:glow_emerald_ore") - + local c_mesecry = minetest.get_content_id("caverealms:glow_mese") + local c_meseore = minetest.get_content_id("default:stone_with_mese") + + --for randomness + local mode = 1 + if math.random(20) == 1 then + mode = 2 + end + if biome == 3 then + if math.random(10) == 1 then + mode = 2 + end + end local top = math.random(5,H_CRY) --grab a random height for the stalagmite for j = 0, top do --y @@ -362,26 +400,68 @@ function caverealms:crystal_stalagmite(x,y,z, area, data, biome) if k*k + l*l <= 4 then local vi = area:index(x+k, y+j, z+l-3) if biome == 1 then - data[vi] = c_crystore + if mode == 2 then + data[vi] = c_emore + else + data[vi] = c_crystore + end elseif biome == 2 then - data[vi] = c_emore + if mode == 2 then + data[vi] = c_crystore + else + data[vi] = c_emore + end + elseif biome == 3 then + if mode == 2 then + data[vi] = c_meseore + else + data[vi] = c_emore + end end end elseif j <= top/5 * 3 then if k*k + l*l <= 1 then local vi = area:index(x+k, y+j, z+l-3) if biome == 1 then - data[vi] = c_crystal + if mode == 2 then + data[vi] = c_emerald + else + data[vi] = c_crystal + end elseif biome == 2 then - data[vi] = c_emerald + if mode == 2 then + data[vi] = c_crystal + else + data[vi] = c_emerald + end + elseif biome == 3 then + if mode == 2 then + data[vi] = c_mesecry + else + data[vi] = c_emerald + end end end else local vi = area:index(x, y+j, z-3) if biome == 1 then - data[vi] = c_crystal + if mode == 2 then + data[vi] = c_emerald + else + data[vi] = c_crystal + end elseif biome == 2 then - data[vi] = c_emerald + if mode == 2 then + data[vi] = c_crystal + else + data[vi] = c_emerald + end + elseif biome == 3 then + if mode == 2 then + data[vi] = c_mesecry + else + data[vi] = c_emerald + end end end end @@ -397,6 +477,19 @@ function caverealms:crystal_stalactite(x,y,z, area, data, biome) local c_crystal = minetest.get_content_id("caverealms:glow_crystal") local c_emerald = minetest.get_content_id("caverealms:glow_emerald") local c_emore = minetest.get_content_id("caverealms:glow_emerald_ore") + local c_mesecry = minetest.get_content_id("caverealms:glow_mese") + local c_meseore = minetest.get_content_id("default:stone_with_mese") + + --for randomness + local mode = 1 + if math.random(20) == 1 then + mode = 2 + end + if biome == 3 then + if math.random(10) == 1 then + mode = 2 + end + end local bot = math.random(-H_CLAC, -6) --grab a random height for the stalagmite for j = bot, 0 do --y @@ -411,27 +504,68 @@ function caverealms:crystal_stalactite(x,y,z, area, data, biome) if k*k + l*l <= 4 then local vi = area:index(x+k, y+j, z+l-3) if biome == 1 then - data[vi] = c_crystore + if mode == 2 then + data[vi] = c_emore + else + data[vi] = c_crystore + end elseif biome == 2 then - data[vi] = c_emore + if mode == 2 then + data[vi] = c_crystore + else + data[vi] = c_emore + end + elseif biome == 3 then + if mode == 2 then + data[vi] = c_meseore + else + data[vi] = c_emore + end end end elseif j >= bot/5 * 3 then if k*k + l*l <= 1 then local vi = area:index(x+k, y+j, z+l-3) if biome == 1 then - data[vi] = c_crystal + if mode == 2 then + data[vi] = c_emerald + else + data[vi] = c_crystal + end elseif biome == 2 then - data[vi] = c_emerald + if mode == 2 then + data[vi] = c_crystal + else + data[vi] = c_emerald + end + elseif biome == 3 then + if mode == 2 then + data[vi] = c_mesecry + else + data[vi] = c_emerald + end end end else - local vi = area:index(x, y+j, z-3) local vi = area:index(x, y+j, z-3) if biome == 1 then - data[vi] = c_crystal + if mode == 2 then + data[vi] = c_emerald + else + data[vi] = c_crystal + end elseif biome == 2 then - data[vi] = c_emerald + if mode == 2 then + data[vi] = c_crystal + else + data[vi] = c_emerald + end + elseif biome == 3 then + if mode == 2 then + data[vi] = c_mesecry + else + data[vi] = c_emerald + end end end end @@ -562,11 +696,12 @@ minetest.register_on_generated(function(minp, maxp, seed) --grab content IDs local c_air = minetest.get_content_id("air") local c_water = minetest.get_content_id("default:water_source") - local c_lava = minetest.get_content_id("defalt:lava_source") + local c_lava = minetest.get_content_id("default:lava_source") local c_crystal = minetest.get_content_id("caverealms:glow_crystal") local c_gem = minetest.get_content_id("caverealms:glow_gem") local c_moss = minetest.get_content_id("caverealms:stone_with_moss") local c_lichen = minetest.get_content_id("caverealms:stone_with_lichen") + local c_algae = minetest.get_content_id("caverealms:stone_with_algae") local c_fungus = minetest.get_content_id("caverealms:fungus") local c_mycena = minetest.get_content_id("caverealms:mycena") local c_worm = minetest.get_content_id("caverealms:glow_worm") @@ -637,18 +772,20 @@ minetest.register_on_generated(function(minp, maxp, seed) --determine biome local biome = false --preliminary declaration n_biome = nvals_biome[nixz] --make an easier reference to the noise - if n_biome >= 0 then + if n_biome >= 0.3 then biome = 1 - elseif n_biome < 0 then + elseif n_biome < -0.3 then biome = 2 else - biome = 1 --not necessary, just to prevent bugs + biome = 3 end --place dirt on floor, add plants if biome == 1 then data[vi] = c_moss elseif biome == 2 then data[vi] = c_lichen + elseif biome == 3 then + data[vi] = c_algae end --on random chance, place glow crystal formations if math.random() <= CRYSTAL then @@ -713,12 +850,12 @@ minetest.register_on_generated(function(minp, maxp, seed) --determine biome local biome = false --preliminary declaration n_biome = nvals_biome[nixz2] --make an easier reference to the noise - if n_biome >= 0 then + if n_biome >= 0.3 then biome = 1 - elseif n_biome < 0 then + elseif n_biome < -0.3 then biome = 2 else - biome = 1 --not necessary, just to prevent bugs + biome = 3 end --glow worm if math.random() <= WORMCHA then diff --git a/textures/caverealms_algae.png b/textures/caverealms_algae.png new file mode 100644 index 0000000000000000000000000000000000000000..da130aac5858e987b5219f52bf975ccad77e54c7 GIT binary patch literal 971 zcmV;+12p`JP)kl!aDpGlu>^1;aeSW0?la$3Hf=Y|46yCWeb1tA2TuEcO5 zD6Mfj2T${@O1tGCpgN2MrV|A|kM+Bgv09x@D^ja-)Ek^cEpPPXar$PO7`A#X8pgBg zFw4w0o}jmZj$B;eroOP`SUC zp~$r}#uZB0KieI-cXC{=16bt%di4g^O1a%2pud-;xp#V09vI_(sW*69Df=OzWWie8 z?hoZ_EijoL@n>HG|})l zS-W_t4(ot4slc~4=LjQDgps#47?BIkxzow1>Tdr#A9T9Xf9ZM)01(eAq=^Oq9i73(nUhZVy7o`y}@TfP}XR2k1@g+BWu%%vRXTuX9mfI8&(-Wx> zo>f;EBS-s>v%AK+uZ5($zR#`-L3=w}bHbf< zFvfxsf@b95^rWN!HflBgiSX&I#i)kqMEx-ts~^hJq)|(p_XFlABM2h_cH`B~-N0u{ z&bgb`x*Gt_d7MUjyXn$k=r@YOpe!tHwZ*frC1_Q-_xb~Wqf$l?LO{O!e%+->gMrb5pj>eIUtEEJO|VOx4)3qH+BF3002ovPDHLkV1n5w#?Al$ literal 0 HcmV?d00001 diff --git a/textures/caverealms_algae_side.png b/textures/caverealms_algae_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c857c658f019f1fa4617f8dea2828f76bcae7c4a GIT binary patch literal 528 zcmV+r0`L8aP);ab5UWf6g1mJxP`0q5E}cDy2bG8dA&L%OIs`#P zl$TC*5b9W$iY^h@Qc2LElO-M^U6=hatC-HZ^UlocMNlI83;e(X4-b#HezR9Ql?G?d zr%+yq<9Gm6N;}xLg^-}Ukd9P@);0@yL|__%&-p63ktAYtyi;epWB7hZM>0wfXiQT8 zpp>TW1}rUZk~^0o3^iMS6u#0ZU$eI2B83!eZ~2_)If`Kl673P}c!Y(#!}o9NoF2-M zOh@s&fKqXXPxDpW?SSQ`hX~KY4+(U zJvP~u8ysrC3=9KYyV0wGhXS|)C}0lIfB+2kbphqQzHwl;|N8xxy_Z9W{%IH7iI$+3z2*P_03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00LM^L_t(I%Vm?_Y7;>e zhrcsP7uF>0Y+^%-l-g>EMn&;LP^o|V1inEZ!Yd!iTklmwy!A#@YL%re*zLybOg4!u zt!BKKZX5O738SA~Pbkr_^-8TnJsv%G#;&VNs6oNrQn^Ul53 z3s`yayz*sx$L(jvCzmI{QpYze!w%8YDbd;ry3vs6!zcH?a&bkTgdsW%DFDI{y6dtW z1d`7dX9k?3Pzn%43EaFPYwG58*#vB-jV=?ncijF#;xzw6GXlMU4dyV_Dt33z88sR? zvwT4|lN7uC#nFsBdfF$tc13h%&SWih1b|jc?AO>gskT}IU`|M0mAdr;yngGVYSqj4 z#+C*<^a3^?ff@|lkKxeS-91n8@w3-Go)A~7#Qnary)L>Ld2eP(j*hX)=IrMqjLoq@ zfO)(jo3ol9Jy0Ym_UMS!?H#w@X`{dw z?j6|z_&ufg^$WrfQA+4umfm4XTqX{4>@dfMA&e&!VTjHQh3c-$@={003?wNwA9<4T zd$j literal 0 HcmV?d00001 diff --git a/textures/caverealms_glow_worm.png b/textures/caverealms_glow_worm.png index 6d388dc9d7033a765154374cc67414e29cf29c85..37d8966491d3e4abe5fe16eac10df472e91df116 100644 GIT binary patch delta 285 zcmV+&0pk9s0=@!}Du4d~{{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2i^u713Mv}CA0nj007HLL_t(I%axPM4Z<)GMBj!gxFgXP5_P$ZbdV;3I43mW9WK~% zEZe{wXLt59UIP%_StU`S#{-$4qB~DB0fZuX#7FmBWI9a~&wqWl1-P48N=!TjpM(hu zU<|NIx)wzN=4}Jubv`RMZ0)*AS|x>s2W4*8gNtMfaFZ-`t;L72TAk)?I|!mX;WJrT zbm&37Mzh)I4#Jl^$l|(F;-fpQag(My*60;dycf$DB^+Xs{`w1tJCMW!e*O#1JCM}9 jgPISedEe0UpcdrcYqBYj44nJa0`PlBg3pY5H=O_IqrStSWlBE+Qv@ zLR&pu978NlPYpgPctn9G_{L4Spo?X5_*o525;N^5FdXz*w7llzAqIw?mWhWL`t=PN z9SnpRSQre`w;q*?PYVC6yi{-HBafBA0o|+XH_g~=rjxM5PBAArnBhm;g8TdO->q|7 z<@fR1`>x|D%7VqyCO*Hi?PKos<#JP&WzE*Jm6+<=zV=S3I*K9^SSzfj~Tq_OuWcX{ZfJJu3EtJo`;&Nol{&&==db>(qxrWMc!44$rj JF6*2UngC&qXV(A# diff --git a/textures/caverealms_mushroom_cap_legacy.png b/textures/caverealms_mushroom_cap_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..7967ee93925e4c04b967d45c5b51814536856358 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqn6T2~5(kI5AC5|A)YfhSPNn z%I~TRr1x)Nwn%>Ks5U))I@43@gl5xw8~FpTKeY|LpqJ&jm?AcZVV!2B;DgI%Yx7w^$>62Yb#;PO6?B#ahmK#q! y*HX`YTAUQkQ+UpEb