From 0b187ede4bd117d1163951b8eae744d2927da631 Mon Sep 17 00:00:00 2001
From: paramat <mat.gregory@virginmedia.com>
Date: Fri, 12 Jun 2015 05:07:44 +0100
Subject: [PATCH] Minimal: Add snow biome and jungleleaves nodes. Add mapgen
 aliases

Treegen: Remove alias checks from jungletree generation for speed
---
 games/minimal/mods/default/init.lua           |  84 +++++++++++++++++-
 games/minimal/mods/default/mapgen.lua         |   8 ++
 .../mods/default/textures/default_ice.png     | Bin 0 -> 254 bytes
 .../default/textures/default_jungleleaves.png | Bin 0 -> 184 bytes
 .../default/textures/default_pine_needles.png | Bin 0 -> 203 bytes
 .../default/textures/default_pinetree.png     | Bin 0 -> 280 bytes
 .../default/textures/default_pinetree_top.png | Bin 0 -> 574 bytes
 .../mods/default/textures/default_snow.png    | Bin 0 -> 164 bytes
 .../default/textures/default_snow_side.png    | Bin 0 -> 360 bytes
 .../default/textures/default_snowball.png     | Bin 0 -> 183 bytes
 src/treegen.cpp                               |  11 +--
 11 files changed, 93 insertions(+), 10 deletions(-)
 create mode 100644 games/minimal/mods/default/textures/default_ice.png
 create mode 100644 games/minimal/mods/default/textures/default_jungleleaves.png
 create mode 100644 games/minimal/mods/default/textures/default_pine_needles.png
 create mode 100644 games/minimal/mods/default/textures/default_pinetree.png
 create mode 100644 games/minimal/mods/default/textures/default_pinetree_top.png
 create mode 100644 games/minimal/mods/default/textures/default_snow.png
 create mode 100644 games/minimal/mods/default/textures/default_snow_side.png
 create mode 100644 games/minimal/mods/default/textures/default_snowball.png

