From daf5bf90a44cea62ee30cf7dbf117f747826faf1 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Fri, 4 Nov 2022 20:59:46 -0600 Subject: [PATCH 01/14] Add Honey, Honeycomb, and respective blocks --- mods/ITEMS/mcl_honey/init.lua | 83 ++++++++++++++++++ .../textures/mcl_honey_block_bottom.png | Bin 0 -> 839 bytes .../textures/mcl_honey_block_side.png | Bin 0 -> 830 bytes .../textures/mcl_honey_block_top.png | Bin 0 -> 830 bytes .../textures/mcl_honey_honey_bottle.png | Bin 0 -> 1998 bytes .../textures/mcl_honey_honeycomb.png | Bin 0 -> 1996 bytes .../textures/mcl_honey_honeycomb_block.png | Bin 0 -> 2114 bytes mods/ITEMS/mcl_mobitems/init.lua | 10 +-- 8 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 mods/ITEMS/mcl_honey/init.lua create mode 100644 mods/ITEMS/mcl_honey/textures/mcl_honey_block_bottom.png create mode 100644 mods/ITEMS/mcl_honey/textures/mcl_honey_block_side.png create mode 100644 mods/ITEMS/mcl_honey/textures/mcl_honey_block_top.png create mode 100644 mods/ITEMS/mcl_honey/textures/mcl_honey_honey_bottle.png create mode 100644 mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb.png create mode 100644 mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb_block.png diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua new file mode 100644 index 000000000..7ced3b65d --- /dev/null +++ b/mods/ITEMS/mcl_honey/init.lua @@ -0,0 +1,83 @@ +--------------- +---- Honey ---- +--------------- + +-- Variables +local S = minetest.get_translator(minetest.get_current_modname()) + +-- Honeycomb +minetest.register_craftitem("mcl_honey:honeycomb", { + description = S("Honeycomb"), + _doc_items_longdesc = S("Used to craft beehives and protect copper blocks from further oxidation."), + _doc_items_usagehelp = S("Use on copper blocks to prevent further oxidation."), + inventory_image = "mcl_honey_honeycomb.png", + groups = { craftitem = 1 }, +}) + +minetest.register_node("mcl_honey:honeycomb_block", { + description = S("Honeycomb Block"), + _doc_items_longdesc = S("Honeycomb Block. Used as a decoration."), + tiles = { + "mcl_honey_honeycomb_block.png" + }, + groups = { handy = 1, deco_block = 1 }, + _mcl_blast_resistance = 0.6, + _mcl_hardness = 0.6, +}) + +-- Honey +minetest.register_craftitem("mcl_honey:honey_bottle", { + description = S("Honey Bottle"), + _doc_items_longdesc = S("Honey Bottle is used to craft honey blocks and to restore hunger points."), + _doc_items_usagehelp = S("Drinking will restore 6 hunger points. Can also be used to craft honey blocks."), + inventory_image = "mcl_honey_honey_bottle.png", + groups = { craftitem = 1, food = 3, eatable = 6, can_eat_when_full=1 }, + on_place = minetest.item_eat(6, "mcl_potions:glass_bottle"), + on_secondary_use = minetest.item_eat(6, "mcl_potions:glass_bottle"), + _mcl_saturation = 1.2, + stack_max = 16, +}) + +minetest.register_node("mcl_honey:honey_block", { + description = S("Honey Block"), + _doc_items_longdesc = S("Honey Block. Used as a decoration and in redstone. Is sticky on some sides."), + tiles = { + "mcl_honey_block_top.png", "mcl_honey_block_bottom.png", + "mcl_honey_block_side.png", "mcl_honey_block_side.png", + "mcl_honey_block_side.png", "mcl_honey_block_side.png", + }, + groups = { handy = 1, deco_block = 1 }, + _mcl_blast_resistance = 0, + _mcl_hardness = 0, +}) + +-- Crafting +minetest.register_craft({ + output = "mcl_honey:honeycomb_block", + recipe = { + { "mcl_honey:honeycomb", "mcl_honey:honeycomb" }, + { "mcl_honey:honeycomb", "mcl_honey:honeycomb" }, + }, +}) + +minetest.register_craft({ + output = "mcl_honey:honey_block", + recipe = { + { "mcl_honey:honey_bottle", "mcl_honey:honey_bottle" }, + { "mcl_honey:honey_bottle", "mcl_honey:honey_bottle" }, + }, +}) + +minetest.register_craft({ + output = "mcl_honey:honey_bottle 4", + recipe = { + { "mcl_potions:glass_bottle", "mcl_potions:glass_bottle", "mcl_honey:honey_block" }, + { "mcl_potions:glass_bottle", "mcl_potions:glass_bottle", "" }, + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "mcl_core:sugar 3", + recipe = { "mcl_honey:honey_bottle" }, +}) diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_bottom.png b/mods/ITEMS/mcl_honey/textures/mcl_honey_block_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..9de96528442e5aa14376c55d3600418fe6ce3e42 GIT binary patch literal 839 zcmV-N1GxN&P)EX>4Tx04R}tkv&MmKpe$iQ>7vmQ7eczWT;LSL`58>ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0HI!Hs@X9CsG4OY zV^J}aT@?eb2%-;z5YR6%Q;(+>)9@T$_we!cF2b|C&;2=il$^-`pGZ8%bi*RvAfDN@ zbk6(4Ay$+W;&bA0gDyz?$aUG}H_ioz1)do)(#d(^5V2TjW4Vo4(NKw}iNlJjQNECI zS>e3JSuIyt^Pc>L!JM{|;yTR{#IS@o5)dJyiW17O5TR8g#YB?!qaOZY$DbgVOs*0b zITlcX3d!+<|H1EW&HU7)n-q)!oiDciF$x5Bfkw@?zmILZaRT_Cfh(=$uhfCrPtt2G zEqny@ZUYzBElu77E_Z;TCtWfmNAlAY@_FF>jJ_!g4BP_UYi@7NeVjf3Y3geE1~@nb z#tM|Z?(y!f_TK(I)9mjDHuZ9kU_3~v0004gNklo_n6>?(KcQ z2Opfo{*a>w{iO%``Bm8-fJNQ_5V*qpaoryA&H0)U-qy`qGGOvV)eb!jY1k<}MXb!luNPBq*4jGbxuF@Kg-oN6CrRUH^a zTCvC*dy_PX4==A*9=Hn>go8u!<@Jhlaie?oEJGsOdLRY2St8QP8xmiB%pc(Z`W>1f z(u(zRL-zIzK)WqGu;KkB#b|1Mfg^zb=7wT4^@dJChDX+myg2~Wr6GBIqTLoplez)- zb==&}wCsN&aKEieGV0Q>UT$nIPBoKpMO_-J-v#W;pBCDpFH17(forZxGPd&>Kxg8q zKKTzS$t-Z3YR{WUD=-Z`*+zGnM58pil;z1~nJfcI>{peg2Y_iHugP)EX>4Tx04R}tkv&MmKpe$iQ>7vmQ7eczWT;LSL`58>ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0HI!Hs@X9CsG4OY zV^J}aT@?eb2%-;z5YR6%Q;(+>)9@T$_we!cF2b|C&;2=il$^-`pGZ8%bi*RvAfDN@ zbk6(4Ay$+W;&bA0gDyz?$aUG}H_ioz1)do)(#d(^5V2TjW4Vo4(NKw}iNlJjQNECI zS>e3JSuIyt^Pc>L!JM{|;yTR{#IS@o5)dJyiW17O5TR8g#YB?!qaOZY$DbgVOs*0b zITlcX3d!+<|H1EW&HU7)n-q)!oiDciF$x5Bfkw@?zmILZaRT_Cfh(=$uhfCrPtt2G zEqny@ZUYzBElu77E_Z;TCtWfmNAlAY@_FF>jJ_!g4BP_UYi@7NeVjf3Y3geE1~@nb z#tM|Z?(y!f_TK(I)9mjDHuZ9kU_3~v0004XNkl3-r5QV=x++Zcgv2ZAX z0|{K}7}BIkrI6o|pO+>O1ciW&jVPp45aAj{SProguP}wq-tLj9mNzqR=e^wtzCXer zYH>VO=T@`ATFojactaA;k9PpXsb;g-(e1T8($BB0tpS)X&j5sOvqYp7D#<+T={_J% zHF2teswV_En9@s12+4S~1)#`{ol;~qL{pI)n}}1*em3P`O4jCLr;1bUll*S46GU1u zU!LtvQXoF`2OW>xB??>3E7%`&_%9xGV9(MdvaJV_aEm1(t-L1jWo<6Bn$W1&43SoB z7CW-{Hvr20$|LLc+N_2X>kHfn{5LnOh7+%;PSU+iJzt)$1VwI0US28ptD8wxgZnxz zb}%K!6NK)!RY^vX8#arb#o|;m9&IUdWA(d)4f)eDw&=@}%zEIOtCEcUYzk1BSl1{2 zK_!_bj#KS<6KMtJOd#9nE|X}KLU&|&a#^OJzRvY^t>g9FAM_ZlA~g`^;s5{u07*qo IM6N<$f{EXMHvj+t literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_top.png b/mods/ITEMS/mcl_honey/textures/mcl_honey_block_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c2f330440817859c5f52277de140c4f8bcb477b1 GIT binary patch literal 830 zcmV-E1Ht@>P)EX>4Tx04R}tkv&MmKpe$iQ>7vmQ7eczWT;LSL`58>ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0HI!Hs@X9CsG4OY zV^J}aT@?eb2%-;z5YR6%Q;(+>)9@T$_we!cF2b|C&;2=il$^-`pGZ8%bi*RvAfDN@ zbk6(4Ay$+W;&bA0gDyz?$aUG}H_ioz1)do)(#d(^5V2TjW4Vo4(NKw}iNlJjQNECI zS>e3JSuIyt^Pc>L!JM{|;yTR{#IS@o5)dJyiW17O5TR8g#YB?!qaOZY$DbgVOs*0b zITlcX3d!+<|H1EW&HU7)n-q)!oiDciF$x5Bfkw@?zmILZaRT_Cfh(=$uhfCrPtt2G zEqny@ZUYzBElu77E_Z;TCtWfmNAlAY@_FF>jJ_!g4BP_UYi@7NeVjf3Y3geE1~@nb z#tM|Z?(y!f_TK(I)9mjDHuZ9kU_3~v0004XNkl3-r5QV=x++Zcgv2ZAX z0|{K}7}BIkrI6o|pO+>O1Z`qtBMK=MM7Tx~mP4$>D@>uYw|iu&<;~37d2e@u?~m|@ zS{zT+xz((&RpiN-__7x(|p` zO`K|=>Inf3ru32$LNXq00Vr}~rxaNY(NyHdCgN1HpG`TKlC`S(^*3CNwHGL!=d( z#g6R#4S;gL^2oZqHml*p`T{os|IH1n;lyjIlXP!W&zI*bL6IAhmsiUD>Sj{a;J%KF z9Zbpb1flzFRgzKUhRtGUu{hO?M_Y>ASp6dNxT$U-QuXBA}>v%o)2mPk4D2_DGga7~l07*qo IM6N<$g0cF8VgLXD literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_honey_bottle.png b/mods/ITEMS/mcl_honey/textures/mcl_honey_honey_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..16956f56e62f4fcee9d6f8f0e0cfe96c6a30eee1 GIT binary patch literal 1998 zcmV;<2Qm1GP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+TB-KmLw+({O1%t0@_%P!}^|Y;Nv?;sHJPVJUu=B zu`^#5q!J_%AqmQjzy6%=4_r(doLWpFhv0E(*31Q+jwj}#0S6lFeH4xtmo`_$Q@FRZCKV$d;;Jx>PpTBt~4>-1>+p@w7 zPDf7mBA2@v{@@Yu-7-IWq{T=7d_CbeXHRpEy}GjEC~G*2x-I4EVPJ(Sxuyl&5s#rC zuRG&TzW4^#I+j|UuXxGCKzx!?r$Up))i!EyQF(Ag%iMtYk|l|pxq%E4T{lgRPO@}K zV5NaMftc^U&}BC-doY$@xf4b*K^Zvyc)M4@ckd61=3HS;}Cj zYg499n_9iOFgF1+9(w(~pb8mTbK=)U9nBQyN+W|6K-p0F1YD2##h`nYDEGa*n3Ydhna9~9jp8n?6P0+(*2`rCrylLP?Ugjb4{q{i zcNmJ`2wS7W!OPENGH}eixmxwtGuORy_1V*D<-F^ZL7?%ZG0ws_4%{$CnWemA6-Tko zH>T|PID=o)XFjX=lpgoh$bI4OD1y%kCEZJR<)lStT~M`CyJxF9>)P~g6(^@w_vEZ2 z3vKTz4l#2rz>&=|GV1?t=D+(qzmFoD8An$9KPuZs0Qg}8op7XmcGtb}S1KJ4tP76i zw@i4O2<~4&+Ls+ivs**7w3f~QLb!|%(JlFSxORYB7>;)0p+|Ld*^}^y>Tm8xDE_mY zU1dcz{wX}WP4~s=Hr`Z2-$eMpr@Z3m(p-pJjDHDz-tdirlY^j=ecjRb8{`af$2aR# zIh9CpO8I1pdlrm%>owcc2(agVue9ZTA$4D?v_EhEvx?%xfiJti0j!b%C^KkxZ~y=S zglR)VP)S2WAaHVTW@&6?004NLeUUv#!$2IxUsFq^R2=Le>X4y2Sr8R*lqwd%LTM|s z>R@u|7c^-|Qd}Gb*Mfr|i&X~~XI&j!1wrrw#L3Y~(M3x9Us7lhM{K$3LSDQzS=msD zr-`GAs!_g>b6MfM#aXS^S^J*+h2es>lHoed5hSpLBvKF|qmBxyun?nFBgI6T_TwJ@ zA;+I0mrSk-7&#VDg9^#?i4sjut%v`nQ3L>y9Sx0hc?#;FB&Hk|X(P3dJJuen#Jv2L^6|(3;y@dmpC{ zK$f~%z5xynfw2;0uY0_^x4XB0&$Rpd0srQ5dA~;>*#H0l24YJ`L;(K){{a7>y{D4^ z000SaNLh0L04^f{04^f|c%?sf00007bV*G`2jl`90}(jIL{%LC0081iL_t(I%VS^| z)Zo>bE&nHG#Q(>qh6$I%w$tzbA3b!Q;o-9v43k!z!)XW$E{QvL?=z^_<}fHoc{4nH z_M9}Qm-lV`zwPw<|H!ThN$&YimSz~3wBj6ALomExZ)?S1bWoDv*J_#ntm5i$@!v1~ z7@lg+Bt8(|c|B&>&bbDv`6dGc0|SG!lq6vT?%ci4@ZrsG1_lNO2A2oA2m>F!AuSpi zrgLHlsVFNFZ@@YG=LBuX8i=qsS6VB=@J@u4K?o}T;mvP`J9qCBHsJ2n>kPYGPop|l g0TMPOCn&lA00F;Y; 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_mobitems/init.lua b/mods/ITEMS/mcl_mobitems/init.lua index 256be9025..e1b39660f 100644 --- a/mods/ITEMS/mcl_mobitems/init.lua +++ b/mods/ITEMS/mcl_mobitems/init.lua @@ -402,11 +402,11 @@ minetest.register_alias("mobs_mc:gold_horse_armor", "mcl_mobitems:gold_horse_arm minetest.register_alias("mobs_mc:diamond_horse_armor", "mcl_mobitems:diamond_horse_armor") minetest.register_craftitem("mcl_mobitems:glow_ink_sac", { - description = S("Glow Ink Sac"), - _doc_items_longdesc = S("Use it to craft the Glow Item Frame."), - _doc_items_usagehelp = S("Use the Glow Ink Sac and the normal Item Frame to craft the Glow Item Frame."), - inventory_image = "extra_mobs_glow_ink_sac.png", - groups = { craftitem = 1 }, + description = S("Glow Ink Sac"), + _doc_items_longdesc = S("Use it to craft the Glow Item Frame."), + _doc_items_usagehelp = S("Use the Glow Ink Sac and the normal Item Frame to craft the Glow Item Frame."), + inventory_image = "extra_mobs_glow_ink_sac.png", + groups = { craftitem = 1 }, }) From 4bb824cd388d0703346d50adf178775a971a218b Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sat, 5 Nov 2022 09:28:17 -0600 Subject: [PATCH 02/14] Add mcl_honey mod.conf file along with translation templates --- mods/ITEMS/mcl_honey/locale/template.txt | 10 ++++++++++ mods/ITEMS/mcl_honey/mod.conf | 3 +++ 2 files changed, 13 insertions(+) create mode 100644 mods/ITEMS/mcl_honey/locale/template.txt create mode 100644 mods/ITEMS/mcl_honey/mod.conf diff --git a/mods/ITEMS/mcl_honey/locale/template.txt b/mods/ITEMS/mcl_honey/locale/template.txt new file mode 100644 index 000000000..a9814d617 --- /dev/null +++ b/mods/ITEMS/mcl_honey/locale/template.txt @@ -0,0 +1,10 @@ +Honeycomb= +Used to craft beehives and protect copper blocks from further oxidation.= +Use on copper blocks to prevent further oxidation.= +Honeycomb Block= +Honeycomb Block. Used as a decoration.= +Honey Bottle= +Honey Bottle is used to craft honey blocks and to restore hunger points.= +Drinking will restore 6 hunger points. Can also be used to craft honey blocks.= +Honey Block= +Honey Block. Used as a decoration and in redstone. Is sticky on some sides.= \ No newline at end of file diff --git a/mods/ITEMS/mcl_honey/mod.conf b/mods/ITEMS/mcl_honey/mod.conf new file mode 100644 index 000000000..6ef9d7e45 --- /dev/null +++ b/mods/ITEMS/mcl_honey/mod.conf @@ -0,0 +1,3 @@ +name = mcl_honey +author = PrairieWind +description = MineClone 2 mod that adds honey and honeycomb and the respective block versions. \ No newline at end of file From db0b44326b6b0a0756ed93654b2ae2bc64a24fe5 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sat, 5 Nov 2022 09:28:38 -0600 Subject: [PATCH 03/14] Add crafting recipe item replacements --- mods/ITEMS/mcl_honey/init.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua index 7ced3b65d..576a5459f 100644 --- a/mods/ITEMS/mcl_honey/init.lua +++ b/mods/ITEMS/mcl_honey/init.lua @@ -66,6 +66,12 @@ minetest.register_craft({ { "mcl_honey:honey_bottle", "mcl_honey:honey_bottle" }, { "mcl_honey:honey_bottle", "mcl_honey:honey_bottle" }, }, + replacements = { + { "mcl_honey:honey_bottle", "mcl_potions:glass_bottle" }, + { "mcl_honey:honey_bottle", "mcl_potions:glass_bottle" }, + { "mcl_honey:honey_bottle", "mcl_potions:glass_bottle" }, + { "mcl_honey:honey_bottle", "mcl_potions:glass_bottle" }, + }, }) minetest.register_craft({ @@ -80,4 +86,7 @@ minetest.register_craft({ type = "shapeless", output = "mcl_core:sugar 3", recipe = { "mcl_honey:honey_bottle" }, + replacements = { + { "mcl_honey:honey_bottle", "mcl_potions:glass_bottle" }, + }, }) From 89b02c126aff1dde1c1d6f592809bc8f5e1c9c08 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sat, 5 Nov 2022 10:38:21 -0600 Subject: [PATCH 04/14] Add basic beehives and bee nests Still need to add functionality --- mods/ITEMS/mcl_beehives/init.lua | 47 ++++++++++++++++++ mods/ITEMS/mcl_beehives/locale/template.txt | 4 ++ mods/ITEMS/mcl_beehives/mod.conf | 3 ++ .../textures/mcl_beehives_bee_nest_bottom.png | Bin 0 -> 2051 bytes .../textures/mcl_beehives_bee_nest_front.png | Bin 0 -> 6152 bytes .../mcl_beehives_bee_nest_front_honey.png | Bin 0 -> 6254 bytes .../textures/mcl_beehives_bee_nest_side.png | Bin 0 -> 6252 bytes .../textures/mcl_beehives_bee_nest_top.png | Bin 0 -> 6155 bytes .../textures/mcl_beehives_beehive_end.png | Bin 0 -> 2008 bytes .../textures/mcl_beehives_beehive_front.png | Bin 0 -> 2131 bytes .../mcl_beehives_beehive_front_honey.png | Bin 0 -> 2370 bytes .../textures/mcl_beehives_beehive_side.png | Bin 0 -> 2085 bytes 12 files changed, 54 insertions(+) create mode 100644 mods/ITEMS/mcl_beehives/init.lua create mode 100644 mods/ITEMS/mcl_beehives/locale/template.txt create mode 100644 mods/ITEMS/mcl_beehives/mod.conf create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_bottom.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front_honey.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_side.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_top.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_end.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front_honey.png create mode 100644 mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_side.png diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua new file mode 100644 index 000000000..a9a1656fa --- /dev/null +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -0,0 +1,47 @@ +------------------ +---- Beehives ---- +------------------ + +-- Variables +local S = minetest.get_translator(minetest.get_current_modname()) + +-- Beehive +minetest.register_node("mcl_beehives:beehive", { + description = S("Beehive"), + _doc_items_longdesc = S("Artificial bee nest."), + tiles = { + "mcl_beehives_beehive_end.png", "mcl_beehives_beehive_end.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_side.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_front.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1 }, + _mcl_blast_resistance = 0.6, + _mcl_hardness = 0.6, +}) + +-- Bee Nest +minetest.register_node("mcl_beehives:bee_nest", { + description = S("Bee Nest"), + _doc_items_longdesc = S("A naturally generating block that houses bees and a tasty treat...if you can get it."), + tiles = { + "mcl_beehives_bee_nest_top.png", "mcl_beehives_bee_nest_bottom.png", + "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_side.png", + "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_front.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30 }, + _mcl_blast_resistance = 0.3, + _mcl_hardness = 0.3, +}) + +-- Crafting +minetest.register_craft({ + output = "mcl_beehives:beehive", + recipe = { + { "group:wood", "group:wood", "group:wood" }, + { "mcl_honey:honeycomb", "mcl_honey:honeycomb", "mcl_honey:honeycomb" }, + { "group:wood", "group:wood", "group:wood" }, + }, +}) + diff --git a/mods/ITEMS/mcl_beehives/locale/template.txt b/mods/ITEMS/mcl_beehives/locale/template.txt new file mode 100644 index 000000000..135786c7c --- /dev/null +++ b/mods/ITEMS/mcl_beehives/locale/template.txt @@ -0,0 +1,4 @@ +Beehive= +Artificial bee nest.= +Bee Nest= +A naturally generating block that houses bees and a tasty treat...if you can get it.= \ No newline at end of file diff --git a/mods/ITEMS/mcl_beehives/mod.conf b/mods/ITEMS/mcl_beehives/mod.conf new file mode 100644 index 000000000..905c86d5b --- /dev/null +++ b/mods/ITEMS/mcl_beehives/mod.conf @@ -0,0 +1,3 @@ +name = mcl_beehives +author = PrairieWind +description = Adds beehives and bee nests to MineClone 2. \ No newline at end of file diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_bottom.png b/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ad4a418efc7e8a4bfe8ce5bf9eada9d230cbaa GIT binary patch literal 2051 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front_honey.png b/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front_honey.png new file mode 100644 index 0000000000000000000000000000000000000000..d88dd655501b8f47a3395060b9dd8f2fb7c83d2b GIT binary patch literal 6254 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_side.png b/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0de93d7fd8206022e4a72805e786a09f5208a3 GIT binary patch literal 6252 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_top.png b/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5f80eb98e435444fdf30d0f335c1cd69d944d8e8 GIT binary patch literal 6155 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 g%~-tP_je84+VOjevOA}~(Ea zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1b<)~qND{m&|T2_z7Po?vgP2U9OF}wAqTz6R`~-bJ?ua|+ zqzhQ9SZY=}<0TRU@kW*^C2F*dwopNcmNy36%v{(ESpfWz%OJ(}n;Lrs9x51NQ^1^o zn2%U!_>J8koCSEU1WhIw>x{nL>MHot`^`{meVY^MaA1YFxbH87(V6Q{Xn_!F3sV{R zlA4XaUY%G224%n;u)w7AG?9hQy=4Z^MvH=~)$_cNugd@+f^R`EWWa!SWP}_cTd*er zjsg56M9#)?1_LBYxFSln#yF4@xckN&PeYf5rx@u4M2K<5gBlzZkY%k{hw~P&g_05@ zRz#e52@)kaC2zd-;+^+C_~=tG!3GH~_z*%2DRMMOW1^yqK86@$N^qKN zf~^Go1VQF(vdxlR_BrI3Q^EErwn%Zsmr!C!m8+>p0jj#{YpAiNjW%qh&2F-}&2M3g zTWZ*A%{1Gjx#nAFv898x#p*k2SLVL6MvFBbM0GuXvIepDy9w&)L^@|+j4gq2-xWqOwyAeyHgS(TtkGv_M`@6jH6LYFl_kS>_I(0A1 z-FbUpt)`J~%^;|sLSTvvX>j}!S;3!=2*gQD91xpzQ>wMNDG3(9bdf~1b@VKbQ12+| zrD>|4O47!}jAWLkK5`>4>C%i;H#)r*&NeqI3QEp)jE680xv3v1t_js5r;e`PTV4_3 zoo26~K!)y-I!(t)+S02!P6uG>4CqP5>JsItv`g+QdNPz0EnMOZ%pxmoQxB=;SiyB| z_f}mNU+P#V>h>Z8;Ju5xq{I08BmH)<|`nK-hF{ZBAm^eps)|=mL zgm9f}^Tm()s`M$iaNnZpHrcF2XMBv6;}Fc#W5XdikIs~+Ur{>u>)r6KtM1A#N^`fm zWP5?^7@}zEiKesrSTOaEX>4Tx0C=2zkv&MmKpe$iQ>7vmQ7eczWT;LSL`58>ibb$c z+6t{Ym|Xe=O&XFE7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le z0HI!Hs@X9CsG4OYV^J}aT@?eb2%-;z5YR6%Q;(+>)9@T$_we!cF2b|C&;2=il$^-` zpGZ8%bi*RvAfDN@bk6(4Ay$+W;&bA0gDyz?$aUG}H_ioz1)do)(#d(^5V2TjW4Vo4 z(NKw}iNlJjQNECIS>e3JSuIyt^Pc>L!JM{|;yTR{#IS@o5)dJyiW17O5TR8g#YB?! zqaOZY$DbgVOs*0bITlcX3d!+<|H1EW&HU7)n-q)!oiDciF$x5Bfkw@?zmILZaRT_C zfh(=$uhfCrPtt2GEqny@ZUYzBElu77E_Z;TCtWfmNAlAY@_FF>jJ_!g4BP_UYi@7N zeVjf3Y3geE1~@nb#tM|Z?(y!f_TK(I)9mjDHuZ9k-piuo00006VoOIv0Ji|z0RQ&5 zFc1I$010qNS#tmYE+YT{E+YYWr9XB6000McNliru;|vl269bz9p|Jn}0Ub$1K~y-) zeUm*-#4r$rKZEU+WmX_<+R!4=a{*e!Eoit5$KwFdW{cGlMc6{22xA7v>@=3&{CMWQ zv3YrZoMUhRj8kSxGr=3grZm%C`r;E4%*Nmt4yibTH%w_}I4)SX^?wRWk>QXC-eAWm zpG=l+>JuOaw{!r%Me0P|_8QAe2d$u1lEeuXgTubQjeO)U0504)!0Ik0xc1rG>sYFZ z60N(QTVqOvTnOy8zTE3^Bw18hsnG8>O+JJJEhWHN436QLN|cnl>$Qy+AU$+Jn4mU2mlRBU&kYYIXbFrr80&`~H)D2R3-~BO66R q9b6~YBwPJ8rO zaB^>EX>4U6ba`-PAZ2)IW&i+q+O=2Nk?b}M{AUynfdB~};qa_-1`glNL&s=#_Pu>& zk7`8-qJU;M2x(RO=kKom!jE-u%8CyzI;Zio(MC=%f?mHhlD6}_FZ5x&_|n2fVbP9U;WCL9VhHSN8}yQjLZz9Zjd{W;pL}&ts*ZYx!ZE~UoRYoOY*w) zytW=>R6#t$ikl&$=b2X~0~98jG(7X{d3eIKHO?|;KKN7m&f$Z=(|Yiy%l4a#juq%w zmV5BD{Ul%WH(9zPB0e+o3!5Pj=3?4gKs+6cxn`5B@h?X0JZe}iQrZ0g0$YqLR$3dOFf<6_B zuqjZ^z|AKXnt9{MhhzbnD`6%Rf(=Dq4)t{W>G2Y%_fh6VI-Fbq7mum|jG^2(V-^IV zzB!f2FR3-?=WhsWprA~e0~VNcULms3Ra<82Y_up$wR-Ir@^uFQMaV4xLk0?HM@Gnz z_RO9LJO=2KfSirx3)tcW=A5+q7;##txMIqycFO5S+u#XIkP@X@DWf(;T}@F9d4QsijR#zaLIeGD)N+2@dBP6g#tY?0!MFQLSeDpym{0#tR?*HB|kjT%a+*(S|3 z-$IKmb<|on-FE4&`yP7i=~Qj2`l{Mfx$jk@tr}0E#yo$i2DkS|2pa7~hGtNVEkSWV z6hJ}q&`bximWOgfGacC|V}yZHhB%dmVo=aFV(D~hcPaN#HwAWosvCc$oEp;o7s{z2 z-A%c7-M&z*rrB=I6lm;1aEcCTu>A_Kgv2@MZfyh>Tww`3jq$EpBUUqv%r<2!1V$p> zN5ep?-G-JG3o3J}!zm8J&AXc15xX2QuWY3cLvePHw9Y3)OAITOYhXMqZ;bXmo1R9{ z?3PEN(6;NmMeA0Hr{@jgb0nuu%taPW9RQ(j^w@3BE2htK7eZd_? z>ZQXPAEP?f%WL|yyr30jSx;$~j{6@+^>Ela4eSZ$S25-J3R@BRis*S+-ct#Sqw)Ao z9lSv=Sw+-bY-mvnpexRP-e+T*sn>mWPALlxJ}8gvLQA9;#>dQ}tN=ec*tAu*p&Om+ z#*XjQQ&y^bb%jS4-m2d)9_=BZr>Kvc=~snGVI}vL5NMPA!Xm!5<^)G2JvG4p8t+YN zRrYt1{$w114xtl`SK90{DEqBQu&dy9y-8ed>mK103ZkA%Y2M_ca_uJo{wNlQcb04( zNX7a#^9JT#br%?yFSY*nesqc(%~jGDLcbBl=H2Tf>YIjhFOZ*4-8alLbaU)F1r>BtmsDa2Q{jy(m;l9mYdX@U3d0lV#W|!HzDUJJ~Rpon?t+WcL zE5CQ6&nO-5J{2R?MT3;&RC`~@ug0^B+F06wO@+7QA9umWaRgIqr5~r9K`&M=pYQnS z!vEdsUmkI=jGm}ViU0rsglR)VP)S2WAaHVTW@&6?004NLeUUv#!$2IxUsI(b6;UgQ zIAo|!7DPoHrHVzcP}&NuI+$Gg1x*@~6cM{K$3LaarNK#aS&^S@WL!g~6P*lHxke5yY^BI1&&c zqlyyBun?hDBgI6L_M;yDVaJ~!mrSk_7&#VDfeOj-ga5(rZq5AEq?;6s0-Z0m{V@sz zc7aCCw!e>UyKw^epMfi_<*(F%*-z4IEiHTm^lk$e*DX!n11@)fp(kB3BuDbo6!LlC z{fxdT3k=)>-D_@d&3&9c0BP!K`35*R1jY)Kz3%buuJ+#kJ=5&(2R8L`kKW6o?peU{i4&o*bBDlHxTl^>PT^-%K zhKepN9i+qzO-t{CYatHTyXLHQ$Oi{`+@b-}>;BZ)ZT4xthGj-fFzMpM$<{z!tAh5B+~2?m#^%mo0JP6+9QP<0pp1cFx* zOH$fk+uy2au-xGEAOryPhBLIA!A5~e--Mhdgc<;Jk}&|-HVnCZ;)o*@t9Clc7=hs0 z;Nfg%O=u<*z9TeaG%OGtz2VHhp5}9x`5P}eS+2B!B!!E^*mT<= zFKW7l+oQ-4nHEe?qzdO44FGueSC>|~>6ezI92^J^NeY4B_yK2ak@}E}sM`Pl002ov JPDHLkV1mgT^2-1K literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front_honey.png b/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front_honey.png new file mode 100644 index 0000000000000000000000000000000000000000..e47a7c776e6fc2ecaf5aa37ba6bdeef5a52de31b GIT binary patch literal 2370 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_side.png b/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_side.png new file mode 100644 index 0000000000000000000000000000000000000000..820acb4916c59d02bf1037482fb4f6a7e9025944 GIT binary patch literal 2085 zcmV+=2-^3FP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvvg0-k{O2ih1QH;)9EWRFZjj@rxoENMH}hU5 zQrUoD5(K*eP*&}qzq|Si7isU56(3x5PUEuCMoLhEUe}UF+xfj8^r5`i)%gR##E`rm zUEAXm>~c-;cH8r-UHP*8gzf0?ydCmbnV{4i}Ef!NJ~lXww?Xyh2k(tUOzpb ztp^xY;EzdBW5arW(^`oU1xHT9GQT|yOSoC$JAO*vF?;}cY7hK$*>=9*SdNZuxd%?$ zZsaq56Qz4ZhR&7gB_h^d->*A(lg`UU7IWnmPo7ze!cePMy%=A&13-ke1;H2w1KJrDZ;DQe!#E>FIMjI0qUGy=;7*oQc z$tL(p7@uIslsVfh*=3(YjyV;iPq9UcE53vhOR7}4q6Mhxs;{BOnwn`yrDmHn*L({t zw$zbpoxAPQUH3io*we|{X7!b|Cv(4M&1}|a5;ey8i#3?NKU|p6PGoQf#>g5l?gs-% zXd0a9V63IV+~7<{V#O?kC}ogS&0q`++Ga?)Ik~%-`;s>WbbrblePT`x>i!Sr)S&Lh z+&ga{SgUEaTb=}sDg>tJkc{#xh$SS-L3e-{#)H-|O$A#yETyku4w%za1AuHpDx|8_ z%cjXqCF#UGe@!)%5SBk}ZMI^pXmqXRx!8KHstyIv4J8wHzn1mrEN(d|`kIlJJBc_O zr{5*jq1>dT9aug?O?CVz&Kh^@x4e2(uQS=Kz-lQcFm<`hd|~yJSr8H2VVyIYwXamd z5zSYUs>~=gvJZ+HF9FkHwFxU&*BpGVFwm!d=W$8(y8+*o9~@Cx$P)j=mHLxdC@+{S z>7=%)uP9J%2Vy^z>ZcQsG>dec_~oF#<))_E45#u{l04;A1NUN7-0dXaqhihF5$G&i z4()1XijJC!rPZ~O&bHff?}o4SIdXsx%aIl8Elu2FH=1)&sI!*6H6ft1Fs084}%cUFELY(rxw%j9AEeF@%1jkv%Js!IeL_w$pD{7JjZmyBHkdL*|c=d z`@|tuloaA~;&Fp6Nc_lk+2uFR1&0Nm88XtzdEyYUSZHIpjaku9iKmIfimFk*ka1bz zyv129S6TC({Dr}swvysH%@M?~gg6oqA)|^C%CHcjRU^ejlJ=t>{$av%Of!R;eYb`B& z1oUnL7uPLK-UBXofT1T{G9*Xx(-iV~;QfrgDGLnT0^MtFZ_Rz2J^*RzYWW5@I0VKD zl)dip?ymOU{yo#|?*}&Za*y82qT~Po00v@9M??U(0NMcm_P8(*00009a7bBm001r{ z001r{0eGc9b^rhX2XskIMF-;y5&#SnOYgr+0003*Nkl ztYDCUAf&Mnf55`tLIl6TZ}Cs;)A|p#!NMk@O;}T86WqZ`a4j}(oi!VaTzD|NdG|7N z?`z%PT^9gGw*W}9C10y=da*|O((9;*qoj?%`2sbb2=L;5Y1wcnd)fp7AQQ%g@ zMv-Pq0AiyUPjVCx3{zc7KfGJ4MM9`_?nvj3U7-N1(L0fI=SzY8_TG*H>ld7zbQ=ep zFRFB!kd9m_AkH>n@sB;$=u$wkeSZ67(6?I&vJ=((dqxB>9L)geCAu~oRxiNo zM>DL^rNHg^!3I&#HSHQvARJ|lu6eNGM}t4%jLMy7&_8Vav#j|xyiV6CJUo5WzTtdP zoj={OG2X|QjAIj(9$cL!HIjHR&3r`&OE>_no6CzL%yrw!{>?vk9&0o|U1O4n%r Date: Sat, 5 Nov 2022 13:18:38 -0600 Subject: [PATCH 05/14] Add basic functionality to beehives Uses a temporary ABM to progress through honey levels --- mods/ITEMS/mcl_beehives/init.lua | 88 +++++++++++++++++++++++++++++++- mods/ITEMS/mcl_honey/init.lua | 1 + 2 files changed, 88 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua index a9a1656fa..d2b0ee643 100644 --- a/mods/ITEMS/mcl_beehives/init.lua +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -5,6 +5,34 @@ -- Variables local S = minetest.get_translator(minetest.get_current_modname()) +-- Function to allow harvesting honey and honeycomb from the beehive and bee nest. +local honey_harvest = function(pos, node, player, itemstack, pointed_thing) + local inv = player:get_inventory() + local beehive = "mcl_beehives:beehive" + + if node.name == "mcl_beehives:beehive_5" then + beehive = "mcl_beehives:beehive" + elseif node.name == "mcl_beehives:bee_nest_5" then + beehive = "mcl_beehives:bee_nest" + end + + if player:get_wielded_item():get_name() == "mcl_potions:glass_bottle" then + local honey = "mcl_honey:honey_bottle" + if inv:room_for_item("main", honey) then + node.name = beehive + minetest.set_node(pos, node) + inv:add_item("main", "mcl_honey:honey_bottle") + if not minetest.is_creative_enabled(player:get_player_name()) then + itemstack:take_item() + end + end + elseif player:get_wielded_item():get_name() == "mcl_tools:shears" then + minetest.add_item(pos, "mcl_honey:honeycomb 3") + node.name = beehive + minetest.set_node(pos, node) + end +end + -- Beehive minetest.register_node("mcl_beehives:beehive", { description = S("Beehive"), @@ -15,11 +43,43 @@ minetest.register_node("mcl_beehives:beehive", { "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_front.png", }, paramtype2 = "facedir", - groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1 }, + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, beehive = 1 }, _mcl_blast_resistance = 0.6, _mcl_hardness = 0.6, }) +for l = 1, 4 do + minetest.register_node("mcl_beehives:beehive_" .. l, { + description = S("Beehive"), + _doc_items_longdesc = S("Artificial bee nest."), + tiles = { + "mcl_beehives_beehive_end.png", "mcl_beehives_beehive_end.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_side.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_front.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, not_in_creative_inventory = 1, beehive = 1 }, + _mcl_blast_resistance = 0.6, + _mcl_hardness = 0.6, + drops = "mcl_beehives:beehive", + }) +end + +minetest.register_node("mcl_beehives:beehive_5", { + description = S("Beehive"), + _doc_items_longdesc = S("Artificial bee nest."), + tiles = { + "mcl_beehives_beehive_end.png", "mcl_beehives_beehive_end.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_side.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_front_honey.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, not_in_creative_inventory = 1, beehive = 1 }, + _mcl_blast_resistance = 0.6, + _mcl_hardness = 0.6, + on_rightclick = honey_harvest, +}) + -- Bee Nest minetest.register_node("mcl_beehives:bee_nest", { description = S("Bee Nest"), @@ -45,3 +105,29 @@ minetest.register_craft({ }, }) +-- Temporary ABM to update honey levels +minetest.register_abm({ + label = "Update Beehive Honey Levels", + nodenames = "group:beehive", + interval = 500, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local beehive = "mcl_beehives:beehive" + if node.name == beehive then + node.name = beehive.."_1" + minetest.set_node(pos, node) + elseif node.name == beehive.."_1" then + node.name = beehive.."_2" + minetest.set_node(pos, node) + elseif node.name == beehive.."_2" then + node.name = beehive.."_3" + minetest.set_node(pos, node) + elseif node.name == beehive.."_3" then + node.name = beehive.."_4" + minetest.set_node(pos, node) + elseif node.name == beehive.."_4" then + node.name = beehive.."_5" + minetest.set_node(pos, node) + end + end, +}) diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua index 576a5459f..0300eb7b9 100644 --- a/mods/ITEMS/mcl_honey/init.lua +++ b/mods/ITEMS/mcl_honey/init.lua @@ -47,6 +47,7 @@ minetest.register_node("mcl_honey:honey_block", { "mcl_honey_block_side.png", "mcl_honey_block_side.png", }, groups = { handy = 1, deco_block = 1 }, + paramtype2 = "facedir", _mcl_blast_resistance = 0, _mcl_hardness = 0, }) From a79692a68bfd0fa62fb16b657b5efc6114d825e0 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Sat, 5 Nov 2022 16:21:01 -0600 Subject: [PATCH 06/14] Add harvesting functionality to bee nests Still has temporary abm updating --- mods/ITEMS/mcl_beehives/init.lua | 62 +++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua index d2b0ee643..e852727f8 100644 --- a/mods/ITEMS/mcl_beehives/init.lua +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -77,6 +77,7 @@ minetest.register_node("mcl_beehives:beehive_5", { groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, not_in_creative_inventory = 1, beehive = 1 }, _mcl_blast_resistance = 0.6, _mcl_hardness = 0.6, + drops = "mcl_beehives:beehive", on_rightclick = honey_harvest, }) @@ -90,11 +91,44 @@ minetest.register_node("mcl_beehives:bee_nest", { "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_front.png", }, paramtype2 = "facedir", - groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30 }, + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30, bee_nest = 1 }, _mcl_blast_resistance = 0.3, _mcl_hardness = 0.3, }) +for i = 1, 4 do + minetest.register_node("mcl_beehives:bee_nest_"..i, { + description = S("Bee Nest"), + _doc_items_longdesc = S("A naturally generating block that houses bees and a tasty treat...if you can get it."), + tiles = { + "mcl_beehives_bee_nest_top.png", "mcl_beehives_bee_nest_bottom.png", + "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_side.png", + "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_front.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30, not_in_creative_inventory = 1, bee_nest = 1 }, + _mcl_blast_resistance = 0.3, + _mcl_hardness = 0.3, + drops = "mcl_beehives:bee_nest", + }) +end + +minetest.register_node("mcl_beehives:bee_nest_5", { + description = S("Bee Nest"), + _doc_items_longdesc = S("A naturally generating block that houses bees and a tasty treat...if you can get it."), + tiles = { + "mcl_beehives_bee_nest_top.png", "mcl_beehives_bee_nest_bottom.png", + "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_side.png", + "mcl_beehives_bee_nest_side.png", "mcl_beehives_bee_nest_front_honey.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30, not_in_creative_inventory = 1, bee_nest = 1 }, + _mcl_blast_resistance = 0.3, + _mcl_hardness = 0.3, + drops = "mcl_beehives:bee_nest", + on_rightclick = honey_harvest, +}) + -- Crafting minetest.register_craft({ output = "mcl_beehives:beehive", @@ -131,3 +165,29 @@ minetest.register_abm({ end end, }) + +minetest.register_abm({ + label = "Update Bee Nest Honey Levels", + nodenames = "group:bee_nest", + interval = 500, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local beehive = "mcl_beehives:bee_nest" + if node.name == beehive then + node.name = beehive.."_1" + minetest.set_node(pos, node) + elseif node.name == beehive.."_1" then + node.name = beehive.."_2" + minetest.set_node(pos, node) + elseif node.name == beehive.."_2" then + node.name = beehive.."_3" + minetest.set_node(pos, node) + elseif node.name == beehive.."_3" then + node.name = beehive.."_4" + minetest.set_node(pos, node) + elseif node.name == beehive.."_4" then + node.name = beehive.."_5" + minetest.set_node(pos, node) + end + end, +}) From 8a3c1eaa6e6ae785552e174b9eae7f903d8a0e77 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Fri, 11 Nov 2022 14:27:23 -0700 Subject: [PATCH 07/14] Add harvest and digging damage, and campfire usage Damage is temporary until bees are implemented --- mods/ITEMS/mcl_beehives/init.lua | 72 ++++++++++++++++++++++++-------- mods/ITEMS/mcl_beehives/mod.conf | 3 +- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua index e852727f8..41582d363 100644 --- a/mods/ITEMS/mcl_beehives/init.lua +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -8,7 +8,10 @@ local S = minetest.get_translator(minetest.get_current_modname()) -- Function to allow harvesting honey and honeycomb from the beehive and bee nest. local honey_harvest = function(pos, node, player, itemstack, pointed_thing) local inv = player:get_inventory() + local shears = player:get_wielded_item():get_name() == "mcl_tools:shears" + local bottle = player:get_wielded_item():get_name() == "mcl_potions:glass_bottle" local beehive = "mcl_beehives:beehive" + local is_creative = minetest.is_creative_enabled(player:get_player_name()) if node.name == "mcl_beehives:beehive_5" then beehive = "mcl_beehives:beehive" @@ -16,20 +19,45 @@ local honey_harvest = function(pos, node, player, itemstack, pointed_thing) beehive = "mcl_beehives:bee_nest" end - if player:get_wielded_item():get_name() == "mcl_potions:glass_bottle" then + local campfire_area = vector.offset(pos, 0, -5, 0) + local campfire = minetest.find_nodes_in_area(pos, campfire_area, "group:lit_campfire") + + if bottle then local honey = "mcl_honey:honey_bottle" if inv:room_for_item("main", honey) then node.name = beehive minetest.set_node(pos, node) inv:add_item("main", "mcl_honey:honey_bottle") - if not minetest.is_creative_enabled(player:get_player_name()) then + if not is_creative then itemstack:take_item() end + if not campfire[1] then mcl_util.deal_damage(player, 10) end end - elseif player:get_wielded_item():get_name() == "mcl_tools:shears" then + elseif shears then minetest.add_item(pos, "mcl_honey:honeycomb 3") node.name = beehive minetest.set_node(pos, node) + if not campfire[1] then mcl_util.deal_damage(player, 10) end + end +end + +-- Dig Function for Beehives +local dig_hive = function(pos, node, oldmetadata, digger) + local wield_item = digger:get_wielded_item() + local beehive = string.find(node.name, "mcl_beehives:beehive") + local beenest = string.find(node.name, "mcl_beehives:bee_nest") + local silk_touch = mcl_enchanting.has_enchantment(wield_item, "silk_touch") + local is_creative = minetest.is_creative_enabled(digger:get_player_name()) + + if beehive then + minetest.add_item(pos, "mcl_beehives:beehive") + if not silk_touch and not is_creative then mcl_util.deal_damage(digger, 10) end + elseif beenest then + if silk_touch or is_creative then + minetest.add_item(pos, "mcl_beehives:bee_nest") + else + mcl_util.deal_damage(digger, 10) + end end end @@ -46,22 +74,25 @@ minetest.register_node("mcl_beehives:beehive", { groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, beehive = 1 }, _mcl_blast_resistance = 0.6, _mcl_hardness = 0.6, + drop = "", + after_dig_node = dig_hive, }) for l = 1, 4 do minetest.register_node("mcl_beehives:beehive_" .. l, { - description = S("Beehive"), - _doc_items_longdesc = S("Artificial bee nest."), - tiles = { - "mcl_beehives_beehive_end.png", "mcl_beehives_beehive_end.png", - "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_side.png", - "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_front.png", - }, - paramtype2 = "facedir", - groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, not_in_creative_inventory = 1, beehive = 1 }, - _mcl_blast_resistance = 0.6, - _mcl_hardness = 0.6, - drops = "mcl_beehives:beehive", + description = S("Beehive"), + _doc_items_longdesc = S("Artificial bee nest."), + tiles = { + "mcl_beehives_beehive_end.png", "mcl_beehives_beehive_end.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_side.png", + "mcl_beehives_beehive_side.png", "mcl_beehives_beehive_front.png", + }, + paramtype2 = "facedir", + groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, not_in_creative_inventory = 1, beehive = 1 }, + _mcl_blast_resistance = 0.6, + _mcl_hardness = 0.6, + drop = "", + after_dig_node = dig_hive, }) end @@ -77,8 +108,9 @@ minetest.register_node("mcl_beehives:beehive_5", { groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 5, material_wood = 1, not_in_creative_inventory = 1, beehive = 1 }, _mcl_blast_resistance = 0.6, _mcl_hardness = 0.6, - drops = "mcl_beehives:beehive", on_rightclick = honey_harvest, + drop = "", + after_dig_node = dig_hive, }) -- Bee Nest @@ -94,6 +126,8 @@ minetest.register_node("mcl_beehives:bee_nest", { groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30, bee_nest = 1 }, _mcl_blast_resistance = 0.3, _mcl_hardness = 0.3, + drop = "", + after_dig_node = dig_hive, }) for i = 1, 4 do @@ -109,7 +143,8 @@ for i = 1, 4 do groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30, not_in_creative_inventory = 1, bee_nest = 1 }, _mcl_blast_resistance = 0.3, _mcl_hardness = 0.3, - drops = "mcl_beehives:bee_nest", + drop = "", + after_dig_node = dig_hive, }) end @@ -125,8 +160,9 @@ minetest.register_node("mcl_beehives:bee_nest_5", { groups = { axey = 1, deco_block = 1, flammable = 0, fire_flammability = 30, not_in_creative_inventory = 1, bee_nest = 1 }, _mcl_blast_resistance = 0.3, _mcl_hardness = 0.3, - drops = "mcl_beehives:bee_nest", on_rightclick = honey_harvest, + drop = "", + after_dig_node = dig_hive, }) -- Crafting diff --git a/mods/ITEMS/mcl_beehives/mod.conf b/mods/ITEMS/mcl_beehives/mod.conf index 905c86d5b..0a7855bec 100644 --- a/mods/ITEMS/mcl_beehives/mod.conf +++ b/mods/ITEMS/mcl_beehives/mod.conf @@ -1,3 +1,4 @@ name = mcl_beehives author = PrairieWind -description = Adds beehives and bee nests to MineClone 2. \ No newline at end of file +description = Adds beehives and bee nests to MineClone 2. +depends = mcl_util, mcl_enchanting From 0aaaa051648c774f458634fdbaf152f759d101ba Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Fri, 11 Nov 2022 14:52:09 -0700 Subject: [PATCH 08/14] Bee Our Guest Advancement --- mods/HUD/mcl_achievements/init.lua | 9 +++++++++ mods/HUD/mcl_achievements/locale/template.txt | 2 ++ mods/ITEMS/mcl_beehives/init.lua | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index f76662fce..5d0b14511 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -389,6 +389,15 @@ awards.register_achievement("mcl:theEndAgain", { group = "End", }) +-- Triggered in mcl_beehives +awards.register_achievement("mcl:bee_our_guest", { + title = S("Bee Our Guest"), + description = S("Use a campfire to collect a bottle of honey from a beehive without aggrivating the bees inside."), + icon = "mcl_honey_honey_bottle.png", + type = "Advancement", + group = "Husbandry", +}) + -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.) if non_pc_achievements then diff --git a/mods/HUD/mcl_achievements/locale/template.txt b/mods/HUD/mcl_achievements/locale/template.txt index cd3726b05..8db3bb1cb 100644 --- a/mods/HUD/mcl_achievements/locale/template.txt +++ b/mods/HUD/mcl_achievements/locale/template.txt @@ -87,3 +87,5 @@ Sky's The Limit= Find the elytra and prepare to fly above and beyond!= Free the End= Kill the ender dragon. Good Luck!= +Bee Our Guest= +Use a campfire to collect a bottle of honey from a beehive without aggrivating the bees inside.= diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua index 41582d363..c117b519a 100644 --- a/mods/ITEMS/mcl_beehives/init.lua +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -31,7 +31,7 @@ local honey_harvest = function(pos, node, player, itemstack, pointed_thing) if not is_creative then itemstack:take_item() end - if not campfire[1] then mcl_util.deal_damage(player, 10) end + if not campfire[1] then mcl_util.deal_damage(player, 10) else awards.unlock(player:get_player_name(), "mcl:bee_our_guest") end end elseif shears then minetest.add_item(pos, "mcl_honey:honeycomb 3") From bbb908239b4734f038f1f2dac18d25e1f81867d3 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Fri, 11 Nov 2022 15:09:17 -0700 Subject: [PATCH 09/14] Total Beelocation Advancement --- mods/HUD/mcl_achievements/init.lua | 8 ++++++++ mods/HUD/mcl_achievements/locale/template.txt | 2 ++ mods/ITEMS/mcl_beehives/init.lua | 1 + 3 files changed, 11 insertions(+) diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index 5d0b14511..5d139e6dc 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -398,6 +398,14 @@ awards.register_achievement("mcl:bee_our_guest", { group = "Husbandry", }) +awards.register_achievement("mcl:total_beelocation", { + title = S("Total Beelocation"), + description = S("Move a bee nest, with 3 bees inside, using a silk touch enchanted tool."), + icon = "mcl_beehives_bee_nest_front_honey.png", + type = "Advancement", + group = "Husbandry", +}) + -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.) if non_pc_achievements then diff --git a/mods/HUD/mcl_achievements/locale/template.txt b/mods/HUD/mcl_achievements/locale/template.txt index 8db3bb1cb..4334438e5 100644 --- a/mods/HUD/mcl_achievements/locale/template.txt +++ b/mods/HUD/mcl_achievements/locale/template.txt @@ -89,3 +89,5 @@ Free the End= Kill the ender dragon. Good Luck!= Bee Our Guest= Use a campfire to collect a bottle of honey from a beehive without aggrivating the bees inside.= +Total Beelocation= +Move a bee nest, with 3 bees inside, using a silk touch enchanted tool.= diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua index c117b519a..a7a1a7623 100644 --- a/mods/ITEMS/mcl_beehives/init.lua +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -55,6 +55,7 @@ local dig_hive = function(pos, node, oldmetadata, digger) elseif beenest then if silk_touch or is_creative then minetest.add_item(pos, "mcl_beehives:bee_nest") + awards.unlock(digger:get_player_name(), "mcl:total_beelocation") else mcl_util.deal_damage(digger, 10) end From 16f878d3dc901f4144d1fea504bf6eba47f43503 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Fri, 11 Nov 2022 19:02:01 -0700 Subject: [PATCH 10/14] Make Honey Blocks Sticky Uses slime block stickiness code. --- mods/ITEMS/mcl_honey/init.lua | 35 +++++++++++++++++++++++++++++++++++ mods/ITEMS/mcl_honey/mod.conf | 3 ++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua index 0300eb7b9..972112ea3 100644 --- a/mods/ITEMS/mcl_honey/init.lua +++ b/mods/ITEMS/mcl_honey/init.lua @@ -4,6 +4,7 @@ -- Variables local S = minetest.get_translator(minetest.get_current_modname()) +local alldirs = {{x=0,y=0,z=1}, {x=1,y=0,z=0}, {x=0,y=0,z=-1}, {x=-1,y=0,z=0}, {x=0,y=-1,z=0}, {x=0,y=1,z=0}} -- Honeycomb minetest.register_craftitem("mcl_honey:honeycomb", { @@ -50,6 +51,40 @@ minetest.register_node("mcl_honey:honey_block", { paramtype2 = "facedir", _mcl_blast_resistance = 0, _mcl_hardness = 0, + mvps_sticky = function(pos, node, piston_pos) + local connected = {} + for n, v in ipairs(alldirs) do + local neighbor_pos = vector.add(pos, v) + local neighbor_node = minetest.get_node(neighbor_pos) + if neighbor_node then + if neighbor_node.name == "ignore" then + minetest.get_voxel_manip():read_from_map(neighbor_pos, neighbor_pos) + neighbor_node = minetest.get_node(neighbor_pos) + end + local name = neighbor_node.name + if name ~= "air" and name ~= "ignore" and not mesecon.mvps_unsticky[name] then + local piston, piston_side, piston_up, piston_down = false, false, false, false + if name == "mesecons_pistons:piston_sticky_off" or name == "mesecons_pistons:piston_normal_off" then + piston, piston_side = true, true + elseif name == "mesecons_pistons:piston_up_sticky_off" or name == "mesecons_pistons:piston_up_normal_off" then + piston, piston_up = true, true + elseif name == "mesecons_pistons:piston_down_sticky_off" or name == "mesecons_pistons:piston_down_normal_off" then + piston, piston_down = true, true + end + if not( (piston_side and (n-1==neighbor_node.param2)) or (piston_up and (n==5)) or (piston_down and (n==6)) ) then + if piston and piston_pos then + if piston_pos.x == neighbor_pos.x and piston_pos.y == neighbor_pos.y and piston_pos.z == neighbor_pos.z then + -- Loopback to the same piston! Preventing unwanted behavior: + return {}, true + end + end + table.insert(connected, neighbor_pos) + end + end + end + end + return connected, false + end, }) -- Crafting diff --git a/mods/ITEMS/mcl_honey/mod.conf b/mods/ITEMS/mcl_honey/mod.conf index 6ef9d7e45..436811291 100644 --- a/mods/ITEMS/mcl_honey/mod.conf +++ b/mods/ITEMS/mcl_honey/mod.conf @@ -1,3 +1,4 @@ name = mcl_honey author = PrairieWind -description = MineClone 2 mod that adds honey and honeycomb and the respective block versions. \ No newline at end of file +description = MineClone 2 mod that adds honey and honeycomb and the respective block versions. +depends = mesecons_mvps From fb651a49224909452ae4fce22b19a8dc3b26a0b2 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Tue, 15 Nov 2022 10:38:29 -0700 Subject: [PATCH 11/14] Wax On and Wax Off Advancements --- mods/HUD/mcl_achievements/init.lua | 17 +++++++++++++++++ mods/HUD/mcl_achievements/locale/template.txt | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index 5d139e6dc..952fc1789 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -406,6 +406,23 @@ awards.register_achievement("mcl:total_beelocation", { group = "Husbandry", }) +-- Triggered in mcl_copper +awards.register_achievement("mcl:wax_on", { + title = S("Wax On"), + description = S("Apply honeycomb to a copper block to protect it from the elements."), + icon = "mcl_honey_honeycomb.png", + type = "Advancement", + group = "Husbandry", +}) + +awards.register_achievement("mcl:wax_off", { + title = S("Wax Off"), + description = S("Scrape wax off of a copper block."), + icon = "default_tool_stoneaxe.png", + type = "Advancement", + group = "Husbandry", +}) + -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.) if non_pc_achievements then diff --git a/mods/HUD/mcl_achievements/locale/template.txt b/mods/HUD/mcl_achievements/locale/template.txt index 4334438e5..3420a39dc 100644 --- a/mods/HUD/mcl_achievements/locale/template.txt +++ b/mods/HUD/mcl_achievements/locale/template.txt @@ -91,3 +91,7 @@ Bee Our Guest= Use a campfire to collect a bottle of honey from a beehive without aggrivating the bees inside.= Total Beelocation= Move a bee nest, with 3 bees inside, using a silk touch enchanted tool.= +Wax On= +Apply honeycomb to a copper block to protect it from the elements.= +Wax Off= +Scrape wax off of a copper block.= From c767c617f870ac0fb941429e9fb7c1913c1b2af8 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Tue, 15 Nov 2022 14:02:05 -0700 Subject: [PATCH 12/14] Add waxing copper blocks --- mods/ITEMS/mcl_copper/crafting.lua | 20 ++- mods/ITEMS/mcl_copper/functions.lua | 28 ++++ mods/ITEMS/mcl_copper/init.lua | 2 +- mods/ITEMS/mcl_copper/locale/template.txt | 20 +++ mods/ITEMS/mcl_copper/nodes.lua | 196 ++++++++++++++++++++-- 5 files changed, 246 insertions(+), 20 deletions(-) diff --git a/mods/ITEMS/mcl_copper/crafting.lua b/mods/ITEMS/mcl_copper/crafting.lua index 7b1e183c7..ce280fcdf 100644 --- a/mods/ITEMS/mcl_copper/crafting.lua +++ b/mods/ITEMS/mcl_copper/crafting.lua @@ -47,6 +47,17 @@ minetest.register_craft({ }, }) +local waxable_blocks = { "block", "block_cut", "block_exposed", "block_exposed_cut", "block_weathered", "block_weathered_cut", "block_oxidized", "block_oxidized_cut" } + +for _, w in ipairs(waxable_blocks) do + minetest.register_craft({ + output = "mcl_copper:waxed_"..w, + recipe = { + { "mcl_copper:"..w, "mcl_honey:honeycomb" }, + }, + }) +end + minetest.register_craft({ output = "mcl_copper:copper_ingot 4", recipe = { @@ -73,4 +84,11 @@ minetest.register_craft({ output = "mcl_copper:copper_ingot", recipe = "mcl_copper:stone_with_copper", cooktime = 10, -}) \ No newline at end of file +}) + +minetest.register_craft({ + type = "cooking", + output = "mcl_copper:block", + recipe = "mcl_copper:block_raw", + cooktime = 90, +}) diff --git a/mods/ITEMS/mcl_copper/functions.lua b/mods/ITEMS/mcl_copper/functions.lua index b6e0cb7e2..81dfdb69d 100644 --- a/mods/ITEMS/mcl_copper/functions.lua +++ b/mods/ITEMS/mcl_copper/functions.lua @@ -12,6 +12,34 @@ local function register_oxidation_abm(abm_name, node_name, oxidized_variant) }) end +function waxing_copper_block(pos, node, player, itemstack, convert_to) + if itemstack:get_name() == "mcl_honey:honeycomb" then + node.name = convert_to + minetest.set_node(pos, node) + awards.unlock(player:get_player_name(), "mcl:wax_on") + if not minetest.is_creative_enabled(player:get_player_name()) then + itemstack:take_item() + end + else + return true + end +end + +function scraping_copper_block(pos, node, player, itemstack, convert_to) + if itemstack:get_name():find("axe") then + node.name = convert_to + minetest.set_node(pos, node) + awards.unlock(player:get_player_name(), "mcl:wax_off") + if not minetest.is_creative_enabled(player:get_player_name()) then + local tool = itemstack:get_name() + local wear = mcl_autogroup.get_wear(tool, "axey") + itemstack:add_wear(wear) + end + else + return true + end +end + --[[ local stairs = { {"stair", "exposed", "_inner", "cut_inner"}, diff --git a/mods/ITEMS/mcl_copper/init.lua b/mods/ITEMS/mcl_copper/init.lua index ea15e5827..a99d03f2c 100644 --- a/mods/ITEMS/mcl_copper/init.lua +++ b/mods/ITEMS/mcl_copper/init.lua @@ -1,6 +1,6 @@ local path = minetest.get_modpath("mcl_copper") +dofile(path .. "/functions.lua") dofile(path .. "/nodes.lua") dofile(path .. "/items.lua") dofile(path .. "/crafting.lua") -dofile(path .. "/functions.lua") \ No newline at end of file diff --git a/mods/ITEMS/mcl_copper/locale/template.txt b/mods/ITEMS/mcl_copper/locale/template.txt index 050c099ee..7022780ff 100644 --- a/mods/ITEMS/mcl_copper/locale/template.txt +++ b/mods/ITEMS/mcl_copper/locale/template.txt @@ -2,36 +2,56 @@ A block of copper is mostly a decorative block.= A block used for compact raw copper storage.= Block of Copper= +Waxed Block of Copper= Block of Raw Copper= Copper Ingot= Copper Ore= Cut copper is a decorative block.= Cut Copper= +Waxed Cut Copper= Double Slab of Cut Copper= Double Slab of Exposed Cut Copper= Double Slab of Oxidized Cut Copper= Double Slab of Weathered Cut Copper= +Waxed Double Slab of Cut Copper= +Waxed Double Slab of Exposed Cut Copper= +Waxed Double Slab of Oxidized Cut Copper= +Waxed Double Slab of Weathered Cut Copper= Exposed copper is a decorative block.= Exposed Copper= +Waxed Exposed Copper= Exposed cut copper is a decorative block.= Exposed Cut Copper= +Waxed Exposed Cut Copper= Molten Raw Copper. It is used to craft blocks.= Oxidized copper is a decorative block.= Oxidized Copper= +Waxed Oxidized Copper= Oxidized cut copper is a decorative block.= Oxidized Cut Copper= +Waxed Oxidized Cut Copper= Raw Copper. Mine a Copper Ore to get it.= Raw Copper= Slab of Cut Copper= Slab of Exposed Cut Copper= Slab of Oxidized Cut Copper= Slab of Weathered Cut Copper= +Waxed Slab of Cut Copper= +Waxed Slab of Exposed Cut Copper= +Waxed Slab of Oxidized Cut Copper= +Waxed Slab of Weathered Cut Copper= Some copper contained in stone, it is pretty common and can be found below sea level.= Stairs of Cut Copper= Stairs of Exposed Cut Copper= Stairs of Oxidized Cut Copper= Stairs of Weathered Cut Copper= +Waxed Stairs of Cut Copper= +Waxed Stairs of Exposed Cut Copper= +Waxed Stairs of Oxidized Cut Copper= +Waxed Stairs of Weathered Cut Copper= Weathered copper is a decorative block.= Weathered Copper= +Waxed Weathered Copper= Weathered cut copper is a decorative block.= Weathered Cut Copper= +Waxed Weathered Cut Copper= diff --git a/mods/ITEMS/mcl_copper/nodes.lua b/mods/ITEMS/mcl_copper/nodes.lua index 22c1bf807..75c2973da 100644 --- a/mods/ITEMS/mcl_copper/nodes.lua +++ b/mods/ITEMS/mcl_copper/nodes.lua @@ -35,6 +35,19 @@ minetest.register_node("mcl_copper:block", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 3, + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block") end, +}) + +minetest.register_node("mcl_copper:waxed_block", { + description = S("Waxed Block of Copper"), + _doc_items_longdesc = S("A block of copper is mostly a decorative block."), + tiles = {"mcl_copper_block.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 3, + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block") end, }) minetest.register_node("mcl_copper:block_exposed", { @@ -47,18 +60,19 @@ minetest.register_node("mcl_copper:block_exposed", { _mcl_blast_resistance = 6, _mcl_hardness = 5, _mcl_anti_oxidation_varient = "mcl_copper:block", + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_exposed") end, }) -minetest.register_node("mcl_copper:block_oxidized", { - description = S("Oxidized Copper"), - _doc_items_longdesc = S("Oxidized copper is a decorative block."), - tiles = {"mcl_copper_oxidized.png"}, +minetest.register_node("mcl_copper:waxed_block_exposed", { + description = S("Waxed Exposed Copper"), + _doc_items_longdesc = S("Exposed copper is a decorative block."), + tiles = {"mcl_copper_exposed.png"}, is_ground_content = false, groups = {pickaxey = 2, building_block = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_weathered", + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block") end, }) minetest.register_node("mcl_copper:block_weathered", { @@ -71,6 +85,44 @@ minetest.register_node("mcl_copper:block_weathered", { _mcl_blast_resistance = 6, _mcl_hardness = 5, _mcl_anti_oxidation_varient = "mcl_copper:block_exposed", + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_weathered") end, +}) + +minetest.register_node("mcl_copper:waxed_block_weathered", { + description = S("Waxed Weathered Copper"), + _doc_items_longdesc = S("Weathered copper is a decorative block."), + tiles = {"mcl_copper_weathered.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_exposed") end, +}) + +minetest.register_node("mcl_copper:block_oxidized", { + description = S("Oxidized Copper"), + _doc_items_longdesc = S("Oxidized copper is a decorative block."), + tiles = {"mcl_copper_oxidized.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + _mcl_anti_oxidation_varient = "mcl_copper:block_weathered", + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_oxidized") end, +}) + +minetest.register_node("mcl_copper:waxed_block_oxidized", { + description = S("Waxed Oxidized Copper"), + _doc_items_longdesc = S("Oxidized copper is a decorative block."), + tiles = {"mcl_copper_oxidized.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_weather") end, }) minetest.register_node("mcl_copper:block_cut", { @@ -82,6 +134,19 @@ minetest.register_node("mcl_copper:block_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_cut") end, +}) + +minetest.register_node("mcl_copper:waxed_block_cut", { + description = S("Waxed Cut Copper"), + _doc_items_longdesc = S("Cut copper is a decorative block."), + tiles = {"mcl_copper_block_cut.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_cut") end, }) minetest.register_node("mcl_copper:block_exposed_cut", { @@ -94,18 +159,19 @@ minetest.register_node("mcl_copper:block_exposed_cut", { _mcl_blast_resistance = 6, _mcl_hardness = 5, _mcl_anti_oxidation_varient = "mcl_copper:block_cut", + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_exposed_cut") end, }) -minetest.register_node("mcl_copper:block_oxidized_cut", { - description = S("Oxidized Cut Copper"), - _doc_items_longdesc = S("Oxidized cut copper is a decorative block."), - tiles = {"mcl_copper_oxidized_cut.png"}, +minetest.register_node("mcl_copper:waxed_block_exposed_cut", { + description = S("Waxed Exposed Cut Copper"), + _doc_items_longdesc = S("Exposed cut copper is a decorative block."), + tiles = {"mcl_copper_exposed_cut.png"}, is_ground_content = false, groups = {pickaxey = 2, building_block = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_weathered_cut", + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_cut") end, }) minetest.register_node("mcl_copper:block_weathered_cut", { @@ -118,6 +184,44 @@ minetest.register_node("mcl_copper:block_weathered_cut", { _mcl_blast_resistance = 6, _mcl_hardness = 5, _mcl_anti_oxidation_varient = "mcl_copper:block_exposed_cut", + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_weathered_cut") end, +}) + +minetest.register_node("mcl_copper:waxed_block_weathered_cut", { + description = S("Waxed Weathered Cut Copper"), + _doc_items_longdesc = S("Weathered cut copper is a decorative block."), + tiles = {"mcl_copper_weathered_cut.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_exposed_cut") end, +}) + +minetest.register_node("mcl_copper:block_oxidized_cut", { + description = S("Oxidized Cut Copper"), + _doc_items_longdesc = S("Oxidized cut copper is a decorative block."), + tiles = {"mcl_copper_oxidized_cut.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + _mcl_anti_oxidation_varient = "mcl_copper:block_weathered_cut", + on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_oxidized_cut") end, +}) + +minetest.register_node("mcl_copper:waxed_block_oxidized_cut", { + description = S("Waxed Oxidized Cut Copper"), + _doc_items_longdesc = S("Oxidized cut copper is a decorative block."), + tiles = {"mcl_copper_oxidized_cut.png"}, + is_ground_content = false, + groups = {pickaxey = 2, building_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_weathered_cut") end, }) mcl_stairs.register_slab("copper_cut", "mcl_copper:block_cut", @@ -127,6 +231,13 @@ mcl_stairs.register_slab("copper_cut", "mcl_copper:block_cut", nil, nil, nil, S("Double Slab of Cut Copper")) +mcl_stairs.register_slab("waxed_copper_cut", "mcl_copper:waxed_block_cut", + {pickaxey = 2}, + {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, + S("Waxed Slab of Cut Copper"), + nil, nil, nil, + S("Waxed Double Slab of Cut Copper")) + mcl_stairs.register_slab("copper_exposed_cut", "mcl_copper:block_exposed_cut", {pickaxey = 2}, {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, @@ -134,12 +245,12 @@ mcl_stairs.register_slab("copper_exposed_cut", "mcl_copper:block_exposed_cut", nil, nil, nil, S("Double Slab of Exposed Cut Copper")) -mcl_stairs.register_slab("copper_oxidized_cut", "mcl_copper:block_oxidized_cut", +mcl_stairs.register_slab("waxed_copper_exposed_cut", "mcl_copper:waxed_block_exposed_cut", {pickaxey = 2}, - {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, - S("Slab of Oxidized Cut Copper"), + {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, + S("Waxed Slab of Exposed Cut Copper"), nil, nil, nil, - S("Double Slab of Oxidized Cut Copper")) + S("Waxed Double Slab of Exposed Cut Copper")) mcl_stairs.register_slab("copper_weathered_cut", "mcl_copper:block_weathered_cut", {pickaxey = 2}, @@ -148,6 +259,27 @@ mcl_stairs.register_slab("copper_weathered_cut", "mcl_copper:block_weathered_cut nil, nil, nil, S("Double Slab of Weathered Cut Copper")) +mcl_stairs.register_slab("waxed_copper_weathered_cut", "mcl_copper:waxed_block_weathered_cut", + {pickaxey = 2}, + {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, + S("Waxed Slab of Weathered Cut Copper"), + nil, nil, nil, + S("Waxed Double Slab of Weathered Cut Copper")) + +mcl_stairs.register_slab("copper_oxidized_cut", "mcl_copper:block_oxidized_cut", + {pickaxey = 2}, + {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, + S("Slab of Oxidized Cut Copper"), + nil, nil, nil, + S("Double Slab of Oxidized Cut Copper")) + +mcl_stairs.register_slab("waxed_copper_oxidized_cut", "mcl_copper:waxed_block_oxidized_cut", + {pickaxey = 2}, + {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, + S("Waxed Slab of Oxidized Cut Copper"), + nil, nil, nil, + S("Waxed Double Slab of Oxidized Cut Copper")) + mcl_stairs.register_stair("copper_cut", "mcl_copper:block_cut", {pickaxey = 2}, {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, @@ -155,6 +287,13 @@ mcl_stairs.register_stair("copper_cut", "mcl_copper:block_cut", nil, 6, nil, "woodlike") +mcl_stairs.register_stair("waxed_copper_cut", "mcl_copper:waxed_block_cut", + {pickaxey = 2}, + {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, + S("Waxed Stairs of Cut Copper"), + nil, 6, nil, + "woodlike") + mcl_stairs.register_stair("copper_exposed_cut", "mcl_copper:block_exposed_cut", {pickaxey = 2}, {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, @@ -162,10 +301,10 @@ mcl_stairs.register_stair("copper_exposed_cut", "mcl_copper:block_exposed_cut", nil, 6, nil, "woodlike") -mcl_stairs.register_stair("copper_oxidized_cut", "mcl_copper:block_oxidized_cut", +mcl_stairs.register_stair("waxed_copper_exposed_cut", "mcl_copper:waxed_block_exposed_cut", {pickaxey = 2}, - {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, - S("Stairs of Oxidized Cut Copper"), + {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, + S("Waxed Stairs of Exposed Cut Copper"), nil, 6, nil, "woodlike") @@ -174,4 +313,25 @@ mcl_stairs.register_stair("copper_weathered_cut", "mcl_copper:block_weathered_cu {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, S("Stairs of Weathered Cut Copper"), nil, 6, nil, - "woodlike") \ No newline at end of file + "woodlike") + +mcl_stairs.register_stair("waxed_copper_weathered_cut", "mcl_copper:waxed_block_weathered_cut", + {pickaxey = 2}, + {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, + S("Waxed Stairs of Weathered Cut Copper"), + nil, 6, nil, + "woodlike") + +mcl_stairs.register_stair("copper_oxidized_cut", "mcl_copper:block_oxidized_cut", + {pickaxey = 2}, + {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, + S("Stairs of Oxidized Cut Copper"), + nil, 6, nil, + "woodlike") + +mcl_stairs.register_stair("waxed_copper_oxidized_cut", "mcl_copper:waxed_block_oxidized_cut", + {pickaxey = 2}, + {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, + S("Waxed Stairs of Oxidized Cut Copper"), + nil, 6, nil, + "woodlike") From b17dcf26da8fa59663c8314105116f5f21e8fe6c Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Tue, 15 Nov 2022 14:32:53 -0700 Subject: [PATCH 13/14] Make beehives transparent and not launch entities, thanks MysticTempest! --- mods/ITEMS/REDSTONE/mesecons_mvps/init.lua | 2 +- mods/ITEMS/mcl_honey/init.lua | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua b/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua index a27904e48..b2ff0916e 100644 --- a/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua @@ -364,7 +364,7 @@ function mesecon.mvps_move_objects(pos, dir, nodestack) for _, r in ipairs(mesecon.rules.alldirs) do local adjpos = vector.add(np, r) local adjnode = minetest.get_node(adjpos) - if minetest.registered_nodes[adjnode.name] and minetest.registered_nodes[adjnode.name].mvps_sticky then + if minetest.registered_nodes[adjnode.name] and minetest.registered_nodes[adjnode.name].mvps_sticky and adjnode.name == "mcl_core:slimeblock" then local np = vector.add(obj:get_pos(), dir) -- Reset acceleration of all objects before launching. diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua index 972112ea3..e736320aa 100644 --- a/mods/ITEMS/mcl_honey/init.lua +++ b/mods/ITEMS/mcl_honey/init.lua @@ -42,13 +42,21 @@ minetest.register_craftitem("mcl_honey:honey_bottle", { minetest.register_node("mcl_honey:honey_block", { description = S("Honey Block"), _doc_items_longdesc = S("Honey Block. Used as a decoration and in redstone. Is sticky on some sides."), - tiles = { - "mcl_honey_block_top.png", "mcl_honey_block_bottom.png", - "mcl_honey_block_side.png", "mcl_honey_block_side.png", - "mcl_honey_block_side.png", "mcl_honey_block_side.png", + tiles = {"mcl_honey_block_side.png"}, + use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "blend" or true, + groups = { handy = 1, deco_block = 1, fall_damage_add_percent = -80 }, + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.4, -0.4, -0.4, 0.4, 0.4, 0.4}, + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + } + }, + selection_box = { + type = "regular", }, - groups = { handy = 1, deco_block = 1 }, - paramtype2 = "facedir", _mcl_blast_resistance = 0, _mcl_hardness = 0, mvps_sticky = function(pos, node, piston_pos) From 89a342a34f449c6c425d3507a9265a8e6930c539 Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Tue, 15 Nov 2022 20:19:50 -0700 Subject: [PATCH 14/14] Add Bee Nest Tree Schematics and generation --- .../schematics/mcl_core_birch_bee_nest.mts | Bin 0 -> 175 bytes .../mcl_core_oak_classic_bee_nest.mts | Bin 0 -> 180 bytes .../schematics/mcl_mangrove_bee_nest.mts | Bin 0 -> 682 bytes mods/MAPGEN/mcl_biomes/init.lua | 86 +++++++++++++++++- 4 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 mods/ITEMS/mcl_core/schematics/mcl_core_birch_bee_nest.mts create mode 100644 mods/ITEMS/mcl_core/schematics/mcl_core_oak_classic_bee_nest.mts create mode 100644 mods/ITEMS/mcl_mangrove/schematics/mcl_mangrove_bee_nest.mts diff --git a/mods/ITEMS/mcl_core/schematics/mcl_core_birch_bee_nest.mts b/mods/ITEMS/mcl_core/schematics/mcl_core_birch_bee_nest.mts new file mode 100644 index 0000000000000000000000000000000000000000..fff8fddc4a40a5ba8bc678ec7c738d321b5302c4 GIT binary patch literal 175 zcmeYb3HD`RVPIw8U|_9>0tOZa=ETe*29ez4ocQGYqExG-%%bFsoYcg!)M5s4kZ4kB zYDQ*RYOz&PYHEC5YH>-tDT5HI@{*#|)QUM*`wnt3C~!E3*X`IZH#LH-tumYW=0i)i zme97`Q!DahuNmys4pjK+e@X4uucFz1Yh63dpKdqUJcrwuLs0Ft%;DHs{(ScuPVDo) K%JAM;jt>CItV2Zr literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/schematics/mcl_core_oak_classic_bee_nest.mts b/mods/ITEMS/mcl_core/schematics/mcl_core_oak_classic_bee_nest.mts new file mode 100644 index 0000000000000000000000000000000000000000..1f793f47c825b119361eee42b3188f63034f8d8e GIT binary patch literal 180 zcmeYb3HD`RVPIw8U|_9>0tOZa=ETe*2L9aSocQGYqExG#)WovXVg_EgKuJ+*DuXzP zo0OWGky(~nY?YLn8lRV1ToP|uF=y?hMy>-294=RDfBgM5YpcnOv$ymnG_O0ZD7f_K z(;1I5&D>Xul+Ba5KF8<{l)j?`|9?u@pELB<^lk}B}@GP literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_mangrove/schematics/mcl_mangrove_bee_nest.mts b/mods/ITEMS/mcl_mangrove/schematics/mcl_mangrove_bee_nest.mts new file mode 100644 index 0000000000000000000000000000000000000000..630117463135d0c2f07b779988d94c14ceff3ee5 GIT binary patch literal 682 zcmeYb3HD`RVc=xoW8kVs0Ss&m%!!#r47|C?Iq}K)MX6S0nR%%U(jabbVqSVtep#v& zj1gaypI=gpLoz2du`IQiK?=LhlA_d9262#FQfg{OW?5>nRZ?ndd|qmCNxW&roU0MH zi&_+TR2LZ6-cYZ%*dNEDw6h@~Jbm{~N$EayOU}f#Ym4g*cC`Gd|D43itFom3&Dz$Q zOZURh->qnT6RY{>#a^GfQ~f+)-}gJypWN_!`p#qN#9wEG7ydoFL8iCI z@_Ntwrd@Xb_r=zK>wWyLYSkwIAb%k%g@FY+~<)=5k8SoawYn zmk*5nb?z;jiUS|Rl=!Jvce*ah=Pq3IgWo|<{qLIXYN~zTaBDxN}Bhh zoz+3J`Bb8xwsG=o14+^Ka$JYiuf5BO4r$G`o*)x$+IX)fxk+46C9vY-rz%GG8_^4I zv`ofGI1>-Mgi eHCuJ{2E_s~mvd2bB`-eDkqy4LF<$gq$0`7yd^_R* literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index d468ae4f4..2869a5315 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -3160,7 +3160,48 @@ local function register_decorations() flags = "place_center_x, place_center_z", rotation = "random", }) - + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, + sidelen = 16, + --[[noise_params = { + offset = 0.01, + scale = 0.00001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.33 + },]]-- + fill_ratio = 0.0002, + biomes = {"FlowerForest"}, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic_bee_nest.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + spawn_by = "group:flower", + }) + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, + sidelen = 16, + --[[noise_params = { + offset = 0.01, + scale = 0.00001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.33 + },]]-- + fill_ratio = 0.00002, + biomes = {"Forest"}, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic_bee_nest.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + spawn_by = "group:flower", + }) -- Rare balloon oak minetest.register_decoration({ @@ -3269,7 +3310,27 @@ local function register_decorations() flags = "place_center_x, place_center_z, force_placement", rotation = "random", }) - + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"mcl_mud:mud"}, + sidelen = 80, + --[[noise_params = { + offset = 0.01, + scale = 0.00001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.33 + },]]-- + fill_ratio = 0.0005, + biomes = {"MangroveSwamp"}, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_bee_nest.mts", + flags = "place_center_x, place_center_z, force_placement", + rotation = "random", + spawn_by = "group:flower", + }) minetest.register_decoration({ deco_type = "simple", place_on = {"mcl_mud:mud"}, @@ -3630,6 +3691,27 @@ local function register_decorations() schematic = mod_mcl_core.."/schematics/mcl_core_birch.mts", flags = "place_center_x, place_center_z", }) + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, + sidelen = 16, + --[[noise_params = { + offset = 0.01, + scale = 0.00001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.33 + },]]-- + fill_ratio = 0.00002, + biomes = {"Forest", "BirchForest", "BirchForestM"}, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + schematic = mod_mcl_core.."/schematics/mcl_core_birch_bee_nest.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + spawn_by = "group:flower", + }) -- Dark Oak minetest.register_decoration({