From 53e58a06cd25e91226c2b1b0b89b0b0551f5b837 Mon Sep 17 00:00:00 2001 From: Sokomine Date: Wed, 7 Sep 2022 23:59:29 +0200 Subject: [PATCH] added 45 degree variants from APercy and Boot; added diffrent dirt types; in order to use, set mesh_incl_45 instead of mesh --- models/feldweg_45.b3d | Bin 0 -> 3712 bytes models/feldweg_d_45.b3d | Bin 0 -> 4988 bytes models/feldweg_l_45_curve.b3d | Bin 0 -> 10460 bytes models/feldweg_r_45_curve.b3d | Bin 0 -> 10460 bytes models/feldweg_s_45.b3d | Bin 0 -> 2684 bytes nodes_feldweg.lua | 434 +++++++++++++++++++++++++--------- nodes_historic.lua | 10 - 7 files changed, 323 insertions(+), 121 deletions(-) create mode 100644 models/feldweg_45.b3d create mode 100644 models/feldweg_d_45.b3d create mode 100644 models/feldweg_l_45_curve.b3d create mode 100644 models/feldweg_r_45_curve.b3d create mode 100644 models/feldweg_s_45.b3d diff --git a/models/feldweg_45.b3d b/models/feldweg_45.b3d new file mode 100644 index 0000000000000000000000000000000000000000..3a0be88c53441fad494dc065d2a28b153133baf7 GIT binary patch literal 3712 zcma)%6r9ZgM_)w66{amkwtg(zy-$r$cthj8pnybBM%uk{cvvL!}2}eY-az_(|Z2il1QkD!B&^CO2;M4HCsq*_HsS@svfbCFc zAKHjK7szq`g-!Viq30LE&o?PK$Ep78lymye>}W!9x@>dOSprGhii?ZYcozbLj^7*^ z(ViJk{|oJ$fiAcXT1#-Z;5jQcBWh{s9BIJB|vc%Vi8<90dA+a`vnPa@8-Ko#eV z^Ih28=S;TsIj68ru45(ET{?2o$^Yb}^D5Sv$h^S+M6{f~!k*(`=W1nh5EuKbMVwwN zwX`cDtrJ5RFt6)wSGrm6ABazgkhJsi8`j~vQu@Ur#OxaR<=!u5#1hlUMAQwrU@Ww; z)wV8a=W1wpKAuHPzu4|y@=$|FEM@q8*`Q=^%pW>3FwS&8Z`{aC8*2fZ2n{smGgp-5 zJEO;=RxELI%+XI8U$oiUSK0c#af6j*-^~@@tbU9^j~7E5oOHXUbbG!37t5vQwS7Mv zJ^(GzJ-=tsA!*kwabAw&y00@96A#+jZ2IDSpbkPNw@qw(qkRnHMFyb9H0+PO z#INH_M+R!{*|`5Of3ydC_w9@Q1$Hf2Tlj~T;yL>vztMtCAIQCk?{H@y=2d4QcI4Pw zGC}mRubCIE+5;ijY&-Q(Z|lTH+8O)lv%`2Ek$!Xd#R4C!(YtfT138GHmUEgp*fK97 z{w#=(6X)nR*Ldb!js*szX=fXz=3sr_!#?F4_*wIM_3*1(d@Sr2pDXVSb|Hr%#yf|3 zPC!n6bY0xJp6wv={We*RI=n+}HFqb8ud7S*+dc`^E1b zGQNzDz9Wdy&*tZA-`VEg#Sk&GCpq40-kmyS`?i050b-83v(0_)_g>&0!!YW6Z1{a0 z)+=z9rftxJ1Gw94-(%hTqep)(vTCd99Q@llNASa*V4g(C&Z#*ICI?}LPj>o9x6Zx8wH4HHZJ z9#VOeeCMrMHY7hnp6#_YCm)q5XH=e)_lVE@qXN8EaE>upfM5_IT!=G;w(2 zi4a;sKkX|*ygTf5n0L3|d&cj5gs~8-V&?Y&?VLxwQ|xmzwRwuaRuag0N-+AKA=t+pYQ^os^S{3Nb8hS!D4U&xKZnr9{^jxX7Hfa zDVKq*pcHJ=I^}ZkFn9=5Xr1zIP!D#22CY-(TEb|#27WeQ1+D}Ov`+bYa2-enDO#so z4XQvTctq=zYr%H#6xac3wamFzVIt<}7H~7T38aHGunuHsopKh)1nU9+8=y`(2V{dF z*r0XFc_0_u1M;;_85gYJ3;JFV0xTpi&P^bs-?gJ&@Nl*ix0L;_VU?-^4 zI_2lUv)~!9U+a`RKs#syFM$`q3!n?U3_3vsP^a7tUI7OHbH#clfu-P9ummgzw}E9~ yCAb}|0BgW%unOD-?gV#$wOXglF`2gjcpN+i9tHcrUa$u=fkyB=Xay~x8T<#p?EzT; literal 0 HcmV?d00001 diff --git a/models/feldweg_d_45.b3d b/models/feldweg_d_45.b3d new file mode 100644 index 0000000000000000000000000000000000000000..241ef482587bf565919640054540b507440f165f GIT binary patch literal 4988 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 NcoNJ9Pf4Bf{{TxGT(|%L literal 0 HcmV?d00001 diff --git a/models/feldweg_r_45_curve.b3d b/models/feldweg_r_45_curve.b3d new file mode 100644 index 0000000000000000000000000000000000000000..37119c326be070b4f8696a0ba3a21e763c6f24a2 GIT binary patch literal 10460 zcma)?3z&}87RTRVOkxbleI$ueE{#h>=6%PVa>)=%<2nXKCR8fSM;bYFba9k&G~HB6 zVJ72bzVDq-qT4hnr;`fh62hrYHAiO7|GzKax4+Mx=j3^Q&#blPUGLs|?X}n5?;gE+ zb?URXwd2G&j?*js=HZ{=C*|4GGAFlB>5$@l^x+^+<2V5izY`DeX9fOcPMbC7Pdzwg z)`Z!!|J0L{Gp9_(lPMkkZ{t~$r)U1DR}LB4r|*wfI!^DqCt_GB-Pn8MABSZU`PJaQ z!v_?=kwYDsK4SRdX7YE8Q57lrQ?ib@3v2rBte@lDv01qckq zzS^dIy*Q`XE!?prG<8w7JO13bu%EVdK9>`=iMH^*6lJ5Ywn^VWXyo?KgzaE_z&+q> zN_Cv#kZ2SAoLj@e@AA6}ANGxX$NRKR^-tOk4T7(H=JC1Nu9H?!*sxI#`Ut-R_xxVu z1PTf}&p5;OM4Pm2k1GzDHu};gePv%bwgJZ~f(13#%0A$ow6QOyP51BVvK%}Y83%oz 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 X5CAz~0a&PX%8S8+U=eso>6HHmpkOwM literal 0 HcmV?d00001 diff --git a/models/feldweg_s_45.b3d b/models/feldweg_s_45.b3d new file mode 100644 index 0000000000000000000000000000000000000000..b080d1a7f82d94d3629e4b41699285eee504ad7d GIT binary patch literal 2684 zcma);TWpj?6vw9&rGla&;0kJ~wh9&Mwp}WgvQxJgi!N05QZc^RX1ApQ4Q|l~wcUO2 z@=zNH#-ye%K43Inq6tcj)%`Y*;I%ffMnzu@#>7M#6XFx=|35otJGCKDq`1nF=4-yrw*clS(Pqg2;3LkzZ=!8;FURUrI#Qve?__<4Nq z>xuTo(2z47h{U4nR~4EuM=J^6iE(_A_E_{%}T%P1@3?27SBB$DoZqwymdn#Pz*wvXUX z+tY8nqusW3b4}j#ALGV$_WV5O>(N$|`gqUO_*>a3l{2<87b4!#k$+4M=)?X_4*#sb zM^34qM_bxXz*fKNRbv}CyAZ6uydnF^g&*`!HIr_9I)GepJ=j*jx^=QYteq$0()Rr2 za{wVxJl0nRDBQ7#ItE51(%Ed{d`P{>tZDDK8Qm-kSNdF&D?+ zn&OUwQAZ?BT_|ZGEU1@8+*?meI_eKtT|*vY%;_wz8HjPhubRPn7J9=i+Iv_Tt;6Ic-dP%`d)h z#+5by*5BaOk4_j{d4G&W*0QBKYWAPI*H)muXJ%fnIIg=l=(o9jLRV^AX$-fHeq8L= z3p!Ae`(F7xg>l;rRC9czNMRdvQDdH(G2cyMMeP?CeECPTXMTu4_M!(Ah3OPl2C z%!e-pdv|q}%tPwUoo^N9>((Iqz&aM|x1bm5m-}Ay@>-SLyLBXMB=uXVX3$@;PpK{1 zAaWun!AE^E`4zdTy1sAxOPXdH=8^H$PvpVI?U=z3n+-h~ocZ0h?1K>QUQ|5ur z3rQ|a>Xbv^0niD0KsV?Dy;i5Z7xaM#!9!N3ybpxI!(hMFDIWljfPN6MI^~1lQ7`}= zvpQwwkbhQ~@9V&|U=64Rw}acj7C@bH9K=ABZ?x^in|ZzmG=gnlyVWV*3!1D$@6zY`!13B~TOaK4? literal 0 HcmV?d00001 diff --git a/nodes_feldweg.lua b/nodes_feldweg.lua index 9205952..b86b937 100644 --- a/nodes_feldweg.lua +++ b/nodes_feldweg.lua @@ -19,53 +19,301 @@ local cottages_feldweg_mode = minetest.settings:get("cottages_feldweg_mode") if( cottages_feldweg_mode ~= "mesh" and cottages_feldweg_mode ~= "flat" and cottages_feldweg_mode ~= "nodebox" - and cottages_feldweg_mode ~= "flat") then + and cottages_feldweg_mode ~= "mesh_incl_45") then cottages_feldweg_mode = "mesh"; -- add the setting to the minetest.conf so that the player can set it there minetest.settings:set("cottages_feldweg_mode", "mesh") end -local function register_recipes(include_end) + +local function register_recipes(include_end, postfix, base_craftitem) + if(not(postfix)) then + postfix = "" + end + if(not(base_craftitem)) then + base_craftitem = cottages.craftitem_dirt + end + local base_node = "cottages:feldweg"..postfix + + -- run a wagon wheel over dirt :-) minetest.register_craft({ - output = "cottages:feldweg_crossing 5", + output = "cottages:feldweg"..postfix.." 4", recipe = { - {"", "cottages:feldweg", "" }, - {"cottages:feldweg", "cottages:feldweg", "cottages:feldweg"}, - {"", "cottages:feldweg", "" }, + {"", "cottages:wagon_wheel", "" }, + {base_craftitem, base_craftitem, base_craftitem} + }, + replacements = { {'cottages:wagon_wheel', 'cottages:wagon_wheel'}, } + }) + + + minetest.register_craft({ + output = "cottages:feldweg_crossing"..postfix.." 5", + recipe = { + {"", base_node, "" }, + {base_node, base_node, base_node}, + {"", base_node, "" }, }, }) minetest.register_craft({ - output = "cottages:feldweg_t_junction 5", + output = "cottages:feldweg_t_junction"..postfix.." 5", recipe = { - {"", "cottages:feldweg", "" }, - {"", "cottages:feldweg", "" }, - {"cottages:feldweg", "cottages:feldweg", "cottages:feldweg"} + {"", base_node, "" }, + {"", base_node, "" }, + {base_node, base_node, base_node} }, }) minetest.register_craft({ - output = "cottages:feldweg_curve 5", + output = "cottages:feldweg_curve"..postfix.." 5", recipe = { - {"cottages:feldweg", "", "" }, - {"cottages:feldweg", "", ""}, - {"cottages:feldweg", "cottages:feldweg", "cottages:feldweg"} + {base_node, "", "" }, + {base_node, "", ""}, + {base_node, base_node, base_node} }, }) if include_end then minetest.register_craft({ - output = "cottages:feldweg_end 5", + output = "cottages:feldweg_end"..postfix.." 5", recipe = { - {"cottages:feldweg", "", "cottages:feldweg" }, - {"cottages:feldweg", "cottages:feldweg", "cottages:feldweg"} + {base_node, "", base_node }, + {base_node, base_node, base_node} }, }) end + + -- if the 45 degree version is loaded + if(minetest.registered_nodes["cottages:feldweg_45"..postfix]) then + minetest.register_craft({ + output = "cottages:feldweg_45"..postfix, + recipe = {{base_node}} + }) + minetest.register_craft({ + output = "cottages:feldweg_l_curve"..postfix, + recipe = {{"cottages:feldweg_45"..postfix}} + }) + minetest.register_craft({ + output = "cottages:feldweg_r_curve"..postfix, + recipe = {{"cottages:feldweg_l_curve"..postfix}} + }) + minetest.register_craft({ + output = "cottages:feldweg_s_45"..postfix, + recipe = {{"cottages:feldweg_r_curve"..postfix}} + }) + minetest.register_craft({ + output = "cottages:feldweg_d_45"..postfix, + recipe = {{"cottages:feldweg_s_45"..postfix}} + }) + minetest.register_craft({ + output = "cottages:feldweg"..postfix, + recipe = {{"cottages:feldweg_d_45"..postfix}} + }) + end end + +-- those can be offered in diffrent variants... +cottages.register_nodes_mesh = function(postfix, texture_top, texture_bottom, texture_side, cottages_feldweg_mode, name_postfix) + -- a nice dirt road for small villages or paths to fields + minetest.register_node("cottages:feldweg"..postfix, { + description = S("dirt road"..name_postfix), + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + groups = {crumbly=3}, + sounds = cottages.sounds.dirt, + is_ground_content = false, + tiles = {"cottages_feldweg_end.png", + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + "cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg.obj", + }) + + + minetest.register_node("cottages:feldweg_crossing"..postfix, { + description = S("dirt road crossing"..name_postfix), + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + groups = {crumbly=3}, + sounds = cottages.sounds.dirt, + is_ground_content = false, + tiles = {"cottages_feldweg_end.png", + --"default_dirt.png", "default_grass.png", + texture_bottom, texture_top, + "cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg-crossing.obj", + }) + + minetest.register_node("cottages:feldweg_t_junction"..postfix, { + description = S("dirt road t junction"..name_postfix), + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + groups = {crumbly=3}, + sounds = cottages.sounds.dirt, + is_ground_content = false, + tiles = {"cottages_feldweg_end.png", + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + "cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg-T-junction.obj", + }) + + minetest.register_node("cottages:feldweg_curve"..postfix, { + description = S("dirt road curve"..name_postfix), + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + groups = {crumbly=3}, + sounds = cottages.sounds.dirt, + is_ground_content = false, + tiles = { + -- "default_dirt.png^default_grass_side.png","default_grass.png", + texture_side, texture_top, + -- "default_dirt.png^default_grass_side.png", + texture_side, + "cottages_feldweg_surface.png", + -- "default_dirt.png", + texture_bottom, + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg-curve.obj", + }) + + minetest.register_node("cottages:feldweg_end"..postfix, { + description = S("dirt road end"..name_postfix), + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + groups = {crumbly=3}, + sounds = cottages.sounds.dirt, + is_ground_content = false, + tiles = {"cottages_feldweg_end.png", + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + "cottages_feldweg_surface.png^cottages_feldweg_edges.png", + "cottages_feldweg_surface.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg_end.obj", + }) + + if( cottages_feldweg_mode ~= "mesh_incl_45" ) then + return + end + + -- new feldweg + minetest.register_node("cottages:feldweg_45"..postfix, { + description = S("dirt road 45º"..name_postfix), + tiles = { + "cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png", + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,crumbly=3}, + drawtype = "mesh", + mesh = "feldweg_45.b3d", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = true, + }) + + minetest.register_node("cottages:feldweg_s_45"..postfix, { + description = S("dirt road 45º edge"..name_postfix), + tiles = { + -- "default_grass.png", "default_dirt.png^default_grass_side.png", "default_dirt.png", + texture_top, texture_side, texture_bottom, + "cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png", + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,crumbly=3}, + drawtype = "mesh", + mesh = "feldweg_s_45.b3d", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = true, + }) + + minetest.register_node("cottages:feldweg_d_45"..postfix, { + description = S("dirt road 45º double edge"..name_postfix), + tiles = { + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + "cottages_feldweg_surface.png^cottages_feldweg_edges.png", + "cottages_feldweg_surface.png", + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,crumbly=3}, + drawtype = "mesh", + mesh = "feldweg_d_45.b3d", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = true, + }) + + minetest.register_node("cottages:feldweg_l_curve"..postfix, { + description = S("dirt road left curve"..name_postfix), + tiles = { + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + "cottages_feldweg_surface.png^cottages_feldweg_edges.png", + "cottages_feldweg_surface.png", + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,crumbly=3}, + drawtype = "mesh", + mesh = "feldweg_l_45_curve.b3d", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = true, + }) + + minetest.register_node("cottages:feldweg_r_curve"..postfix, { + description = S("dirt road right curve"..name_postfix), + tiles = { + -- "default_dirt.png^default_grass_side.png", "default_dirt.png", "default_grass.png", + texture_side, texture_bottom, texture_top, + "cottages_feldweg_surface.png^cottages_feldweg_edges.png", + "cottages_feldweg_surface.png", + }, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,crumbly=3}, + drawtype = "mesh", + mesh = "feldweg_r_45_curve.b3d", + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + legacy_facedir_simple = true, + is_ground_content = true, + }) +end + + + + --- a nice dirt road for small villages or paths to fields if( cottages_feldweg_mode == "simple" or cottages_feldweg_mode == "flat" ) then minetest.register_node("cottages:feldweg", { @@ -297,105 +545,67 @@ elseif( cottages_feldweg_mode == "nodebox" ) then -- -- the mesh version (rounded); provided and created by VanessaE -- -elseif( cottages_feldweg_mode == "mesh" ) then - - -- a nice dirt road for small villages or paths to fields - minetest.register_node("cottages:feldweg", { - description = S("dirt road"), - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - groups = {crumbly=3}, - sounds = cottages.sounds.dirt, - is_ground_content = false, - tiles = {"cottages_feldweg_end.png","default_dirt.png^default_grass_side.png", - "default_dirt.png", "default_grass.png", - "cottages_feldweg_surface.png", - "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, - paramtype = "light", - drawtype = "mesh", - mesh = "feldweg.obj", - }) +elseif( cottages_feldweg_mode == "mesh" + or cottages_feldweg_mode == "mesh_incl_45" ) then - minetest.register_node("cottages:feldweg_crossing", { - description = S("dirt road crossing"), - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - groups = {crumbly=3}, - sounds = cottages.sounds.dirt, - is_ground_content = false, - tiles = {"cottages_feldweg_end.png","default_dirt.png", - "default_grass.png","cottages_feldweg_surface.png", - "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, - paramtype = "light", - drawtype = "mesh", - mesh = "feldweg-crossing.obj", - }) + local variants = {} + variants["grass"] = { + "default_grass.png", -- grass top + "default_dirt.png", -- bottom + "default_dirt.png^default_grass_side.png", -- side + "", + "default:dirt", + "" + } + variants["gravel"] = { + "default_gravel.png", -- grass top + "default_gravel.png", -- bottom + "default_gravel.png", -- side + "_gravel", + "default:gravel", + " on gravel", + } + variants["coniferous"] = { + "default_coniferous_litter.png", -- grass top + "default_dirt.png", -- bottom + "default_dirt.png^default_coniferous_litter_side.png", -- side + "_coniferous", + "default:dirt_with_coniferous_litter", + " on coniferious litter", + } + variants["snow"] = { + "default_snow.png", -- grass top + "default_dirt.png", -- bottom + "default_dirt.png^default_snow_side.png", -- side + "_snow", + "default:dirt_with_snow", + " on snow", } + variants["dry"] = { + "default_dry_grass.png", -- grass top + "default_dirt.png", -- bottom + "default_dirt.png^default_dry_grass_side.png", -- side + "_dry", + "default:dry_dirt", + " on dry dirt", + } + variants["bamboo"] = { + "ethereal_grass_bamboo_top.png", -- grass top + "default_dirt.png", -- bottom + "default_dirt.png^ethereal_grass_bamboo_side.png", -- side + "_bamboo", + "ethereal:bamboo_dirt", + " on bamboo dirt", + } - - - minetest.register_node("cottages:feldweg_t_junction", { - description = S("dirt road t junction"), - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - groups = {crumbly=3}, - sounds = cottages.sounds.dirt, - is_ground_content = false, - tiles = {"cottages_feldweg_end.png","default_dirt.png^default_grass_side.png", "default_dirt.png", - "default_grass.png","cottages_feldweg_surface.png", - "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, - paramtype = "light", - drawtype = "mesh", - mesh = "feldweg-T-junction.obj", - }) - - - - minetest.register_node("cottages:feldweg_curve", { - description = S("dirt road curve"), - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - groups = {crumbly=3}, - sounds = cottages.sounds.dirt, - is_ground_content = false, - tiles = {"default_dirt.png^default_grass_side.png","default_grass.png", - "default_dirt.png^default_grass_side.png","cottages_feldweg_surface.png", - "default_dirt.png","cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, - paramtype = "light", - drawtype = "mesh", - mesh = "feldweg-curve.obj", - }) - - - - minetest.register_node("cottages:feldweg_end", { - description = S("dirt road end"), - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - groups = {crumbly=3}, - sounds = cottages.sounds.dirt, - is_ground_content = false, - tiles = {"cottages_feldweg_end.png","default_dirt.png^default_grass_side.png", - "default_dirt.png", "default_grass.png", - "cottages_feldweg_surface.png^cottages_feldweg_edges.png", - "cottages_feldweg_surface.png"}, - paramtype = "light", - drawtype = "mesh", - mesh = "feldweg_end.obj", - }) - - - register_recipes(true) - - + for k, v in pairs(variants) do + cottages.register_nodes_mesh(v[4], v[1], v[2], v[3], cottages_feldweg_mode, v[6]) + register_recipes(true, v[4], v[5]) + end end + -- create stairs if possible if( minetest.get_modpath("stairs") and stairs and stairs.register_stair_and_slab) then stairs.register_stair_and_slab("feldweg", "cottages:feldweg", @@ -406,7 +616,9 @@ if( minetest.get_modpath("stairs") and stairs and stairs.register_stair_and_slab cottages.sounds.dirt) end -if( cottages_feldweg_mode == "nodebox" or cottages_feldweg_mode == "mesh" ) then +if( cottages_feldweg_mode == "nodebox" + or cottages_feldweg_mode == "mesh" + or cottages_feldweg_mode == "mesh_incl_45") then local box_slope = { type = "fixed", fixed = { diff --git a/nodes_historic.lua b/nodes_historic.lua index d3b2403..f88703f 100644 --- a/nodes_historic.lua +++ b/nodes_historic.lua @@ -204,16 +204,6 @@ minetest.register_craft({ } }) --- run a wagon wheel over dirt :-) -minetest.register_craft({ - output = "cottages:feldweg 4", - recipe = { - {"", "cottages:wagon_wheel", "" }, - {cottages.craftitem_dirt,cottages.craftitem_dirt,cottages.craftitem_dirt } - }, - replacements = { {'cottages:wagon_wheel', 'cottages:wagon_wheel'}, } -}) - minetest.register_craft({ output = "cottages:loam 4", recipe = {