diff --git a/games/minimal/mods/default/init.lua b/games/minimal/mods/default/init.lua
index 7b5869bc0..120f004b7 100644
--- a/games/minimal/mods/default/init.lua
+++ b/games/minimal/mods/default/init.lua
@@ -834,7 +834,6 @@ minetest.register_node("default:leaves", {
 	visual_scale = 1.3,
 	tiles ={"default_leaves.png"},
 	paramtype = "light",
-	is_ground_content = false,
 	groups = {snappy=3},
 	drop = {
 		max_items = 1,
@@ -854,6 +853,17 @@ minetest.register_node("default:leaves", {
 	sounds = default.node_sound_leaves_defaults(),
 })
 
+minetest.register_node("default:jungleleaves", {
+	description = "Jungle Leaves",
+	drawtype = "allfaces_optional",
+	waving = 1,
+	visual_scale = 1.3,
+	tiles = {"default_jungleleaves.png"},
+	paramtype = "light",
+	groups = {snappy=3, leafdecay=3, flammable=2, leaves=1},
+	sounds = default.node_sound_leaves_defaults(),
+})
+
 minetest.register_node("default:cactus", {
 	description = "Cactus",
 	tiles ={"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"},
@@ -976,6 +986,7 @@ minetest.register_node("default:water_flowing", {
 	pointable = false,
 	diggable = false,
 	buildable_to = true,
+	is_ground_content = false,
 	drowning = 1,
 	liquidtype = "flowing",
 	liquid_alternative_flowing = "default:water_flowing",
@@ -1000,6 +1011,7 @@ minetest.register_node("default:water_source", {
 	pointable = false,
 	diggable = false,
 	buildable_to = true,
+	is_ground_content = false,
 	drowning = 1,
 	liquidtype = "source",
 	liquid_alternative_flowing = "default:water_flowing",
@@ -1032,6 +1044,7 @@ minetest.register_node("default:lava_flowing", {
 	pointable = false,
 	diggable = false,
 	buildable_to = true,
+	is_ground_content = false,
 	drowning = 1,
 	liquidtype = "flowing",
 	liquid_alternative_flowing = "default:lava_flowing",
@@ -1060,6 +1073,7 @@ minetest.register_node("default:lava_source", {
 	pointable = false,
 	diggable = false,
 	buildable_to = true,
+	is_ground_content = false,
 	drowning = 1,
 	liquidtype = "source",
 	liquid_alternative_flowing = "default:lava_flowing",
@@ -1494,6 +1508,74 @@ minetest.register_node("default:apple", {
 	sounds = default.node_sound_defaults(),
 })
 
+minetest.register_node("default:dirt_with_snow", {
+	description = "Dirt with Snow",
+	tiles = {"default_snow.png", "default_dirt.png", "default_dirt.png^default_snow_side.png"},
+	groups = {crumbly=3,soil=1},
+	drop = 'default:dirt',
+	sounds = default.node_sound_dirt_defaults(),
+})
+
+minetest.register_node("default:snow", {
+	description = "Snow",
+	tiles = {"default_snow.png"},
+	inventory_image = "default_snowball.png",
+	wield_image = "default_snowball.png",
+	paramtype = "light",
+	buildable_to = true,
+	drawtype = "nodebox",
+	node_box = {
+		type = "fixed",
+		fixed = {
+			{-0.5, -0.5, -0.5,  0.5, -0.5+2/16, 0.5},
+		},
+	},
+	groups = {crumbly=3,falling_node=1},
+	sounds = default.node_sound_dirt_defaults(),
+
+	on_construct = function(pos)
+		pos.y = pos.y - 1
+		if minetest.get_node(pos).name == "default:dirt_with_grass" then
+			minetest.set_node(pos, {name="default:dirt_with_snow"})
+		end
+	end,
+})
+
+minetest.register_node("default:snowblock", {
+	description = "Snow Block",
+	tiles = {"default_snow.png"},
+	groups = {crumbly=3},
+	sounds = default.node_sound_dirt_defaults(),
+})
+
+minetest.register_node("default:ice", {
+	description = "Ice",
+	tiles = {"default_ice.png"},
+	is_ground_content = false,
+	paramtype = "light",
+	groups = {cracky=3},
+	sounds = default.node_sound_glass_defaults(),
+})
+
+minetest.register_node("default:pinetree", {
+	description = "Pine Tree",
+	tiles = {"default_pinetree_top.png", "default_pinetree_top.png", "default_pinetree.png"},
+	paramtype2 = "facedir",
+	groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
+	sounds = default.node_sound_wood_defaults(),
+})
+
+minetest.register_node("default:pine_needles",{
+	description = "Pine Needles",
+	drawtype = "allfaces_optional",
+	visual_scale = 1.3,
+	tiles = {"default_pine_needles.png"},
+	waving = 1,
+	paramtype = "light",
+	groups = {snappy=3, leafdecay=3, flammable=2, leaves=1},
+	sounds = default.node_sound_leaves_defaults(),
+})
+
 --
 -- Grow tree function
 --
diff --git a/games/minimal/mods/default/mapgen.lua b/games/minimal/mods/default/mapgen.lua
index 8d203fbb2..7b0c7f467 100644
--- a/games/minimal/mods/default/mapgen.lua
+++ b/games/minimal/mods/default/mapgen.lua
@@ -10,11 +10,19 @@ minetest.register_alias("mapgen_sand", "default:sand")
 minetest.register_alias("mapgen_water_source", "default:water_source")
 minetest.register_alias("mapgen_lava_source", "default:lava_source")
 minetest.register_alias("mapgen_gravel", "default:gravel")
+minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow")
+minetest.register_alias("mapgen_snowblock", "default:snowblock")
+minetest.register_alias("mapgen_snow", "default:snow")
+minetest.register_alias("mapgen_ice", "default:ice")
 
 minetest.register_alias("mapgen_tree", "default:tree")
 minetest.register_alias("mapgen_leaves", "default:leaves")
 minetest.register_alias("mapgen_apple", "default:apple")
+minetest.register_alias("mapgen_jungletree", "default:jungletree")
+minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves")
 minetest.register_alias("mapgen_junglegrass", "default:junglegrass")
+minetest.register_alias("mapgen_pinetree", "default:pinetree")
+minetest.register_alias("mapgen_pine_needles", "default:pine_needles")
 
 minetest.register_alias("mapgen_cobble", "default:cobble")
 minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble")
diff --git a/games/minimal/mods/default/textures/default_ice.png b/games/minimal/mods/default/textures/default_ice.png
new file mode 100644
index 0000000000000000000000000000000000000000..2046eac6faf03dc0cf49e5af5919b3b6cc38c47e
GIT binary patch
literal 254
zcmV<a00IArP)<h;3K|Lk000e1NJLTq000mG000mK0{{R3?cL&10000aP)t-so16ch
zp8u4T^w!q@nwtKzv;UWu`Iwmd%*^$cmiDf$`Owh%h%V9H0001$Nkl<Z2-gkAu?oU4
z6a~=xUeXXdC4zKtNn4PPsfeznh=Nlq{Q$+$r3gAZ2;yc&M?b+ov}Zez)})o>4DMB6
znH*{m``t{)7A{wfeS{mR(d#pd3R6>}8$B6_T_j^=u>JBLZMuTylhj5VSoM4Rx*P+d
z7nxv><nBDR5g{CNTtf$Z>|)d8WH9MfLGw!qWWy4Yf8$RT4~nv0U;qFB07*qoM6N<$
Eg5#fXJpcdz

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_jungleleaves.png b/games/minimal/mods/default/textures/default_jungleleaves.png
new file mode 100644
index 0000000000000000000000000000000000000000..870b4bb27e9debc742a57ecda1fa9857cbc56499
GIT binary patch
literal 184
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0WbkkXuAfK+!<lcBMun
zkk42W<QL4~@a#q!kQ3$U;uyklJ^8|<oZSaLIImhW|Ka<<;PSSa?k0C7E=k?ED{;fe
zU))H>q<r>)500lxjSe4~&GV0EuRF^fi91s7HW+R&U7MJakP>s~fWr9+291g9c7EV(
eoB6Cqo54Xs(tpMM)1p9I7(8A5T-G@yGywptnLhFW

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_pine_needles.png b/games/minimal/mods/default/textures/default_pine_needles.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a32f632da9b382172280a617b805168aa0f2aff
GIT binary patch
literal 203
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=50gQXIm3TylbvPRa+&
zABh2l7)yfuf*Bm1-ADs+vOHZJLpZLBo;@hoV!*?4F!m>tfHzanLk0)I6*WJfxBNVp
zEaiBqhi%=eGSd?IGdsP{1^m2f!1;56h5YFcLL2sU*E&DXpKemHD(t7ri)y=;<1!by
w&OBk~Fun4w{?J@ycIoSCPplZsE8@N}l|1G?_26RB9-yrZp00i_>zopr04>W$9{>OV

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_pinetree.png b/games/minimal/mods/default/textures/default_pinetree.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a5328ff385ebe307f299a8aeb7866da0713aa8d
GIT binary patch
literal 280
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VtB;eVuZxw3t*Mi_UWliI
ztEEA7pnIr~W1yR@qp41WpG$J2UqYx?Ot7cDv6h#Ed4Pv)?nWj%p!NlxE{-7*mt{|T
zim@niuv}!B=@Rh1{+3?#?|7DFN}F;Pu8(X<GCq9yTFgCO$r&XbD%al`G4l3wADFr{
zsi-lWW8>n-B6lC~-{7CUZ0?hkzhXCjFmNxm`?5dh?T-ZyKQ|h`pEi5foD7>AhSILZ
zHw)_)oIRTTT1djq!bLA)joJ>o4e3Uf*Qa_g)^2c)+!5o)YA?ZlJRs!75oTM(X`-If
b9DgylSg_5@k7{TKx|PAx)z4*}Q$iB}eJx~|

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_pinetree_top.png b/games/minimal/mods/default/textures/default_pinetree_top.png
new file mode 100644
index 0000000000000000000000000000000000000000..8705710ed825fcf7cbbf6edf0de6b5b5ddb8b4f5
GIT binary patch
literal 574
zcmV-E0>S->P)<h;3K|Lk000e1NJLTq000mG000mO0{{R3C@l|D0003LP)t-sVOL91
zNIu)Rj^)ap?Ao{J(x~UprQ^t*;>DQSwTtT2tLMz6=gy+x#+={6nb@+5^5)F#+qv%B
zvhUlk?Aov6%A(`Pn%=*d-Mf&~se!P7VDaS1@ZrSk*t6-=vgp#T>({I2(5vFepy9-u
z;KG*Nyq4g>l-|9O)~<uSn}4~Oe9xbHzL$2nly<j}Z@iFfwTo=JiD<EVTC#OlrfW@~
zX-$V|OO0npd|gFvQb6|Z(DUTG@!+@X*Rki*r{>C_+`^pY!IRjylGU}3+p~||xsKho
zjL)r$)~$%erG?9<gT0!2vXOAIiD<ZhUZ{6ktaw<qaaNgiRjYJUg=|x^YEh_WOpRel
zpkqi}O+=AfLuXY(HPa_T0002xNkl<Z7}G_MRc-@O3`Hl8-!M~{lZH7dGc&{f_fd~j
zsrSc{eU9X-WXUPHEHJaAud~VUs(UkDEIu}CxIUcv6zl4K#oOIJTm$sx>BtagZNU$m
zooDc#TuBKj7V@^OxwoLa`;s+^TDep$Xzm>-b2W*MN!}(k!n_oesUFj2IVx362UiB5
z%*<<U)|)3r+Y#y(5T6(^%Lud}+G|i)DBsu$IxTeBtE-3(fS89J5gJ^Cm}7kmum2pi
z;$C7&D~Xx^2*lU)TuOwHS>x<t1;l3gazE*J`=ik?U9SGhEC20(0i`M!^lvpP`2YX_
M07*qoM6N<$g1HVcD*ylh

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_snow.png b/games/minimal/mods/default/textures/default_snow.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a2439fb9ebddbb7273a05fbcda2cf4de278626b
GIT binary patch
literal 164
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u6OVMfB)e>5Jc_WaU3WZ
z=IP=X!XcaN5t^8ia>6Ha#{|VAt`jCU9&~o-PLyJwurbGV6^C<&yOuO_^JHde=M}*>
zOxXOEx3RJH3b=`}>9#QlvgrwSGO+PAibgr8_9*hmMJeep<ofbyX@6kR2HL>j>FVdQ
I&MBb@0QoR5y#N3J

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_snow_side.png b/games/minimal/mods/default/textures/default_snow_side.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e98915131310783a3632d7622c61bdc0ca107b2
GIT binary patch
literal 360
zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003mNkl<ZcmZR$
zd;kA`Acg`6`~3$H2C-p$+;T_;plU#fqZ)qU+FK+Mr~xp15h%I#$VxbW@4?OgHy+#a
zzin>M|AjkO|L<Sf_J8`+zW=AMT!dS~0Aj4zu=Ri1MA!fMQ{w)wJ-q4v&J%0@fB5qD
z|JL=(|1Vmz@_%t($p5OzY5yy0g8pw?yZHa)4HN#KzH|{{KtP_>e<o(ebOr{7%H&R?
zf01=M|JAL<*6@pS)Pcl&GBy8OxXb@{h*JB{FUpYz6if80GWs9cW%l3DS8f4=SG@9n
zT`SS8K#4XPb-pAWJJAwGMg|=qUmb`!fY>v+((u1ckg~msv8W%AZ_5A#t}!bA85tRS
zLF_b;sX)vG#Eejy4GF6Ou>b@k0F*DnKn#EzfCG$zQ2+p#UIIeZnL}6r0000<MNUMn
GLSTY?0jNp<

literal 0
HcmV?d00001

diff --git a/games/minimal/mods/default/textures/default_snowball.png b/games/minimal/mods/default/textures/default_snowball.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecdba9a39ce707ebe44d857e72114c72535caed9
GIT binary patch
literal 183
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=5Rm?)(4$|N8xhfByRa
z?*0E)um3-L{{Qda|KGm-|MdC)!^i(K>peCA)iIU?`2{mLJiCzw<T!e|IEHXsPd>oU
z!m4Ppc~TqWjKn2Zj3ix*wK6O8L>UZCV$xb0C3QDDT|UTjere`a1-9nUh@WX4-@arq
d?`W)GWDx$!UF&1y7zH$p!PC{xWt~$(699CwN&^4@

literal 0
HcmV?d00001

diff --git a/src/treegen.cpp b/src/treegen.cpp
index 1c915ca39..a85d88815 100644
--- a/src/treegen.cpp
+++ b/src/treegen.cpp
@@ -656,15 +656,8 @@ void make_jungletree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, int seed
 		and in games that have saplings; both are deprecated but not
 		replaced yet
 	*/
-	content_t c_tree   = ndef->getId("mapgen_jungletree");
-	content_t c_leaves = ndef->getId("mapgen_jungleleaves");
-	if (c_tree == CONTENT_IGNORE)
-		c_tree = ndef->getId("mapgen_tree");
-	if (c_leaves == CONTENT_IGNORE)
-		c_leaves = ndef->getId("mapgen_leaves");
-
-	MapNode treenode(c_tree);
-	MapNode leavesnode(c_leaves);
+	MapNode treenode(ndef->getId("mapgen_jungletree"));
+	MapNode leavesnode(ndef->getId("mapgen_jungleleaves"));
 
 	PseudoRandom pr(seed);
 	for (s16 x= -1; x <= 1; x++)
-- 
GitLab