From 101cde2a9476535a083fdd7a43906feaace98a22 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Wed, 22 Feb 2023 19:54:00 -0700 Subject: [PATCH 01/15] First cherry blossom commit --- mods/ITEMS/mcl_cherry_blossom/init.lua | 210 ++++++++++++++++++ mods/ITEMS/mcl_cherry_blossom/mod.conf | 3 + .../textures/mcl_cherry_blossom_leaves.png | Bin 0 -> 2609 bytes .../textures/mcl_cherry_blossom_log.png | Bin 0 -> 5640 bytes .../mcl_cherry_blossom_log_stripped.png | Bin 0 -> 5854 bytes .../textures/mcl_cherry_blossom_log_top.png | Bin 0 -> 5822 bytes .../mcl_cherry_blossom_log_top_stripped.png | Bin 0 -> 954 bytes .../textures/mcl_cherry_blossom_planks.png | Bin 0 -> 5856 bytes .../textures/mcl_cherry_blossom_sapling.png | Bin 0 -> 5901 bytes 9 files changed, 213 insertions(+) create mode 100644 mods/ITEMS/mcl_cherry_blossom/init.lua create mode 100644 mods/ITEMS/mcl_cherry_blossom/mod.conf create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_leaves.png create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log.png create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_stripped.png create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top.png create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top_stripped.png create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_planks.png create mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_sapling.png diff --git a/mods/ITEMS/mcl_cherry_blossom/init.lua b/mods/ITEMS/mcl_cherry_blossom/init.lua new file mode 100644 index 0000000000..1e6aed9f57 --- /dev/null +++ b/mods/ITEMS/mcl_cherry_blossom/init.lua @@ -0,0 +1,210 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +-- Logs +minetest.register_node("mcl_cherry_blossom:cherrytree", { + description = S("Cherry Log"), + _doc_items_longdesc = S("The trunk of an cherry blossom tree."), + _doc_items_hidden = false, + tiles = {"mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + after_destruct = mcl_core.update_leaves, + stack_max = 64, + groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree", +}) + +minetest.register_node("mcl_cherry_blossom:stripped_cherrytree", { + description = S("Stripped Cherry Log"), + _doc_items_longdesc = S("The stripped trunk of an cherry blossom tree."), + _doc_items_hidden = false, + tiles = {"mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_stripped.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + stack_max = 64, + groups = {handy=1, axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, +}) + +-- Bark +minetest.register_node("mcl_cherry_blossom:cherrytree_bark", { + description = S("Cherry Bark"), + _doc_items_longdesc = S("This is a decorative block surrounded by the bark of a tree trunk."), + tiles = {"mcl_cherry_blossom_log.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + stack_max = 64, + groups = {handy=1,axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + is_ground_content = false, + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree_bark", +}) + +minetest.register_node("mcl_cherry_blossom:stripped_cherrytree_bark", { + description = S("Stripped Cherry Wood"), + _doc_items_longdesc = S("The stripped wood of an cherry blossom tree."), + tiles = {"mcl_cherry_blossom_log_stripped.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + stack_max = 64, + groups = {handy=1, axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + is_ground_content = false, + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, +}) + +--Planks +minetest.register_node("mcl_cherry_blossom:cherrywood", { + description = S("Cherry Wood Planks"), + _doc_items_longdesc = doc.sub.items.temp.build, + _doc_items_hidden = false, + tiles = {"mcl_cherry_blossom_planks.png"}, + stack_max = 64, + is_ground_content = false, + groups = {handy=1,axey=1, flammable=3,wood=1,building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, + sounds = mcl_sounds.node_sound_wood_defaults(), + _mcl_blast_resistance = 3, + _mcl_hardness = 2, +}) + +-- Leaves +local stick_chances = {50, 45, 30, 35, 10} +local sapling_chances = {20, 16, 12, 10} + +local function get_drops(fortune_level) + local drop = { + max_items = 1, + items = { + { + items = {"mcl_cherry_blossom:cherrysapling"}, + rarity = sapling_chances[fortune_level + 1] or sapling_chances[fortune_level] + }, + { + items = {"mcl_core:stick 1"}, + rarity = stick_chances[fortune_level + 1] + }, + { + items = {"mcl_core:stick 2"}, + rarity = stick_chances[fortune_level + 1] + }, + } + } + return drop +end + +local l_def = { + description = S("Cherry Leaves"), + _doc_items_longdesc = S("Cherry blossom leaves are grown from cherry blossom trees."), + _doc_items_hidden = false, + drawtype = "allfaces_optional", + waving = 2, + tiles = {"mcl_cherry_blossom_leaves.png"}, + color = color, + paramtype = "light", + stack_max = 64, + groups = { + handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, + flammable = 2, fire_encouragement = 30, fire_flammability = 60, + leaves = 1, deco_block = 1, compostability = 30 + }, + drop = get_drops(0), + _mcl_shears_drop = true, + sounds = mcl_sounds.node_sound_leaves_defaults(), + _mcl_blast_resistance = 0.2, + _mcl_hardness = 0.2, + _mcl_silk_touch_drop = true, + _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, + after_place_node = function(pos) + mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. + end, + } + +minetest.register_node("mcl_cherry_blossom:cherryleaves", l_def) + +local o_def = table.copy(l_def) +o_def._doc_items_create_entry = false +o_def.groups.not_in_creative_inventory = 1 +o_def.groups.orphan_leaves = 1 +o_def._mcl_shears_drop = {"mcl_cherry_blossom:cherryleaves"} +o_def._mcl_silk_touch_drop = {"mcl_cherry_blossom:cherryleaves"} + +minetest.register_node("mcl_cherry_blossom:cherryleaves" .. "_orphan", o_def) + +-- Sapling +minetest.register_node("mcl_cherry_blossom:cherrysapling", { + description = S("Cherry Sapling"), + _tt_help = tt_help, + _doc_items_longdesc = S("Cherry blossom sapling can be planted to grow cherry trees"), + _doc_items_hidden = false, + drawtype = "plantlike", + waving = 1, + visual_scale = 1.0, + tiles = {"mcl_cherry_blossom_sapling.png"}, + inventory_image = "mcl_cherry_blossom_sapling.png", + wield_image = "mcl_cherry_blossom_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16} + }, + stack_max = 64, + groups = { + plant = 1, sapling = 1, attached_node = 1, + deco_block = 1, dig_immediate = 3, dig_by_water = 1, dig_by_piston = 1, + destroy_by_lava_flow = 1, compostability = 30 + }, + sounds = mcl_sounds.node_sound_leaves_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_int("stage", 0) + end, + on_place = mcl_util.generate_on_place_plant_function(function(pos, node) + local node_below = minetest.get_node_or_nil({x=pos.x,y=pos.y-1,z=pos.z}) + if not node_below then return false end + local nn = node_below.name + return minetest.get_item_group(nn, "grass_block") == 1 or + nn == "mcl_core:podzol" or nn == "mcl_core:podzol_snow" or + nn == "mcl_core:dirt" or nn == "mcl_core:mycelium" or nn == "mcl_core:coarse_dirt" + end), + node_placement_prediction = "", + _mcl_blast_resistance = 0, + _mcl_hardness = 0, +}) + +-- Crafting +minetest.register_craft({ + output = "mcl_cherry_blossom:cherrytree_bark 3", + recipe = { + { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, + { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, + } +}) + +minetest.register_craft({ + output = "mcl_cherry_blossom:stripped_cherrytree_bark 3", + recipe = { + { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, + { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, + } +}) + +minetest.register_craft({ + output = "mcl_cherry_blossom:cherrywood 4", + recipe = { + {"mcl_cherry_blossom:cherrytree"}, + } +}) diff --git a/mods/ITEMS/mcl_cherry_blossom/mod.conf b/mods/ITEMS/mcl_cherry_blossom/mod.conf new file mode 100644 index 0000000000..7b7f3ac3a5 --- /dev/null +++ b/mods/ITEMS/mcl_cherry_blossom/mod.conf @@ -0,0 +1,3 @@ +title = mcl_cherry_blossom +author = PrairieWind +depends = mcl_sounds, mcl_util, mcl_core \ No newline at end of file diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_leaves.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..a40244bd27488736dfdb2338e2130b3f0b239cd4 GIT binary patch literal 2609 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 T0Mb*F00000NkvXXu0mjfr2p$+ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log.png new file mode 100644 index 0000000000000000000000000000000000000000..da46986503525d350fb64e209f0f2021bccb00a6 GIT binary patch literal 5640 zcmeHKc~p#T8=p3cQZJFbsWH)}*{9hwDl=`8_CzJKJTpyZshMe-7Lt-SEhHrLDw4L> zR*?`QLbetWZI&WbQd#mnQ`yeSO4Mzu>J9yQSH&sROKRqK54}qw-M|k>3-05M^V3Cl`#B*^ zpas0pB-ma`FVROE0VYY*jHhFp;y2&Fw8l?;Oz+~Ep<{X(abp%k<($+|=jO3jW4@Nh zS7}Sl2ieyUmA>_D3clx?TJ9UErBRgC6xE(2RJ9m-F6=gS8B{vKE-SsBcUxsADerlx z*xpH&(BiwjP0yfNqX%mSA2P0=c_pRn5(GQp>f|lXdX*8$Zr#A=O zuy_!h2V3<{Zj1Pq9yzJJ1--r3|kKbPV6xSJmvwTcb zHF>uIh!f4tYOP|BNuigUSHap?JLg;EklviZ((R0arsV$KeZxyfUU>X%vw4b6la}1vvZZUkQIJwo#mnjU19Puv6q>y-4)Pfq zbG6yI@+4!*g%(wXkbni&HsV^I+QN&oPbWQ?X%p?OyE3S@*wt2D^}1d0lKCyVuM@nx z$8-c&>QxA1Wp#U|we6~_?s^}$rtqq(AYlkm?C5WP23c}2E|xS67f)6RaBF#JwlZVQ z@PZDPpvpr_?cYNGy1Oua$~vsn>v&;gqX4#%d?hc?YGJq;`2hY5BKjGIJ@^8sZ(~hB-zf6AG$+rX#WNs zwPQSF#-%E?w9}o`tp!Bd+I6@5)Aqbd#K1jV&Yklcx+Qhe)mWk;NX;Hzw;u>t9SOWl z_ggc6+qHuJl+Hp}&dc~Yxm0%GE(7=Z!-hKjdVLwEngc&{E2I`&K6meu zH}OB4-;J1?wAy{EGO{hNdZ(gwU$QrwdZ+1Ojn_c$oY;zc1abVc6s+Z3)4#T7KK2M_ zB$2ZXHu$GLtK0Z$n`WxWWqU4^-}}t_7}{WO#hqr7up>f!%M<-rs3 z%eGA2@`L&sH&1Bme6c4VSYF$5O*KHv%0=OdliMuod4u%3?3jCkqAkGJD>?tL(b zk5(}BF*J#cCO?5d6yms4s;eWF`n9@(H8p2L2F2l$wO(z2$06A4Kb9mAX-CfZXw44E zG@DbijJx<`?>bSB4vy>K?x&~HygAk&*=wo}$A7+`ip^W4%Z;^;cWjq`3UCknqpK#w z>Tz4-qiUtNh&_eutID}SSs5v|wJW4v>Svc(8*D)NOqUwt12HeMw3X&1g5p2^JKKK@ta>2Kq zkMjyLQ^-fqSwaSYknw}Tw;=>#X(bD$GuHzWCn3zSHL$w*{aSQsJ%#D;Q;2@V<{W{SAM60T4Hm2=V=!cYkX1_Q^TU;X0;J3D`) z7lG7J2*@%f`|HJR5*BFnBy1N5m80 zL^PWXXENz50-DYu5wXM{s2l}i30=Sh&)%**FZG zh(|LS3@i~(qBDP>a1n9AtfcdP^h!>}0;xyC8pr_m($tVmNP4Glx$ygE@XR#QK zCZm493t3!t`2Rx7w-3~EV$mJAVsQTO@vezIuf^;3y3IyJUD6axz$?ykdNf z))M(&dRUGFekd`Z-9#T)y1+_^{8kDl^^zBzfAKfD4*%i|AocG_eo5coa{ZR;mlXIV z@bB#UE!Qt8@Jry|+4X;uYufk26d(Y7MD`y^a6zb!!bFN+;T1zq98j5_O z^r2&8u4zp>b4E7_szI4SFwzJxQ=+;NTch~+|9Gq3YhQq*ETW) zwxU~y+GwA5Rir(PI<*^XI2Cdy@@Du#lSH6+f7M3ym_=PV?wnyQW08Jmrs-W#w9jkJ z8<%=U&dg0aU0POe`=b z{)2pR)!Jf*qmhU82f0s66f?d0n)dE7C1z0^YoHZR$8rPelGH;Yj?hLj(~_FTqKZyy ub`keoyjN3@HYiA1vA|>Gorh(}m=ab!|Io60<#_p#*3ot)t#sMC&Hn+1Z?N(J literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_stripped.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_stripped.png new file mode 100644 index 0000000000000000000000000000000000000000..895552531c31698b1de0e9b90cfac23dd599eade GIT binary patch literal 5854 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 G-1RROye10( literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top.png new file mode 100644 index 0000000000000000000000000000000000000000..31c90a72e4d6a4076d73f57c6c02348fbcefe56d GIT binary patch literal 5822 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 York-hJ9ir8D2~aVuHLi?=S|!G4WGaBYXATM literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top_stripped.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top_stripped.png new file mode 100644 index 0000000000000000000000000000000000000000..f9891a33b64582c7f2ac8aab39ad684a35603403 GIT binary patch literal 954 zcmV;r14aCaP)EX>4Tx04R}tkv&MmKpe$iQ>7vm5j%)DM5wx05EXHhDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRsYF$_!0)Z?keG(5-GJ$!tlrLml zRyc2QR?Ah^yeEHQFsH4gxK48jF)SgD1VqTFqJ%OmL}=AWF_EPGsE2>h@h8Y7ldA+q zjs;YpLUR1zfAG6oGe0%yCIzEF=ZkHBi~xaMpi#5!?_=9;oB;l3;7V)xD|KM@lk{3k z3m*Z!+rY(jOOyA2%N=0gNtX=Ck^D4;d>(i|qi@Or{kK5(n%i4*AEysMnz~xP0S*p< z(E??!d%U}=y|;hQH2eDjbog?pjUg2v00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=K>J|86$5K?gRh;0k=s+K~y-)ZIjz_(=ZT*zm;Ug zf!OUdVOm;vD(-n*-lG#JZ4(9(>d3Msaba7nTRh|Oth|T+u##_Iza#`i6sjngJtD(L zYf_Am(hwU1KIso)yfmy!G$@#o2(Pc@0JY*C@0;m~fr8(VgG4EF_Z$4*Q zr|(-t6pIg+lvmd?x@HnamnHqFp*X*w+1{dxBI^LqpPB*kO9YGvCdgAGWejFj5xvhv z{qca`?+~T3&|>tQ!X!}cK2D3?W2!pG(?HQ?uO{oluCpnY_ID zl&uvJ?0S>m^6DB>)q{vB%_#s`alKgNeVA+%rEougJfjpriBc$Q3C>}v8h~bdOK987 zH#kRdj`r~(ZzVvA5%Zd>U2o83ndAQNk@E5*#Q0X=<_VKRn27|?9}k$S#;!MXhd;Rc zJItz@IW-M6G4$w3)s%>BOA0-~xo0FPN+>@&)c^nh literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_planks.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..874f7913b52f978da8a58c20fb5a4b6740bb28dc GIT binary patch literal 5856 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 STBMq6WI$j4X Date: Fri, 28 Apr 2023 12:01:44 -0600 Subject: [PATCH 02/15] Move textures out of the mcl_cherry_blossom mod --- .../mcl_cherry_blossom_log_top_stripped.png | Bin 954 -> 0 bytes .../mcl_cherry_blossom_leaves.png | Bin 2609 -> 2451 bytes .../mcl_cherry_blossom_log.png | Bin 5640 -> 5467 bytes .../mcl_cherry_blossom_log_stripped.png | Bin 5854 -> 5842 bytes .../mcl_cherry_blossom_log_top.png | Bin 5822 -> 5590 bytes .../mcl_cherry_blossom_log_top_stripped.png | Bin 0 -> 770 bytes .../mcl_cherry_blossom_planks.png | Bin 5856 -> 5732 bytes .../mcl_cherry_blossom_sapling.png | Bin 5901 -> 5715 bytes 8 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top_stripped.png rename {mods/ITEMS/mcl_cherry_blossom/textures => textures}/mcl_cherry_blossom_leaves.png (78%) rename {mods/ITEMS/mcl_cherry_blossom/textures => textures}/mcl_cherry_blossom_log.png (92%) rename {mods/ITEMS/mcl_cherry_blossom/textures => textures}/mcl_cherry_blossom_log_stripped.png (91%) rename {mods/ITEMS/mcl_cherry_blossom/textures => textures}/mcl_cherry_blossom_log_top.png (91%) create mode 100644 textures/mcl_cherry_blossom_log_top_stripped.png rename {mods/ITEMS/mcl_cherry_blossom/textures => textures}/mcl_cherry_blossom_planks.png (92%) rename {mods/ITEMS/mcl_cherry_blossom/textures => textures}/mcl_cherry_blossom_sapling.png (91%) diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top_stripped.png b/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log_top_stripped.png deleted file mode 100644 index f9891a33b64582c7f2ac8aab39ad684a35603403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmV;r14aCaP)EX>4Tx04R}tkv&MmKpe$iQ>7vm5j%)DM5wx05EXHhDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRsYF$_!0)Z?keG(5-GJ$!tlrLml zRyc2QR?Ah^yeEHQFsH4gxK48jF)SgD1VqTFqJ%OmL}=AWF_EPGsE2>h@h8Y7ldA+q zjs;YpLUR1zfAG6oGe0%yCIzEF=ZkHBi~xaMpi#5!?_=9;oB;l3;7V)xD|KM@lk{3k z3m*Z!+rY(jOOyA2%N=0gNtX=Ck^D4;d>(i|qi@Or{kK5(n%i4*AEysMnz~xP0S*p< z(E??!d%U}=y|;hQH2eDjbog?pjUg2v00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=K>J|86$5K?gRh;0k=s+K~y-)ZIjz_(=ZT*zm;Ug zf!OUdVOm;vD(-n*-lG#JZ4(9(>d3Msaba7nTRh|Oth|T+u##_Iza#`i6sjngJtD(L zYf_Am(hwU1KIso)yfmy!G$@#o2(Pc@0JY*C@0;m~fr8(VgG4EF_Z$4*Q zr|(-t6pIg+lvmd?x@HnamnHqFp*X*w+1{dxBI^LqpPB*kO9YGvCdgAGWejFj5xvhv z{qca`?+~T3&|>tQ!X!}cK2D3?W2!pG(?HQ?uO{oluCpnY_ID zl&uvJ?0S>m^6DB>)q{vB%_#s`alKgNeVA+%rEougJfjpriBc$Q3C>}v8h~bdOK987 zH#kRdj`r~(ZzVvA5%Zd>U2o83ndAQNk@E5*#Q0X=<_VKRn27|?9}k$S#;!MXhd;Rc zJItz@IW-M6G4$w3)s%>BOA0-~xo0FPN+>@&)c^nh diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_leaves.png b/textures/mcl_cherry_blossom_leaves.png similarity index 78% rename from mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_leaves.png rename to textures/mcl_cherry_blossom_leaves.png index a40244bd27488736dfdb2338e2130b3f0b239cd4..5b47193a740ba8b41f2a8d4d08c696b4e3811635 100644 GIT binary patch delta 283 zcmdleGFfAzN+nF;WH^I zPx$$t96$aeecsQ7hk(j#+>WaQ&EqNw@(X5QWMXDvVPog!i_Q1w0E#judAqxCWnB0Y z2ITa5x;TbNNU|PmWISZR!|ceK!M#m*@3;7A_13)W_KDXmUoG+QEvvI%%EG+%M*fN0 zmnx}8@N`W-GT~{i;hdPI;#;lqTD^)jxhw6B^CGR?V&B9>`R5#ee+r-+awsy>uy zPJ~&&Fbi132}NWNSb;qqqF{pz=#M(TSX7m==s=PXky$$rkB3eVVAaEq?g83Q0|0QZ?z`V0*(lST{ZWS`oiGciEMXSZtlEDgA`G)Y6?sr^ z+GGc2-)&nkeVeHpEU?qpnuzR&qB6BX2kMs0^i|p3T9iq>n*;l!P7T(Yi0m#3R-h_U zpjsj6*>+(}ZK@qp>VGe?-hwt8EX@jhtd@+LZ)D~dak5ijy*B@^b!yF0cvMd}PgAl@ hpc|<_lfmp-p*2l51=|a2{sFEx+>zdP+)a~h2`0x)$h-gm diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log.png b/textures/mcl_cherry_blossom_log.png similarity index 92% rename from mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_log.png rename to textures/mcl_cherry_blossom_log.png index da46986503525d350fb64e209f0f2021bccb00a6..b43fb924094095156806bc8409db63132f132bfb 100644 GIT binary patch delta 182 zcmV;n07?IdEZZuO7zqRe0002(-QrTQA(|9_01{A4R7I0IFs4B^xJW$2S4+%pWz&Lr zoFL^g0001NNkl8e{n&SV)x^ z9LO;c0(n3nFX#jM;eMbg!Qf*Kf!L}+;6vn74-+E#_ra z`?dk#)*Ar6ZLElFcj0tAcRc_A8M|kuD65(!D+1tly#SEy4!{@!uV$vmILams0MUERc_b)_WvrgNehh&nG--BkGZa|%SG?Ysvbj7-O{+rYDJ85DRm7xL$<$h%GHGEz3TlM zL!5@LzrT=jO_-|*8Y5}xewzwox;<>r;qb)icBF>`1DgeasC4{45Xz(qy&Zl00008ym) z*@7jvdbV;ez^gNDlRty zQRU^P$}3G(SDLG?v{YYdt-0D-d$kRS>aKM(TzijK(f zXA6CFeBX3%PRUeNw6fye!p6KHSGD2Inx+2)Wqv013RLasp0ezn*%AKBEh^jhaMWD6 zd&{|8X(>Nf&cmF))0YJ4Dp^bP<+S{c+45tRQR-W{Lz%bYpC6dC>M!&DU-^GEDt1@_ PeZ}DE>gTe~DWM4f*)Gyp4ER*H)Je5e39-ruU#V`T4?MBWoe=eEgX#A62uU|xTx zwi^3R3R3Jl0Fcgv!6=l(QWyaeBqN;DHV6XQI{<>^c>sWu5xONUlNgcLm95R|BH%ga z=TfcCT&v_cK>*;k!FKPEa*W%(=jCq|brIh0Z&=%v54f2N0Cdgwt2sDWInahr72$ZoLo@N~8A>G5WFcHX?XdwrSUd_3Et zB9}^cbWO(qz-$YE+inA}n6LPzCWPB=x1yosS(k4B6hZ*tQW?Y=PNqa4d1f&mLKH%O zv;dn0HVY)rddy!h7XWIxRK15s0H*7iu4l6Vz;&lglViEp3TxN;cJtVDz2+byg}ZqS zpfehGMq{n{B*}EWs>p2??B=mLi|#SMDsngKX75Sj<03QhZafzzO@3XS;b!#5N1aqB2bgxWCU(NK?0PMjW4PACzQXGC^WUnFrPsVFC3 j%f&VJEdX82d)uY(#Le(3S00000NkvXXu0mjfb?nSK diff --git a/textures/mcl_cherry_blossom_log_top_stripped.png b/textures/mcl_cherry_blossom_log_top_stripped.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae3c1a8447b381ef13e174dbf2fe103659ee33a GIT binary patch literal 770 zcmV+d1O5DoP)EX>4Tx04R}tkv&MmKpe$iQ>7vm5j%)DM5wx05EXHhDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRsYF$_!0)Z?keG(5-GJ$!tlrLml zRyc2QR?Ah^yeEHQFsH4gxK48jF)SgD1VqTFqJ%OmL}=AWF_EPGsE2>h@h8Y7ldA+q zjs;YpLUR1zfAG6oGe0%yCIzEF=ZkHBi~xaMpi#5!?_=9;oB;l3;7V)xD|KM@lk{3k z3m*Z!+rY(jOOyA2%N=0gNtX=Ck^D4;d>(i|qi@Or{kK5(n%i4*AEysMnz~xP0S*p< z(E??!d%U}=y|;hQH2eDjbog?pjUg2v00009a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~s5ds+_ZxikW0001BP)t-s$6iy%UsK3mRLEdd$Y52-VO7XsR>)#j$zoT@V^_&z zSjuHu%4S>2XI#r@UCU`+%V}TBYG2H2Va#n~&2D4OaAwYNXU=kH(tdT+gnQM6eAR}1 z)rNl7hkw?If&c&i^j3Ak00001VoOIv9|a8%y#N3Jm`OxIR2Ufr!BJ8KK?p>_2gNX} zKi>bEMy#XVG?;0aZop6v7c24$qhicgFnq@#pfn^4;n%^hq)P#H1h=19T zh})Kq-JX`;p_>2y{{vNX!vFvP0b)x>Ly{D6ti4`h;0R>4! zK~y-)g;L9I!Y~jVoNcfPO0Pty>Zfw$3%R2n$_1oaM1>k*`j4?7=A(hMCXg#}$zC_Ap&zgN^UZxn#?Lp2RxCER+Db^VL Y0fteAd7g!V-T(jq07*qoM6N<$g0^#@6951J diff --git a/mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_sapling.png b/textures/mcl_cherry_blossom_sapling.png similarity index 91% rename from mods/ITEMS/mcl_cherry_blossom/textures/mcl_cherry_blossom_sapling.png rename to textures/mcl_cherry_blossom_sapling.png index c9083a8cc5819a5926b0f186730c42ff0a03eeb4..478a17622492d245b0bf1d972f41440f682be87d 100644 GIT binary patch delta 250 zcmeCxyR0)of|G@rfq~)e-A6$i6&*w;7mEtjGZ+N;gt!7ltpv26Rc-m+bp(QdY@i5` z4Pm%5=>Zup+jf6F^9U%IT-_%K)WcO0zc+Uvb z;MRWk=%sBII-jq;X!&THKdnvVv-QE{M|QR4{kgQ)XX{Kk#iLcP-KzE#9eO#VsA{@j kL~&+mtIS#1-!dQBRkj*QuwOqD3^azp)78&qol`;+02{bw8~^|S delta 452 zcmcbt)2lZ@f|G-dfq_B(^Z&$+iVmXnY)RhkE(|Xj+8B1H_6R=*O0k!C`ns||XAO^}lXGei!&vUnU2!77l+ce>l(v6iJ6SOMW^A|i|40^&K zryQ!#nxrb0q*~D^vdvC7B;bkV{>1cH<@XGA8}ifk&9%S(X7c}jrCatD^7pTt4^^$7 zovQiv^4(*54m^KZvuhoz?3#^S`p2wH(sg%nUULw(Hz{nqs`mBu-#uZwcAHyGTzm1r zGI!Vc5lQW)CzhAC+j3qnezY`IW6O%E&!2eg{(AcDm7m+HbULiNr}?~FW^_mLMA2jI zyE8X)r6|vLs>!dAsOsG8!dkh{>p-J}*{6dC|4poqd^e+}(sc6llg*}&W#Z@jUE{Pd zzF46%U-Ng z@3y>z-SZCViRK+s4z@2bHz;F`x)S#J*>3ZH)q+3SYL|SQrgWH72N<{vp00i_>zopr r Date: Sun, 30 Apr 2023 15:18:53 -0600 Subject: [PATCH 03/15] Add Cherry Blossom Trees and Growth --- mods/ITEMS/mcl_cherry_blossom/crafting.lua | 23 ++ mods/ITEMS/mcl_cherry_blossom/growth.lua | 28 +++ mods/ITEMS/mcl_cherry_blossom/init.lua | 214 +----------------- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 187 +++++++++++++++ .../schematics/mcl_cherry_blossom_tree_1.mts | Bin 0 -> 160 bytes .../schematics/mcl_cherry_blossom_tree_2.mts | Bin 0 -> 186 bytes .../schematics/mcl_cherry_blossom_tree_3.mts | Bin 0 -> 227 bytes .../mcl_cherry_blossom_tree_beehive_1.mts | Bin 0 -> 185 bytes .../mcl_cherry_blossom_tree_beehive_2.mts | Bin 0 -> 217 bytes .../mcl_cherry_blossom_tree_beehive_3.mts | Bin 0 -> 254 bytes 10 files changed, 243 insertions(+), 209 deletions(-) create mode 100644 mods/ITEMS/mcl_cherry_blossom/crafting.lua create mode 100644 mods/ITEMS/mcl_cherry_blossom/growth.lua create mode 100644 mods/ITEMS/mcl_cherry_blossom/nodes.lua create mode 100644 mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_1.mts create mode 100644 mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_2.mts create mode 100644 mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_3.mts create mode 100644 mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_1.mts create mode 100644 mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_2.mts create mode 100644 mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_3.mts diff --git a/mods/ITEMS/mcl_cherry_blossom/crafting.lua b/mods/ITEMS/mcl_cherry_blossom/crafting.lua new file mode 100644 index 0000000000..df5ae96bea --- /dev/null +++ b/mods/ITEMS/mcl_cherry_blossom/crafting.lua @@ -0,0 +1,23 @@ +-- Crafting +minetest.register_craft({ + output = "mcl_cherry_blossom:cherrytree_bark 3", + recipe = { + { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, + { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, + } +}) + +minetest.register_craft({ + output = "mcl_cherry_blossom:stripped_cherrytree_bark 3", + recipe = { + { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, + { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, + } +}) + +minetest.register_craft({ + output = "mcl_cherry_blossom:cherrywood 4", + recipe = { + {"mcl_cherry_blossom:cherrytree"}, + } +}) diff --git a/mods/ITEMS/mcl_cherry_blossom/growth.lua b/mods/ITEMS/mcl_cherry_blossom/growth.lua new file mode 100644 index 0000000000..fdfdb0da8c --- /dev/null +++ b/mods/ITEMS/mcl_cherry_blossom/growth.lua @@ -0,0 +1,28 @@ +-- Tree Growth +-- TODO: Use better spawning behavior and wood api when wood api is finished. +function mcl_cherry_blossom.generate_cherry_tree(pos) + local pr = PseudoRandom(pos.x+pos.y+pos.z) + local r = pr:next(1,3) + local modpath = minetest.get_modpath("mcl_cherry_blossom") + local path = modpath.."/schematics/mcl_cherry_blossom_tree_"..tostring(r)..".mts" + if mcl_core.check_growth_width(pos,7,8) then + minetest.set_node(pos, {name = "air"}) + if r == 1 then + minetest.place_schematic({x = pos.x-2, y = pos.y, z = pos.z-2}, path, "random", nil, false) + elseif r == 2 then + minetest.place_schematic({x = pos.x-2, y = pos.y, z = pos.z-2}, path, nil, nil, false) + elseif r == 3 then + minetest.place_schematic({x = pos.x-3, y = pos.y, z = pos.z-3}, path, nil, nil, false) + end + end +end + +minetest.register_abm({ + label = "Cherry Tree Growth", + nodenames = "mcl_cherry_blossom:cherrysapling", + interval = 30, + chance = 5, + action = function(pos,node) + mcl_cherry_blossom.generate_cherry_tree(pos) + end, +}) diff --git a/mods/ITEMS/mcl_cherry_blossom/init.lua b/mods/ITEMS/mcl_cherry_blossom/init.lua index 1e6aed9f57..f80d198c34 100644 --- a/mods/ITEMS/mcl_cherry_blossom/init.lua +++ b/mods/ITEMS/mcl_cherry_blossom/init.lua @@ -1,210 +1,6 @@ -local S = minetest.get_translator(minetest.get_current_modname()) +mcl_cherry_blossom = {} +local modpath = minetest.get_modpath("mcl_cherry_blossom") --- Logs -minetest.register_node("mcl_cherry_blossom:cherrytree", { - description = S("Cherry Log"), - _doc_items_longdesc = S("The trunk of an cherry blossom tree."), - _doc_items_hidden = false, - tiles = {"mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - after_destruct = mcl_core.update_leaves, - stack_max = 64, - groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree", -}) - -minetest.register_node("mcl_cherry_blossom:stripped_cherrytree", { - description = S("Stripped Cherry Log"), - _doc_items_longdesc = S("The stripped trunk of an cherry blossom tree."), - _doc_items_hidden = false, - tiles = {"mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_stripped.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - stack_max = 64, - groups = {handy=1, axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, -}) - --- Bark -minetest.register_node("mcl_cherry_blossom:cherrytree_bark", { - description = S("Cherry Bark"), - _doc_items_longdesc = S("This is a decorative block surrounded by the bark of a tree trunk."), - tiles = {"mcl_cherry_blossom_log.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - stack_max = 64, - groups = {handy=1,axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - is_ground_content = false, - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree_bark", -}) - -minetest.register_node("mcl_cherry_blossom:stripped_cherrytree_bark", { - description = S("Stripped Cherry Wood"), - _doc_items_longdesc = S("The stripped wood of an cherry blossom tree."), - tiles = {"mcl_cherry_blossom_log_stripped.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - stack_max = 64, - groups = {handy=1, axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - is_ground_content = false, - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, -}) - ---Planks -minetest.register_node("mcl_cherry_blossom:cherrywood", { - description = S("Cherry Wood Planks"), - _doc_items_longdesc = doc.sub.items.temp.build, - _doc_items_hidden = false, - tiles = {"mcl_cherry_blossom_planks.png"}, - stack_max = 64, - is_ground_content = false, - groups = {handy=1,axey=1, flammable=3,wood=1,building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, - sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 3, - _mcl_hardness = 2, -}) - --- Leaves -local stick_chances = {50, 45, 30, 35, 10} -local sapling_chances = {20, 16, 12, 10} - -local function get_drops(fortune_level) - local drop = { - max_items = 1, - items = { - { - items = {"mcl_cherry_blossom:cherrysapling"}, - rarity = sapling_chances[fortune_level + 1] or sapling_chances[fortune_level] - }, - { - items = {"mcl_core:stick 1"}, - rarity = stick_chances[fortune_level + 1] - }, - { - items = {"mcl_core:stick 2"}, - rarity = stick_chances[fortune_level + 1] - }, - } - } - return drop -end - -local l_def = { - description = S("Cherry Leaves"), - _doc_items_longdesc = S("Cherry blossom leaves are grown from cherry blossom trees."), - _doc_items_hidden = false, - drawtype = "allfaces_optional", - waving = 2, - tiles = {"mcl_cherry_blossom_leaves.png"}, - color = color, - paramtype = "light", - stack_max = 64, - groups = { - handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, - flammable = 2, fire_encouragement = 30, fire_flammability = 60, - leaves = 1, deco_block = 1, compostability = 30 - }, - drop = get_drops(0), - _mcl_shears_drop = true, - sounds = mcl_sounds.node_sound_leaves_defaults(), - _mcl_blast_resistance = 0.2, - _mcl_hardness = 0.2, - _mcl_silk_touch_drop = true, - _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, - after_place_node = function(pos) - mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. - end, - } - -minetest.register_node("mcl_cherry_blossom:cherryleaves", l_def) - -local o_def = table.copy(l_def) -o_def._doc_items_create_entry = false -o_def.groups.not_in_creative_inventory = 1 -o_def.groups.orphan_leaves = 1 -o_def._mcl_shears_drop = {"mcl_cherry_blossom:cherryleaves"} -o_def._mcl_silk_touch_drop = {"mcl_cherry_blossom:cherryleaves"} - -minetest.register_node("mcl_cherry_blossom:cherryleaves" .. "_orphan", o_def) - --- Sapling -minetest.register_node("mcl_cherry_blossom:cherrysapling", { - description = S("Cherry Sapling"), - _tt_help = tt_help, - _doc_items_longdesc = S("Cherry blossom sapling can be planted to grow cherry trees"), - _doc_items_hidden = false, - drawtype = "plantlike", - waving = 1, - visual_scale = 1.0, - tiles = {"mcl_cherry_blossom_sapling.png"}, - inventory_image = "mcl_cherry_blossom_sapling.png", - wield_image = "mcl_cherry_blossom_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16} - }, - stack_max = 64, - groups = { - plant = 1, sapling = 1, attached_node = 1, - deco_block = 1, dig_immediate = 3, dig_by_water = 1, dig_by_piston = 1, - destroy_by_lava_flow = 1, compostability = 30 - }, - sounds = mcl_sounds.node_sound_leaves_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_int("stage", 0) - end, - on_place = mcl_util.generate_on_place_plant_function(function(pos, node) - local node_below = minetest.get_node_or_nil({x=pos.x,y=pos.y-1,z=pos.z}) - if not node_below then return false end - local nn = node_below.name - return minetest.get_item_group(nn, "grass_block") == 1 or - nn == "mcl_core:podzol" or nn == "mcl_core:podzol_snow" or - nn == "mcl_core:dirt" or nn == "mcl_core:mycelium" or nn == "mcl_core:coarse_dirt" - end), - node_placement_prediction = "", - _mcl_blast_resistance = 0, - _mcl_hardness = 0, -}) - --- Crafting -minetest.register_craft({ - output = "mcl_cherry_blossom:cherrytree_bark 3", - recipe = { - { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, - { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, - } -}) - -minetest.register_craft({ - output = "mcl_cherry_blossom:stripped_cherrytree_bark 3", - recipe = { - { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, - { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, - } -}) - -minetest.register_craft({ - output = "mcl_cherry_blossom:cherrywood 4", - recipe = { - {"mcl_cherry_blossom:cherrytree"}, - } -}) +dofile(modpath.."/nodes.lua") -- Load Nodes +dofile(modpath.."/crafting.lua") -- Load Crafting Recipes +dofile(modpath.."/growth.lua") -- Load Cherry Blossom Tree Growth diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua new file mode 100644 index 0000000000..563869afb1 --- /dev/null +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -0,0 +1,187 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +-- Logs +minetest.register_node("mcl_cherry_blossom:cherrytree", { + description = S("Cherry Log"), + _doc_items_longdesc = S("The trunk of an cherry blossom tree."), + _doc_items_hidden = false, + tiles = {"mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + after_destruct = mcl_core.update_leaves, + stack_max = 64, + groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree", +}) + +minetest.register_node("mcl_cherry_blossom:stripped_cherrytree", { + description = S("Stripped Cherry Log"), + _doc_items_longdesc = S("The stripped trunk of an cherry blossom tree."), + _doc_items_hidden = false, + tiles = {"mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_stripped.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + stack_max = 64, + groups = {handy=1, axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, +}) + +-- Bark +minetest.register_node("mcl_cherry_blossom:cherrytree_bark", { + description = S("Cherry Bark"), + _doc_items_longdesc = S("This is a decorative block surrounded by the bark of a tree trunk."), + tiles = {"mcl_cherry_blossom_log.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + stack_max = 64, + groups = {handy=1,axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + is_ground_content = false, + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree_bark", +}) + +minetest.register_node("mcl_cherry_blossom:stripped_cherrytree_bark", { + description = S("Stripped Cherry Wood"), + _doc_items_longdesc = S("The stripped wood of an cherry blossom tree."), + tiles = {"mcl_cherry_blossom_log_stripped.png"}, + paramtype2 = "facedir", + on_place = mcl_util.rotate_axis, + stack_max = 64, + groups = {handy=1, axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_wood_defaults(), + is_ground_content = false, + on_rotate = on_rotate, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, +}) + +--Planks +minetest.register_node("mcl_cherry_blossom:cherrywood", { + description = S("Cherry Wood Planks"), + _doc_items_longdesc = doc.sub.items.temp.build, + _doc_items_hidden = false, + tiles = {"mcl_cherry_blossom_planks.png"}, + stack_max = 64, + is_ground_content = false, + groups = {handy=1,axey=1, flammable=3,wood=1,building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, + sounds = mcl_sounds.node_sound_wood_defaults(), + _mcl_blast_resistance = 3, + _mcl_hardness = 2, +}) + +-- Leaves +local stick_chances = {50, 45, 30, 35, 10} +local sapling_chances = {20, 16, 12, 10} + +local function get_drops(fortune_level) + local drop = { + max_items = 1, + items = { + { + items = {"mcl_cherry_blossom:cherrysapling"}, + rarity = sapling_chances[fortune_level + 1] or sapling_chances[fortune_level] + }, + { + items = {"mcl_core:stick 1"}, + rarity = stick_chances[fortune_level + 1] + }, + { + items = {"mcl_core:stick 2"}, + rarity = stick_chances[fortune_level + 1] + }, + } + } + return drop +end + +local l_def = { + description = S("Cherry Leaves"), + _doc_items_longdesc = S("Cherry blossom leaves are grown from cherry blossom trees."), + _doc_items_hidden = false, + drawtype = "allfaces_optional", + waving = 2, + tiles = {"mcl_cherry_blossom_leaves.png"}, + color = color, + paramtype = "light", + stack_max = 64, + groups = { + handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, + flammable = 2, fire_encouragement = 30, fire_flammability = 60, + leaves = 1, deco_block = 1, compostability = 30 + }, + drop = get_drops(0), + _mcl_shears_drop = true, + sounds = mcl_sounds.node_sound_leaves_defaults(), + _mcl_blast_resistance = 0.2, + _mcl_hardness = 0.2, + _mcl_silk_touch_drop = true, + _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, + after_place_node = function(pos) + mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. + end, + } + +minetest.register_node("mcl_cherry_blossom:cherryleaves", l_def) + +local o_def = table.copy(l_def) +o_def._doc_items_create_entry = false +o_def.groups.not_in_creative_inventory = 1 +o_def.groups.orphan_leaves = 1 +o_def._mcl_shears_drop = {"mcl_cherry_blossom:cherryleaves"} +o_def._mcl_silk_touch_drop = {"mcl_cherry_blossom:cherryleaves"} + +minetest.register_node("mcl_cherry_blossom:cherryleaves" .. "_orphan", o_def) + +-- Sapling +minetest.register_node("mcl_cherry_blossom:cherrysapling", { + description = S("Cherry Sapling"), + _tt_help = tt_help, + _doc_items_longdesc = S("Cherry blossom sapling can be planted to grow cherry trees"), + _doc_items_hidden = false, + drawtype = "plantlike", + waving = 1, + visual_scale = 1.0, + tiles = {"mcl_cherry_blossom_sapling.png"}, + inventory_image = "mcl_cherry_blossom_sapling.png", + wield_image = "mcl_cherry_blossom_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16} + }, + stack_max = 64, + groups = { + plant = 1, sapling = 1, attached_node = 1, + deco_block = 1, dig_immediate = 3, dig_by_water = 1, dig_by_piston = 1, + destroy_by_lava_flow = 1, compostability = 30 + }, + sounds = mcl_sounds.node_sound_leaves_defaults(), + on_construct = function(pos) + --local meta = minetest.get_meta(pos) + --meta:set_int("stage", 0) + -- TODO Uncomment above when wood api is implemented with the current mcl_core tree growth code. + end, + on_place = mcl_util.generate_on_place_plant_function(function(pos, node) + local node_below = minetest.get_node_or_nil({x=pos.x,y=pos.y-1,z=pos.z}) + if not node_below then return false end + local nn = node_below.name + return minetest.get_item_group(nn, "grass_block") == 1 or + nn == "mcl_core:podzol" or nn == "mcl_core:podzol_snow" or + nn == "mcl_core:dirt" or nn == "mcl_core:mycelium" or nn == "mcl_core:coarse_dirt" + end), + node_placement_prediction = "", + _mcl_blast_resistance = 0, + _mcl_hardness = 0, +}) diff --git a/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_1.mts b/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..1b06acf8f182b7d975c4a0a345c72442c2577526 GIT binary patch literal 160 zcmeYb3HD`RVPIuoV_>ZZ0|sUW=ETe*2Kn6NocQF7)S{xw_@tct;^O>VD+o6yHL)zU zm_Zh&f|8=t)QUOD2?`t%oZ1H$HVg73>i8UJIhe$VD+o6yHL)zU zm_Zh&f|8=t)QUMvCj@dGP~dUymET>q&hE|?F_YKZ+&BauZH_t>R=`=@UTYbmeC6EE z$k-XTQYLpRR)J-j^PwKIvF>ZOfMzy}@0_7dXWWF@HU`p{MW3&+Aj- L#pkZdl$!$pi#|~# literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_3.mts b/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_3.mts new file mode 100644 index 0000000000000000000000000000000000000000..d436b47bc96ef1eb493ee4607eded5904487078f GIT binary patch literal 227 zcmeYb3HD`RVPIq6U|_F@0tRLV=ETe*2Kn6NocQF7)S{xw_@tct;^O>VD+o6yHL)zU zm_Zh&f|8=t)QUMZZ10at%F|&w4J~ufhJ~<<`sHieNDJQ?UI6v14!p%udEK4nB zkj1H>q$o9&K@=pNl$x562~=zaWW?vC7ME1aS?hO`i$Q_I`|pRpRqRr&OZY7v*{rv0 z6`2w(#~GD;rdf9JL6^U4G_5Xu)c^PH{C7(MPKIZ@&Z;r&sy%(~*w?QUPHp1*YslLL E0J1GgNB{r; literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_2.mts b/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_2.mts new file mode 100644 index 0000000000000000000000000000000000000000..67d17f34d63a5d716996fed734df447f23901dad GIT binary patch literal 217 zcmeYb3HD`RVPIuoXJD&`03eq+F|&w4J~ufhJ~<<`sHieNDJQ?UI6v14!p%udEK4nB zkj1H>q$o9&K@=pNl$x562~=zaWW?vC7ME1aSvskkt3iRsb*|(7+IriZcZ_*aRn3LX zmkV8&wkTfrc(2hmJ+tkW?VX}{-`SCGer>+L^vk}Z_2Qe)+|PKraN*N~)(k5puNf75 kV4ih@-Tg?%n?o*p0@73FJh7{p_kR)pw6)E09<$^X0PR*>@Bjb+ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_3.mts b/mods/ITEMS/mcl_cherry_blossom/schematics/mcl_cherry_blossom_tree_beehive_3.mts new file mode 100644 index 0000000000000000000000000000000000000000..87259971686591a4e8923a93c7dd9577f2fd1ed8 GIT binary patch literal 254 zcmeYb3HD`RVPIq6U|_F@0wA9`F|&w4J~ufhJ~<<`sHieNDJQ?UI6v14!p%udEK4nB zkj1H>q$o9&K@=pNl$x562~=zaWW?vC7ME1aSv%<>UxNaN>%?vI{-oF4)m)Uc>%@+{ z1>AfIOfni%uKL>vrF~oBCnq}NW~UEt*Z%q3(|@miYb>iRc$?*0)cd>K<~cL{|C#sh z-0|k}bN@4QoYe$H)46mXUcGrj=Dg>wYY9)4*}G>!0&YH5q%>>UskJiCJpZ literal 0 HcmV?d00001 From 74742f7fc8aa62274e0d124465dc7cb0966a015d Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sun, 30 Apr 2023 15:27:57 -0600 Subject: [PATCH 04/15] Add cherry sapling to dungeon loot temporarily --- mods/MAPGEN/mcl_dungeons/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/mods/MAPGEN/mcl_dungeons/init.lua b/mods/MAPGEN/mcl_dungeons/init.lua index 0997f51fdf..c115c35c35 100644 --- a/mods/MAPGEN/mcl_dungeons/init.lua +++ b/mods/MAPGEN/mcl_dungeons/init.lua @@ -89,6 +89,7 @@ local loottable = items = { { itemstring = "mcl_farming:wheat_item", weight = 20, amount_min = 1, amount_max = 4 }, { itemstring = "mcl_farming:bread", weight = 20 }, + { itemstring = "mcl_cherry_blossom:cherrysapling", weight = 15, amount_min = 1, amount_max = 4 }, -- FIXME: Remove when cherry blossom map generation is implemented. { itemstring = "mcl_core:coal_lump", weight = 15, amount_min = 1, amount_max = 4 }, { itemstring = "mesecons:redstone", weight = 15, amount_min = 1, amount_max = 4 }, { itemstring = "mcl_farming:beetroot_seeds", weight = 10, amount_min = 2, amount_max = 4 }, From 960f9adda81b68f230855fe2ec98aa8d1e0161a2 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sun, 30 Apr 2023 18:58:10 -0600 Subject: [PATCH 05/15] Add Remaining cherry nodes, textures, and cherry particles --- mods/ITEMS/mcl_cherry_blossom/crafting.lua | 73 +++++++++++++++-- mods/ITEMS/mcl_cherry_blossom/growth.lua | 28 +++++++ mods/ITEMS/mcl_cherry_blossom/mod.conf | 2 +- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 77 ++++++++++++++++++ textures/mcl_cherry_blossom_boat.png | Bin 0 -> 10234 bytes textures/mcl_cherry_blossom_boat_inv.png | Bin 0 -> 6124 bytes ...mcl_cherry_blossom_boat_with_chest_inv.png | Bin 0 -> 6270 bytes textures/mcl_cherry_blossom_door_bottom.png | Bin 0 -> 6537 bytes textures/mcl_cherry_blossom_door_inv.png | Bin 0 -> 6003 bytes .../mcl_cherry_blossom_door_side_bottom.png | Bin 0 -> 5688 bytes textures/mcl_cherry_blossom_door_side_top.png | Bin 0 -> 5680 bytes textures/mcl_cherry_blossom_door_top.png | Bin 0 -> 6554 bytes textures/mcl_cherry_blossom_particle.png | Bin 0 -> 4863 bytes textures/mcl_cherry_blossom_sign.png | Bin 0 -> 1559 bytes textures/mcl_cherry_blossom_sign_inv.png | Bin 0 -> 5667 bytes textures/mcl_cherry_blossom_trapdoor.png | Bin 0 -> 6232 bytes textures/mcl_cherry_blossom_trapdoor_side.png | Bin 0 -> 6013 bytes 17 files changed, 174 insertions(+), 6 deletions(-) create mode 100644 textures/mcl_cherry_blossom_boat.png create mode 100644 textures/mcl_cherry_blossom_boat_inv.png create mode 100644 textures/mcl_cherry_blossom_boat_with_chest_inv.png create mode 100644 textures/mcl_cherry_blossom_door_bottom.png create mode 100644 textures/mcl_cherry_blossom_door_inv.png create mode 100644 textures/mcl_cherry_blossom_door_side_bottom.png create mode 100644 textures/mcl_cherry_blossom_door_side_top.png create mode 100644 textures/mcl_cherry_blossom_door_top.png create mode 100644 textures/mcl_cherry_blossom_particle.png create mode 100644 textures/mcl_cherry_blossom_sign.png create mode 100644 textures/mcl_cherry_blossom_sign_inv.png create mode 100644 textures/mcl_cherry_blossom_trapdoor.png create mode 100644 textures/mcl_cherry_blossom_trapdoor_side.png diff --git a/mods/ITEMS/mcl_cherry_blossom/crafting.lua b/mods/ITEMS/mcl_cherry_blossom/crafting.lua index df5ae96bea..16f4016b29 100644 --- a/mods/ITEMS/mcl_cherry_blossom/crafting.lua +++ b/mods/ITEMS/mcl_cherry_blossom/crafting.lua @@ -1,23 +1,86 @@ -- Crafting +local planks = "mcl_cherry_blossom:cherrywood" +local logs = "mcl_cherry_blossom:cherrytree" +local stripped_logs = "mcl_cherry_blossom:stripped_cherrytree" + minetest.register_craft({ output = "mcl_cherry_blossom:cherrytree_bark 3", recipe = { - { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, - { "mcl_cherry_blossom:cherrytree", "mcl_cherry_blossom:cherrytree" }, + { logs, logs }, + { logs, logs }, } }) minetest.register_craft({ output = "mcl_cherry_blossom:stripped_cherrytree_bark 3", recipe = { - { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, - { "mcl_cherry_blossom:stripped_cherrytree", "mcl_cherry_blossom:stripped_cherrytree" }, + { stripped_logs, stripped_logs }, + { stripped_logs, stripped_logs }, } }) minetest.register_craft({ output = "mcl_cherry_blossom:cherrywood 4", recipe = { - {"mcl_cherry_blossom:cherrytree"}, + { logs }, } }) + +minetest.register_craft({ + output = "mcl_chery_blossom:cherrydoor 3", + recipe = { + {planks, planks}, + {planks, planks}, + {planks, planks} + } +}) + +minetest.register_craft({ + output = "mcl_cherry_blossom:cherrytrapdoor 2", + recipe = { + {planks, planks, planks}, + {planks, planks, planks}, + } +}) + +minetest.register_craft({ + output = "mcl_fences:cherry_fence 3", + recipe = { + {planks, "mcl_core:stick", planks}, + {planks, "mcl_core:stick", planks}, + } +}) +minetest.register_craft({ + output = "mcl_fences:cherry_fence_gate", + recipe = { + {"mcl_core:stick", planks, "mcl_core:stick"}, + {"mcl_core:stick", planks, "mcl_core:stick"}, + } +}) + +mcl_signs.register_sign_craft("mcl_cherry_blossom", "mcl_cherry_blossom:cherrywood", "cherrywood") + +-- Smelting +minetest.register_craft({ + type = "fuel", + recipe = "mcl_cherry_blossom:cherrydoor", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "mcl_cherry_blossom:cherrytrapdoor", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "mcl_cherry_blossom:pressure_plate_cherrywood_off", + burntime = 15 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "mesecons_button:button_cherrywood_off", + burntime = 5, +}) diff --git a/mods/ITEMS/mcl_cherry_blossom/growth.lua b/mods/ITEMS/mcl_cherry_blossom/growth.lua index fdfdb0da8c..def5745eef 100644 --- a/mods/ITEMS/mcl_cherry_blossom/growth.lua +++ b/mods/ITEMS/mcl_cherry_blossom/growth.lua @@ -26,3 +26,31 @@ minetest.register_abm({ mcl_cherry_blossom.generate_cherry_tree(pos) end, }) + +local cherry_particle = { + velocity = vector.new(0,0,0), + size = math.random(1.3,2.5), + texture = "mcl_cherry_blossom_particle.png", + collision_removal = false, +} + + +minetest.register_abm({ + label = "Cherry Blossom Particles", + nodenames = {"mcl_cherry_blossom:cherryleaves"}, + interval = 5, + chance = 10, + action = function(pos, node) + minetest.after(math.random(0.1,1.5),function() + local pt = table.copy(cherry_particle) + pt.acceleration = vector.new(0,0,0) + pt.collisiondetection = false + pt.pos = vector.offset(pos,math.random(-0.5,0.5),-0.51,math.random(-0.5,0.5)) + minetest.add_particle(pt) + pt.acceleration = vector.new(0,-1,0) + pt.collisiondetection = true + pt.expirationtime = math.random(1.2,4.5) + minetest.add_particle(pt) + end) + end +}) diff --git a/mods/ITEMS/mcl_cherry_blossom/mod.conf b/mods/ITEMS/mcl_cherry_blossom/mod.conf index 7b7f3ac3a5..2bac9fe344 100644 --- a/mods/ITEMS/mcl_cherry_blossom/mod.conf +++ b/mods/ITEMS/mcl_cherry_blossom/mod.conf @@ -1,3 +1,3 @@ title = mcl_cherry_blossom author = PrairieWind -depends = mcl_sounds, mcl_util, mcl_core \ No newline at end of file +depends = mcl_sounds, mcl_util, mcl_core, mcl_doors, mcl_stairs, mcl_signs, mcl_fences, mesecons_pressureplates, mesecons_button diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index 563869afb1..0be7597431 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -185,3 +185,80 @@ minetest.register_node("mcl_cherry_blossom:cherrysapling", { _mcl_blast_resistance = 0, _mcl_hardness = 0, }) + +-- Door and Trapdoor +mcl_doors:register_door("mcl_cherry_blossom:cherrydoor", { + description = S("Cherry Door"), + _doc_items_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal."), + _doc_items_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal."), + inventory_image = "mcl_cherry_blossom_door_inv.png", + groups = {handy=1,axey=1, material_wood=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + tiles_bottom = {"mcl_cherry_blossom_door_bottom.png", "mcl_cherry_blossom_door_side_bottom.png"}, + tiles_top = {"mcl_cherry_blossom_door_top.png", "mcl_cherry_blossom_door_side_top.png"}, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) + +mcl_doors:register_trapdoor("mcl_cherry_blossom:cherrytrapdoor", { + description = S("Cherry Trapdoor"), + _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), + _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), + tile_front = "mcl_cherry_blossom_trapdoor.png", + tile_side = "mcl_cherry_blossom_trapdoor_side.png", + wield_image = "mcl_cherry_blossom_trapdoor.png", + groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) + +-- Stairs and Slabs +mcl_stairs.register_stair("cherrywood", "mcl_cherry_blossom:cherrywood", + {handy=1,axey=1, flammable=3,wood_stairs=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, + {"mcl_cherry_blossom_planks.png"}, + S("Cherry Stairs"), + mcl_sounds.node_sound_wood_defaults(), 3, 2, + "woodlike") +mcl_stairs.register_slab("cherrywood", "mcl_cherry_blossom:cherrywood", + {handy=1,axey=1, flammable=3,wood_slab=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, + {"mcl_cherry_blossom_planks.png"}, + S("Cherry Slab"), + mcl_sounds.node_sound_wood_defaults(), 3, 2, + S("Double Cherry Slab")) + +-- Signs +mcl_signs.register_sign_custom("mcl_cherry_blossom", "cherrywood", + "mcl_cherry_blossom_sign.png", "#000000", + "mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", "Cherry Sign") + +-- Fences & Gates +mcl_fences.register_fence_and_fence_gate("cherry_fence", S("Cherry Fence"), S("Cherry Gate"), + "mcl_cherry_blossom_planks.png", {handy=1, axey=1, flammable=2, fence_wood=1, fire_encouragement=5, fire_flammability=20}, 2, 15, + {"group:fence_wood"}, mcl_sounds.node_sound_wood_defaults()) + +-- Redstone +mesecon.register_pressure_plate( + "mcl_cherry_blossom:pressure_plate_cherrywood", + S("Cherry Pressure Plate"), + {"mcl_cherry_blossom_planks.png"}, + {"mcl_cherry_blossom_planks.png"}, + "mcl_cherry_blossom_planks.png", + nil, + {{"mcl_cherry_blossom:cherrywood", "mcl_cherry_blossom:cherrywood"}}, + mcl_sounds.node_sound_wood_defaults(), + {axey=1, material_wood=1}, + nil, + S("A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.")) + +mesecon.register_button( + "cherrywood", + S("Cherry Button"), + "mcl_cherry_blossom_planks.png", + "mcl_cherry_blossom:cherrywood", + mcl_sounds.node_sound_wood_defaults(), + {material_wood=1,handy=1,axey=1}, + 1.5, + true, + S("A wooden button is a redstone component made out of wood which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1.5 seconds. Wooden buttons may also be pushed by arrows."), + "mesecons_button_push_wood") diff --git a/textures/mcl_cherry_blossom_boat.png b/textures/mcl_cherry_blossom_boat.png new file mode 100644 index 0000000000000000000000000000000000000000..9d79a9d87750f17ab604c73556703b58198c8a24 GIT binary patch literal 10234 zcmeHrXHZjJ*LFhhND-um(4{5R5PAm@2t}H-00BaW(0di6qkwdg-kTsD0ToeEI*2q8 zDS~trq<+D>&-cu{^US>OzdM%@JQkV=> zUi9RAxEr+I}O|9CeUF)$m z!6%ua`7d@cPn^!p^+QRTf=^CY_EJC8Ki-c%@66sj3VtKc%A>z#F{(RyxESO*=P>-$ z<`(;QQ-9vZt@|#NrDZOKyzM)LY-`2zf$g2YHizi55ug|xCU9wr0BT(x-9w6uU zL7;J!Mx_0<)Q)*URMgztu7tJvWB&QMHv&ckKj(BmIKNt)x>ta9m|Mzrg*@gGdV9C8 z3-A2s>iM@jLETsN_f3)|jcWKEC?($P4*isVke22xujr~9{?t?O82U&MNht)!pX5^%*k2X%)R*SlM;;# zZm>>t{`Yp25qsaei-w^<9mHEVVv zz5c;xeWHc$p@rXU(+O+PHfkn5f{lC1^?kF?*rRkE*{#7Z4tW7nr4w$%tqZ;@Kcu(2 zHg8YKq0eSFDVs9oOyB61o%Wv#Ix}ybImdnW7?W|}6o}0k^gpCUjLcx@)T_jUR%IMK z?bX|cz`1Kf_Z$+*rtW)ne&P3Hf6DNE=*&2PwEH}@_4J{=kpIRx1QRwqTi;}_qkQt} z{cH^Dgvq*`)DWkAhJ@z#ObbJ=*~9>w=~QaRwwv!hCVPFQhzfnjM@Ay+QvHmd>&xy_ zDKqXQO!d!9{Qc4Hwl|T90%*VP*a^sc89aZVJB-Uy{cW}6Pqt8#)6yp0_S8Gs+|@Iv z$*9`wA?+&6SCpt3OSb`&KwDxEtv>tb8p_m(_TG=a5~QzcYd=WDQ1C`H2o4I#vdq$* zbgE^)aa(w@mM!>DTI@%FZaqb{!B^^Kzt>u-G#|$+MM#y$CcWyYHUgMV8OxWOue5RM zO*6FI{Gk^Ao@BkoX1Sq}y;@(5Y4EPy*7}nsCSxo1t7(o4M(+)ne%_QC8!q}$ZghU# zHdXq1C?`LB>Jhl55kJFYt>6RSt7i4~ph_cJop16@nsR0;TB6r2Y{U(CS0>g~AFmEM z5Q};@UNdPViSd?{&et^(O2}%M0O%OMdLK#gtv=-t>OO zadsh=(6=-}ov&P2iNMljwJJKGg0ZCIh~7S}tzc*GpX7A&9)@(dwWpF}Pvr4o& zb2>TxjFh^M=T-pNGu~6GR;%h|T>-&!vy5kRxg6DH9i_9``B!Sal3zju9%WO<)Z7@- zkOr#ZAp|UQ%i_|Ws2Ag43aSxpD@5}^Yl@xLkQs>DtB(xvn zgwsyN157-5XVb_=G885SH_DITd>U`{sv>gb-RdZ2ZUTc%_cMB4W>64({?VaVshOjD zAZI@A{=QiWcfk~KEKt*QwR%VgZ0}M!H2VOYRbAUy`C^m9S4krz*|!on_Vg-q5hYrW zzjXw5fOGbZ$C)st;}sxq*zc30av*YYie$UECJuGfQ%44DSEVa3-c z!Wdg=wFAwz5Ce?7tM(jYQy9tDP0f$!Ym^#)Zu{vP5|aYMPqq!q*jNaq#Cq>p&f-Lw z(3MgW=@%GsmCBR0$DD;z=`3_ziCI;qg~ZHRIt|2DSl`--u>|P{Ci79J&H}0muEI4l zd>HbrBkoqSTG=HKRg_tj&eUR@3*F1W>-z;ky1Bxv1?UtX&HD0zpDdO&S}m}&qlSUyfsU+KwHw{ zO(FHxTfQ!}%qvPdRok`?b;Wx|igBR1=qG-@t;~?4VH}IA&eLEZGi#oFc0;uLIXr;h zLev5nhr=Q!o0Vb*2n^Q&UNo2UH+byY;ANm;{mS}nk>_Q#7S82flo{&FPnusHw2d`H zS5U#P>gg2q-cerqso)9xc)eNXv~Ci5%nm%p>jQd?`U*JT{EW*8WUX>5Km-okk%rRm z4w{wDW*#ZR0~ck@i4eK2BMd(g$^q?JjJ*WZc$$rU9U+y&or`=k=-n6PqYrCA7!$YP z<3#gO-F0rGEQiGuiAQ0)qWJpPh?@#Sb#lgQ32!?;Bq$AHlGXa54j1ay_yCd4g4#P{ zj`-BMOOOQ6jv}S-=h;h7nKqccW&rhVm9b^tSRcDJKa13(XGy8(w*ML1Ga z%HK4Nt=?q}rvnvum48^05HiAt(xH@@AVh{c{5{rZUP_;&pG}-LH*MD74AZzUDn68$ z36GM>q8aW2h1}>|t9@`rE`~?6x&q_^n+x6ivQNB}fQRE_?{Qv$plVXO!T61;Qb~}8 zQ?q4n*mdeaFf@d_nUB`F!BCSdfd;c3yOL^E+Um_iosw!U--Sk&_bV=MxGlc z6!$i`%ahnkHDRMt-{$xz!!4W|M1D;?w?}-%dc{bWIF%aB zDDDW(g$Bm>=)t|dYz@pdqqP-_(DQ{37j5YUZQYf8v7YIyeA*FO-AcyT87ny=SqfNZj|`P7ykzx8Or=EyD$?LDO{IT{e<; zyss^qa`GOZEc&F3gvG!0R3O~=5t;D^&wP*xqA9)uxiM=+7ZayX*fe5wlEzH>roHc* zl3t^8jggUY$+>sxz$>^CPJ@B=TGv_lAgjFib9Y8O-0Y9eM3sbPrRRI{P{|nkF`I-! z`5r+(G0MVmO`8382nz^eKs(czw)nI0RD0S&gNC0-#7u;xL|6(eVX3Ks#itP^tpkD|y~OP0e`=Mvc^Cq%f%Nq);xP=nyy zN(ouUEHQ(D3YQlL5YL_PSP$G=Fw%fn$YKgq6%oH4d50tCj-6&pC%1+eM^!{7@wi?<6Z$QLgWU#B1SXS%O0XtNrCmJ*{L zf-SbLZUBzTPMo-_mTz>tcaDnvXCY!G$@Fb*EwSt^cr>P}rvX+N2IUybL;-Tw1~QkJ zYh3*$%Dimm__a9CBhRd33v`xrr0YXOC(-?!Yh$YkQZH6{ZOB3hE1rkj;W8b0=60H0Y! zcGNXkQl2@H$W-7wa zxT&Adv;#CIc6v0uK9ROf?BwhN&ecZU!tz1Eose&7D0$cjVn*(=+STEfn&{<<*v4 zrKEnw#x<5?Laj}~RYAJHm^UytE#&aZgjKbLZe08j{4GbGB=IQF1+ibA+`|$k;qmdI ztg6MUCVU=Hc=}93Ch<-1^q{YPs1CpsS`6`#GCvB6`|!N|j4(Mu3@ zKH!5gPR{TFhPkIQj6-`1o@uk5#HX}oIG_5c(A_ngLIj+#i3(d6+7cl1I$b=jwI)`(Nnn%soM_U%DCl@HS# zsUJe?KljUPb;+NcUR)#6OROfkAe`rt(c*~LdKepT0O?F;Lnykh% z1?Cr42BqMuRMK%Um5L6ND_1?!uhaD@q4}FPti8U_i=j32&6)A1Bcs?7ZV}QuSg@Gm zEAHYxpM0S?s(RzpO5c%cxzAI6VLoWC8#g*IyVCw8UZGQFTB7QUo4&Wmx|9^y!l7hZ zLleuDFT`YCPRj-dcPH!$>|nx@S-BiUdU>daq4N!Kl5q|ag82t>o^e;XVvh3s=L$)w z<-II?eK;p+7YgIi(BRnH#~}J&oSnn(E>SLqf`H zOWJfWL{I_tWIUC@ilS%{0Tstd4QN`)Sw(Ev$R5ui*ZpcdwPbw5LM5-$k72u=w?*Z} zzi{IhE375Bh9v?bEDH4=Z|&I5y5#}R9X{T0{>krS{p0>OGc8g!VE1hA3m>ifhv9En ztUqc#AbXW|Di#yW>MvjH{u<}3RpBsa_BMvCoKhjD!>k8LK@l;EgQ^ee>a6Z=4I36a zIRSbfc~yu`UASV8MSRiN;|~+;4fDGSSUrUOksiWOA&9W6tMK0~ zFy5-ZSd!lz`i~YEL+mM%us#ao?&D>PQuRf-d2{@o!p`7J&FEckMKxShK#+7ABf)XHgeE`-MNpzOu%#8F6lK`}82h@cn*CN3ytCnhFn53!X( zN=b;@KqO#)qtNw2W2+MB@^`N;sqC;+l6K-qhy)ZSXd?lE3W|w{Km}n^c2Gg2h`pVZ z2m~StlMwkuWoHXlbN6yZV$+FsMLM8_J=`3AbzBM#S43#af<=TNf3+Z7klyxK1MD0? zyV<$>VgBkeM7yF4ypflBLM0?6#HA#~q{LxT5OFB3D zLI0XeAkeRA0Y}>Y76Jz8i?aLWCzk8CE?Y;Wn*$2Fe*9jrf3&0jLorA}vC4_qq6BTk z#IW@wE-4`h6M+}2_}}XKSFZm`f&U8pZ*~2z$wl(lW(wto zeFO5tZk4W7w0B{*Sp+s(>MDSX%Wq+K`F(5)v4@5!1^^(Xx%>eEIeFKxjfCEs+Ny+W zI8;D34r$86SuBh|Q$^9x|HGE~+Z0+=+OTn}H#dj31=@PI!4cusBS%!<*>*o=&=knz zdW@%Dp`l!lNFW}~y&D!!PeW;GSVUb6q9#(Lo&kwImL<0^m}d>N+^XKF+FqESnQ?t$ zspM);b6W1A=#~TXhez*@HXjJtGpvnxSq#ErTb~}6 zO>*Y?e@l8gf(r;whXMc|!B*z8uO0YoKRAzP1xX)QJ$LmBf64Kl@>2!ddSXqdn}`dG zva#TX&c{`&EpZ>kL!{kjgd9p1Kz&st5o>Ce_+Wz4RvSM36vk>zY)|MYUeV~VD`Cfcub&qH@ zlS0{J7a!WQ0&DS^_T;`*)ae&a7m?%*5bJmcX$wEfQ3f*u=`~phU3Fo=UY_cdM7Cbi1aM^LbI&G{}(A*K_ZS-)NF*h5Azt%R~CWUV@M| ztf*z3Jq#K%ZH&FHekH1kxYiowNXwWMSh6}5tVei0p>tv{C{=_z(X=#(xpu8Hk4uT( zg0_l@MOZsajMV_I48WQKGJ)6J^%6NP?$DQ`TO|Kp@#CYm58!@tq=K0YnnzjR6hC*n zmZO4+o)*x%6`d-V)bf)dpGV7}@d(zFS|s*`9Iy|O%bvxKzgQ1<8mI3;;FcsR!tGNj zPQYyLbW_G%|t+D z6xMApaoM9aZu}7?O~MzuId@Hqi4^8uJW6lR&_Rd&2^%d-wU|7yzqwb)IPj9rU* za7?Toh+~ylp0MF$T_~i#=Z}}X$Pd$GfctM-gTxz_15=xNnrSA?0M(&{2BaBEe-iKxVOGg>|0O<21RTN_fc56catPdBdrK)>#jT#Ptc!gZ`?jyhV3vY!TM zJg&M~NPLbBgU=RxdUsqU2HyogVsQD|odf1g_Xcl*`7h(;_s((EjT1X6X-4{~*x4p! z#c_4AG*4$8xf@8hk?%`Y)0R&%JaqlYt36eKs6%Tg&#wPnH@SF{-3CNfGJ^>e5^)P@ z`4SJO+5uq^kI2{6X4*hokK9gAXpG<6TA8fe3A}z0dMMbS$oA>v&{t;uYjiX3JX%D5 zp2fE6tM(zsSN_|19WVPTI=7GZqFdEtmDbS0^_lSP{_6UK>8Qmp+^|PH%s&S^ceGb6 zV=qE~zKTl+>?@aGmxR3l@5AJycY@O~t#u)?G*vUoIw!}a2@Ih?z!kOhei5myqH-%( z<}-uc&Vznl$F6o|t$q!ckq3!oJumxR%iDcVyG_{IkVGyayiQj$HU?sx>zQeO%Jqcl z9?%Kbw8d}ragC{D_@+!Hz43{l4LCdZ=oXWzYswgY>YsZXm%a*4G0ll0ERt<$AEz+h6WD&IY$MMT7b@wjB zR?+vwx_KH@t3B+R4Ufv3%*&wMgB8k@@C5}y3ZH58(Ew{dJZ4pA>Br0Iu%SDx?)|4) z!q0YpXv6l-36tUll8HBS8I@ntEv}>PY~H%ykJ}EM2|H<;<%!cyr&|I3h`O2UaCGot zl8j?S0G{oePFRREI7?v9mP012otWOE-IYo9nPst#O5%z4s7a^rRooe73(0DYc74o~ zS`=ryCfvJxKrhn5bA_10?8;7dfdUO>_!0fJ`>c~=chZOp)Rhs>3`{Rh>TfJq8wKv2 z2?XK*3w!CdvA|n1{WF+PT2gg{*~0RCc{I|tXk!pddry_E_ z`+!VBM;XeIBe2KQeSpyqDN1Y9J+(=>b8Id-^R^s!+X8>oN@%4od5$08J|1&^fdvUr rTEB?D%5PL-(rEJ^ZeGi!UI0xc9t;ol+&96#Bmp#4byVtQyoV z7JE;gFlzz^gPF|n@d!eHjkKR}-=N>tFW!R~jKPA0kfq8XP=%Grr2-@x#wz1wFcwxL z0t`ld_3rnaiaWNGdK8&X>r#!C59KdvRvrpdKV%3`7iG0QPgrv5{*7T}T~v`i z=VvqIir$-8tfqYB4KuO3gF}VUqfoQsxGK?_s&$pyW8akCiXUH7UUhv@+bhcLdhn5x z@AVtun1m&*O_%BOPxkYxnsuz4=>_}#MzSDn-WRRPk$i_~v?;ha?N*@mAx+NKh@~u( zq^FF&XjW}W|F@0rDy`p6ZW4yhfBD_^pCnBu2i8A1;*j8;Jd|+w>izs*GVeGP4kQK+ z2JK6UpE*Abp~)_|mv~QFa5cueJF}D!SsrosAJr2*D+&*6E%wb|AG>0{P}X)uU{_sn z*}VB^aD8}Xs$sIEyF+}laoaTi?VMUDarJJ59?{@0n$WzB)M=92w&(rM<8PiC*5!m? zH7_F#P93z2JiDpBTg{s_WA{ndZR7isPOV)3{Wt4@0ILNiI?)jeD_V<9`se1816vO% zcLyBTbvQDA!RJ6Yxo-!r`)=lqPe*)|ZfHiBX)*tn2V%g_?TM%x1H>cqYXJ)~YSsT~7b~XBz?6ilb z7q72z?!BNtcxLDD0)-%8kbCds^MQN&SX1QP^|muH&KtDxg}ryA;e6+1v#WKDnHyD=N6Kh z*X8$YHgx1*{0`zhRe2gVxHm9jgR-vbUfbG`g2=h|RE3WR&L#|R+kHE*`gyM1!}99O z^QPIfuj4NFU2!X^hQYljZ@w$)$mISC4-b)av9(PZof>#mbW3yl1}-A_;oHEWvq8b( ziWQeC!d5IQXunjJzaw_Hnrdf1WkdQaR<~ybjpR+FSB4aN*r3KjmS|#8t7ZJ>4>9yu9nUsDXuOsw}p%riT zRN8tq-8|iQtI|fiZAqS zY;d0c*q3q@AD3pI!b3!5ygAjAUkmPJn{K6PNiYRGyrFMnQqdojBF?xS#ennj-Rs5s);El>B zd$G52hL7`S)b!I{wusJiwz~({PE6-HhhuN)@JZ%gCFY9g~_i4^dNBTdAFkrT@?!KJGG@e=SU5T{6`rU$gwA&Xg%@+jQZ>i6?3g z)E!U$mHPIrj`Fpus8%t5J4^#gPM&3h+!p&Rg0q~ z3bxu2H-gJX+gdRZhaFK-iX3rExdB*rsT{^q2~+|J@2N)O0G!hVtb?2{U_QG#l`L@`GTF^b^S|~!$ zX8~dmtdPdaA=onxmMG_ph2TS<>}9d?=#g;v5D|`s#i*(Rot6CAl-?X}z$XhW1wuqD z8?i#k{!CMe2>u}JGvBl$BjJp71U3JJ`O>$NEAv?0>N4+6r6ydI1DC@ z&fqZsJWW6a@KlO`fd>Hyz%y9@Q$P|hcrcSS2I4z8f>tFMJ=QBN6d#46F~}4apUK2i z00A9O1;{8AnGfM%0f|MWf)Jg?ppQWDA-0!PE(XzbB4SVo6J-+N$bgn`wrc>#5eE=R ze@FtNL8SmSK-T~w;Y(GDKZZgOF&wM}wS1E43_6WPXHi&G5}8IDV;>636=*GLQOP6% z1sE~cCWeiMgHj7>D-{J8k)zSD-Q_T-l*&V-(r8DV)+wyk^3yOET~K^b33`A^7zHH( z6gCN9lNljofDNDx<{~ngO&X&w&5K3Ip*r28NWbpH4e(de2AhGRy1qupp^ zWHDi}Bg=vfLZcxlz&Myc;wOqVIs`?55+RK4A0G<#qa68@V&L&03Y9^l;RO(rfv568 zGM*_Q^YI`AFj%OF#Q>ns(G^mGQU%IkS0TzH$`x9mBV1u^Kcs5G=lZHBSeplwGCT>u zqm+@DYzmW2rs9ZyeRzDdmgx)@84sWhJe7x*DieTtcnS!@EINjieRwQ3 znZl;A{vYAd1R#?P!7v^o)6m@jV1alh6J;3!X#fcX02Yt&zs}x=g8vkr15vx*f2>sp z;=fh%sKS^70?qoU3_WF5Swh+B3eG( zVEV7hKGvY>qUvHz|KZ2ahAPz>ja`}3tCHTq+MPuT^*M(LJBEB;$(@;m(A4}VjfyH< zgs%+kQLnkuCe3VVH#^YgK@)i#CYGkT{=5(PvHdsVa@&R_&F#6HdK_oHHN1mcmI()@ zcdjzc_I@xgE@OvhmiOYrIXykNg!uUuIVT%{*|LPBm&Y_&4-e^K*EN|`B`0zpCm!q! zKX`9`jgL`%ip=56s$&^RQ>E%C(RB5*OQ@9ycZ>_v~;J5t32l4qlmBv;>u=)0_RT*fMD3#0L#5HDm z4=^=8txE4Ay}YLyk1qcgB0V>sU;HrvE%z%fUA&U|yxqDiH~B>Ou=HFqZ`aO<%15`G S79eO!FdWat9*5i_*Zm8OwnJwC literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_boat_with_chest_inv.png b/textures/mcl_cherry_blossom_boat_with_chest_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..39f648f5e0bc3db5cad98105d83da13e21da984a GIT binary patch literal 6270 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 RJQvC+%+1N2Ugp5u`7bt4e53#X literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_door_bottom.png b/textures/mcl_cherry_blossom_door_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..9c99a8ed38db0d926b878b63977dccf8596b2f5e GIT binary patch literal 6537 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 literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_door_inv.png b/textures/mcl_cherry_blossom_door_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..fec36f0e58d2cceab5164656d7a330f81c1c03e2 GIT binary patch literal 6003 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 literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_door_side_bottom.png b/textures/mcl_cherry_blossom_door_side_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..e9972feba900131b06eb942933b822e6d14bf2e9 GIT binary patch literal 5688 zcmeHKcT^Ku7Z0uiq5_I2DryK8EGd(o7z7Lv0@6`YRG4HY5JN~vLJLQ}F75yf`g6G?FzT-LH{%1}md2`>rzjyEN-gjqSgrmLH zB(0fRC=_ZE*V@t<`PWrmn(D~!+}=+h3N`L%u&bNG84N^AWfFnV2SzKlNMSS_Bov@f zL3QWdL;<}f6Neuz7L2!UH9E3;OG58!&m(3>!y4z=9n5LIdtaSzl&P3+A*#C>k~gSf z7VyW+=P7%q?z;DI{!w~LO2F{jZL$8nxgM{c=FXzkXcWaH9e$qymL|4A-DIbg51UOM zT{bi9pBr00^xmRsleIc#O#A9}jG zVdwm!N1IXD+VFZdCt>aFwD7Jme`H|$Zml+%ygSoAYBAjPMBtu|N^TR-lkaSB>rAp~ zzdLSK>@`29=O)|?69eqQfQ8$@Q@K8u@0C?gU9xtUiQb`|eTg2OXY_*cXZAUGs7>#c zQavYj7U}Uke;o?QNYq|_;eK<=>RU;3H_cfT+fvK_ozB|sIwsC?!dTO~!?>w0*Py0@ zLLI_9Pt>^sL0XWpeBLf&{jspQm*2KfwYMjim|xa|oS=?N+ z(e#alVmcD6K3JX!KlSR~vhM9~s?Itr*BFl*&|NVx#iY}uD(+8yIIwvYa5mlLf<;Qk zg7S!iN!~+Koma&>m&_0eyep2KFpB9d3^V-eO{b<6>z%a~PBXDJ5`XG$^8CXaa&0)n z>8FY^DAf(=Mu*}>1$(9)&v_!VO7{mE{hQg*8@F~1^2CpaUJR*;vevadc%u8;bdkaS z9#@N$gn_~tn*27+-|kzejfvOrTJwN0r)*M%&&=!!lKD{Ky0k(A1I7N@KxQuKhQaKz zVSUMhyk$)TSIgoo8g=6SE~_W~(N(**1oDBONi*~zkBB%*uTx|e&wV_zNx$HHJIe-} z;S$yHXGNQ-V7hH~$}(z7_tj1-z4Yt3hJ%8giFz^-E;?0=v-6&?u6B6J$|E7+6y1yd zg`i97-gI%);HAUy)#J1DvyR;vq-13WXScjG{B8am+kA)e?dDVo(9907H5yaw@C+Gqp~*9DRw9BI9EG&wYGxxHDkL>)PuKeJ3USG zMnu%+9`30P?uls7Dz2#0i50X))zqcher(@&I_C3X~56(${ zZ99>xYuiM={_A_Skga?8TG6C-Ln)IJ;ZB1=vi=)J^iio`hwX7#;8KT>5_)`+2J2>FV<5e0 z^&9v4^4h#3`OFf^AKz*%S{ZdBl11De2Q+})sU$*7&%<=*sZ={Rr^NlB}toRP2c3dOfGTy`v{)PPpJ2S z=2z#~G(NpfVqdHYHq2`lZnoJnz2d4~VC(IdVQjzJ!r9p=Pr6b>%6v2)v>f{Og&{Cf9g6)kOvi$1CSUbRbMj=Lj7q15&W*=$EHoBgFlBaJy> z`vFtyJLZP>JY3Q^i?srD{lXnjERBq$+vxA}Je8%t-k*^Bj_v&@CiNO!D|4KN*|f9T zxQaaHHLYDO8sTU69ZcSLXy9gQC8lV1+m0L8`>$=)(0osHDUb3quU=}bA06?uA<`gd zPw1wxz+R(>xL{0v%+BWnd128P0-a8FZ2#+F)%kWi^#RM)b*E=d>tXi1JDnzPTBv;` zHdQxKFM6iJqSY$16nE1P$6WfR?BW4#`Q)&Od%Rht;xe1PHY|>zlk5Jsd(M?=J;zpT z&Mk@WZ^uvU$nGH52(>X$oOv<7YR*{glQeOH(|U^Ys#I^Y&S!I_AGopy?R6;Q`>e%| zMvNVA%my0IuRE3?J-7l$>b;j^ws+?(TxI&xzWz&Mnmy_hNt%}Z;V_fX%MCuC#)%3& zDQ;=aOM9^OR)==wr&Qa$?bbWuSDZrKNUWlDgci6biK<_p&y9Ypfo5;SHlj4bZdo6= zT*GRb?bH3bnN7;Uc2YL%Ewm1n!7jn}uKZvTp8;XamTR$sm61kbsIM^Qp*)L>FKIDv>6jQ6RDaAdiCL`pOlcFCSJy zA>cS6fYe5GV#8 zgcxKPz%nR2BH|5=hXn-?9ScBI9)Smt00xz!f`a(Wl@gg4MA9h~gI+LR>g%PNP!i6x zaO9d|h&aMGiK7pw5FiG~9uWFMl0f;lDOaHwc2R&zJ^?C?N}&+w1PXybq!Sq5l-9s9 zIZ}&CRDggZ5mhtF#4wR?5NbhXr6K?-IT8(%ErUUYMCK}y_?TjpPN9{SU#IPm4F!P; z&=OR@2q=L_ViJfSQ+#jG*9%7a$LE6mA{YKcF#vojkqi?V zSOI|qW64PUVCh6Yl1m1kM5O~{Dw#Ht!LR6Yi9itu%3upGghzxcq(D_%p-n!gYSH)J z1bV~DJRp=|2}Gn$U5Nk_`4Wg2{J$R_8Gz^n8VSTw0V)Ga7Vu##olm4;1w00iK_>HP zMCkt>o~j~_qof&EL_^+M*Ghaw5{>{(lGW$1| zK%;*y@ zROi`RS)#6>xTqD}d=G0xGG1!EPL4uN&{JM&sQ3f}M5v+Q+Ho|VkI|iIWUw`@Ckqh~ zxRw^K^iqDqs~7K@E8W7LEz>dEy_rKY{v{&x0r%Lxol|bzH8(P#cs>br`XwDgp&FRu VLar^YT#DGDxEy=S%oU!y{sUTTuF(Jh literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_door_side_top.png b/textures/mcl_cherry_blossom_door_side_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8381c5fa28f88cf1feda374a15edfa26ef392d42 GIT binary patch literal 5680 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 P$P~t~ccT~B`EUITj!2~* literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_door_top.png b/textures/mcl_cherry_blossom_door_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4759912c3d1d537bb84eb3f78401eb5fd8333e13 GIT binary patch literal 6554 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 JPDHLkV1fNJ=Lu)s%#i zE+Q%?lytvIDw61ODy7n?Bz${@I$GaZ>szh$o&TCyduH$F{XM_;d4BKnK6~%={=VLZ zdQ3Q5y`UKiA*M2K4 zXQ|F@;lNv7q#rlUJInV$s?74(Y3)c$hC|tm$Su!|B};^~8S7v2&!4??e3eDbnK>E> zEgq5iJ8V~U3XmwBo==N7%{?;>^d|{ESlv#Y8RZANU{_E+?@@qt`N@qwsIoBHXGfBv zYMR(=g(fBJm3NKJaQ^QT2Ai)qy`FyNQtcdWyv!rTySL zGB9#{G_sE8X5@LiJEYxYQFz^A+NDh~=7H=REf)id=sWL6>6=ymS#6=c@JiTSUtqlA zQlrsOdv$3=Xl0Ann?RL|El0Gd)~Fl7^!Uuw*D?7+4|wrV(a%VTgTlrL6voy z_rWYh22amVTo#e?S-ZtA>H5HG!{3lo-fKQNN}p8s6hy2@2pTtMeU<X&VgQ zaC`c-94*a=4Q0h{X=r_uq%637y}T+LHwE5X)4)96FrjnSyKPf<>#~AB7#vNW)@U$4 z&ay1YvT_2K@@$i97eZnm|8nO?m$o3GS$Z?Ml`mXT-twkDk(z`W^YzRDng zoi#Q0*y2g7!|tAi2ll5>COX=!+^Nh7d>U18x#Mw;ZBrS=Y@c6DW1j!Mb9-%r%d7UT zzU^Oh{s4inj8XJ-yLb;XleOdpqf*3DJotE{sHvP5UM5`p@U`_3uN{P4^9?;~Le~a8 z#=935e5$w5<#g+2T~@*-TwPl+W3$wGn`MDj#ydXkEYp>I5I;q8ZMn&Subm>*yl`#J z!>+68D;{kaMoM}9A3dIS#1EWXY}MwUpLHmh>_&48u|B_K{sFba>{;y;#K9DR{u8Hd#apRo4wIJ!HQw*bWxv7mX_*8huC#s}-Kes9*>{>+r zpw9p+zd6L$3*mZv)0G95v#;%BpLzte&5hTqw)=Q4$tL`hsdJtc&m<~F?w7QxT;7w@ zXIc4rTh);bukR2`BMp06-;SF}DsemZA#MBNw#-|VF6Vwl#bkwd{qAjEv+%um=F;}* z#ToP3nAZ;(9TAkhJB+h0R~EEhYuSA?Z?#2Fho-4!e9Y#|m(82O)?i}#y{$>`5a&f3 zr*~)v7>1reqv`*!~42D%R8ooWF{!m+E4p#n>_5>oR?g^lgherMiSb2 z(?`Zk+wx)GVFz5o>Fq06G6{)WwM1dmdEyvZ`1%BlrsX-{6@Tl-T@ zFWOy4<1g&6!B1Jub@k~xX6;YwJ$R$<+ziU3>stGm>xtb_b2+V=TQk`MXs4lj3W>-q<7oC*B zOU6~o@Y_CB$nKn~mqB;D+U})L&B~|YA6~rQdwi+I-a8-f95B*xEP5IGMvF0P&>KG3 zo9bwkylhBYW3ApC%PjOT45pDH@bK_wdU$+ou24%YShb19IO{g8ap{60gqg{lbTYl< zWT>%O%$C`c>*op_j=zYIJU7P+7=dBav|87!wayIIG3SR{g=x9J(LC4E$h_(4^JQsZ zq)B&ujBCe(745Z}DGB+dyr%KWWm`98c{a|E4K_GE*UdT!V=(W^?e5Y>ymM14ZRN_^ z%r}m`(!}iPwtQ@zo#}PVgCpsrbUqQev(F_a-OP5~r-Hb4rM{`FBs{i%gR~w<=BH-K zB)iCT$I16YMVt_PP?wa`2tgc8LJG_|U#;U#Tv}(I$I5{X)s! z6s#jXvW0=!v~RE^E%C-%y9>6t2giG5YXvFiO1^X^zB#o7=Sp}!ORLcBS*9>C3zi(N z45)b3%V`r8z=rspKFj+Z>?=R@W$>m-{j4vQ$$59~yAt(djal$B(lp04vsClW-xyp<}z||1h zavCC(9Jb3WdT+fpZc| z_$Um8LP4RiC@dBUA&}B|kqn4Kilj4C6eApTP|A@AqGbZH2(ID;*kZYihCo2$@UQU+ zqgkwP^djk~3XmSCI3OB@aYCbnLey9fsmwDLA{hz>7_Ih##QqK`6Y%~P>$})g zBkFX<1_HT%x|kzZg~z1R5UTm9Tro$$rK(R!6oACTvPnn^7Dqwi zK_Umq<`URQG#kSs^C)OG8^<0)#S}?pfQSRCs33AD0mQ@M;&4PV7L6p6a6}}YKp-L6 z91x2nVJK{n#N}`ZJlq%xKZyXUN+4=%R4OViM8zZE(EtS`A^|)ajl^Tn0FuJPl8|UD z2>?kHJP4xEYAP;=>Lr#40cbe|LVypVqD6f5fJ$(xyFZhLz&edU)fWFKK*oa{pgkZE zam5Ph-{2sD5L_SwRC;2FBqD)A#!!eP43R<^iCXO+0!pM%Evi^CXeS(2?XFrFDwGZ+ zEugAYh(K+JvY~oNKtLvz1c}8_G=z!*uJZgg%z`!)7mxvTKn6mjXe^G3#!@k)APkm@ z$5Amv2MmTfnyZSACFTlv@&600+CFe+2oEhfLm-9bk5`*U_S6C}X5?z*GD@J{OmMh* zTTlVcND5LQ7UZhqgt$hAIFW#e4?_K8v|zv51^-YCJb*_AxLgX7LZUz`NF?Kt06d;M%UqAoB^W#Imr*{`%|u; za{Z73KLq|+T|edeAq9R2{Ik0LZ*uAV{W1lLpeG;&^s0oOlbHs+W@)qMdDCITs;{!P zI2W=^h-NI3!eIInRfh&_d%+aQs3T*tJawLpGtqD`cKr*aLhsViwKq z&skl{kHmm1_S@apYKAG#hK6Zjp{BM;9e)KMu;gW@^Z&?@pQRrzbE>wVxvRgYfZzir z&D6bNn7h3t&~sy+k-RM+#<@>glcJrY>rS3}OCAL~nZ4nSGmQFb){t_e>z~rZ7`>!7 z&W#TGfwPs5&j;w%wOdsLKDctvXHC+B)bLx!T#DA!N;4z70xK53DC1R@wDndU>n+mw zwAQ7$qhj`!$@?DDbs;jCqDd#E&}O}{zCP*%skDHsXetv5C$id64wpL|Pbe?WeEEy= zSin`nO3{$n^z0AK#kpsXmv}iKmkhv)A$?&?PhWcZ+=w;*0oBv7=>Px# literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_trapdoor.png b/textures/mcl_cherry_blossom_trapdoor.png new file mode 100644 index 0000000000000000000000000000000000000000..9c87be48f9e693be99dafd730ce6f80cbf80039f GIT binary patch literal 6232 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 Dn@6}0 literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_trapdoor_side.png b/textures/mcl_cherry_blossom_trapdoor_side.png new file mode 100644 index 0000000000000000000000000000000000000000..56f5e9fb85bc30e1e5c7eb66d84309af552335b0 GIT binary patch literal 6013 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 Mn~&>p=kTO|12-DmPyhe` literal 0 HcmV?d00001 From da71e7b5214e9e849d9f8681fb5131bcdaf22594 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sun, 30 Apr 2023 19:36:39 -0600 Subject: [PATCH 06/15] Add cherry boat --- mods/ENTITIES/mcl_boats/init.lua | 6 +++--- mods/ITEMS/mcl_cherry_blossom/mod.conf | 2 +- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 2 +- ...ossom_boat_inv.png => mcl_boats_cherry_boat.png} | Bin ...hest_inv.png => mcl_boats_cherry_chest_boat.png} | Bin ...m_boat.png => mcl_boats_texture_cherry_boat.png} | Bin 6 files changed, 5 insertions(+), 5 deletions(-) rename textures/{mcl_cherry_blossom_boat_inv.png => mcl_boats_cherry_boat.png} (100%) rename textures/{mcl_cherry_blossom_boat_with_chest_inv.png => mcl_boats_cherry_chest_boat.png} (100%) rename textures/{mcl_cherry_blossom_boat.png => mcl_boats_texture_cherry_boat.png} (100%) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index b4d98b1e29..fabfae91cb 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -437,9 +437,9 @@ cboat.selectionbox = {-0.7, -0.15, -0.7, 0.7, 0.75, 0.7} minetest.register_entity("mcl_boats:chest_boat", cboat) mcl_entity_invs.register_inv("mcl_boats:chest_boat","Boat",27) -local boat_ids = { "boat", "boat_spruce", "boat_birch", "boat_jungle", "boat_acacia", "boat_dark_oak", "boat_obsidian", "boat_mangrove", "chest_boat", "chest_boat_spruce", "chest_boat_birch", "chest_boat_jungle", "chest_boat_acacia", "chest_boat_dark_oak", "chest_boat_mangrove" } -local names = { S("Oak Boat"), S("Spruce Boat"), S("Birch Boat"), S("Jungle Boat"), S("Acacia Boat"), S("Dark Oak Boat"), S("Obsidian Boat"), S("Mangrove Boat"), S("Oak Chest Boat"), S("Spruce Chest Boat"), S("Birch Chest Boat"), S("Jungle Chest Boat"), S("Acacia Chest Boat"), S("Dark Oak Chest Boat"), S("Mangrove Chest Boat") } -local craftstuffs = { "mcl_core:wood", "mcl_core:sprucewood", "mcl_core:birchwood", "mcl_core:junglewood", "mcl_core:acaciawood", "mcl_core:darkwood", "mcl_core:obsidian", "mcl_mangrove:mangrove_wood" } +local boat_ids = { "boat", "boat_spruce", "boat_birch", "boat_jungle", "boat_acacia", "boat_dark_oak", "boat_obsidian", "boat_mangrove", "boat_cherry", "chest_boat", "chest_boat_spruce", "chest_boat_birch", "chest_boat_jungle", "chest_boat_acacia", "chest_boat_dark_oak", "chest_boat_mangrove", "chest_boat_cherry" } +local names = { S("Oak Boat"), S("Spruce Boat"), S("Birch Boat"), S("Jungle Boat"), S("Acacia Boat"), S("Dark Oak Boat"), S("Obsidian Boat"), S("Mangrove Boat"), S("Cherry Boat"), S("Oak Chest Boat"), S("Spruce Chest Boat"), S("Birch Chest Boat"), S("Jungle Chest Boat"), S("Acacia Chest Boat"), S("Dark Oak Chest Boat"), S("Mangrove Chest Boat"), S("Cherry Chest Boat") } +local craftstuffs = { "mcl_core:wood", "mcl_core:sprucewood", "mcl_core:birchwood", "mcl_core:junglewood", "mcl_core:acaciawood", "mcl_core:darkwood", "mcl_core:obsidian", "mcl_mangrove:mangrove_wood", "mcl_cherry_blossom:cherrywood" } for b=1, #boat_ids do local itemstring = "mcl_boats:"..boat_ids[b] diff --git a/mods/ITEMS/mcl_cherry_blossom/mod.conf b/mods/ITEMS/mcl_cherry_blossom/mod.conf index 2bac9fe344..1b30ed0621 100644 --- a/mods/ITEMS/mcl_cherry_blossom/mod.conf +++ b/mods/ITEMS/mcl_cherry_blossom/mod.conf @@ -1,3 +1,3 @@ title = mcl_cherry_blossom author = PrairieWind -depends = mcl_sounds, mcl_util, mcl_core, mcl_doors, mcl_stairs, mcl_signs, mcl_fences, mesecons_pressureplates, mesecons_button +depends = mcl_sounds, mcl_util, mcl_core, mcl_doors, mcl_stairs, mcl_signs, mcl_fences, mesecons_pressureplates, mesecons_button, mcl_boats diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index 0be7597431..4b49eae280 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -229,7 +229,7 @@ mcl_stairs.register_slab("cherrywood", "mcl_cherry_blossom:cherrywood", -- Signs mcl_signs.register_sign_custom("mcl_cherry_blossom", "cherrywood", - "mcl_cherry_blossom_sign.png", "#000000", + "mcl_cherry_blossom_sign.png", nil, "mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", "Cherry Sign") -- Fences & Gates diff --git a/textures/mcl_cherry_blossom_boat_inv.png b/textures/mcl_boats_cherry_boat.png similarity index 100% rename from textures/mcl_cherry_blossom_boat_inv.png rename to textures/mcl_boats_cherry_boat.png diff --git a/textures/mcl_cherry_blossom_boat_with_chest_inv.png b/textures/mcl_boats_cherry_chest_boat.png similarity index 100% rename from textures/mcl_cherry_blossom_boat_with_chest_inv.png rename to textures/mcl_boats_cherry_chest_boat.png diff --git a/textures/mcl_cherry_blossom_boat.png b/textures/mcl_boats_texture_cherry_boat.png similarity index 100% rename from textures/mcl_cherry_blossom_boat.png rename to textures/mcl_boats_texture_cherry_boat.png From 67078ba3b18697a3eb0a0d3d5e30a9bf8f13d032 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sat, 17 Jun 2023 10:01:45 -0600 Subject: [PATCH 07/15] Fix most of the feedback issues in cherry blossoms --- mods/ENTITIES/mcl_boats/locale/template.txt | 2 ++ mods/ITEMS/REDSTONE/mesecons_button/init.lua | 10 +++++++- .../mesecons_button/locale/template.txt | 1 + .../REDSTONE/mesecons_pressureplates/init.lua | 9 ++++--- mods/ITEMS/mcl_cherry_blossom/growth.lua | 17 +++++-------- .../mcl_cherry_blossom/locale/template.txt | 24 ++++++++++++++++++ mods/ITEMS/mcl_cherry_blossom/nodes.lua | 17 +++++-------- mods/ITEMS/mcl_doors/api_doors.lua | 4 +-- ...> mcl_cherry_blossom_door_bottom_side.png} | Bin ...g => mcl_cherry_blossom_door_top_side.png} | Bin 10 files changed, 57 insertions(+), 27 deletions(-) create mode 100644 mods/ITEMS/mcl_cherry_blossom/locale/template.txt rename textures/{mcl_cherry_blossom_door_side_bottom.png => mcl_cherry_blossom_door_bottom_side.png} (100%) rename textures/{mcl_cherry_blossom_door_side_top.png => mcl_cherry_blossom_door_top_side.png} (100%) diff --git a/mods/ENTITIES/mcl_boats/locale/template.txt b/mods/ENTITIES/mcl_boats/locale/template.txt index 16c8b681ee..c3919e8b97 100644 --- a/mods/ENTITIES/mcl_boats/locale/template.txt +++ b/mods/ENTITIES/mcl_boats/locale/template.txt @@ -12,6 +12,7 @@ Water vehicle= Sneak to dismount= Obsidian Boat= Mangrove Boat= +Cherry Boat= Oak Chest Boat= Spruce Chest Boat= Birch Chest Boat= @@ -19,3 +20,4 @@ Jungle Chest Boat= Acacia Chest Boat= Dark Oak Chest Boat= Mangrove Chest Boat= +Cherry Chest Boat= \ No newline at end of file diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index d6281b5c8c..275cac2e23 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -104,6 +104,14 @@ function mesecon.register_button(basename, description, texture, recipeitem, sou end button_sounds["mesecons_button:button_"..basename.."_off"] = button_sound + if not longdesc then + if groups_off.material_wood ~= 0 then + longdesc = S("A wooden button is a redstone component made out of wood which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1.5 seconds. Wooden buttons may also be pushed by arrows.") + else + longdesc = S("A button is a redstone compent which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for @1 seconds.", button_timer) + end + end + if push_by_arrow then groups_off.button_push_by_arrow = 1 groups_on.button_push_by_arrow = 1 @@ -252,7 +260,7 @@ for w=1, #woods do {material_wood=1,handy=1,axey=1}, 1.5, true, - S("A wooden button is a redstone component made out of wood which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1.5 seconds. Wooden buttons may also be pushed by arrows."), + nil, "mesecons_button_push_wood") minetest.register_craft({ diff --git a/mods/ITEMS/REDSTONE/mesecons_button/locale/template.txt b/mods/ITEMS/REDSTONE/mesecons_button/locale/template.txt index 4fb2bc19d8..d42a037413 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/locale/template.txt +++ b/mods/ITEMS/REDSTONE/mesecons_button/locale/template.txt @@ -17,3 +17,4 @@ A wooden button is a redstone component made out of wood which can be pushed to Provides redstone power when pushed= Push duration: @1s= Pushable by arrow= +A button is a redstone compent which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for @1 seconds.= diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua index 41cc8211a0..a4043fb5fe 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua @@ -153,7 +153,11 @@ function mesecon.register_pressure_plate(basename, description, textures_off, te groups_on.not_in_creative_inventory = 1 groups_on.pressure_plate = 2 if not longdesc then - longdesc = S("A pressure plate is a redstone component which supplies its surrounding blocks with redstone power while someone or something rests on top of it.") + if groups_off.material_wood ~= 0 then + longdesc = S("A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.") + else + longdesc = S("A pressure plate is a redstone component which supplies its surrounding blocks with redstone power while someone or something rests on top of it.") + end end local tt = S("Provides redstone power when pushed") if not activated_by then @@ -238,8 +242,7 @@ for w=1, #woods do {{woods[w][2], woods[w][2]}}, mcl_sounds.node_sound_wood_defaults(), {axey=1, material_wood=1}, - nil, - S("A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.")) + nil) minetest.register_craft({ type = "fuel", diff --git a/mods/ITEMS/mcl_cherry_blossom/growth.lua b/mods/ITEMS/mcl_cherry_blossom/growth.lua index def5745eef..28cedea28c 100644 --- a/mods/ITEMS/mcl_cherry_blossom/growth.lua +++ b/mods/ITEMS/mcl_cherry_blossom/growth.lua @@ -8,11 +8,11 @@ function mcl_cherry_blossom.generate_cherry_tree(pos) if mcl_core.check_growth_width(pos,7,8) then minetest.set_node(pos, {name = "air"}) if r == 1 then - minetest.place_schematic({x = pos.x-2, y = pos.y, z = pos.z-2}, path, "random", nil, false) + minetest.place_schematic(vector.offset(pos, -2, 0, -2), path, "random", nil, false) elseif r == 2 then - minetest.place_schematic({x = pos.x-2, y = pos.y, z = pos.z-2}, path, nil, nil, false) + minetest.place_schematic(vector.offset(pos, -2, 0, -2), path, nil, nil, false) elseif r == 3 then - minetest.place_schematic({x = pos.x-3, y = pos.y, z = pos.z-3}, path, nil, nil, false) + minetest.place_schematic(vector.offset(pos, -3, 0, -3), path, nil, nil, false) end end end @@ -28,10 +28,12 @@ minetest.register_abm({ }) local cherry_particle = { - velocity = vector.new(0,0,0), + velocity = vector.zero(), + acceleration = vector.new(0,-1,0), size = math.random(1.3,2.5), texture = "mcl_cherry_blossom_particle.png", collision_removal = false, + collisiondetection = false, } @@ -43,14 +45,9 @@ minetest.register_abm({ action = function(pos, node) minetest.after(math.random(0.1,1.5),function() local pt = table.copy(cherry_particle) - pt.acceleration = vector.new(0,0,0) - pt.collisiondetection = false pt.pos = vector.offset(pos,math.random(-0.5,0.5),-0.51,math.random(-0.5,0.5)) + pt.expirationtime = math.random(1.2,4.5) minetest.add_particle(pt) - pt.acceleration = vector.new(0,-1,0) - pt.collisiondetection = true - pt.expirationtime = math.random(1.2,4.5) - minetest.add_particle(pt) end) end }) diff --git a/mods/ITEMS/mcl_cherry_blossom/locale/template.txt b/mods/ITEMS/mcl_cherry_blossom/locale/template.txt new file mode 100644 index 0000000000..caa72ec975 --- /dev/null +++ b/mods/ITEMS/mcl_cherry_blossom/locale/template.txt @@ -0,0 +1,24 @@ +# textdomain: mcl_cherry_blossom +Cherry Log= +The trunk of an cherry blossom tree.= +Stripped Cherry Log= +The stripped trunk of an cherry blossom tree.= +Cherry Bark= +This is a decorative block surrounded by the bark of a tree trunk.= +Stripped Cherry Wood= +The stripped wood of an cherry blossom tree.= +Cherry Wood Planks= +Cherry Leaves= +Cherry blossom leaves are grown from cherry blossom trees.= +Cherry Sapling= +Cherry blossom sapling can be planted to grow cherry trees.= +Cherry Door= +Cherry Trapdoor= +Cherry Stairs= +Cherry Slab= +Double Cherry Slab= +Cherry Sign= +Cherry Fence= +Cherry Gate= +Cherry Pressure Plate= +Cherry Button= diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index 4b49eae280..5cb01c70fe 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -146,7 +146,7 @@ minetest.register_node("mcl_cherry_blossom:cherryleaves" .. "_orphan", o_def) minetest.register_node("mcl_cherry_blossom:cherrysapling", { description = S("Cherry Sapling"), _tt_help = tt_help, - _doc_items_longdesc = S("Cherry blossom sapling can be planted to grow cherry trees"), + _doc_items_longdesc = S("Cherry blossom sapling can be planted to grow cherry trees."), _doc_items_hidden = false, drawtype = "plantlike", waving = 1, @@ -189,21 +189,17 @@ minetest.register_node("mcl_cherry_blossom:cherrysapling", { -- Door and Trapdoor mcl_doors:register_door("mcl_cherry_blossom:cherrydoor", { description = S("Cherry Door"), - _doc_items_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal."), - _doc_items_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal."), inventory_image = "mcl_cherry_blossom_door_inv.png", groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_cherry_blossom_door_bottom.png", "mcl_cherry_blossom_door_side_bottom.png"}, - tiles_top = {"mcl_cherry_blossom_door_top.png", "mcl_cherry_blossom_door_side_top.png"}, + tiles_bottom = "mcl_cherry_blossom_door_bottom.png", + tiles_top = "mcl_cherry_blossom_door_top.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) mcl_doors:register_trapdoor("mcl_cherry_blossom:cherrytrapdoor", { description = S("Cherry Trapdoor"), - _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), - _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), tile_front = "mcl_cherry_blossom_trapdoor.png", tile_side = "mcl_cherry_blossom_trapdoor_side.png", wield_image = "mcl_cherry_blossom_trapdoor.png", @@ -230,7 +226,7 @@ mcl_stairs.register_slab("cherrywood", "mcl_cherry_blossom:cherrywood", -- Signs mcl_signs.register_sign_custom("mcl_cherry_blossom", "cherrywood", "mcl_cherry_blossom_sign.png", nil, - "mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", "Cherry Sign") + "mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", S("Cherry Sign")) -- Fences & Gates mcl_fences.register_fence_and_fence_gate("cherry_fence", S("Cherry Fence"), S("Cherry Gate"), @@ -248,8 +244,7 @@ mesecon.register_pressure_plate( {{"mcl_cherry_blossom:cherrywood", "mcl_cherry_blossom:cherrywood"}}, mcl_sounds.node_sound_wood_defaults(), {axey=1, material_wood=1}, - nil, - S("A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.")) + nil) mesecon.register_button( "cherrywood", @@ -260,5 +255,5 @@ mesecon.register_button( {material_wood=1,handy=1,axey=1}, 1.5, true, - S("A wooden button is a redstone component made out of wood which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1.5 seconds. Wooden buttons may also be pushed by arrows."), + nil, "mesecons_button_push_wood") diff --git a/mods/ITEMS/mcl_doors/api_doors.lua b/mods/ITEMS/mcl_doors/api_doors.lua index ac9708b4f0..e392bc710a 100644 --- a/mods/ITEMS/mcl_doors/api_doors.lua +++ b/mods/ITEMS/mcl_doors/api_doors.lua @@ -66,9 +66,9 @@ function mcl_doors:register_door(name, def) longdesc = def._doc_items_longdesc if not longdesc then if def.only_redstone_can_open then - longdesc = S("This door is a 2-block high barrier which can be opened or closed by hand or by redstone power.") - else longdesc = S("This door is a 2-block high barrier which can only be opened by redstone power, not by hand.") + else + longdesc = S("This door is a 2-block high barrier which can be opened or closed by hand or by redstone power.") end end usagehelp = def._doc_items_usagehelp diff --git a/textures/mcl_cherry_blossom_door_side_bottom.png b/textures/mcl_cherry_blossom_door_bottom_side.png similarity index 100% rename from textures/mcl_cherry_blossom_door_side_bottom.png rename to textures/mcl_cherry_blossom_door_bottom_side.png diff --git a/textures/mcl_cherry_blossom_door_side_top.png b/textures/mcl_cherry_blossom_door_top_side.png similarity index 100% rename from textures/mcl_cherry_blossom_door_side_top.png rename to textures/mcl_cherry_blossom_door_top_side.png From 0902e137e301ff2b0364bca63fea3e6236215904 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sat, 17 Jun 2023 11:27:45 -0600 Subject: [PATCH 08/15] Uncover wood api functions and use them in cherry and mangrove wood --- .../mcl_cherry_blossom/locale/template.txt | 6 +- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 191 ++---------------- mods/ITEMS/mcl_core/nodes_trees.lua | 107 +++++----- mods/ITEMS/mcl_mangrove/init.lua | 148 +------------- .../mcl_mangrove/locale/mcl_mangrove.fr.tr | 2 +- .../mcl_mangrove/locale/mcl_mangrove.ja.tr | 2 +- mods/ITEMS/mcl_mangrove/locale/template.txt | 2 +- 7 files changed, 86 insertions(+), 372 deletions(-) diff --git a/mods/ITEMS/mcl_cherry_blossom/locale/template.txt b/mods/ITEMS/mcl_cherry_blossom/locale/template.txt index caa72ec975..39ba7026af 100644 --- a/mods/ITEMS/mcl_cherry_blossom/locale/template.txt +++ b/mods/ITEMS/mcl_cherry_blossom/locale/template.txt @@ -1,12 +1,12 @@ # textdomain: mcl_cherry_blossom Cherry Log= -The trunk of an cherry blossom tree.= +The trunk of a cherry blossom tree.= Stripped Cherry Log= -The stripped trunk of an cherry blossom tree.= +The stripped trunk of a cherry blossom tree.= Cherry Bark= This is a decorative block surrounded by the bark of a tree trunk.= Stripped Cherry Wood= -The stripped wood of an cherry blossom tree.= +The stripped wood of a cherry blossom tree.= Cherry Wood Planks= Cherry Leaves= Cherry blossom leaves are grown from cherry blossom trees.= diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index 5cb01c70fe..af274f7b92 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -1,190 +1,27 @@ local S = minetest.get_translator(minetest.get_current_modname()) -- Logs -minetest.register_node("mcl_cherry_blossom:cherrytree", { - description = S("Cherry Log"), - _doc_items_longdesc = S("The trunk of an cherry blossom tree."), - _doc_items_hidden = false, - tiles = {"mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - after_destruct = mcl_core.update_leaves, - stack_max = 64, - groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree", -}) +mcl_core.register_tree_trunk("cherrytree", S("Cherry Log"), S("Cherry Bark"), + S("The trunk of a cherry blossom tree."), + "mcl_cherry_blossom_log_top.png", "mcl_cherry_blossom_log.png", "mcl_cherry_blossom:stripped_cherrytree") -minetest.register_node("mcl_cherry_blossom:stripped_cherrytree", { - description = S("Stripped Cherry Log"), - _doc_items_longdesc = S("The stripped trunk of an cherry blossom tree."), - _doc_items_hidden = false, - tiles = {"mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_stripped.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - stack_max = 64, - groups = {handy=1, axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, -}) - --- Bark -minetest.register_node("mcl_cherry_blossom:cherrytree_bark", { - description = S("Cherry Bark"), - _doc_items_longdesc = S("This is a decorative block surrounded by the bark of a tree trunk."), - tiles = {"mcl_cherry_blossom_log.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - stack_max = 64, - groups = {handy=1,axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - is_ground_content = false, - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_cherry_blossom:stripped_cherrytree_bark", -}) - -minetest.register_node("mcl_cherry_blossom:stripped_cherrytree_bark", { - description = S("Stripped Cherry Wood"), - _doc_items_longdesc = S("The stripped wood of an cherry blossom tree."), - tiles = {"mcl_cherry_blossom_log_stripped.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - stack_max = 64, - groups = {handy=1, axey=1, bark=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - is_ground_content = false, - on_rotate = on_rotate, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, -}) +-- Stripped +mcl_core.register_stripped_trunk("stripped_cherrytree", S("Stripped Cherry Log"), S("Stripped Cherry Wood"), + S("The stripped trunk of a cherry blossom tree."), S("The stripped wood of a cherry blossom tree."), + "mcl_cherry_blossom_log_top_stripped.png", "mcl_cherry_blossom_log_stripped.png") --Planks -minetest.register_node("mcl_cherry_blossom:cherrywood", { - description = S("Cherry Wood Planks"), - _doc_items_longdesc = doc.sub.items.temp.build, - _doc_items_hidden = false, - tiles = {"mcl_cherry_blossom_planks.png"}, - stack_max = 64, - is_ground_content = false, - groups = {handy=1,axey=1, flammable=3,wood=1,building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, - sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 3, - _mcl_hardness = 2, -}) +mcl_core.register_wooden_planks("cherrywood", S("Cherry Wood Planks"), {"mcl_cherry_blossom_planks.png"}) -- Leaves -local stick_chances = {50, 45, 30, 35, 10} -local sapling_chances = {20, 16, 12, 10} - -local function get_drops(fortune_level) - local drop = { - max_items = 1, - items = { - { - items = {"mcl_cherry_blossom:cherrysapling"}, - rarity = sapling_chances[fortune_level + 1] or sapling_chances[fortune_level] - }, - { - items = {"mcl_core:stick 1"}, - rarity = stick_chances[fortune_level + 1] - }, - { - items = {"mcl_core:stick 2"}, - rarity = stick_chances[fortune_level + 1] - }, - } - } - return drop -end - -local l_def = { - description = S("Cherry Leaves"), - _doc_items_longdesc = S("Cherry blossom leaves are grown from cherry blossom trees."), - _doc_items_hidden = false, - drawtype = "allfaces_optional", - waving = 2, - tiles = {"mcl_cherry_blossom_leaves.png"}, - color = color, - paramtype = "light", - stack_max = 64, - groups = { - handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, - flammable = 2, fire_encouragement = 30, fire_flammability = 60, - leaves = 1, deco_block = 1, compostability = 30 - }, - drop = get_drops(0), - _mcl_shears_drop = true, - sounds = mcl_sounds.node_sound_leaves_defaults(), - _mcl_blast_resistance = 0.2, - _mcl_hardness = 0.2, - _mcl_silk_touch_drop = true, - _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, - after_place_node = function(pos) - mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. - end, - } - -minetest.register_node("mcl_cherry_blossom:cherryleaves", l_def) - -local o_def = table.copy(l_def) -o_def._doc_items_create_entry = false -o_def.groups.not_in_creative_inventory = 1 -o_def.groups.orphan_leaves = 1 -o_def._mcl_shears_drop = {"mcl_cherry_blossom:cherryleaves"} -o_def._mcl_silk_touch_drop = {"mcl_cherry_blossom:cherryleaves"} - -minetest.register_node("mcl_cherry_blossom:cherryleaves" .. "_orphan", o_def) +mcl_core.register_leaves("cherryleaves", S("Cherry Leaves"), + S("Cherry blossom leaves are grown from cherry blossom trees."), {"mcl_cherry_blossom_leaves.png"}, + nil, "none", nil, "mcl_cherry_blossom:cherrysapling", false, {50, 45, 30, 35, 10}) -- Sapling -minetest.register_node("mcl_cherry_blossom:cherrysapling", { - description = S("Cherry Sapling"), - _tt_help = tt_help, - _doc_items_longdesc = S("Cherry blossom sapling can be planted to grow cherry trees."), - _doc_items_hidden = false, - drawtype = "plantlike", - waving = 1, - visual_scale = 1.0, - tiles = {"mcl_cherry_blossom_sapling.png"}, - inventory_image = "mcl_cherry_blossom_sapling.png", - wield_image = "mcl_cherry_blossom_sapling.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16} - }, - stack_max = 64, - groups = { - plant = 1, sapling = 1, attached_node = 1, - deco_block = 1, dig_immediate = 3, dig_by_water = 1, dig_by_piston = 1, - destroy_by_lava_flow = 1, compostability = 30 - }, - sounds = mcl_sounds.node_sound_leaves_defaults(), - on_construct = function(pos) - --local meta = minetest.get_meta(pos) - --meta:set_int("stage", 0) - -- TODO Uncomment above when wood api is implemented with the current mcl_core tree growth code. - end, - on_place = mcl_util.generate_on_place_plant_function(function(pos, node) - local node_below = minetest.get_node_or_nil({x=pos.x,y=pos.y-1,z=pos.z}) - if not node_below then return false end - local nn = node_below.name - return minetest.get_item_group(nn, "grass_block") == 1 or - nn == "mcl_core:podzol" or nn == "mcl_core:podzol_snow" or - nn == "mcl_core:dirt" or nn == "mcl_core:mycelium" or nn == "mcl_core:coarse_dirt" - end), - node_placement_prediction = "", - _mcl_blast_resistance = 0, - _mcl_hardness = 0, -}) +mcl_core.register_sapling("cherrysapling", S("Cherry Sapling"), + S("Cherry blossom sapling can be planted to grow cherry trees."), tt_help, + "mcl_cherry_blossom_sapling.png", {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16}) -- Door and Trapdoor mcl_doors:register_door("mcl_cherry_blossom:cherrydoor", { diff --git a/mods/ITEMS/mcl_core/nodes_trees.lua b/mods/ITEMS/mcl_core/nodes_trees.lua index bdbbd02732..6928aecb1a 100644 --- a/mods/ITEMS/mcl_core/nodes_trees.lua +++ b/mods/ITEMS/mcl_core/nodes_trees.lua @@ -51,8 +51,9 @@ function mcl_core.make_player_leaves(pos) end -- Register tree trunk (wood) and bark -local function register_tree_trunk(subname, description_trunk, description_bark, longdesc, tile_inner, tile_bark, stripped_variant) - minetest.register_node("mcl_core:"..subname, { +function mcl_core.register_tree_trunk(subname, description_trunk, description_bark, longdesc, tile_inner, tile_bark, stripped_variant) + local mod = minetest.get_current_modname() + minetest.register_node(mod..":"..subname, { description = description_trunk, _doc_items_longdesc = longdesc, _doc_items_hidden = false, @@ -69,7 +70,7 @@ local function register_tree_trunk(subname, description_trunk, description_bark, _mcl_stripped_variant = stripped_variant, }) - minetest.register_node("mcl_core:"..subname.."_bark", { + minetest.register_node(mod..":"..subname.."_bark", { description = description_bark, _doc_items_longdesc = S("This is a decorative block surrounded by the bark of a tree trunk."), tiles = {tile_bark}, @@ -86,17 +87,18 @@ local function register_tree_trunk(subname, description_trunk, description_bark, }) minetest.register_craft({ - output = "mcl_core:"..subname.."_bark 3", + output = mod..":"..subname.."_bark 3", recipe = { - { "mcl_core:"..subname, "mcl_core:"..subname }, - { "mcl_core:"..subname, "mcl_core:"..subname }, + { mod..":"..subname, mod..":"..subname }, + { mod..":"..subname, mod..":"..subname }, } }) end -- Register stripped trunk and stripped wood -local function register_stripped_trunk(subname, description_stripped_trunk, description_stripped_bark, longdesc, longdesc_wood, tile_stripped_inner, tile_stripped_bark) - minetest.register_node("mcl_core:"..subname, { +function mcl_core.register_stripped_trunk(subname, description_stripped_trunk, description_stripped_bark, longdesc, longdesc_wood, tile_stripped_inner, tile_stripped_bark) + local mod = minetest.get_current_modname() + minetest.register_node(mod..":"..subname, { description = description_stripped_trunk, _doc_items_longdesc = longdesc, _doc_items_hidden = false, @@ -111,7 +113,7 @@ local function register_stripped_trunk(subname, description_stripped_trunk, desc _mcl_hardness = 2, }) - minetest.register_node("mcl_core:"..subname.."_bark", { + minetest.register_node(mod..":"..subname.."_bark", { description = description_stripped_bark, _doc_items_longdesc = longdesc_wood, tiles = {tile_stripped_bark}, @@ -127,16 +129,17 @@ local function register_stripped_trunk(subname, description_stripped_trunk, desc }) minetest.register_craft({ - output = "mcl_core:"..subname.."_bark 3", + output = mod..":"..subname.."_bark 3", recipe = { - { "mcl_core:"..subname, "mcl_core:"..subname }, - { "mcl_core:"..subname, "mcl_core:"..subname }, + { mod..":"..subname, mod..":"..subname }, + { mod..":"..subname, mod..":"..subname }, } }) end -local function register_wooden_planks(subname, description, tiles) - minetest.register_node("mcl_core:"..subname, { +function mcl_core.register_wooden_planks(subname, description, tiles) + local mod = minetest.get_current_modname() + minetest.register_node(mod..":"..subname, { description = description, _doc_items_longdesc = doc.sub.items.temp.build, _doc_items_hidden = false, @@ -150,7 +153,8 @@ local function register_wooden_planks(subname, description, tiles) }) end -local function register_leaves(subname, description, longdesc, tiles, color, paramtype2, palette, sapling, drop_apples, sapling_chances, foliage_palette) +function mcl_core.register_leaves(subname, description, longdesc, tiles, color, paramtype2, palette, sapling, drop_apples, sapling_chances, foliage_palette) + local mod = minetest.get_current_modname() local apple_chances = {200, 180, 160, 120, 40} local stick_chances = {50, 45, 30, 35, 10} @@ -219,20 +223,21 @@ local function register_leaves(subname, description, longdesc, tiles, color, par end, } - minetest.register_node("mcl_core:" .. subname, l_def) + minetest.register_node(mod .. ":" .. subname, l_def) local o_def = table.copy(l_def) o_def._doc_items_create_entry = false o_def.groups.not_in_creative_inventory = 1 o_def.groups.orphan_leaves = 1 - o_def._mcl_shears_drop = {"mcl_core:" .. subname} - o_def._mcl_silk_touch_drop = {"mcl_core:" .. subname} + o_def._mcl_shears_drop = {mod .. ":" .. subname} + o_def._mcl_silk_touch_drop = {mod .. ":" .. subname} - minetest.register_node("mcl_core:" .. subname .. "_orphan", o_def) + minetest.register_node(mod .. ":" .. subname .. "_orphan", o_def) end -local function register_sapling(subname, description, longdesc, tt_help, texture, selbox) - minetest.register_node("mcl_core:"..subname, { +function mcl_core.register_sapling(subname, description, longdesc, tt_help, texture, selbox) + local mod = minetest.get_current_modname() + minetest.register_node(mod..":"..subname, { description = description, _tt_help = tt_help, _doc_items_longdesc = longdesc, @@ -277,59 +282,59 @@ end --------------------- -register_tree_trunk("tree", S("Oak Wood"), S("Oak Bark"), S("The trunk of an oak tree."), "default_tree_top.png", "default_tree.png", "mcl_core:stripped_oak") -register_tree_trunk("darktree", S("Dark Oak Wood"), S("Dark Oak Bark"), S("The trunk of a dark oak tree."), "mcl_core_log_big_oak_top.png", "mcl_core_log_big_oak.png", "mcl_core:stripped_dark_oak") -register_tree_trunk("acaciatree", S("Acacia Wood"), S("Acacia Bark"), S("The trunk of an acacia."), "default_acacia_tree_top.png", "default_acacia_tree.png", "mcl_core:stripped_acacia") -register_tree_trunk("sprucetree", S("Spruce Wood"), S("Spruce Bark"), S("The trunk of a spruce tree."), "mcl_core_log_spruce_top.png", "mcl_core_log_spruce.png", "mcl_core:stripped_spruce") -register_tree_trunk("birchtree", S("Birch Wood"), S("Birch Bark"), S("The trunk of a birch tree."), "mcl_core_log_birch_top.png", "mcl_core_log_birch.png", "mcl_core:stripped_birch") -register_tree_trunk("jungletree", S("Jungle Wood"), S("Jungle Bark"), S("The trunk of a jungle tree."), "default_jungletree_top.png", "default_jungletree.png", "mcl_core:stripped_jungle") +mcl_core.register_tree_trunk("tree", S("Oak Wood"), S("Oak Bark"), S("The trunk of an oak tree."), "default_tree_top.png", "default_tree.png", "mcl_core:stripped_oak") +mcl_core.register_tree_trunk("darktree", S("Dark Oak Wood"), S("Dark Oak Bark"), S("The trunk of a dark oak tree."), "mcl_core_log_big_oak_top.png", "mcl_core_log_big_oak.png", "mcl_core:stripped_dark_oak") +mcl_core.register_tree_trunk("acaciatree", S("Acacia Wood"), S("Acacia Bark"), S("The trunk of an acacia."), "default_acacia_tree_top.png", "default_acacia_tree.png", "mcl_core:stripped_acacia") +mcl_core.register_tree_trunk("sprucetree", S("Spruce Wood"), S("Spruce Bark"), S("The trunk of a spruce tree."), "mcl_core_log_spruce_top.png", "mcl_core_log_spruce.png", "mcl_core:stripped_spruce") +mcl_core.register_tree_trunk("birchtree", S("Birch Wood"), S("Birch Bark"), S("The trunk of a birch tree."), "mcl_core_log_birch_top.png", "mcl_core_log_birch.png", "mcl_core:stripped_birch") +mcl_core.register_tree_trunk("jungletree", S("Jungle Wood"), S("Jungle Bark"), S("The trunk of a jungle tree."), "default_jungletree_top.png", "default_jungletree.png", "mcl_core:stripped_jungle") -register_stripped_trunk("stripped_oak", S("Stripped Oak Log"), S("Stripped Oak Wood"), S("The stripped trunk of an oak tree."), S("The stripped wood of an oak tree."), "mcl_core_stripped_oak_top.png", "mcl_core_stripped_oak_side.png") -register_stripped_trunk("stripped_acacia", S("Stripped Acacia Log"), S("Stripped Acacia Wood"), S("The stripped trunk of an acacia tree."), S("The stripped wood of an acacia tree."), "mcl_core_stripped_acacia_top.png", "mcl_core_stripped_acacia_side.png") -register_stripped_trunk("stripped_dark_oak", S("Stripped Dark Oak Log"), S("Stripped Dark Oak Wood"), S("The stripped trunk of a dark oak tree."), S("The stripped wood of a dark oak tree."), "mcl_core_stripped_dark_oak_top.png", "mcl_core_stripped_dark_oak_side.png") -register_stripped_trunk("stripped_birch", S("Stripped Birch Log"), S("Stripped Birch Wood"), S("The stripped trunk of a birch tree."), S("The stripped wood of a birch tree."), "mcl_core_stripped_birch_top.png", "mcl_core_stripped_birch_side.png") -register_stripped_trunk("stripped_spruce", S("Stripped Spruce Log"), S("Stripped Spruce Wood"), S("The stripped trunk of a spruce tree."), S("The stripped wood of a spruce tree."), "mcl_core_stripped_spruce_top.png", "mcl_core_stripped_spruce_side.png") -register_stripped_trunk("stripped_jungle", S("Stripped Jungle Log"), S("Stripped Jungle Wood"), S("The stripped trunk of a jungle tree."), S("The stripped wood of a jungle tree."),"mcl_core_stripped_jungle_top.png", "mcl_core_stripped_jungle_side.png") -register_wooden_planks("wood", S("Oak Wood Planks"), {"default_wood.png"}) -register_wooden_planks("darkwood", S("Dark Oak Wood Planks"), {"mcl_core_planks_big_oak.png"}) -register_wooden_planks("junglewood", S("Jungle Wood Planks"), {"default_junglewood.png"}) -register_wooden_planks("sprucewood", S("Spruce Wood Planks"), {"mcl_core_planks_spruce.png"}) -register_wooden_planks("acaciawood", S("Acacia Wood Planks"), {"default_acacia_wood.png"}) -register_wooden_planks("birchwood", S("Birch Wood Planks"), {"mcl_core_planks_birch.png"}) +mcl_core.register_stripped_trunk("stripped_oak", S("Stripped Oak Log"), S("Stripped Oak Wood"), S("The stripped trunk of an oak tree."), S("The stripped wood of an oak tree."), "mcl_core_stripped_oak_top.png", "mcl_core_stripped_oak_side.png") +mcl_core.register_stripped_trunk("stripped_acacia", S("Stripped Acacia Log"), S("Stripped Acacia Wood"), S("The stripped trunk of an acacia tree."), S("The stripped wood of an acacia tree."), "mcl_core_stripped_acacia_top.png", "mcl_core_stripped_acacia_side.png") +mcl_core.register_stripped_trunk("stripped_dark_oak", S("Stripped Dark Oak Log"), S("Stripped Dark Oak Wood"), S("The stripped trunk of a dark oak tree."), S("The stripped wood of a dark oak tree."), "mcl_core_stripped_dark_oak_top.png", "mcl_core_stripped_dark_oak_side.png") +mcl_core.register_stripped_trunk("stripped_birch", S("Stripped Birch Log"), S("Stripped Birch Wood"), S("The stripped trunk of a birch tree."), S("The stripped wood of a birch tree."), "mcl_core_stripped_birch_top.png", "mcl_core_stripped_birch_side.png") +mcl_core.register_stripped_trunk("stripped_spruce", S("Stripped Spruce Log"), S("Stripped Spruce Wood"), S("The stripped trunk of a spruce tree."), S("The stripped wood of a spruce tree."), "mcl_core_stripped_spruce_top.png", "mcl_core_stripped_spruce_side.png") +mcl_core.register_stripped_trunk("stripped_jungle", S("Stripped Jungle Log"), S("Stripped Jungle Wood"), S("The stripped trunk of a jungle tree."), S("The stripped wood of a jungle tree."),"mcl_core_stripped_jungle_top.png", "mcl_core_stripped_jungle_side.png") +mcl_core.register_wooden_planks("wood", S("Oak Wood Planks"), {"default_wood.png"}) +mcl_core.register_wooden_planks("darkwood", S("Dark Oak Wood Planks"), {"mcl_core_planks_big_oak.png"}) +mcl_core.register_wooden_planks("junglewood", S("Jungle Wood Planks"), {"default_junglewood.png"}) +mcl_core.register_wooden_planks("sprucewood", S("Spruce Wood Planks"), {"mcl_core_planks_spruce.png"}) +mcl_core.register_wooden_planks("acaciawood", S("Acacia Wood Planks"), {"default_acacia_wood.png"}) +mcl_core.register_wooden_planks("birchwood", S("Birch Wood Planks"), {"mcl_core_planks_birch.png"}) -register_sapling("sapling", S("Oak Sapling"), +mcl_core.register_sapling("sapling", S("Oak Sapling"), S("When placed on soil (such as dirt) and exposed to light, an oak sapling will grow into an oak after some time."), S("Needs soil and light to grow"), "default_sapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) -register_sapling("darksapling", S("Dark Oak Sapling"), +mcl_core.register_sapling("darksapling", S("Dark Oak Sapling"), S("Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light."), S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings required"), "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16}) -register_sapling("junglesapling", S("Jungle Sapling"), +mcl_core.register_sapling("junglesapling", S("Jungle Sapling"), S("When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree."), S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings = large tree"), "default_junglesapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) -register_sapling("acaciasapling", S("Acacia Sapling"), +mcl_core.register_sapling("acaciasapling", S("Acacia Sapling"), S("When placed on soil (such as dirt) and exposed to light, an acacia sapling will grow into an acacia after some time."), S("Needs soil and light to grow"), "default_acacia_sapling.png", {-5/16, -0.5, -5/16, 5/16, 4/16, 5/16}) -register_sapling("sprucesapling", S("Spruce Sapling"), +mcl_core.register_sapling("sprucesapling", S("Spruce Sapling"), S("When placed on soil (such as dirt) and exposed to light, a spruce sapling will grow into a spruce after some time. When there are 4 spruce saplings in a 2×2 square, they will grow to a huge spruce."), S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings = large tree"), "mcl_core_sapling_spruce.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) -register_sapling("birchsapling", S("Birch Sapling"), +mcl_core.register_sapling("birchsapling", S("Birch Sapling"), S("When placed on soil (such as dirt) and exposed to light, a birch sapling will grow into a birch after some time."), S("Needs soil and light to grow"), "mcl_core_sapling_birch.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) -register_leaves("leaves", S("Oak Leaves"), S("Oak leaves are grown from oak trees."), {"default_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:sapling", true, {20, 16, 12, 10}, 1) -register_leaves("darkleaves", S("Dark Oak Leaves"), S("Dark oak leaves are grown from dark oak trees."), {"mcl_core_leaves_big_oak.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:darksapling", true, {20, 16, 12, 10}, 1) -register_leaves("jungleleaves", S("Jungle Leaves"), S("Jungle leaves are grown from jungle trees."), {"default_jungleleaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:junglesapling", false, {40, 26, 32, 24, 10}, 1) -register_leaves("acacialeaves", S("Acacia Leaves"), S("Acacia leaves are grown from acacia trees."), {"default_acacia_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:acaciasapling", false, {20, 16, 12, 10}, 1) -register_leaves("spruceleaves", S("Spruce Leaves"), S("Spruce leaves are grown from spruce trees."), {"mcl_core_leaves_spruce.png"}, "#619961", "none", nil, "mcl_core:sprucesapling", false, {20, 16, 12, 10}, 0) -register_leaves("birchleaves", S("Birch Leaves"), S("Birch leaves are grown from birch trees."), {"mcl_core_leaves_birch.png"}, "#80A755", "none", nil, "mcl_core:birchsapling", false, {20, 16, 12, 10}, 0) +mcl_core.register_leaves("leaves", S("Oak Leaves"), S("Oak leaves are grown from oak trees."), {"default_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:sapling", true, {20, 16, 12, 10}, 1) +mcl_core.register_leaves("darkleaves", S("Dark Oak Leaves"), S("Dark oak leaves are grown from dark oak trees."), {"mcl_core_leaves_big_oak.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:darksapling", true, {20, 16, 12, 10}, 1) +mcl_core.register_leaves("jungleleaves", S("Jungle Leaves"), S("Jungle leaves are grown from jungle trees."), {"default_jungleleaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:junglesapling", false, {40, 26, 32, 24, 10}, 1) +mcl_core.register_leaves("acacialeaves", S("Acacia Leaves"), S("Acacia leaves are grown from acacia trees."), {"default_acacia_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:acaciasapling", false, {20, 16, 12, 10}, 1) +mcl_core.register_leaves("spruceleaves", S("Spruce Leaves"), S("Spruce leaves are grown from spruce trees."), {"mcl_core_leaves_spruce.png"}, "#619961", "none", nil, "mcl_core:sprucesapling", false, {20, 16, 12, 10}, 0) +mcl_core.register_leaves("birchleaves", S("Birch Leaves"), S("Birch leaves are grown from birch trees."), {"mcl_core_leaves_birch.png"}, "#80A755", "none", nil, "mcl_core:birchsapling", false, {20, 16, 12, 10}, 0) diff --git a/mods/ITEMS/mcl_mangrove/init.lua b/mods/ITEMS/mcl_mangrove/init.lua index 3698ce54f4..ae80ba4b3d 100644 --- a/mods/ITEMS/mcl_mangrove/init.lua +++ b/mods/ITEMS/mcl_mangrove/init.lua @@ -18,148 +18,20 @@ local propagule_allowed_nodes = { local propagule_water_nodes = {"mcl_mud:mud","mcl_core:dirt","mcl_core:coarse_dirt","mcl_core:clay"} --"mcl_lush_caves:moss","mcl_lush_caves:rooted_dirt -local function get_drops(fortune_level) - local apple_chances = {200, 180, 160, 120, 40} - local stick_chances = {50, 45, 30, 35, 10} - local sapling_chances = {20, 16, 12, 10} - return { - max_items = 1, - items = { - { - items = {"mcl_mangrove:propagule"}, - rarity = sapling_chances[fortune_level + 1] or sapling_chances[fortune_level] - }, - { - items = {"mcl_core:stick 1"}, - rarity = stick_chances[fortune_level + 1] - }, - { - items = {"mcl_core:stick 2"}, - rarity = stick_chances[fortune_level + 1] - }, - { - items = {"mcl_core:apple"}, - rarity = apple_chances[fortune_level + 1] - } - } - } -end +mcl_core.register_tree_trunk("mangrove_tree", S("Mangrove Wood"), S("Mangrove Bark"), + S("The trunk of a Mangrove tree."), + "mcl_mangrove_log_top.png", "mcl_mangrove_log.png", "mcl_mangrove:mangrove_stripped") -minetest.register_node("mcl_mangrove:mangrove_tree", { - description = S("Mangrove Wood"), - _doc_items_longdesc = S("The trunk of a Mangrove tree."), - _doc_items_hidden = false, - tiles = {"mcl_mangrove_log_top.png", "mcl_mangrove_log_top.png", "mcl_mangrove_log.png"}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - after_destruct = mcl_core.update_leaves, - groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_mangrove:mangrove_stripped_trunk", -}) -minetest.register_node("mcl_mangrove:mangrove_tree_bark", { - description = S("Mangrove Bark"), - _doc_items_longdesc = S("The bark of a Mangrove tree."), - _doc_items_hidden = false, - tiles = {"mcl_mangrove_log.png", "mcl_mangrove_log.png", "mcl_mangrove_log.png"}, - paramtype2 = "facedir", - groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_place = mcl_util.rotate_axis, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_mangrove:mangrove_stripped_bark", -}) +mcl_core.register_wooden_planks("mangrove_wood", S("Mangrove Wood Planks"), {"mcl_mangrove_planks.png"}) -minetest.register_node("mcl_mangrove:mangrove_wood", { - description = S("Mangrove Wood Planks"), - _doc_items_longdesc = doc.sub.items.temp.build, - _doc_items_hidden = false, - tiles = {"mcl_mangrove_planks.png"}, +mcl_core.register_leaves("mangroveleaves", S("Mangrove Leaves"), S("Mangrove leaves are grown from mangrove trees."), + {"mcl_mangrove_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_mangrove:propagule", true, {20, 16, 12, 10}, 1) - is_ground_content = false, - groups = {handy=1,axey=1, flammable=3,wood=1,building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20}, - sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 3, - _mcl_hardness = 2, -}) +mcl_core.register_stripped_trunk("mangrove_stripped", S("Stripped Mangrove Log"), S("Stripped Mangrove Wood"), + S("The stripped wood of a Mangrove tree"), S("The stripped bark of a Mangrove tree"), + "mcl_stripped_mangrove_log_top.png", "mcl_stripped_mangrove_log_side.png") -local l_def = { - description = S("Mangrove Leaves"), - _doc_items_longdesc = S("mangrove leaves are grown from mangrove trees."), - _doc_items_hidden = false, - drawtype = "allfaces_optional", - waving = 2, - tiles = {"mcl_mangrove_leaves.png"}, - color = "#48B518", - paramtype = "light", - paramtype2 = "color", - palette = "mcl_core_palette_foliage.png", - groups = { - handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, - flammable = 2, fire_encouragement = 30, fire_flammability = 60, - leaves = 1, deco_block = 1, compostability = 30, foliage_palette = 1 - }, - drop = get_drops(0), - _mcl_shears_drop = true, - sounds = mcl_sounds.node_sound_leaves_defaults(), - _mcl_blast_resistance = 0.2, - _mcl_hardness = 0.2, - _mcl_silk_touch_drop = true, - _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, - on_construct = function(pos) - local node = minetest.get_node(pos) - if node.param2 == 0 or node.param2 == 1 then -- Check if param2 is 1 as well, since the schematics accidentally have the param2 of mangrove leaves be 1. - local new_node = mcl_core.get_foliage_block_type(pos) - if new_node.param2 ~= 0 then - minetest.swap_node(pos, new_node) - end - end - end, - after_place_node = function(pos) - mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. - end, -} - -minetest.register_node("mcl_mangrove:mangroveleaves", l_def) - -local o_def = table.copy(l_def) -o_def._doc_items_create_entry = false -o_def.groups.not_in_creative_inventory = 1 -o_def.groups.orphan_leaves = 1 -o_def._mcl_shears_drop = {"mcl_mangrove:mangroveleaves"} -o_def._mcl_silk_touch_drop = {"mcl_mangrove:mangroveleaves"} - -minetest.register_node("mcl_mangrove:mangroveleaves_orphan", o_def) - -minetest.register_node("mcl_mangrove:mangrove_stripped_trunk", { - description = S("Stripped Mangrove Wood"), - _doc_items_longdesc = S("The stripped wood of a Mangrove tree"), - _doc_items_hidden = false, - tiles ={"mcl_stripped_mangrove_log_top.png","mcl_stripped_mangrove_log_side.png",}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - groups = {handy=1, axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_rotate = mcl_util.rotate_axis_and_place, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, -}) -minetest.register_node("mcl_mangrove:mangrove_stripped_bark", { - description = S("Stripped Mangrove Bark"), - _doc_items_longdesc = S("The stripped bark of a Mangrove tree"), - _doc_items_hidden = false, - tiles ={"mcl_stripped_mangrove_log_side.png","mcl_stripped_mangrove_log_side.png",}, - paramtype2 = "facedir", - on_place = mcl_util.rotate_axis, - groups = {handy=1, axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5}, - sounds = mcl_sounds.node_sound_wood_defaults(), - on_rotate = mcl_util.rotate_axis_and_place, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, -}) +minetest.register_alias("mcl_mangrove:mangrove_stripped_trunk", "mcl_mangrove:mangrove_stripped") minetest.register_node("mcl_mangrove:mangrove_roots", { description = S("Mangrove Roots"), diff --git a/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr b/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr index f898a58a7a..4d1590dbd3 100644 --- a/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr +++ b/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr @@ -5,7 +5,7 @@ Mangrove Bark=Bois de palétuvier The bark of a Mangrove tree.=L'écorce d'un palétuvier. Mangrove Wood Planks=Planches de palétuvier Mangrove Leaves=Feuilles de palétuvier -mangrove leaves are grown from mangrove trees.=les feuilles de palétuvier poussent sur les palétuviers. +Mangrove leaves are grown from mangrove trees.=les feuilles de palétuvier poussent sur les palétuviers. Stripped Mangrove Wood=Bûche de palétuvier écorcée The stripped wood of a Mangrove tree=La bûche écorcée d'un palétuvier Stripped Mangrove Bark=Bois de palétuvier écorcé diff --git a/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.ja.tr b/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.ja.tr index 142495e92d..6df59f6fb8 100644 --- a/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.ja.tr +++ b/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.ja.tr @@ -5,7 +5,7 @@ Mangrove Bark=マングローブの樹皮 The bark of a Mangrove tree.=マングローブの木の樹皮です。 Mangrove Wood Planks=マングローブの板材 Mangrove Leaves=マングローブの葉 -mangrove leaves are grown from mangrove trees.=マングローブの葉は、マングローブの木から育ちます。 +Mangrove leaves are grown from mangrove trees.=マングローブの葉は、マングローブの木から育ちます。 Stripped Mangrove Wood=樹皮を剥いだマングローブの木 The stripped wood of a Mangrove tree=剥き身となったマングローブの木 Stripped Mangrove Bark=剥がされたマングローブの樹皮 diff --git a/mods/ITEMS/mcl_mangrove/locale/template.txt b/mods/ITEMS/mcl_mangrove/locale/template.txt index 7e0a254507..3de2b9ced5 100644 --- a/mods/ITEMS/mcl_mangrove/locale/template.txt +++ b/mods/ITEMS/mcl_mangrove/locale/template.txt @@ -5,7 +5,7 @@ Mangrove Bark= The bark of a Mangrove tree.= Mangrove Wood Planks= Mangrove Leaves= -mangrove leaves are grown from mangrove trees.= +Mangrove leaves are grown from mangrove trees.= Stripped Mangrove Wood= The stripped wood of a Mangrove tree= Stripped Mangrove Bark= From 36f5372fe88d0e00c7e0531207c997bf4a544fa3 Mon Sep 17 00:00:00 2001 From: Nicu Date: Mon, 19 Jun 2023 09:00:25 -0600 Subject: [PATCH 09/15] OptiPNG the cherry blossom textures --- textures/mcl_boats_cherry_boat.png | Bin 6124 -> 250 bytes textures/mcl_boats_cherry_chest_boat.png | Bin 6270 -> 317 bytes textures/mcl_boats_texture_cherry_boat.png | Bin 10234 -> 1477 bytes textures/mcl_cherry_blossom_door_bottom.png | Bin 6537 -> 439 bytes .../mcl_cherry_blossom_door_bottom_side.png | Bin 5688 -> 94 bytes textures/mcl_cherry_blossom_door_inv.png | Bin 6003 -> 258 bytes textures/mcl_cherry_blossom_door_top.png | Bin 6554 -> 399 bytes textures/mcl_cherry_blossom_door_top_side.png | Bin 5680 -> 97 bytes textures/mcl_cherry_blossom_leaves.png | Bin 2451 -> 286 bytes textures/mcl_cherry_blossom_log.png | Bin 5467 -> 195 bytes textures/mcl_cherry_blossom_log_stripped.png | Bin 5842 -> 446 bytes textures/mcl_cherry_blossom_log_top.png | Bin 5590 -> 220 bytes .../mcl_cherry_blossom_log_top_stripped.png | Bin 770 -> 314 bytes textures/mcl_cherry_blossom_particle.png | Bin 4863 -> 75 bytes textures/mcl_cherry_blossom_planks.png | Bin 5732 -> 196 bytes textures/mcl_cherry_blossom_sapling.png | Bin 5715 -> 246 bytes textures/mcl_cherry_blossom_sign.png | Bin 1559 -> 694 bytes textures/mcl_cherry_blossom_sign_inv.png | Bin 5667 -> 247 bytes textures/mcl_cherry_blossom_trapdoor.png | Bin 6232 -> 326 bytes textures/mcl_cherry_blossom_trapdoor_side.png | Bin 6013 -> 159 bytes 20 files changed, 0 insertions(+), 0 deletions(-) diff --git a/textures/mcl_boats_cherry_boat.png b/textures/mcl_boats_cherry_boat.png index f19e32ef32fc02cbf9e88cd7c2e6ec8ba1af7a18..118baddfda5b21d337e46b5b068976e5de633044 100644 GIT binary patch delta 223 zcmV<503iSDFZuzHBYyzFNkl^gx|555TB?^t z?qW^jn-k<;T2FOD?u1ina()kL?DyN;RR0ZMY$28bA`DvST9y+OkH_(aJNlVA;%M=& Z=M6skqh%m`b2R_}002ovPDHLkV1h(TXPW>3 literal 6124 zcmeHLX;f2577knEE}OVCONQyoV z7JE;gFlzz^gPF|n@d!eHjkKR}-=N>tFW!R~jKPA0kfq8XP=%Grr2-@x#wz1wFcwxL z0t`ld_3rnaiaWNGdK8&X>r#!C59KdvRvrpdKV%3`7iG0QPgrv5{*7T}T~v`i z=VvqIir$-8tfqYB4KuO3gF}VUqfoQsxGK?_s&$pyW8akCiXUH7UUhv@+bhcLdhn5x z@AVtun1m&*O_%BOPxkYxnsuz4=>_}#MzSDn-WRRPk$i_~v?;ha?N*@mAx+NKh@~u( zq^FF&XjW}W|F@0rDy`p6ZW4yhfBD_^pCnBu2i8A1;*j8;Jd|+w>izs*GVeGP4kQK+ z2JK6UpE*Abp~)_|mv~QFa5cueJF}D!SsrosAJr2*D+&*6E%wb|AG>0{P}X)uU{_sn z*}VB^aD8}Xs$sIEyF+}laoaTi?VMUDarJJ59?{@0n$WzB)M=92w&(rM<8PiC*5!m? zH7_F#P93z2JiDpBTg{s_WA{ndZR7isPOV)3{Wt4@0ILNiI?)jeD_V<9`se1816vO% zcLyBTbvQDA!RJ6Yxo-!r`)=lqPe*)|ZfHiBX)*tn2V%g_?TM%x1H>cqYXJ)~YSsT~7b~XBz?6ilb z7q72z?!BNtcxLDD0)-%8kbCds^MQN&SX1QP^|muH&KtDxg}ryA;e6+1v#WKDnHyD=N6Kh z*X8$YHgx1*{0`zhRe2gVxHm9jgR-vbUfbG`g2=h|RE3WR&L#|R+kHE*`gyM1!}99O z^QPIfuj4NFU2!X^hQYljZ@w$)$mISC4-b)av9(PZof>#mbW3yl1}-A_;oHEWvq8b( ziWQeC!d5IQXunjJzaw_Hnrdf1WkdQaR<~ybjpR+FSB4aN*r3KjmS|#8t7ZJ>4>9yu9nUsDXuOsw}p%riT zRN8tq-8|iQtI|fiZAqS zY;d0c*q3q@AD3pI!b3!5ygAjAUkmPJn{K6PNiYRGyrFMnQqdojBF?xS#ennj-Rs5s);El>B zd$G52hL7`S)b!I{wusJiwz~({PE6-HhhuN)@JZ%gCFY9g~_i4^dNBTdAFkrT@?!KJGG@e=SU5T{6`rU$gwA&Xg%@+jQZ>i6?3g z)E!U$mHPIrj`Fpus8%t5J4^#gPM&3h+!p&Rg0q~ z3bxu2H-gJX+gdRZhaFK-iX3rExdB*rsT{^q2~+|J@2N)O0G!hVtb?2{U_QG#l`L@`GTF^b^S|~!$ zX8~dmtdPdaA=onxmMG_ph2TS<>}9d?=#g;v5D|`s#i*(Rot6CAl-?X}z$XhW1wuqD z8?i#k{!CMe2>u}JGvBl$BjJp71U3JJ`O>$NEAv?0>N4+6r6ydI1DC@ z&fqZsJWW6a@KlO`fd>Hyz%y9@Q$P|hcrcSS2I4z8f>tFMJ=QBN6d#46F~}4apUK2i z00A9O1;{8AnGfM%0f|MWf)Jg?ppQWDA-0!PE(XzbB4SVo6J-+N$bgn`wrc>#5eE=R ze@FtNL8SmSK-T~w;Y(GDKZZgOF&wM}wS1E43_6WPXHi&G5}8IDV;>636=*GLQOP6% z1sE~cCWeiMgHj7>D-{J8k)zSD-Q_T-l*&V-(r8DV)+wyk^3yOET~K^b33`A^7zHH( z6gCN9lNljofDNDx<{~ngO&X&w&5K3Ip*r28NWbpH4e(de2AhGRy1qupp^ zWHDi}Bg=vfLZcxlz&Myc;wOqVIs`?55+RK4A0G<#qa68@V&L&03Y9^l;RO(rfv568 zGM*_Q^YI`AFj%OF#Q>ns(G^mGQU%IkS0TzH$`x9mBV1u^Kcs5G=lZHBSeplwGCT>u zqm+@DYzmW2rs9ZyeRzDdmgx)@84sWhJe7x*DieTtcnS!@EINjieRwQ3 znZl;A{vYAd1R#?P!7v^o)6m@jV1alh6J;3!X#fcX02Yt&zs}x=g8vkr15vx*f2>sp z;=fh%sKS^70?qoU3_WF5Swh+B3eG( zVEV7hKGvY>qUvHz|KZ2ahAPz>ja`}3tCHTq+MPuT^*M(LJBEB;$(@;m(A4}VjfyH< zgs%+kQLnkuCe3VVH#^YgK@)i#CYGkT{=5(PvHdsVa@&R_&F#6HdK_oHHN1mcmI()@ zcdjzc_I@xgE@OvhmiOYrIXykNg!uUuIVT%{*|LPBm&Y_&4-e^K*EN|`B`0zpCm!q! zKX`9`jgL`%ip=56s$&^RQ>E%C(RB5*OQ@9ycZ>_v~;J5t32l4qlmBv;>u=)0_RT*fMD3#0L#5HDm z4=^=8txE4Ay}YLyk1qcgB0V>sU;HrvE%z%fUA&U|yxqDiH~B>Ou=HFqZ`aO<%15`G S79eO!FdWat9*5i_*Zm8OwnJwC diff --git a/textures/mcl_boats_cherry_chest_boat.png b/textures/mcl_boats_cherry_chest_boat.png index 39f648f5e0bc3db5cad98105d83da13e21da984a..8bc3725e6c39cca93504ebdeb801f61fd46aee38 100644 GIT binary patch delta 291 zcmV+;0o?xnFuekhBYyz|Nklf2^z zPww>PPAv|YIS2Y}nk?JsX$J_=_tIOnAa_!`l+Bh*2=KmLJCN8;r?_-v5rBk1mUa19 p+Ck#y(e}lz_Z)3#i=VJRj~BgnnT~em$|?W=002ovPDHLkV1kr6gyR4J literal 6270 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 RJQvC+%+1N2Ugp5u`7bt4e53#X diff --git a/textures/mcl_boats_texture_cherry_boat.png b/textures/mcl_boats_texture_cherry_boat.png index 9d79a9d87750f17ab604c73556703b58198c8a24..1c0febd9b841fa07fffe5b383c5475df6dca13a8 100644 GIT binary patch delta 1460 zcmV;l1xxz+PsIz6BYy>qNkl#DA*Uajc*aO-9_XIk~VhVWn9 zxZ0gxyVBvlYWe!|;9eK>>Hh6C;d#^lvbHhC-b7yCc?kZa1%H5>{_3a0_+Qxmby0F4(vXwuRy$b;J?Q?Jd zzz4^~@XFgIu`DRa@i~QNV>-Y%{u%(#r!N44w`mKYO2NvEj|$@F?@u0G5}RA_f=BzR zuV%Rn03I*ypMOv9bl=V%t|@+(WXCuk@1Fd}pUGY}fyM3IP0px|7z`%x2yZCPMqVRez`x>tsWrumC)+QuGg=01NZ8 zC4xNu7H64oci-Ru0Qs{5KxV=-QUGLq`v3s4S)t+AOS08vfZr+Ey&Lus;8Wl*Vg8`_ zrU8Ht)G%!9oxg@;>;ke7QWcuL8}l<@vQX4*Y#F>R=fIoI*#Q7~0H?TGCeN8u*GEG! z%>y{4vVTv9LQAq8e@V7;1MC76BasKu)HDFHJb?Pxtc{7s%Xo(50YZsk&KUqD*~+iu4axH#O)8iH zkon>vKE7|Lr~q)XH4ji5UjeXfWw3VrdHbgO{eSvphkLUC$Pz)N@DD4>g@T$vbY@ud z4_Oqz04T|3i@|_#vd5agzZdV;ipPCcnZS$ygj&Y1Oftwb0O8lAZF-z#2JZe4>v`P7QXc?IE042FY%E3eVqm2QDzBS;+DhKi6 ziGO=ofuPtA)FP#LKjz_gj{Dw$z%Rg)$b>eoekm_ciu!t9E!p$FRubMV#?gWXC$B${GQj_OPx`!}t4 zY5rS_CazdA_IOhP;AqYSI#aKiJpM?|3V$LT%k~VV@z7oyuO$F9Sqx&|9^_8b@}UQ= z3qWD--5AC(_ri_gG0-)(Lfn5INl4!|9>nRvD+hdNmYy$VV2PkFcRDrH;t}*-= z;~hExnm-bjMYwYjhe+}hybExf8hJDMKzyW!HTJon9|CgR!eSKfoawhOV^M3&Q z1i*48Q1$>^Wn&**O6fY^zs)%N`tIdSU?C5{D*zJ%#j?Mv#s4}E+DhY00f24J1hNZg zG7QwXolTw|_2xJo&;QytgB*rI7zpU8U@W`Fa>2WpuH z;)-tYRJ-xJkM{(|^*UacSyD#|E0d%*mYL`m7v0TslvGd)p zSGDyxGgh`s#0woj4IEA)jcc#_RnMHjE_blHT_S#AFOXTlt7Bf3M(&~mv>pK8h&@&C zbpUkK0onx~9pKPCz-c-F94)Q`06GAm0{}Vz000000000000000Kv&)d&B&rE*hez} O0000&-cu{^US>OzdM%@JQkV=> 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 literal 6537 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 diff --git a/textures/mcl_cherry_blossom_door_bottom_side.png b/textures/mcl_cherry_blossom_door_bottom_side.png index e9972feba900131b06eb942933b822e6d14bf2e9..7b7e9e96da2555d47d77d2b25e5c6297b753a3e5 100644 GIT binary patch delta 65 zcmdm?6E{KGnnBgm#WBR9H~Ge!mtX#S`riA0TXySz$rFt6$u(}g5~c}P8WIy37(~yu UD6vKGG%^5zr>mdKI;Vst0E^BT`Tzg` literal 5688 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 VLar^YT#DGDxEy=S%oU!y{sUTTuF(Jh diff --git a/textures/mcl_cherry_blossom_door_inv.png b/textures/mcl_cherry_blossom_door_inv.png index fec36f0e58d2cceab5164656d7a330f81c1c03e2..f3a15c090e37be3960d1920ef48920b4710c2ce9 100644 GIT binary patch delta 231 zcmVhVdD20g%Sy zQ33zo%rF}Ne>k4q%LEb!xe})VAj#VuwGacK8vo78 zgtJLD0Hk?QpdZ{2kT}Sdc)dW#1wV}m>2NH0$@>L0E!7*7_R{!=bdh; z0ULr1gXD-Z;7Wu$*ssW80OEth2^s)Xh%FXi2ICC_WCPIC0m%kna{<9vfEhqm7;N@* h0xQ6WL28io006j{wmWnxh`0a%002ovPDHLkV1iXbVr&2a literal 6003 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 diff --git a/textures/mcl_cherry_blossom_door_top.png b/textures/mcl_cherry_blossom_door_top.png index 4759912c3d1d537bb84eb3f78401eb5fd8333e13..b2ac87e14d32871821e12e58087a41faa9fed124 100644 GIT binary patch delta 373 zcmV-*0gC>bGmit1BYy!_Nklo&LJ|h)`5NQ%pW(~IHn;#X28nO>bOK`#8(kix2W-IYj#?B0V2Wp_rv1N>m-qh` z5YI_VMUlg608HVdf`b1HQ1GB2AHx+`4FD-Rl9c%WSW?peyMOt4a0BiX zVm#a+kRDL@!3_XOtj{lkYr2w^_5XW!{{NrdMgOm4XTZhR0}Y0S8;Sv-z;}LBXF1U6AccS0D*oT<2>XAt zJ^cSaAR8nGl5PVzAFCH&fpZ2JeGE7NNDda*I1RW4bpZ%GFE0N7yrdA$zn-0mVgSyB zbfmiK|C_S1|BExT{x8bN{0|DaBUM$zB_x<1(UUR^V>N)H%mm7k=r$9BVFmyI`iOpG T5^JHi00000NkvXXu0mjf;@PXX literal 6554 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 literal 5680 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 P$P~t~ccT~B`EUITj!2~* diff --git a/textures/mcl_cherry_blossom_leaves.png b/textures/mcl_cherry_blossom_leaves.png index 5b47193a740ba8b41f2a8d4d08c696b4e3811635..94e223d5b056e46d29205558b6903323227f554d 100644 GIT binary patch delta 24 gcmbO%JdbID^5jB}$jR3^W^yuky85}Sb4q9e0BH{hWdHyG delta 2200 zcmV;J2xs@60+SPvBYy^pdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvvg@c4 z{AU%t1d0L*mctm)J9x|QWRPrpe0+T)o)xwQlo&Fz5~SMy{_W}?e2gcftdroQ_ZlA? zZ8QltL9b7ozohN_-35K!9QEpMFsNeu^D0W(@d@?r@xV0(<$tqYh23Jp?&#`ycgSO8 zgPZz1Nz|KFPj+_{+q&^F$n#XQS^s4R&Z+D#%k28@WR%r&g%zMw9irHn#>9I5hBX5o zU*?uZSz?qzlNY zy6B9nP$UCZx*|)J5_M|xzfi#xt!YN^Z%i>f>jI03rtsj&j*Gexj$Ao_w_=(CbC%6L z7no8 z06_^eH*8G?1LT~kn540cY*Au@8Drxap&4tO@n%%Rn?QtP&jM~DCy-^WgMP#YXec>$ z);Z^$xPPErbjh=~-g)oE50gv6V#SFUkswi0;9!FbK1c{5h7?U?c%X|uN(?c^l#EIk zD50-}_=K8lGH07z_E~bsF{c9g6kA;JMM@~Kq-rWx*hKYJYN)ZMMykOnnr*K6CM~qs zQis+$ciUa}U3%!Tr<=9S>W}L$SfkCFnM{p1xqn$htrEGqpkXI&a0bSVB`_|70SMX* z&U7Ga&0ubDrsHrqXD~@OxKWh`W1!GBGOp9j-GjNWcvCKX#hdvPb81lc|6opmx}Utg zVXcmRu1v;O77k1`Bm1P1b);OA*j*8cC}G=87RFP`Y_z3&-MJ(x=fx&ap>$}Z{<}jps8q?>sy3(jyE6I%#xo$nG;xQ$_F&FQwRHH{VJX=Fv ztG4-A?TJ=xtI0^IvBXt~u?BG~40@mem48}`D1Jehxpm#WUqI;|m`h(MByJHH+O@of zjiWSuVb!AA9AwL&n`>B41#TK~>Cr{g8�#@YS2CAIBsnK0uy+v;R<>}{^r57O4 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 diff --git a/textures/mcl_cherry_blossom_log_stripped.png b/textures/mcl_cherry_blossom_log_stripped.png index 7cd5ddd9e990ff1596973b970d382393267635c9..33e84f7d6b817272e74113bdc34b1adf9bbad7de 100644 GIT binary patch delta 11 ScmcblyN`K-@@8|<*^B@jECde# literal 5842 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 diff --git a/textures/mcl_cherry_blossom_log_top_stripped.png b/textures/mcl_cherry_blossom_log_top_stripped.png index 0ae3c1a8447b381ef13e174dbf2fe103659ee33a..775e2664e137abbe94e50c118f4d8253788a1ce0 100644 GIT binary patch delta 22 ecmZo-+r>0NnTa8G@?FM6mNzRtY@Qs%v;hEG@Cf?= delta 479 zcmV<50U-Xm0)hsRBYy#eX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmKpe$iQ>7vm5j%)D zM5wx05EXHhDi*;)X)CnqU~=gfG-*guTpR`0f`cE6RRsYF@Fq8%+%wl#WXy}*FAiE zy^HWH?{j~S9wlcoz$X&VG2O6;H;898EuHf|aflTqh4`F!+@K2*KXP4m`HgeIVS#6c zjC69II7BQK+E{L5Ry0)NY2vV=YLqWzTvj-5aaPM!*1RWwVKAqyq_|FV2r(=njs!%= zsG@{2EJSG4NPjVrr2VLef6(zK$R(4j1V)YpRG>m~{NR7^yIV6qHR&b=qd@12ZGVga zfnA_cv+eI=+isiy{%7DyYxyg6VD^*rT1yKb0lnM6#dS-Q_khbCVBkrY49SuFG=+Q~ zct4|W$^!kjK=+#4TXP?$4?vo_TD}1e4uR1EWv_d@yFIJDw|~zx`}+ZO_;RR?Ar&A1 z000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>D20vRK36Yc~6003Z-C1Di*|Nrz> Vb;1Au00Cl4M?@b54G_JNim(m!%(nml diff --git a/textures/mcl_cherry_blossom_particle.png b/textures/mcl_cherry_blossom_particle.png index 6efebffcf643bfda0551fe20d3432096537d133f..eabdb097c9bb031b7c38accb7f28e2c79141f1d1 100644 GIT binary patch delta 46 zcmeyb>ODbOgF(pC#W93KHu=Yk{crxCzF=p-#$a}nqegypgB1f1c)I$ztaD0e0sxsh B5UBtF literal 4863 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 diff --git a/textures/mcl_cherry_blossom_sapling.png b/textures/mcl_cherry_blossom_sapling.png index 478a17622492d245b0bf1d972f41440f682be87d..9ef0d919c2ea037c2ff15172bfb4c5adf9deecd5 100644 GIT binary patch delta 14 Vcmcbt^Nn$W^5kOC;K`Ro8vrkh1`_}P literal 5715 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 diff --git a/textures/mcl_cherry_blossom_sign.png b/textures/mcl_cherry_blossom_sign.png index 2c1f7e31b27a646c3b694377e71b513bb8bb10b3..3ec1958c0029c1d2cefdf71a8311f217230716d9 100644 GIT binary patch delta 671 zcmV;Q0$}}@47LT3BYy&YNkl~=ako4mXvvsLvw9y?oo3%#B7A>{YN=86km zi}iJAYX7Qqz!+@=UY0Vb&M~a{&;5%W7kph^y7<1i{)5kp?tchU&&&TX`t|h4#ryfm zAG{pyjUe^B{9i$(B2wd#O&Ue*>7VC6ZdhOP%zz3|qc26%bSsZm!SQV0=%E@0(76AK%u}9wJJT$O{32sV4w(MZ{RXQ3B*STubdMITK{HMayX>BU($KgsCS$=WJ;X zw@v{%XMg1$zoQChvItIu0FGFx0`Od`6u>!)$VYRS32j9U&NuP<(X9VsN{OzDmj!XpB%AO4FJRAs%c)T|k;hfcqKzevi zurn3`OrD;z4q$l4L_dO90XibptPdR}9j$6U<``q9#}7zz>fosK`1Jq)002ovPDHLk FV1jrZIp6>Q delta 1542 zcmV+h2Ko861(ytvBYy#eX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmKpe$iQ>7vm5j%)D zM5wx05EXHhDi*;)X)CnqU~=gfG-*guTpR`0f`cE6RRsYF@Fq8%+%wl#WXy}*FAiE zy^HWH?{j~S9wlcoz$X&VG2O6;H;898EuHf|aflTqh4`F!+@K2*KXP4m`HgeIVS#6c zjC69II7BQK+E{L5Ry0)NY2vV=YLqWzTvj-5aaPM!*1RWwVKAqyq_|FV2r(=njs!%= zsG@{2EJSG4NPjVrr2VLef6(zK$R(4j1V)YpRG>m~{NR7^yIV6qHR&b=qd@12ZGVga zfnA_cv+eI=+isiy{%7DyYxyg6VD^*rT1yKb0lnM6#dS-Q_khbCVBkrY49SuFG=+Q~ zct4|W$^!kjK=+#4TXP?$4?vo_TD}1e4uR1EWv_d@yML>_w|~zx`}+ZO_;RR?Ar&A1 z000JJOGiWi{{a60|De66lK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^Ri0uccz zD$CE_3IG5E6iGxuRA}DqSiO%MMHK&eX4m_1#P*p$7o`V8BtmrmNji#Dq(e$|9nhtv zpr8VYj(`8;gir(mp_B-bB9}Y+KD_JM-I=90ztQaMmv8I@pU9I|-nHM(ypP{|?>8P` zCBGhiQKCUqk?VWr`6w2bXcHC$)o0H~pKNRWdr!X^z(G9Q7~2TiR0#nkM594Xj;bQB zIrlo(ca;HUesb@V_Q(&bkG;yZWS_wjvepY!@YQO7=M ziVqII8aN|BE>oQS@f*e;eq3{)O`04h{ie0ZQ1R*|g4^%czHi;9!Ew@WTI<>YAfu=E z4=Nc~ndn7C8#>7O^u<3lqvJbwD;ZaL-iwGfbddAn)l2sPkdgj)Tx&9Bt>tHDYb{Lc z*nj$DqKhceVsU98XL+^HWWTl1QSFm1k0KqA z%08>UL4hOvjd*}KIj+>LSsMA-ywVTE$#EkoX`9cg$iZ>tWImr&>ejzC(%H`EvuZ!E zp0_C;8P9@1XFquNJ)J?DwAj$^oBt+aln`LIL!D_tflSj%_L^YdH~(D`z-)t0e}6fu z)I9V28qABurM|?;F~rGnt!EIYpum}^kZFqK@4sq|&4#%WOMT_@8S?q8)-#Ax^!1DO z9$?W-o48QM%^>)rNh3cnv(Cc^)B6XlM9L;EWPCLUqegyUW}QcoW|w`FVl5ufBwfE< zSGvfG3z6CQEI>EUo;)t4SVATV0Ds`%`=6XnS4WQ?mTVY6Wddv%;K6r44zR*6 za7QvxX;yIzl?na1>*5_fdRPL0OcI@a%A^Ytco3p2qz=Z;2Y}$p;}|kYV8YimgDMjk z?oE-+PB%92_pcAjP2T_L%cq?QWaO;rJi)i?)Yn%AeW%8q=>c}l5)wA4VSg&68_@&o znk@^dGq*_wr2{Mb&!&LN1b7faCJ6=}*O_z4AUVE`iSot*VAm`g2H-*HgaFg=8_@&o zn%x!`xGBP#YL=is@VHY6n0#XAo1j^<+c2EgC>D#YOo6^RzVTV$*^|d*Hao>|e~MzU zfVZ~?dd_C2HDW|{P3W+LMt{tam?RqpTGuWw3VvBg3_K2*BpB{bA;l7(e)~hk@t;5c z>{^6q-7|=1*Q`Chh#LR^_u`rp^xOu0l?gCh1<(9l|Gj1qF&@XQXOh=-sPf2gyL(e0 sTu+6r@4fjRVAU*T3mM+ZTlpWzzknu*c0oa#;Q#;t07*qoM6N<$g2!LuM*si- diff --git a/textures/mcl_cherry_blossom_sign_inv.png b/textures/mcl_cherry_blossom_sign_inv.png index 9be3e2cb83d53aecb57b0a0d1ef91823dbbf87a7..f052d3643f794f308207960e9328e4892349e7c2 100644 GIT binary patch delta 220 zcmV<203-jSEcXGBBYyzCNkl3Tr0s?RhQh?0H#)lhly{F|r2!jj)DFD$RK8OvXFV+;nF-#1EQM`cc4P>W+FwBL> z-U5kXgaOEO7>(>?n9E=oW+>bMWalA!0o}NJ=Lu)s%#i zE+Q%?lytvIDw61ODy7n?Bz${@I$GaZ>szh$o&TCyduH$F{XM_;d4BKnK6~%={=VLZ zdQ3Q5y`UKiA*M2K4 zXQ|F@;lNv7q#rlUJInV$s?74(Y3)c$hC|tm$Su!|B};^~8S7v2&!4??e3eDbnK>E> zEgq5iJ8V~U3XmwBo==N7%{?;>^d|{ESlv#Y8RZANU{_E+?@@qt`N@qwsIoBHXGfBv zYMR(=g(fBJm3NKJaQ^QT2Ai)qy`FyNQtcdWyv!rTySL zGB9#{G_sE8X5@LiJEYxYQFz^A+NDh~=7H=REf)id=sWL6>6=ymS#6=c@JiTSUtqlA zQlrsOdv$3=Xl0Ann?RL|El0Gd)~Fl7^!Uuw*D?7+4|wrV(a%VTgTlrL6voy z_rWYh22amVTo#e?S-ZtA>H5HG!{3lo-fKQNN}p8s6hy2@2pTtMeU<X&VgQ zaC`c-94*a=4Q0h{X=r_uq%637y}T+LHwE5X)4)96FrjnSyKPf<>#~AB7#vNW)@U$4 z&ay1YvT_2K@@$i97eZnm|8nO?m$o3GS$Z?Ml`mXT-twkDk(z`W^YzRDng zoi#Q0*y2g7!|tAi2ll5>COX=!+^Nh7d>U18x#Mw;ZBrS=Y@c6DW1j!Mb9-%r%d7UT zzU^Oh{s4inj8XJ-yLb;XleOdpqf*3DJotE{sHvP5UM5`p@U`_3uN{P4^9?;~Le~a8 z#=935e5$w5<#g+2T~@*-TwPl+W3$wGn`MDj#ydXkEYp>I5I;q8ZMn&Subm>*yl`#J z!>+68D;{kaMoM}9A3dIS#1EWXY}MwUpLHmh>_&48u|B_K{sFba>{;y;#K9DR{u8Hd#apRo4wIJ!HQw*bWxv7mX_*8huC#s}-Kes9*>{>+r zpw9p+zd6L$3*mZv)0G95v#;%BpLzte&5hTqw)=Q4$tL`hsdJtc&m<~F?w7QxT;7w@ zXIc4rTh);bukR2`BMp06-;SF}DsemZA#MBNw#-|VF6Vwl#bkwd{qAjEv+%um=F;}* z#ToP3nAZ;(9TAkhJB+h0R~EEhYuSA?Z?#2Fho-4!e9Y#|m(82O)?i}#y{$>`5a&f3 zr*~)v7>1reqv`*!~42D%R8ooWF{!m+E4p#n>_5>oR?g^lgherMiSb2 z(?`Zk+wx)GVFz5o>Fq06G6{)WwM1dmdEyvZ`1%BlrsX-{6@Tl-T@ zFWOy4<1g&6!B1Jub@k~xX6;YwJ$R$<+ziU3>stGm>xtb_b2+V=TQk`MXs4lj3W>-q<7oC*B zOU6~o@Y_CB$nKn~mqB;D+U})L&B~|YA6~rQdwi+I-a8-f95B*xEP5IGMvF0P&>KG3 zo9bwkylhBYW3ApC%PjOT45pDH@bK_wdU$+ou24%YShb19IO{g8ap{60gqg{lbTYl< zWT>%O%$C`c>*op_j=zYIJU7P+7=dBav|87!wayIIG3SR{g=x9J(LC4E$h_(4^JQsZ zq)B&ujBCe(745Z}DGB+dyr%KWWm`98c{a|E4K_GE*UdT!V=(W^?e5Y>ymM14ZRN_^ z%r}m`(!}iPwtQ@zo#}PVgCpsrbUqQev(F_a-OP5~r-Hb4rM{`FBs{i%gR~w<=BH-K zB)iCT$I16YMVt_PP?wa`2tgc8LJG_|U#;U#Tv}(I$I5{X)s! z6s#jXvW0=!v~RE^E%C-%y9>6t2giG5YXvFiO1^X^zB#o7=Sp}!ORLcBS*9>C3zi(N z45)b3%V`r8z=rspKFj+Z>?=R@W$>m-{j4vQ$$59~yAt(djal$B(lp04vsClW-xyp<}z||1h zavCC(9Jb3WdT+fpZc| z_$Um8LP4RiC@dBUA&}B|kqn4Kilj4C6eApTP|A@AqGbZH2(ID;*kZYihCo2$@UQU+ zqgkwP^djk~3XmSCI3OB@aYCbnLey9fsmwDLA{hz>7_Ih##QqK`6Y%~P>$})g zBkFX<1_HT%x|kzZg~z1R5UTm9Tro$$rK(R!6oACTvPnn^7Dqwi zK_Umq<`URQG#kSs^C)OG8^<0)#S}?pfQSRCs33AD0mQ@M;&4PV7L6p6a6}}YKp-L6 z91x2nVJK{n#N}`ZJlq%xKZyXUN+4=%R4OViM8zZE(EtS`A^|)ajl^Tn0FuJPl8|UD z2>?kHJP4xEYAP;=>Lr#40cbe|LVypVqD6f5fJ$(xyFZhLz&edU)fWFKK*oa{pgkZE zam5Ph-{2sD5L_SwRC;2FBqD)A#!!eP43R<^iCXO+0!pM%Evi^CXeS(2?XFrFDwGZ+ zEugAYh(K+JvY~oNKtLvz1c}8_G=z!*uJZgg%z`!)7mxvTKn6mjXe^G3#!@k)APkm@ z$5Amv2MmTfnyZSACFTlv@&600+CFe+2oEhfLm-9bk5`*U_S6C}X5?z*GD@J{OmMh* zTTlVcND5LQ7UZhqgt$hAIFW#e4?_K8v|zv51^-YCJb*_AxLgX7LZUz`NF?Kt06d;M%UqAoB^W#Imr*{`%|u; za{Z73KLq|+T|edeAq9R2{Ik0LZ*uAV{W1lLpeG;&^s0oOlbHs+W@)qMdDCITs;{!P zI2W=^h-NI3!eIInRfh&_d%+aQs3T*tJawLpGtqD`cKr*aLhsViwKq z&skl{kHmm1_S@apYKAG#hK6Zjp{BM;9e)KMu;gW@^Z&?@pQRrzbE>wVxvRgYfZzir z&D6bNn7h3t&~sy+k-RM+#<@>glcJrY>rS3}OCAL~nZ4nSGmQFb){t_e>z~rZ7`>!7 z&W#TGfwPs5&j;w%wOdsLKDctvXHC+B)bLx!T#DA!N;4z70xK53DC1R@wDndU>n+mw zwAQ7$qhj`!$@?DDbs;jCqDd#E&}O}{zCP*%skDHsXetv5C$id64wpL|Pbe?WeEEy= zSin`nO3{$n^z0AK#kpsXmv}iKmkhv)A$?&?PhWcZ+=w;*0oBv7=>Px# diff --git a/textures/mcl_cherry_blossom_trapdoor.png b/textures/mcl_cherry_blossom_trapdoor.png index 9c87be48f9e693be99dafd730ce6f80cbf80039f..ecf68e629f84e3ae958e566c0914906fbc7ffcf3 100644 GIT binary patch delta 300 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 Dn@6}0 diff --git a/textures/mcl_cherry_blossom_trapdoor_side.png b/textures/mcl_cherry_blossom_trapdoor_side.png index 56f5e9fb85bc30e1e5c7eb66d84309af552335b0..7f4a84a4cf24c00765d6384030d5e41f9be1ff03 100644 GIT binary patch delta 131 zcmV-}0DS-bE}sFABYXg6Nklo&LJ|h)`5NQ%pW(~IHn;!?gZMDK+0zM(k;P!@Kzb-P0K^|PVAKHW7;w9zma?P_ lGJvAY1Tz5H7Gf~W006pS=o;+X=PLjJ002ovPDHLkV1h{=IxYYJ literal 6013 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 Mn~&>p=kTO|12-DmPyhe` From 17371ad60b9ed771967e81b747008630a8a23c4e Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Mon, 19 Jun 2023 10:14:30 -0600 Subject: [PATCH 10/15] Cherry blossom changes as requested --- mods/ITEMS/mcl_cherry_blossom/crafting.lua | 12 ++++++------ mods/ITEMS/mcl_cherry_blossom/mod.conf | 2 +- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 6 +++--- mods/ITEMS/mcl_dye/init.lua | 6 +++++- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/mods/ITEMS/mcl_cherry_blossom/crafting.lua b/mods/ITEMS/mcl_cherry_blossom/crafting.lua index 16f4016b29..397f23eab9 100644 --- a/mods/ITEMS/mcl_cherry_blossom/crafting.lua +++ b/mods/ITEMS/mcl_cherry_blossom/crafting.lua @@ -27,7 +27,7 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "mcl_chery_blossom:cherrydoor 3", + output = "mcl_cherry_blossom:cherry_door 3", recipe = { {planks, planks}, {planks, planks}, @@ -36,7 +36,7 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "mcl_cherry_blossom:cherrytrapdoor 2", + output = "mcl_cherry_blossom:cherry_trapdoor 2", recipe = { {planks, planks, planks}, {planks, planks, planks}, @@ -44,14 +44,14 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "mcl_fences:cherry_fence 3", + output = "mcl_cherry_blossom:cherry_fence 3", recipe = { {planks, "mcl_core:stick", planks}, {planks, "mcl_core:stick", planks}, } }) minetest.register_craft({ - output = "mcl_fences:cherry_fence_gate", + output = "mcl_cherry_blossom:cherry_fence_gate", recipe = { {"mcl_core:stick", planks, "mcl_core:stick"}, {"mcl_core:stick", planks, "mcl_core:stick"}, @@ -63,13 +63,13 @@ mcl_signs.register_sign_craft("mcl_cherry_blossom", "mcl_cherry_blossom:cherrywo -- Smelting minetest.register_craft({ type = "fuel", - recipe = "mcl_cherry_blossom:cherrydoor", + recipe = "mcl_cherry_blossom:cherry_door", burntime = 10, }) minetest.register_craft({ type = "fuel", - recipe = "mcl_cherry_blossom:cherrytrapdoor", + recipe = "mcl_cherry_blossom:cherry_trapdoor", burntime = 15, }) diff --git a/mods/ITEMS/mcl_cherry_blossom/mod.conf b/mods/ITEMS/mcl_cherry_blossom/mod.conf index 1b30ed0621..8a6975946e 100644 --- a/mods/ITEMS/mcl_cherry_blossom/mod.conf +++ b/mods/ITEMS/mcl_cherry_blossom/mod.conf @@ -1,3 +1,3 @@ title = mcl_cherry_blossom -author = PrairieWind +author = PrairieWind, Wbjitscool, SmokeyDope depends = mcl_sounds, mcl_util, mcl_core, mcl_doors, mcl_stairs, mcl_signs, mcl_fences, mesecons_pressureplates, mesecons_button, mcl_boats diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index af274f7b92..a36b475953 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -16,7 +16,7 @@ mcl_core.register_wooden_planks("cherrywood", S("Cherry Wood Planks"), {"mcl_che -- Leaves mcl_core.register_leaves("cherryleaves", S("Cherry Leaves"), S("Cherry blossom leaves are grown from cherry blossom trees."), {"mcl_cherry_blossom_leaves.png"}, - nil, "none", nil, "mcl_cherry_blossom:cherrysapling", false, {50, 45, 30, 35, 10}) + nil, "none", nil, "mcl_cherry_blossom:cherrysapling", false, {20, 16, 12, 10}) -- Sapling mcl_core.register_sapling("cherrysapling", S("Cherry Sapling"), @@ -24,7 +24,7 @@ mcl_core.register_sapling("cherrysapling", S("Cherry Sapling"), "mcl_cherry_blossom_sapling.png", {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16}) -- Door and Trapdoor -mcl_doors:register_door("mcl_cherry_blossom:cherrydoor", { +mcl_doors:register_door("mcl_cherry_blossom:cherry_door", { description = S("Cherry Door"), inventory_image = "mcl_cherry_blossom_door_inv.png", groups = {handy=1,axey=1, material_wood=1, flammable=-1}, @@ -35,7 +35,7 @@ mcl_doors:register_door("mcl_cherry_blossom:cherrydoor", { sounds = mcl_sounds.node_sound_wood_defaults(), }) -mcl_doors:register_trapdoor("mcl_cherry_blossom:cherrytrapdoor", { +mcl_doors:register_trapdoor("mcl_cherry_blossom:cherry_trapdoor", { description = S("Cherry Trapdoor"), tile_front = "mcl_cherry_blossom_trapdoor.png", tile_side = "mcl_cherry_blossom_trapdoor_side.png", diff --git a/mods/ITEMS/mcl_dye/init.lua b/mods/ITEMS/mcl_dye/init.lua index 692cd5e872..abd6ed1d9b 100644 --- a/mods/ITEMS/mcl_dye/init.lua +++ b/mods/ITEMS/mcl_dye/init.lua @@ -192,7 +192,11 @@ local function apply_bone_meal(pointed_thing, user) mcl_dye.add_bone_meal_particle(pos) -- Saplings: 45% chance to advance growth stage if math.random(1, 100) <= 45 then - return mcl_core.grow_sapling(pos, n) + if n.name == "mcl_cherry_blossom:cherrysapling" then + return mcl_cherry_blossom.generate_cherry_tree(pos) -- If cherry blossom sapling, run that callback instead. + else + return mcl_core.grow_sapling(pos, n) + end end elseif minetest.get_item_group(n.name, "mushroom") == 1 then mcl_dye.add_bone_meal_particle(pos) From 81569a69173d112cef8818596d8cbc681b2e5b35 Mon Sep 17 00:00:00 2001 From: Wbjitscool Date: Wed, 21 Jun 2023 10:48:10 -0600 Subject: [PATCH 11/15] Add remaining cherry door textures --- ...mcl_cherry_blossom_door_bottom_bottompart.png | Bin 0 -> 141 bytes textures/mcl_cherry_blossom_door_bottom_side.png | Bin 94 -> 157 bytes textures/mcl_cherry_blossom_door_top_side.png | Bin 97 -> 157 bytes textures/mcl_cherry_blossom_door_top_toppart.png | Bin 0 -> 138 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 textures/mcl_cherry_blossom_door_bottom_bottompart.png create mode 100644 textures/mcl_cherry_blossom_door_top_toppart.png diff --git a/textures/mcl_cherry_blossom_door_bottom_bottompart.png b/textures/mcl_cherry_blossom_door_bottom_bottompart.png new file mode 100644 index 0000000000000000000000000000000000000000..5c65e6f46d59b7e4e1a6850741de680e8ee1b4ac GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`A)YRdAr}707ILB={(Jh$N!Z`s zBi8zN(Q?7Q#G(_A6!!8c95mlt{XhSGjv{CCmzv&>KhJ+iO_GjbXmPBOxcBBI%drzl n2BiwN3CwN>H6&ybUZkrrWQhyA)ISOaS;pY$>gTe~DWM4fAI30? literal 0 HcmV?d00001 diff --git a/textures/mcl_cherry_blossom_door_bottom_side.png b/textures/mcl_cherry_blossom_door_bottom_side.png index 7b7e9e96da2555d47d77d2b25e5c6297b753a3e5..5c6109b6f924158ecec47062c2f79ae3ef6150d6 100644 GIT binary patch delta 127 zcmV-_0D%8qodJ*}d1OgMK~y-6V|dZi_#cFiM+N+6AQGVH+1}am|IO^)|6gN#h&BL4 z4~PL0AjJR_J%h)9CpCE_8vxexWnvr22B7HK?CC_Z0VsMXHh^L;P|W~Rq7g;Uz$YY% hGZV-^q#A&%2LRB;4OU+l*d+h}002ovPDHLkV1g<)G`j!* delta 64 zcmbQs7&k%1O4ZZFF~p)b`No@RZ9F~p)b`G?fw&;LDr@BP0myY;{13C6{2JyHf)2NDbuHZK=;Wn*Bd XU)!Rz_s;QX1|aZs^>bP0l+XkK%eEUF diff --git a/textures/mcl_cherry_blossom_door_top_toppart.png b/textures/mcl_cherry_blossom_door_top_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..ed317fa2c220dccc7306df2b73dd7671996bf16d GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr}707ILB={(Jh$N!Z`s zBgVS_MP^HK&Lf4rJPN(}Y2W|dzjxC~i0$Q1smGt^KRkWJYzKo8TW9{a5~gGU=~%fX l>^TQCBv_l7dH$YZVMsV97SnENKN)B^gQu&X%Q~loCIDI*E}8%U literal 0 HcmV?d00001 From 1dfbd612beb518e27f53b1daf9e785b44b4ed013 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 25 Jun 2023 17:30:02 +0100 Subject: [PATCH 12/15] Remove warning for use of global variable and set default tt_help message --- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 2 +- mods/ITEMS/mcl_core/nodes_trees.lua | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index a36b475953..81a1ea83f0 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -20,7 +20,7 @@ mcl_core.register_leaves("cherryleaves", S("Cherry Leaves"), -- Sapling mcl_core.register_sapling("cherrysapling", S("Cherry Sapling"), - S("Cherry blossom sapling can be planted to grow cherry trees."), tt_help, + S("Cherry blossom sapling can be planted to grow cherry trees."), nil, "mcl_cherry_blossom_sapling.png", {-4/16, -0.5, -4/16, 4/16, 0.25, 4/16}) -- Door and Trapdoor diff --git a/mods/ITEMS/mcl_core/nodes_trees.lua b/mods/ITEMS/mcl_core/nodes_trees.lua index 6928aecb1a..8d6c1f1f55 100644 --- a/mods/ITEMS/mcl_core/nodes_trees.lua +++ b/mods/ITEMS/mcl_core/nodes_trees.lua @@ -236,7 +236,13 @@ function mcl_core.register_leaves(subname, description, longdesc, tiles, color, end function mcl_core.register_sapling(subname, description, longdesc, tt_help, texture, selbox) + local mod = minetest.get_current_modname() + + if not tt_help then + tt_help = S("Needs soil and light to grow") + end + minetest.register_node(mod..":"..subname, { description = description, _tt_help = tt_help, @@ -302,31 +308,26 @@ mcl_core.register_wooden_planks("sprucewood", S("Spruce Wood Planks"), {"mcl_cor mcl_core.register_wooden_planks("acaciawood", S("Acacia Wood Planks"), {"default_acacia_wood.png"}) mcl_core.register_wooden_planks("birchwood", S("Birch Wood Planks"), {"mcl_core_planks_birch.png"}) +local tt_help_sapling_large = S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings = large tree") mcl_core.register_sapling("sapling", S("Oak Sapling"), S("When placed on soil (such as dirt) and exposed to light, an oak sapling will grow into an oak after some time."), - S("Needs soil and light to grow"), - "default_sapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) + nil, "default_sapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) mcl_core.register_sapling("darksapling", S("Dark Oak Sapling"), S("Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light."), - S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings required"), - "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16}) + tt_help_sapling_large, "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16}) mcl_core.register_sapling("junglesapling", S("Jungle Sapling"), S("When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree."), - S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings = large tree"), - "default_junglesapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) + tt_help_sapling_large, "default_junglesapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) mcl_core.register_sapling("acaciasapling", S("Acacia Sapling"), S("When placed on soil (such as dirt) and exposed to light, an acacia sapling will grow into an acacia after some time."), - S("Needs soil and light to grow"), - "default_acacia_sapling.png", {-5/16, -0.5, -5/16, 5/16, 4/16, 5/16}) + nil, "default_acacia_sapling.png", {-5/16, -0.5, -5/16, 5/16, 4/16, 5/16}) mcl_core.register_sapling("sprucesapling", S("Spruce Sapling"), S("When placed on soil (such as dirt) and exposed to light, a spruce sapling will grow into a spruce after some time. When there are 4 spruce saplings in a 2×2 square, they will grow to a huge spruce."), - S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings = large tree"), - "mcl_core_sapling_spruce.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) + tt_help_sapling_large, "mcl_core_sapling_spruce.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) mcl_core.register_sapling("birchsapling", S("Birch Sapling"), S("When placed on soil (such as dirt) and exposed to light, a birch sapling will grow into a birch after some time."), - S("Needs soil and light to grow"), - "mcl_core_sapling_birch.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) + nil, "mcl_core_sapling_birch.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) mcl_core.register_leaves("leaves", S("Oak Leaves"), S("Oak leaves are grown from oak trees."), {"default_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:sapling", true, {20, 16, 12, 10}, 1) From 852c2c57104ecf58426c243c3e269d867849c8b6 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 25 Jun 2023 17:30:55 +0100 Subject: [PATCH 13/15] Remove message about missing name is deprecated in mod conf files --- mods/ITEMS/mcl_cherry_blossom/mod.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_cherry_blossom/mod.conf b/mods/ITEMS/mcl_cherry_blossom/mod.conf index 8a6975946e..91c346e857 100644 --- a/mods/ITEMS/mcl_cherry_blossom/mod.conf +++ b/mods/ITEMS/mcl_cherry_blossom/mod.conf @@ -1,3 +1,3 @@ -title = mcl_cherry_blossom +name = mcl_cherry_blossom author = PrairieWind, Wbjitscool, SmokeyDope depends = mcl_sounds, mcl_util, mcl_core, mcl_doors, mcl_stairs, mcl_signs, mcl_fences, mesecons_pressureplates, mesecons_button, mcl_boats From 3c4fb9abb2bc79269a0a9dec2bea6902a32e1fe7 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 25 Jun 2023 17:35:35 +0100 Subject: [PATCH 14/15] Ensure dark oak has separate tt message --- mods/ITEMS/mcl_core/nodes_trees.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_core/nodes_trees.lua b/mods/ITEMS/mcl_core/nodes_trees.lua index 8d6c1f1f55..beead761de 100644 --- a/mods/ITEMS/mcl_core/nodes_trees.lua +++ b/mods/ITEMS/mcl_core/nodes_trees.lua @@ -315,7 +315,8 @@ mcl_core.register_sapling("sapling", S("Oak Sapling"), nil, "default_sapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) mcl_core.register_sapling("darksapling", S("Dark Oak Sapling"), S("Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light."), - tt_help_sapling_large, "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16}) + S("Needs soil and light to grow") .. "\n" .. S("2×2 saplings required"), + "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16}) mcl_core.register_sapling("junglesapling", S("Jungle Sapling"), S("When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree."), tt_help_sapling_large, "default_junglesapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}) From 03341ade2ea8d89e87717599dfd5931663d022a3 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 25 Jun 2023 17:49:29 +0100 Subject: [PATCH 15/15] Added underscore in to cherry sign registration to ensure consistent with other signs --- mods/ITEMS/mcl_cherry_blossom/crafting.lua | 2 +- mods/ITEMS/mcl_cherry_blossom/nodes.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_cherry_blossom/crafting.lua b/mods/ITEMS/mcl_cherry_blossom/crafting.lua index 397f23eab9..f26b2af966 100644 --- a/mods/ITEMS/mcl_cherry_blossom/crafting.lua +++ b/mods/ITEMS/mcl_cherry_blossom/crafting.lua @@ -58,7 +58,7 @@ minetest.register_craft({ } }) -mcl_signs.register_sign_craft("mcl_cherry_blossom", "mcl_cherry_blossom:cherrywood", "cherrywood") +mcl_signs.register_sign_craft("mcl_cherry_blossom", "mcl_cherry_blossom:cherrywood", "_cherrywood") -- Smelting minetest.register_craft({ diff --git a/mods/ITEMS/mcl_cherry_blossom/nodes.lua b/mods/ITEMS/mcl_cherry_blossom/nodes.lua index 81a1ea83f0..4b68031238 100644 --- a/mods/ITEMS/mcl_cherry_blossom/nodes.lua +++ b/mods/ITEMS/mcl_cherry_blossom/nodes.lua @@ -61,7 +61,7 @@ mcl_stairs.register_slab("cherrywood", "mcl_cherry_blossom:cherrywood", S("Double Cherry Slab")) -- Signs -mcl_signs.register_sign_custom("mcl_cherry_blossom", "cherrywood", +mcl_signs.register_sign_custom("mcl_cherry_blossom", "_cherrywood", "mcl_cherry_blossom_sign.png", nil, "mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", S("Cherry Sign"))