From 8cad4a688672e990ad4391e8b825b7713efb54a3 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 10 Jul 2022 02:32:37 +0200 Subject: [PATCH 01/19] Add ruined portals --- mods/MAPGEN/mcl_structures/init.lua | 1 + mods/MAPGEN/mcl_structures/ruined_portal.lua | 82 ++++++++++++++++++ .../mcl_structures_ruined_portal_1.mts | Bin 0 -> 524 bytes .../mcl_structures_ruined_portal_2.mts | Bin 0 -> 521 bytes .../mcl_structures_ruined_portal_99.mts | Bin 0 -> 521 bytes 5 files changed, 83 insertions(+) create mode 100644 mods/MAPGEN/mcl_structures/ruined_portal.lua create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_1.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_2.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_99.mts diff --git a/mods/MAPGEN/mcl_structures/init.lua b/mods/MAPGEN/mcl_structures/init.lua index 5b6be892d..44d21cd96 100644 --- a/mods/MAPGEN/mcl_structures/init.lua +++ b/mods/MAPGEN/mcl_structures/init.lua @@ -244,6 +244,7 @@ dofile(modpath.."/ocean_ruins.lua") dofile(modpath.."/witch_hut.lua") dofile(modpath.."/igloo.lua") dofile(modpath.."/woodland_mansion.lua") +dofile(modpath.."/ruined_portal.lua") dofile(modpath.."/geode.lua") diff --git a/mods/MAPGEN/mcl_structures/ruined_portal.lua b/mods/MAPGEN/mcl_structures/ruined_portal.lua new file mode 100644 index 000000000..cea89e0e9 --- /dev/null +++ b/mods/MAPGEN/mcl_structures/ruined_portal.lua @@ -0,0 +1,82 @@ +local modname = minetest.get_current_modname() +local modpath = minetest.get_modpath(modname) + +local function get_replacements(b,c,pr) + local r = {} + if not b then return r end + for k,v in pairs(b) do + if pr:next(1,100) < c then table.insert(r,v) end + end + return r +end + +local def = { + place_on = {"group:grass_block","group:dirt","mcl_core:dirt_with_grass","group:grass_block","group:sand","group:grass_block_snow","mcl_core:snow"}, + fill_ratio = 0.01, + flags = "place_center_x, place_center_z, all_floors", + solid_ground = true, + make_foundation = true, + chunk_probability = 400, + y_max = mcl_vars.mg_overworld_max, + y_min = 1, + sidelen = 10, + y_offset = -4, + filenames = { + modpath.."/schematics/mcl_structures_ruined_portal_1.mts", + modpath.."/schematics/mcl_structures_ruined_portal_2.mts", + modpath.."/schematics/mcl_structures_ruined_portal_99.mts", + }, + after_place = function(pos,def,pr) + local hl = def.sidelen / 2 + local p1 = vector.offset(pos,-hl,-hl,-hl) + local p2 = vector.offset(pos,hl,hl,hl) + local gold = minetest.find_nodes_in_area(p1,p2,{"mcl_core:goldblock"}) + local lava = minetest.find_nodes_in_area(p1,p2,{"mcl_core:lava_source"}) + local rack = minetest.find_nodes_in_area(p1,p2,{"mcl_nether:netherrack"}) + local brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"}) + local obby = minetest.find_nodes_in_area(p1,p2,{"mcl_core:obsidian"}) + minetest.bulk_set_node(get_replacements(gold,30,pr),{name="air"}) + minetest.bulk_set_node(get_replacements(lava,20,pr),{name="mcl_nether:magma"}) + minetest.bulk_set_node(get_replacements(rack,7,pr),{name="mcl_nether:magma"}) + minetest.bulk_set_node(get_replacements(obby,30,pr),{name="mcl_core:crying_obsidian"}) + minetest.bulk_set_node(get_replacements(obby,10,pr),{name="air"}) + minetest.bulk_set_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickcracked"}) + brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"}) + minetest.bulk_set_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickmossy"}) + end, + loot = { + ["mcl_chests:chest_small" ] ={{ + stacks_min = 2, + stacks_max = 6, + items = { + { itemstring = "mcl_core:iron_nugget", weight = 40, amount_min = 9, amount_max = 18 }, + { itemstring = "mcl_core:flint", weight = 40, amount_min = 1, amount_max=4 }, + { itemstring = "mcl_core:obsidian", weight = 40, amount_min = 1, amount_max=2 }, + { itemstring = "mcl_fire:fire_charge", weight = 40, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_fire:flint_and_steel", weight = 40, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_core:gold_nugget", weight = 15, amount_min = 4, amount_max = 24 }, + { itemstring = "mcl_core:apple_gold", weight = 15, }, + + { itemstring = "mcl_books:book", weight = 1, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) + end }, + --{ itemstring = "mcl_bamboo:bamboo", weight = 15, amount_min = 1, amount_max=3 }, --FIXME BAMBOO + + { itemstring = "mcl_core:diamond", weight = 3, amount_min = 1, amount_max = 3 }, + { itemstring = "mcl_mobitems:saddle", weight = 3, }, + { itemstring = "mcl_core:emerald", weight = 2, amount_min = 1, amount_max = 3 }, + + { itemstring = "mcl_mobitems:iron_horse_armor", weight = 1, }, + { itemstring = "mcl_mobitems:gold_horse_armor", weight = 1, }, + { itemstring = "mcl_mobitems:diamond_horse_armor", weight = 1, }, + { itemstring = "mcl_core:apple_gold", weight = 15, }, + } + }} + } +} +mcl_structures.register_structure("ruined_portal_overworld",def) +local ndef = table.copy(def) +ndef.y_min=mcl_vars.mg_nether_lava_min +ndef.y_max=mcl_vars.mg_nether_max - 15 +ndef.place_on = {"mcl_nether:netherrack","group:soul_block","mcl_blackstone:basalt,mcl_blackstone:blackstone","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium"}, +mcl_structures.register_structure("ruined_portal_nether",ndef) diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_1.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..ae37576dc259184903dd7af589154b8c066aeeda GIT binary patch literal 524 zcmeYb3HD`RVPI$AVc@Js0t{RX%!!#r45GQoIq`X^B^jwjRuHNvF*%z-8YEm?l9*Xk zYz3y`i%atJQj>}@ld~aulJkpFt#T5}664cy^2;;x(iwz6dceZz`8g>`Ir+)i48m|R zB>f_AL9qVf{L-T2R0ct~Xns<0W=dva9)lD}2*ni$lf}TwGg6C7imkv@d~t4KPEN&~ zz0=-`H7W44nJ-KFudRPQnx7>_`Q(oa(=VTteRB6Po0!AG3q2aFAz1~@I*%1B*bjT^ zFc}^<{nrtqZuKE&TJbIIS4y`$MKdM_a!jHDT_}Ul&$D}G9~t) zic{fPZ3)X*TV?gQ1D4X~YFzs*Wy4?Wemd#vo+jh9>2Vol^PhIl>ATuFpM9sjy!m_o z;}YxMR?d&uT0i&0?(@4vx?&4m+mzO>{(D99`HdHvbHh3E{#rzzkw{;Y@H%+;oHLjG zw^na@waaa|-%C!_U6rV3^?7ib&d&|l1E4$*qhVJK;|2R=G5dbah;!^+s literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_2.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_2.mts new file mode 100644 index 0000000000000000000000000000000000000000..fd17f1365b9e9770b5337aea9e266e52b6ff8e12 GIT binary patch literal 521 zcmeYb3HD`RVPI$AVc@Js0t{RX%!!#r45GQoIq`X^B^jwjRuHNvF*%z-8YEm?l9*Xk zYz3y`i%atJQj>}@ld~CwK$6M%MX6Tl`8g>`Ir+)i48m|RB!ytZ!3uK{%M#<$a`MYF z^U@ha;A+9b#rdU0$*By2aMApv;>?uH#5@KmkPwP15EhDom1m?DmlRupsrcgD#GIUp zIajB>7HU!uXl*pz_D9-%UaaFfmAZy+@ll22{ml!UQoL?$@_Jgf-}MAXk8niw zs%xrQxo+Bj8=tqonC|jaFZ%4e6*EtNm0B)mWU(}Tsq0N2r@+nC>F=+LrXIFbUG2E2 z_nC@k-W=icwhu#E=hVnuc_V8Qajs&~@i~3kXRLpHw0X)~d93xk%BQt+`mT1aW1n~W z^Rwrd4cq?jxL0lTC_d_aOwH8#+W#hO{YFP+v~7287Cg9CHoaH!VT|w^*{{no(E8P~=k-c%_y2a-^()F^@|?A6p3nF&=g5n7 ptU=Zy4&HvYOOQvUqA;=^a(LvBXbUflhVImkjW1^{J%>8t<% literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_99.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_99.mts new file mode 100644 index 0000000000000000000000000000000000000000..0834d8923e7ec5617c12bd757dc0119fa6d4133f GIT binary patch literal 521 zcmeYb3HD`RVPI$AVc@Js0t{RX%!!#r45GQoIq`X^B^jwjRuHNvF*%z-8YEm?l9*Xk zYz3y`i%atJQj>}@ld~CwK$6M%MX6Tl`8g>`Ir+)i48m|RB!wby!JNdh#Q5U;(xT*4 z20^%Jeo}E}N@ijngA_;z#X5w^U>AaI0~?Z-lV6^hm(CytHYFpqxTM$$OvM-HCg$W+ z%(*)Crckp2k1OZJTl=p6+WD_4Qgx$_Qcte_V-L2SGKUrkOl1mfO3D51y+m?ip;GpF zS7)_X#?b}+Pi40E{L<(#+a&n1re#O!BAKrt2RZwuimkj;JMoz9m1G^urz?K0I-tiC zwp@~Dj@kT1;VTt~51KAXne=s1myXNiu1k`=#Zh|u-_7cNF06MVJxbwSn|?uGN_dce z=B77acU06zxy4_9K6l>Sc&qm@2g;6Ke}BI8>UqnhGSap?KWpuYwm&Ckd`QyhhSh6Z z^^YaKZ|9|y-ZHqJ`$~R`?DZ9ggO=L-clC(pKIi`1miz6497mb|x>Hz=t$MJt<7QpA oN*C8g_2((Ol$8o^Mi>=s|E%q`qgp()_Uim!=6e|3ZYyd70M^an`v3p{ literal 0 HcmV?d00001 From 455fac93506bc4b27ea074c2b4325512cb7a38ba Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 14 Jul 2022 06:09:55 +0200 Subject: [PATCH 02/19] Add schematics by RandomLegoBrick and PrarieWind --- mods/MAPGEN/mcl_structures/ruined_portal.lua | 5 ++++- .../mcl_structures_ruined_portal_3.mts | Bin 0 -> 684 bytes .../mcl_structures_ruined_portal_4.mts | Bin 0 -> 872 bytes .../mcl_structures_ruined_portal_5.mts | Bin 0 -> 1000 bytes 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_3.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_4.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_5.mts diff --git a/mods/MAPGEN/mcl_structures/ruined_portal.lua b/mods/MAPGEN/mcl_structures/ruined_portal.lua index cea89e0e9..002195f76 100644 --- a/mods/MAPGEN/mcl_structures/ruined_portal.lua +++ b/mods/MAPGEN/mcl_structures/ruined_portal.lua @@ -24,6 +24,9 @@ local def = { filenames = { modpath.."/schematics/mcl_structures_ruined_portal_1.mts", modpath.."/schematics/mcl_structures_ruined_portal_2.mts", + modpath.."/schematics/mcl_structures_ruined_portal_3.mts", + modpath.."/schematics/mcl_structures_ruined_portal_4.mts", + modpath.."/schematics/mcl_structures_ruined_portal_5.mts", modpath.."/schematics/mcl_structures_ruined_portal_99.mts", }, after_place = function(pos,def,pr) @@ -76,7 +79,7 @@ local def = { } mcl_structures.register_structure("ruined_portal_overworld",def) local ndef = table.copy(def) -ndef.y_min=mcl_vars.mg_nether_lava_min +ndef.y_min=mcl_vars.mg_lava_nether_max +10 ndef.y_max=mcl_vars.mg_nether_max - 15 ndef.place_on = {"mcl_nether:netherrack","group:soul_block","mcl_blackstone:basalt,mcl_blackstone:blackstone","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium"}, mcl_structures.register_structure("ruined_portal_nether",ndef) diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_3.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_3.mts new file mode 100644 index 0000000000000000000000000000000000000000..88c0acb28b77dd13e01cb54fce427260564ded6a GIT binary patch literal 684 zcmeYb3HD`RVc=olXW*(w1q^%)%!!#r3<9~yIq`X^B^jwjR=J7kxrq#-NFor4qQvBE z1`&{Oa(+>&RZe1AVtjFaX;E@2120@OC9|l6K>~#vU!GZ#5uaX^SX|5?3z8`=Nz5!N zwgOX7OXHJ@GLy3z6hYECiFqZdMR~{aI>dyu)V$=>VyL?ydLd#A z;vf^C9)VC$qXpq^%1 z5|dCJDh4(!Bel4s*a}R=7w0DChrJGBOY0Wby=P(MnwKQhclI`;+YF6kM>3g>TYvG_ zhh$hO{j_ltOq;RdTJoI#Uw;Vv(idI-QRC^Vs&naQYWVu}bgC0y>lA#Q_|1CVM0-W` zbNe^cWXitWRr9w}w$RZ1XWpCO747Sj*1Np>wAe0RxsC6+et@;X{E49^&!xXz{cOCo zYMGV4rv3XR>WY&tU#>C>H2u8s{{8g7@57nDw11pGHN0U>s7lVuD`rXSlP2A2PJ6I3 z@zF|?=%Q;)=M!$`Jo}inx9iU3D;GBHTx)up&s1Dxy2XgvdaXS7&12go;&V^sa%LV}9 C6Dw~3 literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_4.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_4.mts new file mode 100644 index 0000000000000000000000000000000000000000..404256ed9970e7e6e50694c2fb1d752141b62649 GIT binary patch literal 872 zcmeYb3HD`RVc=%qXAr1I1q=cV%!!#r3<9~yIq`X^B^jwjR=J7kxrq#-NFor4qQvBE z1`&{Oa(+>&RZe1AVtjFaX;E@2gDgn2xFj*NsMrcjLCuO!D#}dGW>Cf}9iLxXl3K(d zj$t8Gw;0&UjMUONH5;o}ZHfQ4h8S#7)Y{PtInL0jY-tPEKMHO4wA)c{}TMU$cTht6gd(3+vIpxd`OeJ<={T_}>HmRtkFImxm8NcGla3f?)~soH_4w%d zub<{lskJMc{psA5wB1WxlC|f=d#f+q{L}yR?weUg|GjMvgw9XX5$ao{-E!=a#?vlM z`|nE@*sU^De!q8emf>o#`wc%b7kQ++NDF2Ad~sdGf4KX-8_&h(id|**Z(a1PuT54D z=H5NeC|Grku8CHzAK%pDPfwjaDKGK2_2Pxi{6_=A^!Cm%Dk=)9nJ_sbJL|NJv*_~T zO{!b1&DHxauPY7W+O@CU?^B*#rg+O-o2Y0hiCWghTlki)wNSc{c{yXpe3#e@+wxSy z@=N|kEu3Xt{J-~OnAK-qDWff_rMolczxeHYu})OK@yibHRcCt+i}Xz>yJO(Kxoykj z8xB^_j}?BF$(s;W-DCCj?mzZRmg(=eeVxR=WOvlF#j6$WzG0pq{PalK&sWPVirwcX?UG8E`f0(IO*`hqv0qIJ zpZnnD?+>C*R)R*mxSm9Iu~mMNS7r0|&9GLy|KUT9YzvRZCHbNyXB5=CKV6nTX}@(T E0Nura1poj5 literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_5.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_5.mts new file mode 100644 index 0000000000000000000000000000000000000000..f14105154ea4c6c51f90710a93e82b8fb385128d GIT binary patch literal 1000 zcmeYb3HD`RVc=%qXArDM1q^}=%!!#r45GQoIq`X^B^jwjRuHNvF*%z-1SFiCUzBQ< zlUSA*Uz}fBl$^>SfTTD#F+DdCq8*_wEhoP`GcTRN7^JYcBr&t7*a}R=C*>q2XBU^` z=cUFcXJi(q=A@>?7v$$;7H6cU#OIfmq!uyglB9`2816){u}MXl$=M7_7-k?OlR-X9 zO<|D6qlQ5UZfbgdPD)ZvesVU0I7kd7jN&1-flY!+6s4v>nNUetkgl}UyyVnkXvjh& zAYu%HaEtPjiZfF(6Z06fK|+XtvO+L1!;C=;tUn{QxTM$$OvM-HCg$W+%y~PbvFMNj zPg|pp_44BC$NPS1cyMN}SR3l0Zm(WsnX&)3?}E^k)4liq6U$dfmcH@qs!i-F{@WY2 z6kodW{=zId;X8krA3b)IjkOL*xji{Z{O^g^E3B^fr5s&ub@Q4?O3eD$+-mlRW_+hC ze=a@u&G_ofz2{qdKNVkh*?%*G_vJ_F_Y=J5*sNTA_VmhiZ))R2pVlvYo^26)X|l8M zd6Q12m2WH6y~E7ktIS_%Kl}Z$xjU{HPyHeBocWgO$Iwr|m$0b+obzPvlW$7@BvmUG zc(&{^7H>Won)3XKl=}4-ac<9&tWF+JwVYYJ>5bjV@b6}=yOv(u(|>u+lJk?AKc$x+ zzjoU7@1{V%+vk54rI+6kFU-lC-g4CPXW#kBS3FdtcdcJb Date: Thu, 14 Jul 2022 15:39:37 +0200 Subject: [PATCH 03/19] Add soul lantern recipe --- mods/ITEMS/mcl_lanterns/register.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_lanterns/register.lua b/mods/ITEMS/mcl_lanterns/register.lua index efdd1ed98..deb012306 100644 --- a/mods/ITEMS/mcl_lanterns/register.lua +++ b/mods/ITEMS/mcl_lanterns/register.lua @@ -23,4 +23,13 @@ minetest.register_craft({ {"mcl_core:iron_nugget", "mcl_torches:torch" , "mcl_core:iron_nugget"}, {"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"}, }, -}) \ No newline at end of file +}) + +minetest.register_craft({ + output = "mcl_lanterns:soul_lantern_floor", + recipe = { + {"mcl_core:iron_nugget", "mcl_core:iron_nugget" , "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_blackstone:soul_torch", "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_core:iron_nugget" , "mcl_core:iron_nugget"}, + }, +}) From e271e87aca5f256671045530233c22f335ed119e Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 14 Jul 2022 17:32:43 +0200 Subject: [PATCH 04/19] fix indentation --- mods/ITEMS/mcl_lanterns/register.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ITEMS/mcl_lanterns/register.lua b/mods/ITEMS/mcl_lanterns/register.lua index deb012306..86305052b 100644 --- a/mods/ITEMS/mcl_lanterns/register.lua +++ b/mods/ITEMS/mcl_lanterns/register.lua @@ -28,8 +28,8 @@ minetest.register_craft({ minetest.register_craft({ output = "mcl_lanterns:soul_lantern_floor", recipe = { - {"mcl_core:iron_nugget", "mcl_core:iron_nugget" , "mcl_core:iron_nugget"}, - {"mcl_core:iron_nugget", "mcl_blackstone:soul_torch", "mcl_core:iron_nugget"}, - {"mcl_core:iron_nugget", "mcl_core:iron_nugget" , "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_core:iron_nugget" , "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_blackstone:soul_torch" , "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_core:iron_nugget" , "mcl_core:iron_nugget"}, }, }) From aab31802696b8dd547786219f90cdabe0eed9f5d Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 15 Jul 2022 04:40:12 +0200 Subject: [PATCH 05/19] clear empty nametag as well as nil --- mods/ENTITIES/mcl_mobs/api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 998b05547..da74f6918 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -91,7 +91,7 @@ minetest.register_chatcommand("clearmobs",{ if o.is_mob then if param == "all" or ( param == "nametagged" and o.nametag ) or - ( param == "" and not o.nametag and not o.tamed ) or + ( param == "" and ( not o.nametag or o.nametag == "" ) and not o.tamed ) or ( num and num > 0 and vector.distance(p:get_pos(),o.object:get_pos()) <= num ) then o.object:remove() end From e413bbaf367e08430f45b21114e1d5b3473c4d3c Mon Sep 17 00:00:00 2001 From: Nathan Fritzler Date: Fri, 15 Jul 2022 13:24:45 -0600 Subject: [PATCH 06/19] Fix create_luacheck I've tested this code. --- tools/create_luacheck.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/create_luacheck.py b/tools/create_luacheck.py index 8b55c1376..d3ee5d038 100755 --- a/tools/create_luacheck.py +++ b/tools/create_luacheck.py @@ -19,7 +19,7 @@ pathlist = Path(path).rglob('*.lua') for path in pathlist: path_in_str = str(path) # print(path_in_str) - trouve = False + found = False with open(path_in_str) as f: local_vars = [] for i, line in enumerate(f.readlines()): @@ -38,7 +38,7 @@ for path in pathlist: local_vars.append(n.group('local_var')) if not found: - nb_varloc = len(variables_locales) + nb_varloc = len(local_vars) #print(path_in_str, ": -", "({} variables locales)".format(nb_varloc) if nb_varloc > 0 else '') print(', '.join(['"{}"'.format(v) for v in global_vars])) From ee9cc5341b3fffc325715c464fb5ba1ecb1d54c9 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 15 Jul 2022 19:10:19 +0200 Subject: [PATCH 07/19] Fix villager crash when opening iron doors --- mods/ENTITIES/mcl_mobs/api.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index da74f6918..5485e7cc1 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -2312,9 +2312,9 @@ local function check_doors(self) local def = minetest.registered_nodes[n.name] local closed = n.name:find("_b_1") if t < 0.3 or t > 0.8 then - if not closed then def.on_rightclick(d,n,self) end + if not closed and def.on_rightclick then def.on_rightclick(d,n,self) end else - if closed then def.on_rightclick(d,n,self) end + if closed and def.on_rightclick then def.on_rightclick(d,n,self) end end end From 27482ede7f12619f42368761844c80a04061f233 Mon Sep 17 00:00:00 2001 From: Ale Date: Thu, 14 Jul 2022 18:59:52 +0200 Subject: [PATCH 08/19] update locale es --- mods/ENTITIES/mobs_mc/locale/mobs_mc.es.tr | 52 ++++++++++------------ 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/locale/mobs_mc.es.tr b/mods/ENTITIES/mobs_mc/locale/mobs_mc.es.tr index 7f89bb664..09e0335b8 100644 --- a/mods/ENTITIES/mobs_mc/locale/mobs_mc.es.tr +++ b/mods/ENTITIES/mobs_mc/locale/mobs_mc.es.tr @@ -1,64 +1,58 @@ # textdomain: mobs_mc -Agent=Agente Bat=Murciélago Blaze=Blaze Chicken=Pollo +Cod=Bacalao Cow=Vaca -Mooshroom=Champiñaca +Mooshroom=Champivaca Creeper=Creeper -Ender Dragon=Enderdragón +Dolphin=Delfín +Ender Dragon=Ender Dragon Enderman=Enderman Endermite=Endermite Ghast=Ghast -Elder Guardian=Gran guardián Guardian=Guardián -Horse=Caballo -Skeleton Horse=Caballo esquelético -Zombie Horse=Caballo zombie +Elder Guardian=Guardián Anciano Donkey=Burro +Horse=Caballo Mule=Mula +Skeleton Horse=Caballo esqueleto +Zombie Horse=Caballo zombi Iron Golem=Golem de hierro Llama=Llama +Cat=Gato Ocelot=Ocelote Parrot=Loro Pig=Cerdo Polar Bear=Oso polar -Rabbit=Conejo Killer Bunny=Conejo asesino +Rabbit=Conejo +Salmon=Salmón Sheep=Oveja Shulker=Shulker Silverfish=Lepisma Skeleton=Esqueleto -Stray=Esqueleto -Wither Skeleton=Esqueleto wither +Stray=Esqueleto glacial +Wither Skeleton=Esqueleto del Wither Magma Cube=Cubo de Magma Slime=Slime Snow Golem=Golem de nieve -Spider=Araña Cave Spider=Araña de las cuevas +Spider=Araña Squid=Calamar Vex=Ánima +Master=Maestro +Villager=Aldeano Evoker=Invocador Illusioner=Illusionista -Villager=Aldeano Vindicator=Vindicador -Zombie Villager=Aldeano zombie +Zombie Villager=Aldeano zombi Witch=Bruja Wither=Wither Wolf=Lobo -Husk=Husk -Zombie=Zombie -Zombie Pigman=Cerdo Zombie -Farmer=Granjero -Fisherman=Pescador -Fletcher=Flechador -Shepherd=Sacerdote -Librarian=Bibliotecario -Cartographer=Cartógrafo -Armorer=Armero -Leatherworker=Peletero -Butcher=Carnicero -Weapon Smith=Herrero de Armas -Tool Smith=Herrero de Herramientas -Cleric=Sacerdote -Nitwit=Simple +Baby Husk=Bebé Zombi Momificado +Baby Zombie=Bebé Zombi +Husk=Zombi Momificado +Zombie=Zombi +Baby Zombie Pigman=Bebé Hombrecerdo Zombi +Zombie Pigman=Hombrecerdo Zombi From 8ff559d4ada6cbc2fb7342ac614d0fa6960ebe7d Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 16 Jul 2022 02:07:17 +0200 Subject: [PATCH 09/19] Add ancient debris as normal ore --- mods/MAPGEN/mcl_mapgen_core/init.lua | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 5a6082533..a59dfc935 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -404,6 +404,46 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then y_max = mcl_worlds.layer_to_y(15), }) + -- + -- Ancient debris + -- + local ancient_debris_wherein = {"mcl_nether:netherrack","mcl_blackstone:blackstone","mcl_blackstone:basalt"} + -- Common spawn + minetest.register_ore({ + ore_type = "scatter", + ore = "mcl_nether:ancient_debris", + wherein = ancient_debris_wherein, + clust_scarcity = 25000, -- 0.004% chance + clust_num_ores = 3, + clust_size = 3, + y_min = mcl_vars.mg_nether_min + 8, + y_max = mcl_vars.mg_nether_min + 22, + }) + + -- Rare spawn (below) + minetest.register_ore({ + ore_type = "scatter", + ore = "mcl_nether:ancient_debris", + wherein = ancient_debris_wherein, + clust_scarcity = 32000, + clust_num_ores = 2, + clust_size = 3, + y_min = mcl_vars.mg_nether_min, + y_max = mcl_vars.mg_nether_min + 8, + }) + + -- Rare spawn (above) + minetest.register_ore({ + ore_type = "scatter", + ore = "mcl_nether:ancient_debris", + wherein = ancient_debris_wherein, + clust_scarcity = 32000, + clust_num_ores = 2, + clust_size = 3, + y_min = mcl_vars.mg_nether_min + 22, + y_max = mcl_vars.mg_nether_min + 119, + }) + -- -- Redstone -- From 454d7e8b041fc3aa42345b8fafcb6128f50aadfc Mon Sep 17 00:00:00 2001 From: GNU Hacker Date: Wed, 29 Jun 2022 20:44:21 +0200 Subject: [PATCH 10/19] arrow check if pvp is enable --- mods/ITEMS/mcl_bows/arrow.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index 8edf75011..a2ba96f36 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -1,6 +1,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) local mod_target = minetest.get_modpath("mcl_target") +local enable_pvp = minetest.settings:get_bool("enable_pvp") local math = math local vector = vector @@ -204,7 +205,7 @@ function ARROW_ENTITY.on_step(self, dtime) if hitpoint.type == "object" then -- find the closest object that is in the way of the arrow local ok = false - if hitpoint.ref:is_player() then + if hitpoint.ref:is_player() and enable_pvp then ok = true elseif hitpoint.ref:get_luaentity() then if (hitpoint.ref:get_luaentity().is_mob or hitpoint.ref:get_luaentity()._hittable_by_projectile) then From b7f8a75d0417413c8a96d18063f153d633f47fac Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 15 Jul 2022 17:07:51 +0200 Subject: [PATCH 11/19] Add PVP check for rocket arrows --- mods/ITEMS/mcl_bows/rocket.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_bows/rocket.lua b/mods/ITEMS/mcl_bows/rocket.lua index c47989e3e..3d311eeb2 100644 --- a/mods/ITEMS/mcl_bows/rocket.lua +++ b/mods/ITEMS/mcl_bows/rocket.lua @@ -231,6 +231,7 @@ end local mod_awards = minetest.get_modpath("awards") and minetest.get_modpath("mcl_achievements") local mod_button = minetest.get_modpath("mesecons_button") local mod_target = minetest.get_modpath("mcl_target") +local enable_pvp = minetest.settings:get_bool("enable_pvp") minetest.register_craftitem("mcl_bows:rocket", { description = S("Arrow"), @@ -417,7 +418,7 @@ function ARROW_ENTITY.on_step(self, dtime) if hitpoint.type == "object" then -- find the closest object that is in the way of the arrow local ok = false - if hitpoint.ref:is_player() then + if hitpoint.ref:is_player() and enable_pvp then ok = true elseif hitpoint.ref:get_luaentity() then if (hitpoint.ref:get_luaentity().is_mob or hitpoint.ref:get_luaentity()._hittable_by_projectile) then From 77d834ac5ed442a66472789315ee63956a2e8827 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 15 Jul 2022 17:09:04 +0200 Subject: [PATCH 12/19] Add PVP check to tipped arrows --- mods/ITEMS/mcl_potions/tipped_arrow.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_potions/tipped_arrow.lua b/mods/ITEMS/mcl_potions/tipped_arrow.lua index a3dbe84c2..3c18fe725 100644 --- a/mods/ITEMS/mcl_potions/tipped_arrow.lua +++ b/mods/ITEMS/mcl_potions/tipped_arrow.lua @@ -30,6 +30,7 @@ local how_to_shoot = minetest.registered_items["mcl_bows:arrow"]._doc_items_usag local mod_awards = minetest.get_modpath("awards") and minetest.get_modpath("mcl_achievements") local mod_button = minetest.get_modpath("mesecons_button") +local enable_pvp = minetest.settings:get_bool("enable_pvp") local arrow_longdesc = minetest.registered_items["mcl_bows:arrow"]._doc_items_longdesc or "" local arrow_tt = minetest.registered_items["mcl_bows:arrow"]._tt_help or "" @@ -217,7 +218,7 @@ function mcl_potions.register_arrow(name, desc, color, def) if hitpoint.type == "object" then -- find the closest object that is in the way of the arrow local ok = false - if hitpoint.ref:is_player() then + if hitpoint.ref:is_player() and enable_pvp then ok = true elseif hitpoint.ref:get_luaentity() then if (hitpoint.ref:get_luaentity().is_mob or hitpoint.ref:get_luaentity()._hittable_by_projectile) then From bf23c61e34b36fcd0a9c788d5088c882f6b66edc Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 16 Jul 2022 00:43:18 +0200 Subject: [PATCH 13/19] skip damage completely when player & pvp disabled --- mods/ITEMS/mcl_bows/arrow.lua | 2 +- mods/ITEMS/mcl_bows/rocket.lua | 2 +- mods/ITEMS/mcl_potions/tipped_arrow.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index a2ba96f36..a03b875cb 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -207,7 +207,7 @@ function ARROW_ENTITY.on_step(self, dtime) local ok = false if hitpoint.ref:is_player() and enable_pvp then ok = true - elseif hitpoint.ref:get_luaentity() then + elseif not hitpoint.ref:is_player() and hitpoint.ref:get_luaentity() then if (hitpoint.ref:get_luaentity().is_mob or hitpoint.ref:get_luaentity()._hittable_by_projectile) then ok = true end diff --git a/mods/ITEMS/mcl_bows/rocket.lua b/mods/ITEMS/mcl_bows/rocket.lua index 3d311eeb2..d25c52647 100644 --- a/mods/ITEMS/mcl_bows/rocket.lua +++ b/mods/ITEMS/mcl_bows/rocket.lua @@ -420,7 +420,7 @@ function ARROW_ENTITY.on_step(self, dtime) local ok = false if hitpoint.ref:is_player() and enable_pvp then ok = true - elseif hitpoint.ref:get_luaentity() then + elseif not hitpoint.ref:is_player() and hitpoint.ref:get_luaentity() then if (hitpoint.ref:get_luaentity().is_mob or hitpoint.ref:get_luaentity()._hittable_by_projectile) then ok = true end diff --git a/mods/ITEMS/mcl_potions/tipped_arrow.lua b/mods/ITEMS/mcl_potions/tipped_arrow.lua index 3c18fe725..f42718a12 100644 --- a/mods/ITEMS/mcl_potions/tipped_arrow.lua +++ b/mods/ITEMS/mcl_potions/tipped_arrow.lua @@ -220,7 +220,7 @@ function mcl_potions.register_arrow(name, desc, color, def) local ok = false if hitpoint.ref:is_player() and enable_pvp then ok = true - elseif hitpoint.ref:get_luaentity() then + elseif not hitpoint.ref:is_player() and hitpoint.ref:get_luaentity() then if (hitpoint.ref:get_luaentity().is_mob or hitpoint.ref:get_luaentity()._hittable_by_projectile) then ok = true end From 0b157c953f95589955f6d181d4839d1cd7df14ca Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 16 Jul 2022 00:44:04 +0200 Subject: [PATCH 14/19] fix wrong argument to sound_play --- mods/ITEMS/mcl_potions/tipped_arrow.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_potions/tipped_arrow.lua b/mods/ITEMS/mcl_potions/tipped_arrow.lua index f42718a12..53a37705e 100644 --- a/mods/ITEMS/mcl_potions/tipped_arrow.lua +++ b/mods/ITEMS/mcl_potions/tipped_arrow.lua @@ -284,7 +284,7 @@ function mcl_potions.register_arrow(name, desc, color, def) if is_player then if self._shooter and self._shooter:is_player() then -- “Ding” sound for hitting another player - minetest.sound_play({name="mcl_bows_hit_player", gain=0.1}, {to_player=self._shooter}, true) + minetest.sound_play({name="mcl_bows_hit_player", gain=0.1}, {to_player=self._shooter:get_player_name()}, true) end end From ecea1224fc0cd8acb43c59f1272633f0840db510 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 21 Jun 2022 12:36:15 +0200 Subject: [PATCH 15/19] Set version to 0.77 in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 908769438..5af7b2568 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.75 (in development) +Version: 0.77 ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore From 0b3f9d66a4bd88295ecadd895ce65bbef82b080d Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 15 Jul 2022 20:40:46 +0200 Subject: [PATCH 16/19] Update some wordings in readme, remove 1.12 target --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5af7b2568..d05139bc7 100644 --- a/README.md +++ b/README.md @@ -91,11 +91,11 @@ The MineClone2 repository is hosted at Mesehub. To contribute or report issues, ## Target - Crucially, create a stable, moddable, free/libre clone of Minecraft based on the Minetest engine with polished features, usable in both -singleplayer and multiplayer. Currently, most of **Minecraft Java -Edition 1.12.2** features are already implemented and polishing existing +singleplayer and multiplayer. Currently, a lot of **Minecraft Java +Edition** features are already implemented and polishing existing features are prioritized over new feature requests. - With lessened priority yet strictly, implement features targetting -**Minecraft version 1.17 + OptiFine** (OptiFine only as far as supported +**Current Minecraft versions + OptiFine** (OptiFine only as far as supported by the Minetest Engine). This means features in parity with the listed Minecraft experiences are prioritized over those that don't fulfill this scope. @@ -108,8 +108,7 @@ playerbase on low spec computers, optimizations are hard to investigate. This game is currently in **beta** stage. It is playable, but not yet feature-complete. Backwards-compability is not entirely guaranteed, updating your world might cause small bugs. -If you want to use the git version of MineClone2 in production, consider using the production branch. -It is updated weekly and contains relatively stable code for servers. +If you want to use the development version of MineClone2 in production, the master branch is usually relatively stable. The testing branch often features some experimental PRs and should be considered less stable. The following main features are available: @@ -124,7 +123,7 @@ The following main features are available: * Most blocks in the overworld * Water and lava * Weather -* 28 biomes +* 28 biomes + 5 Nether Biomes * The Nether, a fiery underworld in another dimension * Redstone circuits (partially) * Minecarts (partial) @@ -162,7 +161,7 @@ The following features are incomplete: * Special minecarts * A couple of non-trivial blocks and items -Bonus features (not found in Minecraft 1.12): +Bonus features (not found in Minecraft): * Built-in crafting guide which shows you crafting and smelting recipes * In-game help system containing extensive help about gameplay basics, blocks, items and more @@ -175,6 +174,9 @@ Bonus features (not found in Minecraft 1.12): * Nether Brick Fence Gate * Red Nether Brick Fence * Red Nether Brick Fence Gate +* Structure replacements - these small variants of Minecraft structures serve as replacements until we can get large structures working: + * Woodland Cabin (Mansions) + * Nether Outpost (Fortress) Technical differences from Minecraft: From 0e60f0ca5c02f98e16f4451767de3081d4dd0e12 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 15 Jul 2022 20:52:38 +0200 Subject: [PATCH 17/19] Update CREDITS.md --- CREDITS.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CREDITS.md b/CREDITS.md index c1174e797..644d37612 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -27,6 +27,8 @@ * Code-Sploit * NO11 * kabou +* PrarieWind +* RandomLegoBrick ## Contributors * Laurent Rocher @@ -71,6 +73,10 @@ * Sven792 * aldum * Dieter44 +* Pepebotella +* MrRar +* Lazerbeak12345 +* mrminer ## MineClone5 * kay27 @@ -134,6 +140,8 @@ * yutyo * NO11 * kay27 +* RandomLegoBrick +* cora ## Translations * Wuzzy @@ -143,6 +151,8 @@ * pitchum * todoporlalibertad * Marcin Serwin +* Pepebotella +* Emojigit ## Funders * 40W @@ -150,5 +160,6 @@ ## Special thanks * celeron55 for creating Minetest * Jordach for the jukebox music compilation from Big Freaking Dig +* wsor for working tirelessly in the shadows for the good of all of us, particularly helping with solving contentDB and copyright issues. * The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game * Notch and Jeb for being the major forces behind Minecraft From 433242b247b76254b716f304b0bcf92b3c74b717 Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 16 Jul 2022 16:41:58 +0200 Subject: [PATCH 18/19] Some more additions to CREDITS.md --- CREDITS.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CREDITS.md b/CREDITS.md index 644d37612..c2c59b504 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -27,6 +27,8 @@ * Code-Sploit * NO11 * kabou +* rudzik8 +* chmodsayshello * PrarieWind * RandomLegoBrick @@ -84,10 +86,12 @@ * epCode * NO11 * j45 +* chmodsayshello * 3raven * PrarieWind * Gustavo1 * CableGuy67 +* MrRar ## Mineclonia * erlehmann @@ -140,6 +144,7 @@ * yutyo * NO11 * kay27 +* MysticTempest * RandomLegoBrick * cora From 91d36a20d737db7f120c9f54ca92ad01b296be7a Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 16 Jul 2022 17:47:54 +0200 Subject: [PATCH 19/19] Set version to 0.78 (indev) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d05139bc7..01719a7a7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.77 +Version: 0.78 (in development) ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore