From bc23cd800e70fce588742f42cb0da9b39fa906a3 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 11:42:28 +0000 Subject: [PATCH 01/43] Add code for netherite armor --- mods/ITEMS/mcl_armor/init.lua | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/mods/ITEMS/mcl_armor/init.lua b/mods/ITEMS/mcl_armor/init.lua index bce597b7f1..1e348b44f1 100644 --- a/mods/ITEMS/mcl_armor/init.lua +++ b/mods/ITEMS/mcl_armor/init.lua @@ -83,6 +83,21 @@ minetest.register_tool("mcl_armor:helmet_diamond",{ on_secondary_use = armor.on_armor_use, }) +minetest.register_tool("mcl_armor:helmet_netherite",{ + description = S("Netherite Helmet"), + _doc_items_longdesc = longdesc, + _doc_items_usagehelp = usage, + inventory_image = "mcl_armor_inv_helmet_netherite.png", + groups = {armor_head=1, mcl_armor_points=3, mcl_armor_uses=364, mcl_armor_toughness=2, enchantability=10 }, + _repair_material = "mcl_netherite:netherite_ingot", + sounds = { + _mcl_armor_equip = "mcl_armor_equip_diamond", + _mcl_armor_unequip = "mcl_armor_unequip_diamond", + }, + on_place = armor.on_armor_use, + on_secondary_use = armor.on_armor_use, +}) + minetest.register_tool("mcl_armor:helmet_chain", { description = S("Chain Helmet"), _doc_items_longdesc = longdesc, @@ -160,6 +175,21 @@ minetest.register_tool("mcl_armor:chestplate_diamond",{ on_secondary_use = armor.on_armor_use, }) +minetest.register_tool("mcl_armor:chestplate_netherite",{ + description = S("Netherite Chestplate"), + _doc_items_longdesc = longdesc, + _doc_items_usagehelp = usage, + inventory_image = "mcl_armor_inv_chestplate_netherite.png", + groups = {armor_torso=1, mcl_armor_points=8, mcl_armor_uses=592, mcl_armor_toughness=2, enchantability=10 }, + _repair_material = "mcl_netherite:netherite_ingot", + sounds = { + _mcl_armor_equip = "mcl_armor_equip_diamond", + _mcl_armor_unequip = "mcl_armor_unequip_diamond", + }, + on_place = armor.on_armor_use, + on_secondary_use = armor.on_armor_use, +}) + minetest.register_tool("mcl_armor:chestplate_chain", { description = S("Chain Chestplate"), _doc_items_longdesc = longdesc, @@ -237,6 +267,21 @@ minetest.register_tool("mcl_armor:leggings_diamond",{ on_secondary_use = armor.on_armor_use, }) +minetest.register_tool("mcl_armor:leggings_netherite",{ + description = S("Netherite Leggings"), + _doc_items_longdesc = longdesc, + _doc_items_usagehelp = usage, + inventory_image = "mcl_armor_inv_leggings_netherite.png", + groups = {armor_legs=1, mcl_armor_points=6, mcl_armor_uses=496, mcl_armor_toughness=2, enchantability=10 }, + _repair_material = "mcl_netherite:netherite_ingot", + sounds = { + _mcl_armor_equip = "mcl_armor_equip_diamond", + _mcl_armor_unequip = "mcl_armor_unequip_diamond", + }, + on_place = armor.on_armor_use, + on_secondary_use = armor.on_armor_use, +}) + minetest.register_tool("mcl_armor:leggings_chain", { description = S("Chain Leggings"), _doc_items_longdesc = longdesc, @@ -328,6 +373,21 @@ minetest.register_tool("mcl_armor:boots_chain", { on_secondary_use = armor.on_armor_use, }) +minetest.register_tool("mcl_armor:boots_netherite", { + description = S("Netherite Boots"), + _doc_items_longdesc = longdesc, + _doc_items_usagehelp = usage, + inventory_image = "mcl_armor_inv_boots_netherite.png", + groups = {armor_feet=1, mcl_armor_points=1, mcl_armor_uses=481, enchantability=1 }, + _repair_material = "mcl_netherite:netherite_ingot", + sounds = { + _mcl_armor_equip = "mcl_armor_equip_chainmail", + _mcl_armor_unequip = "mcl_armor_unequip_chainmail", + }, + on_place = armor.on_armor_use, + on_secondary_use = armor.on_armor_use, +}) + -- Register Craft Recipies local craft_ingreds = { From 7a6929f4cb5a481ffe66d21e0c4655827aa97a71 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 11:44:50 +0000 Subject: [PATCH 02/43] Add first part of netherite armor textures --- .../textures/mcl_armor_inv_boots_netherite.png | Bin 0 -> 173 bytes .../mcl_armor_inv_chestplate_netherite.png | Bin 0 -> 244 bytes .../textures/mcl_armor_inv_helmet_netherite.png | Bin 0 -> 162 bytes .../textures/mcl_armor_inv_leggings_netherite.png | Bin 0 -> 176 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_netherite.png create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_netherite.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..ec4183ed782bce5bc7b48d36bdee8bcd2a1bd070 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr_~T6C~me1UNt5-?isZ zeat5X%L!6!HC(4Qo!TJ9G+9_&Njak$pAhT)idcykhikKjHBr?6&ogLW|nhJRjl Vx-DE&yMgvIc)I$ztaD0e0sti_Ip_cY literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f0ad5a953c213c783ba635e50ddbab19f87b8f GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`yFFbTLo9mFPPFA~HsER9$t29Z zg2%(Br(>>eH ze8bDNPP#DJ3i8Dq%5C=U%$&LZ?7_0uYYkf8B)8QnWjTm$&367i-O6INzopr0Q`Di!~g&Q literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..17bf7f8011479ddbab6596e149bc749fab84a32f GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nVv3=Ar_~T6C~z2xW+xSH}lz& zR&M?K|Gs(qG;V~1f8W1j!GromrqffW{_W@OZk1*bQqSNx!B8?gaaQ6C4d#Tpww(;e z)K4-@aGJsGkTZ$L!HlJ?lgs0YgNu2?3WpZSCSSob3T=T6j0|j1RR(+w4|0K)GI+ZB KxvX*?re z{FuMs*^Lc1{-;K!Ch#ORZ&<%vUt;#FSC7nD(ik?WrM$^Y_n*UfLds!=4s$}6qr{Vv zMZ66++tvsiQ9H>{(z@eFW-^1$gA02bd}Wq1zWB&%+>l_^&}w1EyrDDMltEHhNM444 ZVam(J%#k^|@jxdqc)I$ztaD0e0ssolJ$V2C literal 0 HcmV?d00001 From e1236d75471b63468f5b66b51ac9a347f11339b7 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 11:46:34 +0000 Subject: [PATCH 03/43] Add second part of netherite armor textures --- .../mcl_armor/mcl_armor_chestplate_netherite.png | Bin 0 -> 494 bytes .../mcl_armor/mcl_armor_helmet_netherite.png | Bin 0 -> 472 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_armor/mcl_armor_chestplate_netherite.png create mode 100644 mods/ITEMS/mcl_armor/mcl_armor_helmet_netherite.png diff --git a/mods/ITEMS/mcl_armor/mcl_armor_chestplate_netherite.png b/mods/ITEMS/mcl_armor/mcl_armor_chestplate_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..c2eb42facea0a0c9901dec4b7d65067e9b4930ae GIT binary patch literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(nJuC&U#<$A-n)8(5cR zm3dm)2fFyF$SWABtN;K1U+UguTc9*!NswPKgTu2MX&_FLx4R2R+r6n(Kn{C}r>`sf zQx-mMMN`k}^Ugq_!=5gVAr`0KPTa`VY#`z)FZ*iFv65>EXLWuuHNR)Rq*jt^Y!l9T z<^6i4EgD_+4`k1k>@eTMAY-{ndfI!AUH1eF{3B*M2s3!)G>NKi*HPcKVP--srvO`) ztlZWef_L98I+&{N^0@Np+H(0t>gQSxE!eQmV5_L6)mOD$$7TwIuKSv*w4Oyd>2zmP zcv_No?SHH7TQVe0FLu(7nN%w4z|?K-5qGlj#gkW=i?WvFsO81v$H>3fdsASNmF)D3 zrP1;NSLg4qVZ558{XHl6@N1xVR7+eVN>UO_QmvAUQh^kMk%5t+u7QcJp-G6Lp_Q?* rm8r3|fq|8Q!7Khs859k<`6-!cmAEy`4m!91sDZ)L)z4*}Q$iB}x09tT literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_armor/mcl_armor_helmet_netherite.png b/mods/ITEMS/mcl_armor/mcl_armor_helmet_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b054735233d34317eca43a98d65323a27db20a GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(m)iC&U#<8>y??8(5cR zl?A%^d0N`XhQ+GLD{ygf{r~@e{U%R2pbEy4AirP+hi5m^K%69RcNfl&Hw05c96aLcP!Xs}U!=SX$$9Tb`y9yo!r}d%qVOKW>{^`F_iqDPO;@=5HvhecAP>cyUpxsGg_vle2yjXIRZOoE4_T`1uQG?tE~n zP5P@`h1GiDk9CHci|dV6?`OA3wqp}wZg`m=v&NM>z&0^Q=MC$`iE=N4TsBVtx>~iw zHKHUXu_V9nO2Eg V!|b4g3xFCJJYD@<);T3K0RRJhoUi}@ literal 0 HcmV?d00001 From a3ef3737d598e7ede20ae189c47897e7de796bb8 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 11:52:23 +0000 Subject: [PATCH 04/43] Remove invalid placed texture images --- .../mcl_armor/mcl_armor_chestplate_netherite.png | Bin 494 -> 0 bytes .../mcl_armor/mcl_armor_helmet_netherite.png | Bin 472 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 mods/ITEMS/mcl_armor/mcl_armor_chestplate_netherite.png delete mode 100644 mods/ITEMS/mcl_armor/mcl_armor_helmet_netherite.png diff --git a/mods/ITEMS/mcl_armor/mcl_armor_chestplate_netherite.png b/mods/ITEMS/mcl_armor/mcl_armor_chestplate_netherite.png deleted file mode 100644 index c2eb42facea0a0c9901dec4b7d65067e9b4930ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(nJuC&U#<$A-n)8(5cR zm3dm)2fFyF$SWABtN;K1U+UguTc9*!NswPKgTu2MX&_FLx4R2R+r6n(Kn{C}r>`sf zQx-mMMN`k}^Ugq_!=5gVAr`0KPTa`VY#`z)FZ*iFv65>EXLWuuHNR)Rq*jt^Y!l9T z<^6i4EgD_+4`k1k>@eTMAY-{ndfI!AUH1eF{3B*M2s3!)G>NKi*HPcKVP--srvO`) ztlZWef_L98I+&{N^0@Np+H(0t>gQSxE!eQmV5_L6)mOD$$7TwIuKSv*w4Oyd>2zmP zcv_No?SHH7TQVe0FLu(7nN%w4z|?K-5qGlj#gkW=i?WvFsO81v$H>3fdsASNmF)D3 zrP1;NSLg4qVZ558{XHl6@N1xVR7+eVN>UO_QmvAUQh^kMk%5t+u7QcJp-G6Lp_Q?* rm8r3|fq|8Q!7Khs859k<`6-!cmAEy`4m!91sDZ)L)z4*}Q$iB}x09tT diff --git a/mods/ITEMS/mcl_armor/mcl_armor_helmet_netherite.png b/mods/ITEMS/mcl_armor/mcl_armor_helmet_netherite.png deleted file mode 100644 index f3b054735233d34317eca43a98d65323a27db20a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(m)iC&U#<8>y??8(5cR zl?A%^d0N`XhQ+GLD{ygf{r~@e{U%R2pbEy4AirP+hi5m^K%69RcNfl&Hw05c96aLcP!Xs}U!=SX$$9Tb`y9yo!r}d%qVOKW>{^`F_iqDPO;@=5HvhecAP>cyUpxsGg_vle2yjXIRZOoE4_T`1uQG?tE~n zP5P@`h1GiDk9CHci|dV6?`OA3wqp}wZg`m=v&NM>z&0^Q=MC$`iE=N4TsBVtx>~iw zHKHUXu_V9nO2Eg V!|b4g3xFCJJYD@<);T3K0RRJhoUi}@ From 35d2ef52c195edc47682a70d2dfcf3197d4b5f1c Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 11:54:42 +0000 Subject: [PATCH 05/43] Add correct textures for netherite armor --- .../textures/mcl_armor_boots_netherite.png | Bin 0 -> 385 bytes .../textures/mcl_armor_chestplate_netherite.png | Bin 0 -> 494 bytes .../textures/mcl_armor_helmet_netherite.png | Bin 0 -> 472 bytes .../textures/mcl_armor_leggings_netherite.png | Bin 0 -> 458 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png create mode 100644 mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..245512c28c194446c675d68b8c8da7e7471e1353 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(m)iC&U#(|3JMyj ztJ@n`ds^BDy7g<1k;Ci-G#BFEM`1O(g&2oNaGVPIJN zpDTCWMW1G%@v0@R5hW>!C8<`)MX5lF!N|bKP}jgj*U%)y(9p`**viyc+rYrez~B{s gr3{LO-29Zxv`X9>W(OTy0Mx+X>FVdQ&MBb@09T1@_W%F@ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..c2eb42facea0a0c9901dec4b7d65067e9b4930ae GIT binary patch literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(nJuC&U#<$A-n)8(5cR zm3dm)2fFyF$SWABtN;K1U+UguTc9*!NswPKgTu2MX&_FLx4R2R+r6n(Kn{C}r>`sf zQx-mMMN`k}^Ugq_!=5gVAr`0KPTa`VY#`z)FZ*iFv65>EXLWuuHNR)Rq*jt^Y!l9T z<^6i4EgD_+4`k1k>@eTMAY-{ndfI!AUH1eF{3B*M2s3!)G>NKi*HPcKVP--srvO`) ztlZWef_L98I+&{N^0@Np+H(0t>gQSxE!eQmV5_L6)mOD$$7TwIuKSv*w4Oyd>2zmP zcv_No?SHH7TQVe0FLu(7nN%w4z|?K-5qGlj#gkW=i?WvFsO81v$H>3fdsASNmF)D3 zrP1;NSLg4qVZ558{XHl6@N1xVR7+eVN>UO_QmvAUQh^kMk%5t+u7QcJp-G6Lp_Q?* rm8r3|fq|8Q!7Khs859k<`6-!cmAEy`4m!91sDZ)L)z4*}Q$iB}x09tT literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b054735233d34317eca43a98d65323a27db20a GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(m)iC&U#<8>y??8(5cR zl?A%^d0N`XhQ+GLD{ygf{r~@e{U%R2pbEy4AirP+hi5m^K%69RcNfl&Hw05c96aLcP!Xs}U!=SX$$9Tb`y9yo!r}d%qVOKW>{^`F_iqDPO;@=5HvhecAP>cyUpxsGg_vle2yjXIRZOoE4_T`1uQG?tE~n zP5P@`h1GiDk9CHci|dV6?`OA3wqp}wZg`m=v&NM>z&0^Q=MC$`iE=N4TsBVtx>~iw zHKHUXu_V9nO2Eg V!|b4g3xFCJJYD@<);T3K0RRJhoUi}@ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png new file mode 100644 index 0000000000000000000000000000000000000000..3ddff72e3e8632345fbae461132e1f04ed3484f3 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQY`6?zK#qG8~eHcB(j1elRbib z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(m@lC&U#?NMQuIx`)__!5KJ*&?<1BGUKx;TbdoK8-VU|r0>%E86Ag~>Jfc!FzksNfu~BQ1AY zkF>CO7ieX8`e^2O=9C{^sc<;i%eBpYmwFy+uJK)?TR~}$%A9YXG23Xyd523xSW#d( zld~d+PI`g{`{N>kR+gSAiW`>hxx?I|YHg*KWV$j?XY=CZs6{T1di)I6a9v`#oL0ib zY3g`TWewMqo~b>J9w$9KJtZS$7zBLOU;mwS))?qW)e_f;l9a@fRIB8oR3OD*WME{d zYha>lXcA&*Xk~0{WooQ#U|?ln@QS}u21P?|eoAIqC2kF~gAOhLYGCkm^>bP0l+XkK DK~slK literal 0 HcmV?d00001 From 7e7a635ed0ae535baadff70f068c6bab906b4c32 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 11:57:46 +0000 Subject: [PATCH 06/43] Add correct durability for netherite armor --- mods/ITEMS/mcl_armor/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_armor/init.lua b/mods/ITEMS/mcl_armor/init.lua index 1e348b44f1..e8c9e7f945 100644 --- a/mods/ITEMS/mcl_armor/init.lua +++ b/mods/ITEMS/mcl_armor/init.lua @@ -88,7 +88,7 @@ minetest.register_tool("mcl_armor:helmet_netherite",{ _doc_items_longdesc = longdesc, _doc_items_usagehelp = usage, inventory_image = "mcl_armor_inv_helmet_netherite.png", - groups = {armor_head=1, mcl_armor_points=3, mcl_armor_uses=364, mcl_armor_toughness=2, enchantability=10 }, + groups = {armor_head=1, mcl_armor_points=3, mcl_armor_uses=407, mcl_armor_toughness=2, enchantability=10 }, _repair_material = "mcl_netherite:netherite_ingot", sounds = { _mcl_armor_equip = "mcl_armor_equip_diamond", @@ -272,7 +272,7 @@ minetest.register_tool("mcl_armor:leggings_netherite",{ _doc_items_longdesc = longdesc, _doc_items_usagehelp = usage, inventory_image = "mcl_armor_inv_leggings_netherite.png", - groups = {armor_legs=1, mcl_armor_points=6, mcl_armor_uses=496, mcl_armor_toughness=2, enchantability=10 }, + groups = {armor_legs=1, mcl_armor_points=6, mcl_armor_uses=555, mcl_armor_toughness=2, enchantability=10 }, _repair_material = "mcl_netherite:netherite_ingot", sounds = { _mcl_armor_equip = "mcl_armor_equip_diamond", From 93df51b2237a99ec6e8e9b46228fe29ec135fd03 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 12:20:53 +0000 Subject: [PATCH 07/43] Add ancient debris --- mods/ITEMS/mcl_nether/init.lua | 15 +++++++++++++++ .../textures/mcl_nether_ancient_debris_side.png | Bin 0 -> 8573 bytes .../textures/mcl_nether_ancient_debris_top.png | Bin 0 -> 7800 bytes 3 files changed, 15 insertions(+) create mode 100644 mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png create mode 100644 mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua index 4670547675..0bb2f675cb 100644 --- a/mods/ITEMS/mcl_nether/init.lua +++ b/mods/ITEMS/mcl_nether/init.lua @@ -52,6 +52,21 @@ minetest.register_node("mcl_nether:quartz_ore", { _mcl_fortune_drop = mcl_core.fortune_drop_ore }) +minetest.register_node("mcl_nether:ancient_debris", { + description = S("Ancient Debris"), + _doc_items_longdesc = S("Ancient debris can be found in the nether and is very very rare."), + stack_max = 64, + tiles = {"mcl_nether_ancient_debris_top.png", "mcl_nether_ancient_debris_side.png"}, + is_ground_content = true, + groups = {pickaxey=4, building_block=1, material_stone=1, xp=0}, + drop = 'mcl_nether:ancient_debris', + sounds = mcl_sounds.node_sound_stone_defaults(), + _mcl_blast_resistance = 1200, + _mcl_hardness = 30, + _mcl_silk_touch_drop = true, + _mcl_fortune_drop = mcl_core.fortune_drop_ore +}) + -- For eternal fire on top of netherrack and magma blocks -- (this code does not require a dependency on mcl_fire) local eternal_after_destruct = function(pos, oldnode) diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png new file mode 100644 index 0000000000000000000000000000000000000000..230f2cce361c510162b332ee4c028b5f68d74ca2 GIT binary patch literal 8573 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 X74wsmTiyLS0RSk=Yrsln%|red>vFFm literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d354cc8a268c3c08ce8b724c504e03c47cebef38 GIT binary patch literal 7800 zcmbVR1yodRw;oDT0cj+LkWgUgbm(xv0fB*`VHk!U250CNr6d&r6^0NbhE5SgN>PwT zT1r5WMpE+PSL^@py0Pv(Yn}7f^FBM?z4tn2otV4&I+v-~sQ>`LWyoz!ql-4|_f0{3 z@w{WTpK;Mpdfqn20RYqtzi%SIiwsr(fQ;D%X69uEy`zZ4pv4dl7<-hMAKLQ*4FKFy z@$*C=-B4aYdz6!l2bg!Wv6&a>;sEA_%Rt4Uo*F1;m)ikYlyQJQ3>n~tRB+%`Q3l@f zQ@kKRqr4D6KeW3CPSFp{`v^#eAj2Fjyy$go45aha^Z+QuG2Liu3pILimY#;Q0P#&_v;oSQk$(7mNq+ zHzUFxP;)EE1*VbD<{RZ)-diHLxgz7X}N%VBG&csJnlw43xaE8Yl#J@o>QS;)MTY z14Y?B zaddINSil+Sr~@Hd8nO}!va+I*ViJF-3xz5|JaAqJ4F-Y&wk?q(1r4#-wFGt9iabg;vZ}OlH7m8FDl0G?mwmK zV(?F~LwQ_OIP66!qg@Z>1_0P7Aew40zl?QjbUD9{cSxr3loZZ)JRWZ2zWzd0giYhN zCodU7Sv5MjPl!_U*HiAK6W&82N+W)CWz7XG-L_&no`-Zcnk{tU(M`ne?(Un@fldu8 z3mPVHxG%iNtFL>i$u4UOzg|?N?7fl^ps@6%=*HQ!ey@q{I))akS6h7-tL;)dQX#3Q5+r8WnFv-(Cp`2kVkZz*~4=xUC6ZS-WO$6Fp z3PaeHmABOv!-Iw>McD{cCQuzhjj&k!`vy#*{_xcdCDK+o&o=(2{DSPbd zzg3!-M>xs39wT%=U3qiL)xUTt71A!*t2R(b+yDibzbGLPwH9$S-|e?b8(i2CLOuKu zLhRlt!-!By`%ac*>K^u`i2FVFtz(&PxpB%RAZuS~{jC1tZzI7a+=>{m0z|Zukp^VwP*6K@Jw}{s{kLz;xt3;_}_g_6m zHb$;SIqIezU%YEe+&X(2qBINvci3Y9bn0qzomFM40p@UCS}b#P&Ev4}d#Z6?*J+cs zWBnSQ$K52gj5#E)V->0r&o7I6_7)o?&qxMTClK3zijc6GXZ*R+2|+D{zi1cPk}MR` zh1Se%-KFMBAIc9w)$ZOBkT}$+Grkt6{5*e3#x*W0PS!Y=?Ja$D%wm!$L`y zB&_kEHz0;obw{;ym7JK#!ij_uvc98yfX6wl_B2)R3_%$L;zA+?CX<-lR;$ReGP6E9 zh3n&q`KQQ4>Z}}>yFZ9d~og@13rsG)y!(fJeprH{Nig zhPVUQ;7*I6@tfBh`6n(DZBP_AorhiTFZ|binCL4NPfM zTiKQjV1)#!>597r+8qnN1Q1tmc6_N{D_xmagN7!4zNEBz7#5~R&HiBYpi?YTkD}W) zO~|D2=|+k*x6$aX$=LR8c8j?b3Q2h`Wa=TXf!>^&E%7O#bj;?mWucatLMSS4|6wn zMALW%z8t^up_JqpQhzy$k}t_*)bLvBT(HJZv`$fs>aO_2tRMk#F#Licm(rQ@7vpSgfge~WBl#P8Oqhhgh zwrnkPu-ZiDtWd7`-dFtj=d-OYmD6Ag+3DYoimc$`&;@Rou znXKh2qZ1>_vc+%FfVVq8Xkl%-_2N~M0uxV28e4yD>uk4CgB-V;4}3$Lua>!1GeW?` zSw|m3pJ^@Sc`&B)T7G1G^}MJVCo5RM(YUsKGYpX z#&O5p@{%*o%oD3OJ#tFKK(El!pnvHB)be^}LX7WX)|IGbR|`wMyPCq^7~=_wCfSBe zfUcN){Ti}^{Ez3Mg<`8{ee(K|zyX&)%i|BT9|v~^atzThYqvQClVVpBlR22^6+BE( zwS0*~B=8GwjQX6hf&+YK}heEYA%?WP`Ie z$!VW_LvIFjHG<+jdD=!SAO{DR789vHRL>j*FrPCtZ!?DHPr3;wo{tz4X%RA04wzJq zal{`ThKHKy7GjT5BGoP}?)%B9RC1TizFak|F^w&k$K9@cHC( zdOlPLGjtk(-RrtzXycN;yvV)Guijjl3{aPso(w9DU+LKsorsaMuiD@Y4?*1O;@>>| z)RO61s1s5MxYd76UKgNl>M+(T@uXdU)2f8@NAcc~ ztudw&nupHLpXS(zr)10Ol4NZnOllv+*Y>i^WS6n&C@)O}WpWizL9hJ`(JkHJ3OCB{ z6U#$4Ci`|3tO&fUqRobm%e%F*7v4xNJ>e?jBIEdSv%Xhh)ydy^aUQN1@w%tnbrO<~ ziSH(g>`Al0GI0_$Xv>=b>a6j%hw1ohF&w12h6TM@Yo40AGG5ABf$BtIpQfM9wi&(S za=z}Jkc}2Hn(O5ZZ|F{51MKzWT%KT?G@~k1j5zAS>&zI=CVr0oCfF`bH(cuRepGc` ztu&2j_$^DmMtDFSv)BB5VYO8j0jE8gZ^Bx9C=M#+o!oZS=RoO3F_f3H}`qQeo)AFTOYV&f-QqXzt4aw z%tb{l&eq5dJ>`!qCG=K3YeS$y3^BISM1!wo{mH8$C%p~ z2)fYKV2ISCr|xCrEeal@pc+he`68X`l4Gv}_vV1_BGhJ|ece>G9NXN>pvoQ*9vVXp`o9di%8aGUdcp#B{q^!om5sGuXq5YF8i7Y3)F2%R~aCO0{( zN|}vYtU!|9y5;q(z6J~g$D*^JbUzMMm-Ow=8o1|M`pYMII4F7~z#DDo6bm^$n-Grh z`}Q5W8DYgLG5e-^q=D(b> zPRk{$%$*_~p^GXsqf-HGzp@%w}Mtz|2(PL;Z5lem)J*XXYhC12aWM=E0pP)O+JK{Zrd zF%FZB_wIGUSd9;m9DP|A*_Y>Z?7QCijv=xU7U%yATuAFp8D+t^?KZdCp-85g*UT6C zBGlgq4fEy6AU^OO>NV9D@VB`9g-4`fjiES~(EF?QermN6`u?83c~8lcyWTdk!HXd^qi8j)F8CgS*~EFgXFDaVoAZ<8#DUbmY0j$%1?I- zwEe^eVfI44>G|W8+qL+Tz?+DpA(owE5}SatD{2~Fi@SLh=D#f*?YW;_RY{~v#kSme zL!ureIWW-<;n4p4N^MmlFENq+^djw#t!)DlZ4?md3}S}R0b@7d7s3g2#+$jD)~0+V8wKmv)e zFWtuh%_tWLHa6sA#`C0PqpxRu%7G4(A>|vThW8trSjg4)+%^MrRU?>Ux#%uSQflwgs^De#l{-y{VL;P?GUHWsm ztnFC{d~^|UUU7*J>74#~p+bt67uG(T7S1ztp4xpr^ajE@NSDCkvo=K3fAm;=%3<}8 zB-0piH0Gc#lv%1qNG|RZ?GXv<=+CoY46*7lRW7QT|BrpQ~&FGT_M*Qx61L1hCL&xjdd0;TS&VV#n-pv9b~nZ zu(vXzQlL7aDa-!X4+Tm2X?5|Fq~BH%^hj82mu-Lo8^($XqEM9lcb4+5XRg==rJ`=h;v2fSEm)XG-{PF1rR!hBXM{WPvB&6(}w z*0U~qIe&D(>fQcE>ye1ZB(rwjW?;iDK}K3zpRzTd`+VzP+&8rPxJH!e zr_VJsF1C_P(FhcP=YP?ALai0Zb(gP+DHXrV#9Siu#Md}&d2YE_K!PS}CRf}`2MNE; z6) z^oT!@KIzk_O@*5uD`zQTwc~QpotElWqL;U$f>D9kp_+V&w|wQOi?^M1;r?xgmVjy( z=+pg&&gYItGTMiap^Z&`vvszZ7tzMS(a&(aRi>q?L$c_vpn@P*EV%*PoL;W-g6DudvkJ%`WQY4?jVWA zT3mcmllKYlrfqQRZzA+_yqe806oiL*NSIoIx5;D1oFr*0QI_`&mD2W%`a&U}X|E^_ ztPr((zQ{z;b5I5l1Mgm=x62LKb69)=+-s1GB}|w#`Y$f6+-?)5tnGCfV`djW;cYWy z>^ik8B%@U2)83mHW`3}J6MSqpr>y63p#N*%KBo6z@R+IP6^@C7>`9$CT!+@uu8iD;n#0db z=kBMW%b>Kotn_W`41Cirt7Malv&%m*95jiZML*7nDZVE)+X%8nimlHUpE_L`EZA1| zyGcY%{wkbYQS(=~L#}%;VQ`SIo z!>3_e{vD{hc^iv07*9ROjs4MEJ)=EIX;l8rEuubqu<8BgaeLwy6YoU_e^f1@xHstR z{YT{&AB-Dx<|=rE>StuU2i1=)MQVqi3$VT!m*h?D^&US*3ubA&t?_&`gC^U=@26Aa7(s4jNjW}5Bq)r?GD`lU6YFf9}~3;JSVB$ zdJqZZfv4m|6cYHJl{wXt!KMT&Q9F?QZ2;+woC@q5aqU7uYK@$=xdis}`Bl8mecv^N2;;6r$^irIfmsS9eq^D9 zS;^E4EN>F=pzFTlGX0hH9UbU$q0HfCtYWC*v6VapWxLQq0(;8>qx_l;nqyVc;3=CI zTX(oAm?VLvMe`Az_IpO=EJ1ZcKyehtaY*lM0~Gu-d3;yN_vg04YmdbPlC+;`vu~C{ zoeja>`BZEHI3lM)hZq0r8D;J+7x0xV|hOSmF{~P8a zts7Fl?fY~#+{6?DiikH>uo1-^mEn4ZFt1$y#N5~h^{v-YIEf-UgfScai}rkg2Yt)f zU3cgpGGKCJlKttS68w`KK0|)#OO~P5p<4`Ox|pWHG_mlFb#uU=u!mu&+weCMwbvQf zCKgzsvm4|79W~e2%}j|5GC#O2XblA``dsW6Qa2wz@-$Uziaz;gU>ljOu*bFe-ieP<(Q_(Radt zy0DjBN#Ih;)KK*^B~FjtYf7tY72a{)$iPP;jFXYs#M~!pT6a1M#ig0HXvF69w-#nt z1)TJB8K}uHkmsKBR?lK$LH0w{*u}^;aNB*xrsBW UB&(FQ`TcJgqNT4{rfwJhAB*}(+5i9m literal 0 HcmV?d00001 From 1247bcc039080899f73806a85cb16b61e4ffa882 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 12:35:15 +0000 Subject: [PATCH 08/43] Add: Netherite scrap, Netherite ingot. Add crafting recipe for netherite ingot. --- mods/ITEMS/mcl_nether/init.lua | 32 ++++++++++++++++++ .../textures/mcl_nether_netherite_ingot.png | Bin 0 -> 222 bytes .../textures/mcl_nether_netherite_scrap.png | Bin 0 -> 207 bytes 3 files changed, 32 insertions(+) create mode 100644 mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png create mode 100644 mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_scrap.png diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua index 0bb2f675cb..d54289af6d 100644 --- a/mods/ITEMS/mcl_nether/init.lua +++ b/mods/ITEMS/mcl_nether/init.lua @@ -268,6 +268,22 @@ minetest.register_craftitem("mcl_nether:quartz", { groups = { craftitem = 1 }, }) +minetest.register_craftitem("mcl_nether:netherite_scrap", { + description = S("Netherite Scrap"), + _doc_items_longdesc = S("Netherite scrap is a crafting ingredient for netherite ingots."), + inventory_image = "mcl_nether_netherite_scrap.png", + stack_max = 64, + groups = { craftitem = 1 }, +}) + +minetest.register_craftitem("mcl_nether:netherite_ingot", { + description = S("Netherite Ingot"), + _doc_items_longdesc = S("Netherite ingots can be used with a smithing table to upgrade items to netherite."), + inventory_image = "mcl_nether_netherite_ingot.png", + stack_max = 64, + groups = { craftitem = 1 }, +}) + minetest.register_craftitem("mcl_nether:netherbrick", { description = S("Nether Brick"), _doc_items_longdesc = S("Nether bricks are the main crafting ingredient for crafting nether brick blocks and nether fences."), @@ -283,6 +299,13 @@ minetest.register_craft({ cooktime = 10, }) +minetest.register_craft({ + type = "cooking", + output = "mcl_nether:netherite_scrap", + recipe = "mcl_nether:ancient_debris", + cooktime = 10, +}) + minetest.register_craft({ output = 'mcl_nether:quartz_block', recipe = { @@ -354,5 +377,14 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "mcl_nether:netherite_ingot", + recipe = { + {'mcl_nether:netherite_scrap', 'mcl_nether:netherite_scrap', 'mcl_nether:netherite_scrap'}, + {'mcl_nether:netherite_scrap', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'}, + {'mcl_core:gold_ingot', 'mcl_core:gold_ingot', ''}, + } +}) + dofile(minetest.get_modpath(minetest.get_current_modname()).."/nether_wart.lua") dofile(minetest.get_modpath(minetest.get_current_modname()).."/lava.lua") diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..90aab05632a87b234c41c5179621f895f26c38e1 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Lo7~ToqU?>kb!{fZ|<9~ zqe{}tC*^f$N5LK@p_H;y64`v zbane(Bj&HZz?13uP?k%g<+ltI=X9TRb+OwMesntVJ^cRgLRpf8s_w7Z{^xe;CP=wE zwnuP&7ht^R%3!ucRWLSsPeZ$aVe~}P8H!zJ7IJ5uzZ#_YDsgwh|KL@v85{fOzv1rp WelqP~Y-R?~!3>_RelF{r5}E+ams-gH literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_scrap.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_scrap.png new file mode 100644 index 0000000000000000000000000000000000000000..f72e21d08278b0604d54ee3898b27af602d06106 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>z@qLo7}wCoEtum?Hd_|4>Ty zoLgb+$6TbF))`*C`>=jZ=ehs8T0H)=9WZGUX)^Fo_A%yYzG1=3$azTQfXSmnaZ;Q9 zhqCMxY-_MMv2DTau62U0#+wus!Vj1zN;iZn?@~0lz95@rqv4!BIW~pf6SESeCdRg2 z6_}BhBa#0gv76P2(ZhgoqR6KmOhUFg9_N@-vQ^j_7@F8mMQtgZEe3QUgQu&X%Q~lo FCIIXRNuB@z literal 0 HcmV?d00001 From 7d22906f34bfe5b843ac7bd748f1927e87e065b2 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 13:07:25 +0000 Subject: [PATCH 09/43] Add netherite tools --- mods/ITEMS/mcl_farming/hoes.lua | 21 +++++ mods/ITEMS/mcl_tools/init.lua | 84 ++++++++++++++++++ .../textures/default_tool_netheriteaxe.png | Bin 0 -> 184 bytes .../textures/default_tool_netheritepick.png | Bin 0 -> 188 bytes .../textures/default_tool_netheriteshovel.png | Bin 0 -> 161 bytes .../textures/default_tool_netheritesword.png | Bin 0 -> 210 bytes 6 files changed, 105 insertions(+) create mode 100644 mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png create mode 100644 mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png create mode 100644 mods/ITEMS/mcl_tools/textures/default_tool_netheriteshovel.png create mode 100644 mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png diff --git a/mods/ITEMS/mcl_farming/hoes.lua b/mods/ITEMS/mcl_farming/hoes.lua index db470b9992..e1418c2792 100644 --- a/mods/ITEMS/mcl_farming/hoes.lua +++ b/mods/ITEMS/mcl_farming/hoes.lua @@ -273,3 +273,24 @@ minetest.register_craft({ {"mcl_core:stick", ""} } }) + +minetest.register_tool("mcl_farming:hoe_netherite", { + description = S("Netherite Hoe"), + _tt_help = hoe_tt.."\n"..S("Uses: @1", uses.netherite), + _doc_items_longdesc = hoe_longdesc, + _doc_items_usagehelp = hoe_usagehelp, + inventory_image = "farming_tool_netheritehoe.png", + wield_scale = mcl_vars.tool_wield_scale, + on_place = hoe_on_place_function(uses.netherite), + groups = { tool=1, hoe=1, enchantability=10 }, + tool_capabilities = { + full_punch_interval = 0.25, + damage_groups = { fleshy = 4, }, + punch_attack_uses = uses.netherite, + }, + _repair_material = "mcl_nether:netherite_ingot", + _mcl_toollike_wield = true, + _mcl_diggroups = { + hoey = { speed = 8, level = 5, uses = 2031 } + }, +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index 2d804b9bc7..ac24fa7ec8 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -175,6 +175,27 @@ minetest.register_tool("mcl_tools:pick_diamond", { }, }) +minetest.register_tool("mcl_tools:pick_netherite", { + description = S("Netherite Pickaxe"), + _doc_items_longdesc = pickaxe_longdesc, + inventory_image = "default_tool_netheritepick.png", + wield_scale = wield_scale, + groups = { tool=1, pickaxe=1, dig_speed_class=5, enchantability=10 }, + tool_capabilities = { + -- 1/1.2 + full_punch_interval = 0.83333333, + max_drop_level=5, + damage_groups = {fleshy=6}, + punch_attack_uses = 1016, + }, + sound = { breaks = "default_tool_breaks" }, + _repair_material = "mcl_nether:netherite_ingot", + _mcl_toollike_wield = true, + _mcl_diggroups = { + pickaxey = { speed = 8, level = 5, uses = 2031 } + }, +}) + local make_grass_path = function(itemstack, placer, pointed_thing) -- Use pointed node's on_rightclick function first, if present local node = minetest.get_node(pointed_thing.under) @@ -351,6 +372,28 @@ minetest.register_tool("mcl_tools:shovel_diamond", { }, }) +minetest.register_tool("mcl_tools:shovel_netherite", { + description = S("Netherite Shovel"), + _doc_items_longdesc = shovel_longdesc, + _doc_items_usagehelp = shovel_use, + inventory_image = "default_tool_netheriteshovel.png", + wield_scale = wield_scale, + groups = { tool=1, shovel=1, dig_speed_class=5, enchantability=10 }, + tool_capabilities = { + full_punch_interval = 1, + max_drop_level=5, + damage_groups = {fleshy=5}, + punch_attack_uses = 1016, + }, + on_place = make_grass_path, + sound = { breaks = "default_tool_breaks" }, + _repair_material = "mcl_nether:netherite_ingot", + _mcl_toollike_wield = true, + _mcl_diggroups = { + shovely = { speed = 8, level = 5, uses = 2031 } + }, +}) + -- Axes local make_stripped_trunk = function(itemstack, placer, pointed_thing) @@ -505,6 +548,27 @@ minetest.register_tool("mcl_tools:axe_diamond", { }, }) +minetest.register_tool("mcl_tools:axe_netherite", { + description = S("Netherite Axe"), + _doc_items_longdesc = axe_longdesc, + inventory_image = "default_tool_netheriteaxe.png", + wield_scale = wield_scale, + groups = { tool=1, axe=1, dig_speed_class=5, enchantability=10 }, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=5, + damage_groups = {fleshy=10}, + punch_attack_uses = 1016, + }, + on_place = make_stripped_trunk, + sound = { breaks = "default_tool_breaks" }, + _repair_material = "mcl_nether:netherite_ingot", + _mcl_toollike_wield = true, + _mcl_diggroups = { + axey = { speed = 8, level = 5, uses = 2031 } + }, +}) + -- Swords minetest.register_tool("mcl_tools:sword_wood", { description = S("Wooden Sword"), @@ -607,6 +671,26 @@ minetest.register_tool("mcl_tools:sword_diamond", { swordy_cobweb = { speed = 8, level = 5, uses = 1562 } }, }) +minetest.register_tool("mcl_tools:sword_netherite", { + description = S("Netherite Sword"), + _doc_items_longdesc = sword_longdesc, + inventory_image = "default_tool_netheritesword.png", + wield_scale = wield_scale, + groups = { weapon=1, sword=1, dig_speed_class=5, enchantability=10 }, + tool_capabilities = { + full_punch_interval = 0.625, + max_drop_level=5, + damage_groups = {fleshy=9}, + punch_attack_uses = 2032, + }, + sound = { breaks = "default_tool_breaks" }, + _repair_material = "mcl_nether:netherite_ingot", + _mcl_toollike_wield = true, + _mcl_diggroups = { + swordy = { speed = 8, level = 5, uses = 1562 }, + swordy_cobweb = { speed = 8, level = 5, uses = 1562 } + }, +}) --Shears minetest.register_tool("mcl_tools:shears", { diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..322bf45130946f4750019b2329efac3edcf6dc18 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^`0({Ar_~T6Be+4xK#3k|4>SH z-s(K&*CKc|}85y?e53N1+t9>yJPox*RqCL{^8 zWts(rtKSuP6FI>lQI6P_i7r|)2!(e1Hq=93-lnPp`KYVn)5F8#`IvqvUD gg?WFVdQ&MBb@0F=2wcK`qY literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png new file mode 100644 index 0000000000000000000000000000000000000000..088283b0bf6ab4c414f001edadb471075b34ec0b GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&7LlfAr_~T6C}1A@V@-e-b&50 zIJ#6?Mtq6*pMKu%R_P_{SA3bT;XH-4<-v{n$M|wQHm)|F;lF9R!?r^_iZ>Z1JYx}7 z7MU)P%i&?XX|tn=hEInP!_BlA5*@r;5lw6hZu?APR5*KW+O-H#K@)~0H*Yf5hdjL6 mb2@F3^XwD`@4}MvB@DX3`5G$j>x+TTVeoYIb6Mw<&;$Uge?p@G literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteshovel.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheriteshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..0cbaf61a0a2bd39536af45962bd4a6aab1c8d85c GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~T6C{ETcwc^K&og=H z&b7OE`=+wC{F}VS(o9FJhx-zDhdIL%$t8?SF5W-ZSHkSz5FglSboS`Fa|ym8nQR|D zugytFa+%e8V%A#SwJ+C5E)i^*D?8`pc1g3DCxfS} KpUXO@geCxgk~#nY literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png new file mode 100644 index 0000000000000000000000000000000000000000..4bc0809b12478fa4d29150871df6b303dec9cebe GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Lo7}wCnzviWLo`cPuyg( zJ#>5H#!U?u>NlB)FA<-R$KX@Epj*CjmgBZ2lje*`rpMckHkmeO%$c>ZRjY&lQpS>X z|L)&E#<%~h!R&;#2}>mJu2+y+(y4Ox1Y3i_$ypm&rB2TJDmwL_`V5Ii(?fe4wkRr` zJ-Y5(0k48o3#SxQw_Ub(_8P84wuhz-D$5r!8}d#3&ystPnL+1rUrq}1`y)U{GI+ZB KxvX Date: Wed, 14 Apr 2021 13:08:31 +0000 Subject: [PATCH 10/43] Add netherite hoe texture --- .../textures/farming_tool_netheritehoe.png | Bin 0 -> 167 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_farming/textures/farming_tool_netheritehoe.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_netheritehoe.png b/mods/ITEMS/mcl_farming/textures/farming_tool_netheritehoe.png new file mode 100644 index 0000000000000000000000000000000000000000..b41b1eef3d1d4c6bbf9e502c92967100991aa5ba GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~T6Bej`xU}Ur|KXI( zyw!Ql$(wj4iV6PZKg9ZyHNm;(%GLj`wYC2G8yNob-{iP4abrSrSM1z_ZIj+eO*pII z{3rK~hdINuoEg(SuK7&doM<+A=}e{Bb7eIy Date: Wed, 14 Apr 2021 13:10:07 +0000 Subject: [PATCH 11/43] Fix crash in netherite hoe by adding netherite to uses{} --- mods/ITEMS/mcl_farming/hoes.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_farming/hoes.lua b/mods/ITEMS/mcl_farming/hoes.lua index e1418c2792..e40b7f73d2 100644 --- a/mods/ITEMS/mcl_farming/hoes.lua +++ b/mods/ITEMS/mcl_farming/hoes.lua @@ -55,6 +55,7 @@ local uses = { iron = 251, gold = 33, diamond = 1562, + netherite = 2031, } local hoe_tt = S("Turns block into farmland") @@ -291,6 +292,6 @@ minetest.register_tool("mcl_farming:hoe_netherite", { _repair_material = "mcl_nether:netherite_ingot", _mcl_toollike_wield = true, _mcl_diggroups = { - hoey = { speed = 8, level = 5, uses = 2031 } + hoey = { speed = 8, level = 5, uses = uses.netherite } }, }) \ No newline at end of file From d3dd6559a26d67fbb0f30a954d495903607f5fa8 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Wed, 14 Apr 2021 13:12:44 +0000 Subject: [PATCH 12/43] Add correct durability for netherite sword --- mods/ITEMS/mcl_tools/init.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index ac24fa7ec8..4da1c6c491 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -681,14 +681,14 @@ minetest.register_tool("mcl_tools:sword_netherite", { full_punch_interval = 0.625, max_drop_level=5, damage_groups = {fleshy=9}, - punch_attack_uses = 2032, + punch_attack_uses = 2031, }, sound = { breaks = "default_tool_breaks" }, _repair_material = "mcl_nether:netherite_ingot", _mcl_toollike_wield = true, _mcl_diggroups = { - swordy = { speed = 8, level = 5, uses = 1562 }, - swordy_cobweb = { speed = 8, level = 5, uses = 1562 } + swordy = { speed = 8, level = 5, uses = 2031 }, + swordy_cobweb = { speed = 8, level = 5, uses = 2031 } }, }) From 77657359c2217c95930181055c86b26162a478a6 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Thu, 15 Apr 2021 08:31:16 +0000 Subject: [PATCH 13/43] Set correct armor_points value for netherite_boots --- mods/ITEMS/mcl_armor/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_armor/init.lua b/mods/ITEMS/mcl_armor/init.lua index e8c9e7f945..b0c7ea5732 100644 --- a/mods/ITEMS/mcl_armor/init.lua +++ b/mods/ITEMS/mcl_armor/init.lua @@ -378,7 +378,7 @@ minetest.register_tool("mcl_armor:boots_netherite", { _doc_items_longdesc = longdesc, _doc_items_usagehelp = usage, inventory_image = "mcl_armor_inv_boots_netherite.png", - groups = {armor_feet=1, mcl_armor_points=1, mcl_armor_uses=481, enchantability=1 }, + groups = {armor_feet=1, mcl_armor_points=3, mcl_armor_uses=481, enchantability=1 }, _repair_material = "mcl_netherite:netherite_ingot", sounds = { _mcl_armor_equip = "mcl_armor_equip_chainmail", From b0d33faec421c7836eb96544f3e7657d66320a2f Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Thu, 15 Apr 2021 15:45:48 +0000 Subject: [PATCH 14/43] Add netheriteblock --- mods/ITEMS/mcl_nether/init.lua | 15 +++++++++++++++ .../textures/mcl_nether_netheriteblock.png | Bin 0 -> 425 bytes 2 files changed, 15 insertions(+) create mode 100644 mods/ITEMS/mcl_nether/textures/mcl_nether_netheriteblock.png diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua index d54289af6d..7e0343ea90 100644 --- a/mods/ITEMS/mcl_nether/init.lua +++ b/mods/ITEMS/mcl_nether/init.lua @@ -67,6 +67,21 @@ minetest.register_node("mcl_nether:ancient_debris", { _mcl_fortune_drop = mcl_core.fortune_drop_ore }) +minetest.register_node("mcl_nether:netheriteblock", { + description = S("Netherite Block"), + _doc_items_longdesc = S("Netherite block is very hard and can be made of 9 netherite ingots."), + stack_max = 64, + tiles = {"mcl_nether_netheriteblock.png"}, + is_ground_content = true, + groups = {pickaxey=4, building_block=1, material_stone=1, xp = 0}, + drop = 'mcl_nether:netheriteblock', + sounds = mcl_sounds.node_sound_stone_defaults(), + _mcl_blast_resistance = 1200, + _mcl_hardness = 50, + _mcl_silk_touch_drop = true, + _mcl_fortune_drop = mcl_core.fortune_drop_ore +}) + -- For eternal fire on top of netherrack and magma blocks -- (this code does not require a dependency on mcl_fire) local eternal_after_destruct = function(pos, oldnode) diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netheriteblock.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_netheriteblock.png new file mode 100644 index 0000000000000000000000000000000000000000..60957f01794f9ecc0ad1eb8ce72749060c7d435b GIT binary patch literal 425 zcmV;a0apHrP)Px$V@X6oR5*==lfi1^Fc5}62Mx8YxGcWxW$8oo-1mQgLg~4^ZDF%Z99c3Wa1V+U zIaykPk&yoRX67H$8Q1Cabmb1%K7!>8DqPa zaU6Mje`DCEM=?@@WL5$F}Jpii8behWht`@2$ zdeim=Qdbkt=VtNfxsn1fDFl*vN#*3QPG%^tan{{b8g!L zKv=>}rs+6s64ce0TG)3zeb-+qsvOTPW{5`JwjftM&wfT#({~1CNWF~np_B-4{P Date: Thu, 15 Apr 2021 16:07:19 +0000 Subject: [PATCH 15/43] Add correct speeds for netherite shovel, pickaxe and axe --- mods/ITEMS/mcl_tools/init.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index 4da1c6c491..7fbe667deb 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -180,7 +180,7 @@ minetest.register_tool("mcl_tools:pick_netherite", { _doc_items_longdesc = pickaxe_longdesc, inventory_image = "default_tool_netheritepick.png", wield_scale = wield_scale, - groups = { tool=1, pickaxe=1, dig_speed_class=5, enchantability=10 }, + groups = { tool=1, pickaxe=1, dig_speed_class=6, enchantability=10 }, tool_capabilities = { -- 1/1.2 full_punch_interval = 0.83333333, @@ -192,7 +192,7 @@ minetest.register_tool("mcl_tools:pick_netherite", { _repair_material = "mcl_nether:netherite_ingot", _mcl_toollike_wield = true, _mcl_diggroups = { - pickaxey = { speed = 8, level = 5, uses = 2031 } + pickaxey = { speed = 9.5, level = 6, uses = 2031 } }, }) @@ -378,7 +378,7 @@ minetest.register_tool("mcl_tools:shovel_netherite", { _doc_items_usagehelp = shovel_use, inventory_image = "default_tool_netheriteshovel.png", wield_scale = wield_scale, - groups = { tool=1, shovel=1, dig_speed_class=5, enchantability=10 }, + groups = { tool=1, shovel=1, dig_speed_class=6, enchantability=10 }, tool_capabilities = { full_punch_interval = 1, max_drop_level=5, @@ -390,7 +390,7 @@ minetest.register_tool("mcl_tools:shovel_netherite", { _repair_material = "mcl_nether:netherite_ingot", _mcl_toollike_wield = true, _mcl_diggroups = { - shovely = { speed = 8, level = 5, uses = 2031 } + shovely = { speed = 9, level = 6, uses = 2031 } }, }) @@ -553,7 +553,7 @@ minetest.register_tool("mcl_tools:axe_netherite", { _doc_items_longdesc = axe_longdesc, inventory_image = "default_tool_netheriteaxe.png", wield_scale = wield_scale, - groups = { tool=1, axe=1, dig_speed_class=5, enchantability=10 }, + groups = { tool=1, axe=1, dig_speed_class=6, enchantability=10 }, tool_capabilities = { full_punch_interval = 1.0, max_drop_level=5, @@ -565,7 +565,7 @@ minetest.register_tool("mcl_tools:axe_netherite", { _repair_material = "mcl_nether:netherite_ingot", _mcl_toollike_wield = true, _mcl_diggroups = { - axey = { speed = 8, level = 5, uses = 2031 } + axey = { speed = 9, level = 6, uses = 2031 } }, }) From e7f36ec7d2d696ca13f55d9072bfc5c444e6b44e Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Fri, 16 Apr 2021 06:19:14 +0000 Subject: [PATCH 16/43] Add crafting recipe for netheriteblock & make netheriteblock convertable to ingots. --- mods/ITEMS/mcl_nether/init.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua index 7e0343ea90..a60efa5b55 100644 --- a/mods/ITEMS/mcl_nether/init.lua +++ b/mods/ITEMS/mcl_nether/init.lua @@ -401,5 +401,23 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "mcl_nether:netheriteblock", + recipe = { + {'mcl_nether:netherite_ingot', 'mcl_nether:netherite_ingot', 'mcl_nether:netherite_ingot'}, + {'mcl_nether:netherite_ingot', 'mcl_nether:netherite_ingot', 'mcl_nether:netherite_ingot'}, + {'mcl_nether:netherite_ingot', 'mcl_nether:netherite_ingot', 'mcl_nether:netherite_ingot'} + } +}) + +minetest.register_craft({ + output = "mcl_nether:netherite_ingot 9", + recipe = { + {'mcl_nether:netheriteblock', '', ''}, + {'', '', ''}, + {'', '', ''} + } +}) + dofile(minetest.get_modpath(minetest.get_current_modname()).."/nether_wart.lua") dofile(minetest.get_modpath(minetest.get_current_modname()).."/lava.lua") From 622c236b4b66ffecee71b815da4263bd75e27898 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Fri, 16 Apr 2021 10:03:31 +0000 Subject: [PATCH 17/43] Add ancient debris generation in nether --- mods/MAPGEN/mcl_biomes/init.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 5f0510344b..0725bcb7b4 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -2068,6 +2068,20 @@ local function register_dimension_ores() }) end + -- Ancient debris + if minetest.settings:get_bool("mcl_generate_ores", true) then + minetest.register_ore({ + ore_type = "scatter", + ore = "mcl_nether:ancient_debris", + wherein = {"mcl_nether:netherrack"}, + clust_scarcity = 10000, + clust_num_ores = 4, + clust_size = 1, + y_min = mcl_worlds.layer_to_y(8, "nether"), + y_max = mcl_worlds.layer_to_y(119, "nether"), + }) + end + -- Lava springs in the Nether minetest.register_ore({ ore_type = "scatter", From 30546a3902d3528cccf6258dc30101664e4a27e2 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 16 Apr 2021 12:17:07 +0200 Subject: [PATCH 18/43] Make sure ancient debris is not generated exposed to air --- mods/MAPGEN/mcl_biomes/init.lua | 2 +- mods/MAPGEN/mcl_debrisgen/init.lua | 44 ++++++++++++++++++++++++++++++ mods/MAPGEN/mcl_debrisgen/mod.conf | 4 +++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 mods/MAPGEN/mcl_debrisgen/init.lua create mode 100644 mods/MAPGEN/mcl_debrisgen/mod.conf diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 0725bcb7b4..20bb50b64a 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -3920,7 +3920,7 @@ end -- Decorations in non-Overworld dimensions local function register_dimension_decorations() --[[ NETHER ]] - -- TODO: Nether + -- TODO: Nether --[[ THE END ]] diff --git a/mods/MAPGEN/mcl_debrisgen/init.lua b/mods/MAPGEN/mcl_debrisgen/init.lua new file mode 100644 index 0000000000..4e80c25042 --- /dev/null +++ b/mods/MAPGEN/mcl_debrisgen/init.lua @@ -0,0 +1,44 @@ +local c_debris = minetest.get_content_id("mcl_nether:ancient_debris") +local c_netherrack = minetest.get_content_id("mcl_nether:netherrack") +local c_air = minetest.get_content_id("air") + +local facedir = { + vector.new(0, 0, 1), + vector.new(0, 1, 0), + vector.new(1, 0, 0), + vector.new(0, 0, -1), + vector.new(0, -1, 0), + vector.new(-1, 0, 0), +} + +minetest.register_on_generated(function(minp, maxp) + if maxp.y < mcl_vars.mg_nether_min or minp.y > mcl_vars.mg_nether_max then + return + end + + local vm, emin, emax = minetest.get_mapgen_object("voxelmanip") + local data = vm:get_data() + local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax}) + + for idx in area:iter(minp.x, math.max(minp.y, mcl_vars.mg_nether_min), minp.z, maxp.x, math.min(maxp.y, mcl_vars.mg_nether_max), maxp.z) do + if data[idx] == c_debris then + local pos = area:position(idx) + local exposed = false + for _, dir in pairs(facedir) do + if data[area:indexp(vector.add(pos, dir))] == c_air then + exposed = true + break + end + end + if exposed then + data[idx] = c_netherrack + end + end + end + + vm:set_data(data) + vm:calc_lighting() + vm:update_liquids() + vm:write_to_map() +end) + diff --git a/mods/MAPGEN/mcl_debrisgen/mod.conf b/mods/MAPGEN/mcl_debrisgen/mod.conf new file mode 100644 index 0000000000..cc54552087 --- /dev/null +++ b/mods/MAPGEN/mcl_debrisgen/mod.conf @@ -0,0 +1,4 @@ +name = mcl_debrisgen +author = Fleckenstein +description = Make sure ancient debris is not generated exposed to air +depends = mcl_mapgen_core, mcl_nether From 99fc209bf2fe0160b77b50dc4a4506ec71eeddf6 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Fri, 16 Apr 2021 11:47:21 +0000 Subject: [PATCH 19/43] Add smithing table W.I.P --- mods/ITEMS/mcl_smithing_table/init.lua | 43 ++++++++++++++++++ .../locale/mcl_anvils.de.tr | 16 +++++++ .../locale/mcl_anvils.es.tr | 15 ++++++ .../locale/mcl_anvils.fr.tr | 16 +++++++ .../locale/mcl_anvils.ru.tr | 16 +++++++ .../mcl_smithing_table/locale/template.txt | 16 +++++++ mods/ITEMS/mcl_smithing_table/mod.conf | 2 + .../textures/mcl_smithing_table_bottom.png | Bin 0 -> 206 bytes .../textures/mcl_smithing_table_front.png | Bin 0 -> 312 bytes .../textures/mcl_smithing_table_inventory.png | Bin 0 -> 699 bytes .../textures/mcl_smithing_table_side.png | Bin 0 -> 315 bytes .../textures/mcl_smithing_table_top.png | Bin 0 -> 260 bytes 12 files changed, 124 insertions(+) create mode 100644 mods/ITEMS/mcl_smithing_table/init.lua create mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr create mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr create mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr create mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr create mode 100644 mods/ITEMS/mcl_smithing_table/locale/template.txt create mode 100644 mods/ITEMS/mcl_smithing_table/mod.conf create mode 100644 mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png create mode 100644 mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png create mode 100644 mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_inventory.png create mode 100644 mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_side.png create mode 100644 mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua new file mode 100644 index 0000000000..b57842d0f4 --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -0,0 +1,43 @@ +local formspec = "size[9,9]" .. + "label[0,4.0;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, "Inventory")) .. "]" .. + "list[current_player;main;0,4.5;9,3;9]" .. + mcl_formspec.get_itemslot_bg(0,4.5,9,3) .. + "list[current_player;main;0,7.74;9,1;]" .. + mcl_formspec.get_itemslot_bg(0,7.74,9,1) .. + "list[context;input;1,2.5;1,1;]" .. + mcl_formspec.get_itemslot_bg(1,2.5,1,1) .. + "list[context;input;4,2.5;1,1;1]" .. + mcl_formspec.get_itemslot_bg(4,2.5,1,1) .. + "list[context;output;8,2.5;1,1;]" .. + mcl_formspec.get_itemslot_bg(8,2.5,1,1) .. + "label[3,0.1;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, "Upgrade Gear")) .. "]" .. + "button[7,0.7;2,1;name_button;" .. minetest.formspec_escape("Upgrade Gear") .. "]" .. + "listring[context;output]".. + "listring[current_player;main]".. + "listring[context;input]".. + "listring[current_player;main]" + + +local function upgrade(itemstack) + itemstack:set_name(itemstack:get_name():gsub("diamond", "netherite")) +end + +minetest.register_node("mcl_smithing_table:table", { + description = "Smithing table", + + stack_max = 64, + groups = {pickaxey = 2, deco_block = true}, + + tiles = { + "mcl_smithing_table_top.png", "mcl_smithing_table_front.png", "mcl_smithing_table_side.png", + "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", + "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_bottom.png" + }, + + on_construct = function(pos) + minetest.get_meta(pos):set_string("formspec", formspec) + end, + + _mcl_blast_resistance = 2.5, + _mcl_hardness = 2.5 +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr new file mode 100644 index 0000000000..9e7d88337d --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr @@ -0,0 +1,16 @@ +# textdomain: mcl_anvils +Set Name=Name setzen +Repair and Name=Reparieren und benennen +Inventory=Inventar +Anvil=Amboss +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=Der Amboss ermöglicht es, Werkzeuge und Rüstung zu reparieren und Gegenstände zu benennen. Er hat jedoch eine begrenzte Lebensdauer. Lassen Sie ihn nicht auf Ihren Kopf fallen, das könnte ziemlich schmerzhaft sein! +To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Um einen Amboss zu benutzen, rechtsklicken Sie auf ihn. Ein Amboss hat 2 Eingabeplätze (links) und einen Ausgabeplatz (rechts). +To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Um Gegenstände umzubenennen, platzieren Sie einen Gegenstand in einen der Eingangsplätze und lassen Sie den anderen frei. Geben Sie einen Namen ein und drücken Sie die Eingabetaste oder „Name setzen”, dann nehmen Sie den umbenannten Gegenstand an sich. +There are two possibilities to repair tools (and armor):=Es gibt zwei Möglichkeiten, Werkzeuge (und Rüstung) zu reparieren: +• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Werkzeug + Werkzeug: Platzieren sie zwei gleiche Werkzeuge in die Eingangsplätze. Der Zustand des reparierten Werkzeugs ist die Summe des Zustands beider Eingangswerkzeuge, plus einem Bonus von 12%. +• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Werkzeug + Material: Einige Werkzeuge können auch repariert werden, indem man sie mit einem Gegenstand, aus dem sie gemacht worden sind, kombiniert. Zum Beispiel können Eisenspitzhacken mit Eisenbarren repariert werden. Dadurch wird das Werkzeug um 25% repariert. +Armor counts as a tool. It is possible to repair and rename a tool in a single step.=Rüstung zählt als Werkzeug. Es ist möglich, ein Werkzeug in einem Arbeitsschritt zu reparieren und zu benennen. +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=Der Amboss hat begrenze Lebensdauer und 3 Schadensstufen: Kein Schaden, leicht beschädigt, und stark beschädigt. Jedes mal, wenn Sie etwas reparieren oder umbenennen, gibt es eine 12%-ige Chance, dass der Amboss Schaden nimmt. Ambosse können auch beschädigt werden, wenn sie um mehr als 1 Block fallen. Wenn ein sehr beschädigter Amboss erneut beschädigt wird, wird er zerstört. +Slightly Damaged Anvil=Leicht beschädigter Amboss +Very Damaged Anvil=Stark beschädigter Amboss +Repair and rename items=Für die Reparatur und Umbenennung von Gegenständen diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr new file mode 100644 index 0000000000..7212b92ba9 --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr @@ -0,0 +1,15 @@ +# textdomain: mcl_anvils +Set Name=Establece un nombre +Repair and Name=Reparar y nombrar +Inventory=Inventario +Anvil=Yunque +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=El yunque le permite reparar herramientas y armaduras, y dar nombres a los elementos. Sin embargo, tiene una durabilidad limitada. No lo dejes caer sobre tu cabeza, ¡podría ser bastante doloroso! +To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Para usar un yunque, haga clic derecho sobre él. Un yunque tiene 2 ranuras de entrada (a la izquierda) y una ranura de salida. +To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Para cambiar el nombre de los elementos, coloque una pila de elementos en una de las ranuras de elementos mientras mantiene vacía la otra ranura de entrada. Escriba un nombre, presione enter o "Establecer nombre", luego obtenga el elemento renombrado en la ranura de salida. +There are two possibilities to repair tools (and armor):=Hay dos posibilidades para reparar herramientas (y armaduras): +• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Herramienta + Herramienta: Coloque dos herramientas del mismo tipo en las ranuras de entrada. La "salud" de la herramienta reparada es la suma de la "salud" de ambas herramientas, con un bono del 12%. +• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Herramienta + Material: Algunas herramientas también pueden repararse combinándolas con un elemento del que está hecho. Por ejemplo, los picos de hierro pueden repararse con lingotes de hierro. Esto repara la herramienta en un 25%. +Armor counts as a tool. It is possible to repair and rename a tool in a single step.=La armadura cuenta como una herramienta. Es posible reparar y cambiar el nombre de una herramienta en un solo paso. +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=El yunque tiene una durabilidad limitada y 3 niveles de daño: sin daños, ligeramente dañado y muy dañado. Cada vez que reparas o cambias el nombre de algo, hay un 12% de posibilidades de que el yunque se dañe. Los yunques también tienen la posibilidad de dañarse cuando caen en más de 1 bloque. Si un yunque muy dañado se daña nuevamente, se destruye. +Slightly Damaged Anvil=Yunque dañado +Very Damaged Anvil=Yunque muy dañado diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr new file mode 100644 index 0000000000..1f03de8e5d --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr @@ -0,0 +1,16 @@ +# textdomain: mcl_anvils +Set Name=Définir le Nom +Repair and Name=Réparation et Nomme +Inventory=Inventaire +Anvil=Enclume +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=L'enclume vous permet de réparer des outils et des armures, et de donner des noms à des objets. Il a cependant une durabilité limitée. Ne la laissez pas tomber sur la tête, cela pourrait être assez douloureux! +To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Pour utiliser une enclume, faites un clic droit dessus. Une enclume a 2 emplacements d'entrée (à gauche) et un emplacement de sortie. +To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Pour renommer des objets, placez une pile d'objets dans l'un des emplacements d'objets tout en laissant l'autre emplacement d'entrée vide. Tapez un nom, appuyez sur Entrée ou sur «Définir le nom», puis prenez l'élément renommé dans l'emplacement de sortie. +There are two possibilities to repair tools (and armor):=Il existe deux possibilités pour réparer les outils (et les armures): +• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Outil + Outil: Placez deux outils du même type dans les emplacements d'entrée. La "santé" de l'outil réparé est la somme de la "santé" des deux outils d'entrée, plus un bonus de 12%. +• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Outil + Matériel: Certains outils peuvent également être réparés en les combinant avec un élément dont il est fait. Par exemple, les pioches de fer peuvent être réparées avec des lingots de fer. Cela répare l'outil de 25%. +Armor counts as a tool. It is possible to repair and rename a tool in a single step.=L'armure compte comme un outil. Il est possible de réparer et de renommer un outil en une seule étape. +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=L'enclume a une durabilité limitée et 3 niveaux de dommages: en bon état, légèrement endommagé et très endommagé. Chaque fois que vous réparez ou renommez quelque chose, il y a 12% de chances que l'enclume soit endommagée. Les enclumes ont également une chance d'être endommagées lorsqu'elles tombent de plus d'un bloc. Si une enclume très endommagée est à nouveau endommagée, elle est détruite. +Slightly Damaged Anvil=Enclume Légèrement Endommagée +Very Damaged Anvil=Enclume Très Endommagée +Repair and rename items=Réparer et renommer des objets diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr new file mode 100644 index 0000000000..20281bd6bb --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr @@ -0,0 +1,16 @@ +# textdomain: mcl_anvils +Set Name=Дать имя +Repair and Name=Починить и дать имя +Inventory=Инвентарь +Anvil=Наковальня +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=Наковальня позволяет ремонтировать инструменты и защиту, а также давать имена предметам. Но она имеет ограниченный срок службы. Не дайте ей упасть вам на голову, это может быть больно! +To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Чтобы воспользоваться наковальней, кликните по ней правой кнопкой. Наковальня имеет два входных отсека (слева) и один выходной. +To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Для переименования положите стопку предметов в один отсек, второй оставьте пустым. Наберите имя, нажмите [Enter] или “Дать имя” и заберите переименованные предметы из выходного отсека. +There are two possibilities to repair tools (and armor):=Есть два способа отремонтировать инструменты (и защиту): +• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Инструмент + Инструмент: Положите два инструмента одного типа во входные отсеки. “Здоровье” отремонтированного инструмента будет равно сумме “здоровья” каждого из них, плюс 12% бонус. +• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Инструмент + Материал: Некоторые инструменты можно также ремонтировать, добавляя к ним предмет, из которого они сделаны. Например, железные кирки ремонтируются добавлением слитков железа. Таким способом инструмент восстанавливается на 25%. +Armor counts as a tool. It is possible to repair and rename a tool in a single step.=Защиты считается за инструмент. Можно ремонтировать и переименовывать за одно действие. +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=Наковальня имеет ограниченный срок службы и 3 уровня износа: новая, немного изношенная, сильно повреждённая. Каждый раз, ремонтируя или переименовывая что-либо, вы имеете 12-процентный шанс повредить наковальню. Наковальни также могут повреждаться, когда они падают с высоте более 1 блока. Если повреждённая наковальня повреждается снова, то она уничтожается. +Slightly Damaged Anvil=Немного изношенная наковальня +Very Damaged Anvil=Сильно повреждённая наковальня +Repair and rename items=Ремонтирует и переименовывает предметы diff --git a/mods/ITEMS/mcl_smithing_table/locale/template.txt b/mods/ITEMS/mcl_smithing_table/locale/template.txt new file mode 100644 index 0000000000..ebc741c005 --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/locale/template.txt @@ -0,0 +1,16 @@ +# textdomain: mcl_anvils +Set Name= +Repair and Name= +Inventory= +Anvil= +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!= +To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.= +To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.= +There are two possibilities to repair tools (and armor):= +• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.= +• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.= +Armor counts as a tool. It is possible to repair and rename a tool in a single step.= +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.= +Slightly Damaged Anvil= +Very Damaged Anvil= +Repair and rename items= diff --git a/mods/ITEMS/mcl_smithing_table/mod.conf b/mods/ITEMS/mcl_smithing_table/mod.conf new file mode 100644 index 0000000000..aee93fa65a --- /dev/null +++ b/mods/ITEMS/mcl_smithing_table/mod.conf @@ -0,0 +1,2 @@ +name = mcl_smithing_table +depends = mcl_colors, mcl_formspec diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..59833b5ea20686a3eae16a005d9abec43bcd9022 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALo9leCrq05oBvSUr=Ws2 zD$0DvUewHx=xBSH++g^{mF1w2f>hhZpC^(Em>txbSR6_wOw!?M+sQCn!iT?$@r2*e zc1N~@F^3s0a|o$iW!S)-P^Wa1VaC!F>4rzFGZ;l$8CS9`sA!zyu;d2Anz#koCWo#p zl4#Jssno5UZm@yz#Z1n4Hm7OFPxKlHe@x9xG4qjUklR_Tv#IaRJ)i>_JYD@<);T3K F0RY}yN}2!w literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png new file mode 100644 index 0000000000000000000000000000000000000000..55875ef5459ab6e0bc4ac530c51d8b97e044ff7b GIT binary patch literal 312 zcmV-80muG{P)m-ckEr&y1TnCUc7kj z+`0e%|96?pEC&=~ED7=pW^j0RBMrn!@^*J&=wOxg0CG4BJR*x37`TN&n2}-D90{Nx zdx@v7EBg~>VJ|yWWQ_p4Dl_cCpp* zqK?M=v(oa+fx2l59@yWJzvrO7$*(=Y>SC#om--<;rk#?S7c0Hn+rT;pH44^~(Bf+9l8B zdoC9MIjgL7(}A2FmrH=0EbCklXUpXZAVTx$7=_s?9xNb#jStr25PfrPnHx ffiXE8K+RV9+KToW>o zyX+Vj=`ya?nZy_^*mKJ7mASwK#h}+8Y0lWfLl_4Z`eJUh>ve>r)s7a35I^ttg207* z&}{@o#R8J+xTky{xs1LDa1Uy<2T00v5}&VkycDH^uHU9ZSpz6!jMGH`jgsbd5-qYL z=If{kKppXHz7hCT)|&4D*2RJf{MA3jR%7ei0s;9*6tG^=M8@7bQ2|^-u4DW`z zI}XAy5JY_%s1Q^nq5;t$lro~u1-O3;nn<&H-q=u#{8{hw+GCgJw0xx7eGYkUe!W+D zOgUC^@_2bvYQ;PbfCJ~@8X{!3KdfTRkf?ykSxVM!8Lr%7ngYku5R2Sb>+%V$jzEAG zs+MXbLfTsBz^_E!jVsvzXxqPgh$HZU(4Jm0 zD~LPj9ieAo1>jTmvu*8|Eesn~ZvH5O Date: Fri, 16 Apr 2021 11:47:54 +0000 Subject: [PATCH 20/43] Remove some files --- .../mcl_smithing_table/locale/mcl_anvils.de.tr | 16 ---------------- .../mcl_smithing_table/locale/mcl_anvils.es.tr | 15 --------------- .../mcl_smithing_table/locale/mcl_anvils.fr.tr | 16 ---------------- .../mcl_smithing_table/locale/mcl_anvils.ru.tr | 16 ---------------- .../ITEMS/mcl_smithing_table/locale/template.txt | 16 ---------------- 5 files changed, 79 deletions(-) delete mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr delete mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr delete mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr delete mode 100644 mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr delete mode 100644 mods/ITEMS/mcl_smithing_table/locale/template.txt diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr deleted file mode 100644 index 9e7d88337d..0000000000 --- a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.de.tr +++ /dev/null @@ -1,16 +0,0 @@ -# textdomain: mcl_anvils -Set Name=Name setzen -Repair and Name=Reparieren und benennen -Inventory=Inventar -Anvil=Amboss -The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=Der Amboss ermöglicht es, Werkzeuge und Rüstung zu reparieren und Gegenstände zu benennen. Er hat jedoch eine begrenzte Lebensdauer. Lassen Sie ihn nicht auf Ihren Kopf fallen, das könnte ziemlich schmerzhaft sein! -To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Um einen Amboss zu benutzen, rechtsklicken Sie auf ihn. Ein Amboss hat 2 Eingabeplätze (links) und einen Ausgabeplatz (rechts). -To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Um Gegenstände umzubenennen, platzieren Sie einen Gegenstand in einen der Eingangsplätze und lassen Sie den anderen frei. Geben Sie einen Namen ein und drücken Sie die Eingabetaste oder „Name setzen”, dann nehmen Sie den umbenannten Gegenstand an sich. -There are two possibilities to repair tools (and armor):=Es gibt zwei Möglichkeiten, Werkzeuge (und Rüstung) zu reparieren: -• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Werkzeug + Werkzeug: Platzieren sie zwei gleiche Werkzeuge in die Eingangsplätze. Der Zustand des reparierten Werkzeugs ist die Summe des Zustands beider Eingangswerkzeuge, plus einem Bonus von 12%. -• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Werkzeug + Material: Einige Werkzeuge können auch repariert werden, indem man sie mit einem Gegenstand, aus dem sie gemacht worden sind, kombiniert. Zum Beispiel können Eisenspitzhacken mit Eisenbarren repariert werden. Dadurch wird das Werkzeug um 25% repariert. -Armor counts as a tool. It is possible to repair and rename a tool in a single step.=Rüstung zählt als Werkzeug. Es ist möglich, ein Werkzeug in einem Arbeitsschritt zu reparieren und zu benennen. -The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=Der Amboss hat begrenze Lebensdauer und 3 Schadensstufen: Kein Schaden, leicht beschädigt, und stark beschädigt. Jedes mal, wenn Sie etwas reparieren oder umbenennen, gibt es eine 12%-ige Chance, dass der Amboss Schaden nimmt. Ambosse können auch beschädigt werden, wenn sie um mehr als 1 Block fallen. Wenn ein sehr beschädigter Amboss erneut beschädigt wird, wird er zerstört. -Slightly Damaged Anvil=Leicht beschädigter Amboss -Very Damaged Anvil=Stark beschädigter Amboss -Repair and rename items=Für die Reparatur und Umbenennung von Gegenständen diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr deleted file mode 100644 index 7212b92ba9..0000000000 --- a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.es.tr +++ /dev/null @@ -1,15 +0,0 @@ -# textdomain: mcl_anvils -Set Name=Establece un nombre -Repair and Name=Reparar y nombrar -Inventory=Inventario -Anvil=Yunque -The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=El yunque le permite reparar herramientas y armaduras, y dar nombres a los elementos. Sin embargo, tiene una durabilidad limitada. No lo dejes caer sobre tu cabeza, ¡podría ser bastante doloroso! -To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Para usar un yunque, haga clic derecho sobre él. Un yunque tiene 2 ranuras de entrada (a la izquierda) y una ranura de salida. -To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Para cambiar el nombre de los elementos, coloque una pila de elementos en una de las ranuras de elementos mientras mantiene vacía la otra ranura de entrada. Escriba un nombre, presione enter o "Establecer nombre", luego obtenga el elemento renombrado en la ranura de salida. -There are two possibilities to repair tools (and armor):=Hay dos posibilidades para reparar herramientas (y armaduras): -• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Herramienta + Herramienta: Coloque dos herramientas del mismo tipo en las ranuras de entrada. La "salud" de la herramienta reparada es la suma de la "salud" de ambas herramientas, con un bono del 12%. -• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Herramienta + Material: Algunas herramientas también pueden repararse combinándolas con un elemento del que está hecho. Por ejemplo, los picos de hierro pueden repararse con lingotes de hierro. Esto repara la herramienta en un 25%. -Armor counts as a tool. It is possible to repair and rename a tool in a single step.=La armadura cuenta como una herramienta. Es posible reparar y cambiar el nombre de una herramienta en un solo paso. -The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=El yunque tiene una durabilidad limitada y 3 niveles de daño: sin daños, ligeramente dañado y muy dañado. Cada vez que reparas o cambias el nombre de algo, hay un 12% de posibilidades de que el yunque se dañe. Los yunques también tienen la posibilidad de dañarse cuando caen en más de 1 bloque. Si un yunque muy dañado se daña nuevamente, se destruye. -Slightly Damaged Anvil=Yunque dañado -Very Damaged Anvil=Yunque muy dañado diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr deleted file mode 100644 index 1f03de8e5d..0000000000 --- a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.fr.tr +++ /dev/null @@ -1,16 +0,0 @@ -# textdomain: mcl_anvils -Set Name=Définir le Nom -Repair and Name=Réparation et Nomme -Inventory=Inventaire -Anvil=Enclume -The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=L'enclume vous permet de réparer des outils et des armures, et de donner des noms à des objets. Il a cependant une durabilité limitée. Ne la laissez pas tomber sur la tête, cela pourrait être assez douloureux! -To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Pour utiliser une enclume, faites un clic droit dessus. Une enclume a 2 emplacements d'entrée (à gauche) et un emplacement de sortie. -To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Pour renommer des objets, placez une pile d'objets dans l'un des emplacements d'objets tout en laissant l'autre emplacement d'entrée vide. Tapez un nom, appuyez sur Entrée ou sur «Définir le nom», puis prenez l'élément renommé dans l'emplacement de sortie. -There are two possibilities to repair tools (and armor):=Il existe deux possibilités pour réparer les outils (et les armures): -• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Outil + Outil: Placez deux outils du même type dans les emplacements d'entrée. La "santé" de l'outil réparé est la somme de la "santé" des deux outils d'entrée, plus un bonus de 12%. -• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Outil + Matériel: Certains outils peuvent également être réparés en les combinant avec un élément dont il est fait. Par exemple, les pioches de fer peuvent être réparées avec des lingots de fer. Cela répare l'outil de 25%. -Armor counts as a tool. It is possible to repair and rename a tool in a single step.=L'armure compte comme un outil. Il est possible de réparer et de renommer un outil en une seule étape. -The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=L'enclume a une durabilité limitée et 3 niveaux de dommages: en bon état, légèrement endommagé et très endommagé. Chaque fois que vous réparez ou renommez quelque chose, il y a 12% de chances que l'enclume soit endommagée. Les enclumes ont également une chance d'être endommagées lorsqu'elles tombent de plus d'un bloc. Si une enclume très endommagée est à nouveau endommagée, elle est détruite. -Slightly Damaged Anvil=Enclume Légèrement Endommagée -Very Damaged Anvil=Enclume Très Endommagée -Repair and rename items=Réparer et renommer des objets diff --git a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr b/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr deleted file mode 100644 index 20281bd6bb..0000000000 --- a/mods/ITEMS/mcl_smithing_table/locale/mcl_anvils.ru.tr +++ /dev/null @@ -1,16 +0,0 @@ -# textdomain: mcl_anvils -Set Name=Дать имя -Repair and Name=Починить и дать имя -Inventory=Инвентарь -Anvil=Наковальня -The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=Наковальня позволяет ремонтировать инструменты и защиту, а также давать имена предметам. Но она имеет ограниченный срок службы. Не дайте ей упасть вам на голову, это может быть больно! -To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Чтобы воспользоваться наковальней, кликните по ней правой кнопкой. Наковальня имеет два входных отсека (слева) и один выходной. -To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Для переименования положите стопку предметов в один отсек, второй оставьте пустым. Наберите имя, нажмите [Enter] или “Дать имя” и заберите переименованные предметы из выходного отсека. -There are two possibilities to repair tools (and armor):=Есть два способа отремонтировать инструменты (и защиту): -• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Инструмент + Инструмент: Положите два инструмента одного типа во входные отсеки. “Здоровье” отремонтированного инструмента будет равно сумме “здоровья” каждого из них, плюс 12% бонус. -• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Инструмент + Материал: Некоторые инструменты можно также ремонтировать, добавляя к ним предмет, из которого они сделаны. Например, железные кирки ремонтируются добавлением слитков железа. Таким способом инструмент восстанавливается на 25%. -Armor counts as a tool. It is possible to repair and rename a tool in a single step.=Защиты считается за инструмент. Можно ремонтировать и переименовывать за одно действие. -The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=Наковальня имеет ограниченный срок службы и 3 уровня износа: новая, немного изношенная, сильно повреждённая. Каждый раз, ремонтируя или переименовывая что-либо, вы имеете 12-процентный шанс повредить наковальню. Наковальни также могут повреждаться, когда они падают с высоте более 1 блока. Если повреждённая наковальня повреждается снова, то она уничтожается. -Slightly Damaged Anvil=Немного изношенная наковальня -Very Damaged Anvil=Сильно повреждённая наковальня -Repair and rename items=Ремонтирует и переименовывает предметы diff --git a/mods/ITEMS/mcl_smithing_table/locale/template.txt b/mods/ITEMS/mcl_smithing_table/locale/template.txt deleted file mode 100644 index ebc741c005..0000000000 --- a/mods/ITEMS/mcl_smithing_table/locale/template.txt +++ /dev/null @@ -1,16 +0,0 @@ -# textdomain: mcl_anvils -Set Name= -Repair and Name= -Inventory= -Anvil= -The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!= -To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.= -To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.= -There are two possibilities to repair tools (and armor):= -• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.= -• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.= -Armor counts as a tool. It is possible to repair and rename a tool in a single step.= -The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.= -Slightly Damaged Anvil= -Very Damaged Anvil= -Repair and rename items= From 6397b1349ba52155f73e5b5273fa5356187367f4 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Fri, 16 Apr 2021 13:51:57 +0200 Subject: [PATCH 21/43] fix crash --- mods/ITEMS/mcl_smithing_table/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index b57842d0f4..0c81157a30 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -26,7 +26,7 @@ minetest.register_node("mcl_smithing_table:table", { description = "Smithing table", stack_max = 64, - groups = {pickaxey = 2, deco_block = true}, + groups = {pickaxey = 2, deco_block = 1}, tiles = { "mcl_smithing_table_top.png", "mcl_smithing_table_front.png", "mcl_smithing_table_side.png", From 742aa2becb09167466de2988c47b5856afc75b21 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Fri, 16 Apr 2021 14:01:08 +0200 Subject: [PATCH 22/43] fix inventory not initialised --- mods/ITEMS/mcl_smithing_table/init.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index 0c81157a30..14094b2d57 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -35,7 +35,11 @@ minetest.register_node("mcl_smithing_table:table", { }, on_construct = function(pos) - minetest.get_meta(pos):set_string("formspec", formspec) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", formspec) + local inv = meta:get_inventory() + inv:set_size("input", 2) + inv:set_size("output", 1) end, _mcl_blast_resistance = 2.5, From 180d1f1140f469d565650789261a0772a28feff2 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Fri, 16 Apr 2021 14:00:14 +0000 Subject: [PATCH 23/43] Add first try of code for smithing table (Thanks to Fleckenstein), add _mcl_upgradable and _mcl_upgrade_item to every diamond tool/armor piece --- mods/ITEMS/mcl_armor/init.lua | 8 ++ mods/ITEMS/mcl_farming/hoes.lua | 4 +- mods/ITEMS/mcl_smithing_table/init.lua | 139 ++++++++++++++++++++++--- mods/ITEMS/mcl_tools/init.lua | 8 ++ 4 files changed, 143 insertions(+), 16 deletions(-) diff --git a/mods/ITEMS/mcl_armor/init.lua b/mods/ITEMS/mcl_armor/init.lua index b0c7ea5732..f394b8764b 100644 --- a/mods/ITEMS/mcl_armor/init.lua +++ b/mods/ITEMS/mcl_armor/init.lua @@ -81,6 +81,8 @@ minetest.register_tool("mcl_armor:helmet_diamond",{ }, on_place = armor.on_armor_use, on_secondary_use = armor.on_armor_use, + _mcl_upgradeable = true, + _mcl_upgrade_item = "mcl_armor:helmet_netherite" }) minetest.register_tool("mcl_armor:helmet_netherite",{ @@ -173,6 +175,8 @@ minetest.register_tool("mcl_armor:chestplate_diamond",{ }, on_place = armor.on_armor_use, on_secondary_use = armor.on_armor_use, + _mcl_upgradable = true, + _mcl_upgradeitem = "mcl_armor:chestplate_netherite" }) minetest.register_tool("mcl_armor:chestplate_netherite",{ @@ -265,6 +269,8 @@ minetest.register_tool("mcl_armor:leggings_diamond",{ }, on_place = armor.on_armor_use, on_secondary_use = armor.on_armor_use, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_armor:leggings_netherite" }) minetest.register_tool("mcl_armor:leggings_netherite",{ @@ -356,6 +362,8 @@ minetest.register_tool("mcl_armor:boots_diamond",{ }, on_place = armor.on_armor_use, on_secondary_use = armor.on_armor_use, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_armor:boots_diamond" }) minetest.register_tool("mcl_armor:boots_chain", { diff --git a/mods/ITEMS/mcl_farming/hoes.lua b/mods/ITEMS/mcl_farming/hoes.lua index e40b7f73d2..4391cedea4 100644 --- a/mods/ITEMS/mcl_farming/hoes.lua +++ b/mods/ITEMS/mcl_farming/hoes.lua @@ -256,6 +256,8 @@ minetest.register_tool("mcl_farming:hoe_diamond", { _mcl_diggroups = { hoey = { speed = 8, level = 5, uses = 1562 } }, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_tools:hoe_netherite" }) minetest.register_craft({ @@ -294,4 +296,4 @@ minetest.register_tool("mcl_farming:hoe_netherite", { _mcl_diggroups = { hoey = { speed = 8, level = 5, uses = uses.netherite } }, -}) \ No newline at end of file +}) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index b57842d0f4..adbac011bb 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -1,43 +1,152 @@ +--[[ +By EliasFleckenstein03 and Code-Sploit +]] + +--[[ +Netherite item / node strings + +Nodes: + +Ancient Debris mcl_nether:ancient_debris +Netherite Ingot mcl_nether:netherite_ingot +Netherite Scrap mcl_nether:netherite_scrap +Netherite Block mcl_nether:netheriteblock + +Items: + +Netherite Sword mcl_tools:sword_netherite +Netherite Pickaxe mcl_tools:pick_netherite +Netherite Axe mcl_tools:axe_netherite +Netherite Shovel mcl_tools:shovel_netherite +Netherite Hoe mcl_farming:hoe_netherite + +Netherite Helmet mcl_armor:helmet_netherite +Netherite Chestplate mcl_armor:chestplate_netherite +Netherite Leggings mcl_armor:leggings_netherite +Netherite Boots mcl_armor:boots_netherite +]] + +local S = minetest.get_translator("mcl_smithing_table") +mcl_smithing_table = {} + +-- Function to upgrade diamond tool/armor to netherite tool/armor +function mcl_smithing_table.upgrade_item(itemstack) + itemstack = ItemStack(itemstack) -- Copy the stack + + local def = itemstack:get_definition() + + if not def or not def._mcl_upgradeable then + return + end + + local itemname = itemstack:get_name() + + local upgrade_item = def._mcl_upgrade_item or itemname:gsub("diamond", "netherite") + + if upgrade_item == itemname then + return + end + + itemstack:set_name(upgrade_item) + + -- Reload the ToolTips of the tool + + tt.reload_itemstack_description(itemstack) + + -- Only return itemstack if upgrade was successfull + return itemstack +end + +-- Badly copied over from mcl_anvils + local formspec = "size[9,9]" .. - "label[0,4.0;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, "Inventory")) .. "]" .. + "label[0,4.0;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))) .. "]" .. "list[current_player;main;0,4.5;9,3;9]" .. mcl_formspec.get_itemslot_bg(0,4.5,9,3) .. "list[current_player;main;0,7.74;9,1;]" .. mcl_formspec.get_itemslot_bg(0,7.74,9,1) .. - "list[context;input;1,2.5;1,1;]" .. + "list[context;diamond_item;1,2.5;1,1;]" .. mcl_formspec.get_itemslot_bg(1,2.5,1,1) .. - "list[context;input;4,2.5;1,1;1]" .. + "list[context;netherite;4,2.5;1,1;]" .. mcl_formspec.get_itemslot_bg(4,2.5,1,1) .. - "list[context;output;8,2.5;1,1;]" .. + "list[context;upgraded_item;8,2.5;1,1;]" .. mcl_formspec.get_itemslot_bg(8,2.5,1,1) .. - "label[3,0.1;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, "Upgrade Gear")) .. "]" .. - "button[7,0.7;2,1;name_button;" .. minetest.formspec_escape("Upgrade Gear") .. "]" .. + "label[3,0.1;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Upgrade Gear"))) .. "]" .. "listring[context;output]".. "listring[current_player;main]".. "listring[context;input]".. "listring[current_player;main]" +local function reset_upgraded_item(pos) + local inv = minetest.get_meta(pos):get_inventory() + local upgraded_item -local function upgrade(itemstack) - itemstack:set_name(itemstack:get_name():gsub("diamond", "netherite")) + if inv:get_stack("netherite", 1):get_name() == "mcl_nether:netherite_ingot" then + upgraded_item = mcl_smithing_table.upgrade_item(inv:get_stack("diamond_item", 1)) + end + + inv:set_stack("upgraded_item", 1, upgraded_item) end minetest.register_node("mcl_smithing_table:table", { - description = "Smithing table", + description = S("Smithing table"), + -- ToDo: Add _doc_items_longdesc and _doc_items_usagehelp stack_max = 64, - groups = {pickaxey = 2, deco_block = true}, + groups = {pickaxey = 2, deco_block = 1}, tiles = { "mcl_smithing_table_top.png", "mcl_smithing_table_front.png", "mcl_smithing_table_side.png", - "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", - "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_bottom.png" + "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_side.png" }, + sounds = mcl_sounds.node_sound_metal_defaults(), + on_construct = function(pos) - minetest.get_meta(pos):set_string("formspec", formspec) - end, + local meta = minetest.get_meta(pos) + meta:set_string("formspec", formspec) + + local inv = meta:get_inventory() + + inv:set_size("diamond_item", 1) + inv:set_size("netherite", 1) + inv:set_size("upgraded_item", 1) + end, + + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + if listname == "diamond_item" and mcl_smithing_table.upgrade_item(stack) or listname == "netherite" and stack:get_name() == "mcl_nether:netherite_ingot" then + return stack:get_count() + end + + return 0 + end, + + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + return 0 + end, + + on_metadata_inventory_put = reset_upgraded_item, + + on_metadata_inventory_take = function(pos, listname, index, stack, player) + local inv = minetest.get_meta(pos):get_inventory() + + local function take_item(listname) + local itemstack = inv:get_stack(listname, 1) + itemstack:take_item() + inv:set_stack(listname, 1, itemstack) + end + + if listname == "upgraded_item" then + take_item("diamond_item") + take_item("netherite") + + -- ToDo: make epic sound + minetest.sound_play("mcl_smithing_table_upgrade", {pos = pos, max_hear_distance = 16}) + end + + reset_upgraded_item(pos) + end, _mcl_blast_resistance = 2.5, _mcl_hardness = 2.5 -}) \ No newline at end of file +}) diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index 7fbe667deb..2814d706c4 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -173,6 +173,8 @@ minetest.register_tool("mcl_tools:pick_diamond", { _mcl_diggroups = { pickaxey = { speed = 8, level = 5, uses = 1562 } }, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_tools:pick_netherite" }) minetest.register_tool("mcl_tools:pick_netherite", { @@ -370,6 +372,8 @@ minetest.register_tool("mcl_tools:shovel_diamond", { _mcl_diggroups = { shovely = { speed = 8, level = 5, uses = 1562 } }, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_tools:shovel_netherite" }) minetest.register_tool("mcl_tools:shovel_netherite", { @@ -546,6 +550,8 @@ minetest.register_tool("mcl_tools:axe_diamond", { _mcl_diggroups = { axey = { speed = 8, level = 5, uses = 1562 } }, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_tools:axe_netherite" }) minetest.register_tool("mcl_tools:axe_netherite", { @@ -670,6 +676,8 @@ minetest.register_tool("mcl_tools:sword_diamond", { swordy = { speed = 8, level = 5, uses = 1562 }, swordy_cobweb = { speed = 8, level = 5, uses = 1562 } }, + _mcl_upgradable = true, + _mcl_upgrade_item = "mcl_tools:sword_netherite" }) minetest.register_tool("mcl_tools:sword_netherite", { description = S("Netherite Sword"), From 61f3b4c69e7969ab36fae3320b9345e56ded0474 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 16 Apr 2021 16:03:56 +0200 Subject: [PATCH 24/43] Fix merge conflict with mcl_smithing_table --- mods/ITEMS/mcl_smithing_table/init.lua | 9 --------- 1 file changed, 9 deletions(-) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index a6f8ab6103..adbac011bb 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -103,7 +103,6 @@ minetest.register_node("mcl_smithing_table:table", { sounds = mcl_sounds.node_sound_metal_defaults(), on_construct = function(pos) -<<<<<<< HEAD local meta = minetest.get_meta(pos) meta:set_string("formspec", formspec) @@ -147,14 +146,6 @@ minetest.register_node("mcl_smithing_table:table", { reset_upgraded_item(pos) end, -======= - local meta = minetest.get_meta(pos) - meta:set_string("formspec", formspec) - local inv = meta:get_inventory() - inv:set_size("input", 2) - inv:set_size("output", 1) - end, ->>>>>>> 742aa2becb09167466de2988c47b5856afc75b21 _mcl_blast_resistance = 2.5, _mcl_hardness = 2.5 From f967aa3d51c2784ab1ff30a5bb5badd3e6ae5756 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Sun, 18 Apr 2021 00:10:11 +0200 Subject: [PATCH 25/43] remove unuseful code --- mods/PLAYER/mcl_spawn/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/PLAYER/mcl_spawn/init.lua b/mods/PLAYER/mcl_spawn/init.lua index 441db28b7c..b8c746d1fd 100644 --- a/mods/PLAYER/mcl_spawn/init.lua +++ b/mods/PLAYER/mcl_spawn/init.lua @@ -397,9 +397,9 @@ end -- false otherwise. mcl_spawn.get_bed_spawn_pos = function(player) local spawn, custom_spawn = nil, false - if player ~= nil and player:is_player() then + if player and player:is_player() then local attr = player:get_meta():get_string("mcl_beds:spawn") - if attr ~= nil and attr ~= "" then + if attr and attr ~= "" then spawn = minetest.string_to_pos(attr) custom_spawn = true end From 4aa6421faf1bd3dabfaa53454ad06fbd21f596ec Mon Sep 17 00:00:00 2001 From: AFCMS Date: Sun, 18 Apr 2021 00:27:51 +0200 Subject: [PATCH 26/43] performance optimisation --- mods/ITEMS/mcl_beds/functions.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_beds/functions.lua b/mods/ITEMS/mcl_beds/functions.lua index 86f6a68523..545b03be78 100644 --- a/mods/ITEMS/mcl_beds/functions.lua +++ b/mods/ITEMS/mcl_beds/functions.lua @@ -6,6 +6,8 @@ local player_in_bed = 0 local is_sp = minetest.is_singleplayer() local weather_mod = minetest.get_modpath("mcl_weather") ~= nil local explosions_mod = minetest.get_modpath("mcl_explosions") ~= nil +local spawn_mod = minetest.get_modpath("mcl_spawn") +local worlds_mod = minetest.get_modpath("mcl_worlds") -- Helper functions @@ -76,7 +78,7 @@ local function lay_down(player, pos, bed_pos, state, skip) bed_center = {x = bed_pos.x - dir.x/2, y = bed_pos.y + 0.1, z = bed_pos.z - dir.z/2} -- save respawn position when entering bed - if minetest.get_modpath("mcl_spawn") and mcl_spawn.set_spawn_pos(player, bed_pos, false) then + if spawn_mod and mcl_spawn.set_spawn_pos(player, bed_pos, nil) then minetest.chat_send_player(name, S("New respawn position set!")) end @@ -297,7 +299,7 @@ function mcl_beds.on_rightclick(pos, player, is_top) if player:get_meta():get_string("mcl_beds:sleeping") == "true" then return end - if minetest.get_modpath("mcl_worlds") then + if worlds_mod then local dim = mcl_worlds.pos_to_dimension(pos) if dim == "nether" or dim == "end" then -- Bed goes BOOM in the Nether or End. From 498b1c792a7ebb7fa80c79aa1af74189109f59e1 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Thu, 22 Apr 2021 12:07:30 +0000 Subject: [PATCH 27/43] Fix not able to put diamond tools in the smithing_table --- mods/ITEMS/mcl_smithing_table/init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index adbac011bb..02112ab145 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -35,7 +35,7 @@ function mcl_smithing_table.upgrade_item(itemstack) local def = itemstack:get_definition() - if not def or not def._mcl_upgradeable then + if not def or not def._mcl_upgradable then return end @@ -58,6 +58,7 @@ function mcl_smithing_table.upgrade_item(itemstack) end -- Badly copied over from mcl_anvils +-- ToDo: Make better formspec local formspec = "size[9,9]" .. "label[0,4.0;" .. minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))) .. "]" .. From 24cc4318e24ab60596c67a569de09f0fb0a6a946 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Thu, 22 Apr 2021 12:11:47 +0000 Subject: [PATCH 28/43] Add crafting recipe for smithing table --- mods/ITEMS/mcl_smithing_table/init.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index 02112ab145..e8eb261281 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -151,3 +151,12 @@ minetest.register_node("mcl_smithing_table:table", { _mcl_blast_resistance = 2.5, _mcl_hardness = 2.5 }) + +minetest.register_craft({ + output = "mcl_smithing_table:table", + recipe = { + {"mcl_core:iron_ingot", "mcl_core:iron_ingot", ""}, + {"group:wood", "group:wood", ""}, + {"group:wood", "group:wood", ""} + } +}) From 0147da7270885889ac37aff714595fd3d49bba88 Mon Sep 17 00:00:00 2001 From: Code-Sploit Date: Thu, 22 Apr 2021 13:38:00 +0000 Subject: [PATCH 29/43] Add unofficial MC-textures (credits to NO11) --- mods/ITEMS/mcl_smithing_table/init.lua | 5 ++--- .../textures/mcl_smithing_table_bottom.png | Bin 206 -> 467 bytes .../textures/mcl_smithing_table_front.png | Bin 312 -> 496 bytes .../textures/mcl_smithing_table_side.png | Bin 315 -> 538 bytes .../textures/mcl_smithing_table_top.png | Bin 260 -> 467 bytes 5 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index e8eb261281..971c306fd8 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -50,7 +50,6 @@ function mcl_smithing_table.upgrade_item(itemstack) itemstack:set_name(upgrade_item) -- Reload the ToolTips of the tool - tt.reload_itemstack_description(itemstack) -- Only return itemstack if upgrade was successfull @@ -97,8 +96,8 @@ minetest.register_node("mcl_smithing_table:table", { groups = {pickaxey = 2, deco_block = 1}, tiles = { - "mcl_smithing_table_top.png", "mcl_smithing_table_front.png", "mcl_smithing_table_side.png", - "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_side.png" + "mcl_smithing_table_top.png", "mcl_smithing_table_bottom.png", "mcl_smithing_table_side.png", + "mcl_smithing_table_side.png", "mcl_smithing_table_side.png", "mcl_smithing_table_front.png" }, sounds = mcl_sounds.node_sound_metal_defaults(), diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png index 59833b5ea20686a3eae16a005d9abec43bcd9022..c8883dab085ffb8b9dd44d97b047c3391d8b8afd 100644 GIT binary patch delta 441 zcmV;q0Y?7L0n-DJB!32COGiWizW`(aO0om*$N&HU32;bRa{vGf6951U69E94oEQKA z00(qQO+^Rg1Qrb!2JV+U;s5{vU`a$lR5;6hlR>iMFbG5+AlX%3BschT{{#NWQH+>{ zEyW&JjaC$bhHkaw&(BYY2&zg%0HCV;d)$58i^#|)085FS5`O_i1SzFUvz+1pqBYia z-D?4I&MeDQpr%_|%H3j^dOO(=<_Qy=^hi^8j*pZgQ*YjY`g$ob$KocqLW+0(6l& zg>Bman5GFcqkojb^ZC3yw}^ZJda~9^YYh=$nx;`W&-2)<4~vK$Amu!YI?(x)QgC-_ ztz$E~>2A(CndmIyId=EalSE{oz29%#ot*P7kSd?g=OShwI9z*VaQBOdeNswkJX_aB zMDW9rsq;})mSwqE*UWBC1X$N~3``NhyH>Q6+ox%*kur0}%!USXP*v6M2GJU?-`~rW j&b7Q=H>34Gp=SIAef`&6e@-v*00000NkvXXu0mjf*dEM1 delta 178 zcmV;j08RhX1I_`EB!87jL_t(Ijbo6KmirIFUh-0K>?9)&#^`*Q7>I`HV}LRAMFhbT zAR30z`N(2$13)H%1VD6oIs@50IXi1Yc#^tq8NZL*&>T0XDcwU0qB_tUj{;!$HEV7R5-T(jq07*qoM6N<$f&`>UAOHXW diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png index 55875ef5459ab6e0bc4ac530c51d8b97e044ff7b..3b473fe9ae4851c0ef5a6a8b5d239f58bcb0ad86 100644 GIT binary patch delta 470 zcmV;{0V)2t0`LQnB!32COGiWizW`(aO0om*$N&HU32;bRa{vGf6951U69E94oEQKA z00(qQO+^Rg1QrbzD#cV`KmY&%eMv+?R5;6(lS^+CF%*SA-+Mhw9u=%A#G@z`cDGfAgSf;f`pEBW|7j*s19v46;%LC%?+Ga_>ITvQcR z#d}YT5mhC|xQ|mxhzO^6GLX%Tq9|yZ=2?}pEIGwkUlHuJE8{>HX1Jw{=ZQ34qCDLQxcy-m?Ny zO4y)*J~2w{FHP@$QhMXv^#^Xgeq$~IJy%r^8cd3D2O@4CH=(5oVa$u2ORa5NfNric zxU3(jL!j;xG40G{!+fVSICLZ<&I&NI$Isa9ZA_>LUQZ92gqZm8{T3C$IY_B9ZwLYN zeb%D?EIH>s(ZLUo^>Gd!LfrpUyI(E=xU05!>pbz)Oh+-Dv8^ip0*2?RP=pnKcK`qY M07*qoM6N<$f>7+zN&o-= delta 285 zcmV+&0pkAf1GoZ^B!B-&L_t(I%Y~B74naW-h36G65{ciiU?pt)#D?6BV8@;Z@gN>| z_$E0`&AnKhw5QXanRXgB+d~Aa^)61Pvp8R@laKWvXJ1|`u^>V*=yV6h<$LH7`9Xzw zu@e1x9YWD)Mh`?l9{+Y8M9N;m-ckE7I|*^T%fWVn1ZmZ|?APqa`^>v;u~zw4r^s4Cuj zx~@Z2>ALRN4~_{%QUjvH549JRn4-j_}QgAJXd^gQ_9Wu zRK}5J<~?bel6ij|k8S2XObRmZnM|k0wGhIIfr@Z_5m6EDZ|=ww&;89EDuRlT=Q#j* zo|6p>RQ1FlPx@0+Q$z&k9Qv30^7RkOkJn6BxBYzRU3zMVLl0zC)m#CO&E|aVs&71v z{Yl;%D}->=`t@N?G3a|Oo&hsENl47Ns+V-bczk{r0wO&p6QK(y^5Bj6QwgAZbiSozee`c*e?`vj9Io2KCpoM@)&pG&$A00000NkvXXu0mjf DWtQuy delta 289 zcmV++0p9+a1iJ!|BYyz`NklyX+Vj=`ya?nZy_^*mKJ7mASwK#h}+8Y0lWf zLl_4Z`eJUh>ve>r)s7a35I^ttg207*&}{@o#R8J+xTky{xqpnl2yhQ-v&*!A*U@@&rQR00000NkvXXu0mjfp(=)M diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png index 7099674fab65c127fec680e26f4dc6595d4837c3..c8883dab085ffb8b9dd44d97b047c3391d8b8afd 100644 GIT binary patch delta 441 zcmV;q0Y?6W0@DMKB!32COGiWizW`(aO0om*$N&HU32;bRa{vGf6951U69E94oEQKA z00(qQO+^Rg1Qrb!2JV+U;s5{vU`a$lR5;6hlR>iMFbG5+AlX%3BschT{{#NWQH+>{ zEyW&JjaC$bhHkaw&(BYY2&zg%0HCV;d)$58i^#|)085FS5`O_i1SzFUvz+1pqBYia z-D?4I&MeDQpr%_|%H3j^dOO(=<_Qy=^hi^8j*pZgQ*YjY`g$ob$KocqLW+0(6l& zg>Bman5GFcqkojb^ZC3yw}^ZJda~9^YYh=$nx;`W&-2)<4~vK$Amu!YI?(x)QgC-_ ztz$E~>2A(CndmIyId=EalSE{oz29%#ot*P7kSd?g=OShwI9z*VaQBOdeNswkJX_aB zMDW9rsq;})mSwqE*UWBC1X$N~3``NhyH>Q6+ox%*kur0}%!USXP*v6M2GJU?-`~rW j&b7Q=H>34Gp=SIAef`&6e@-v*00000NkvXXu0mjfT3pNY delta 232 zcmV{%3i`-Z1@(HbuK!6siwFu-mD)1ecs&WZv!C|@pLt2S$v)zT~>+MXb zLfTsBz^_E!jVsvzXxqPgh$HZU(4Jm0D~LPj9ieAo1>jTmvu*8|Eesn~ZvH5O Date: Thu, 22 Apr 2021 13:59:53 +0000 Subject: [PATCH 30/43] Add all pixel-perfection textures for netherite --- .../textures/mcl_armor_boots_netherite.png | Bin 385 -> 400 bytes .../mcl_armor_chestplate_netherite.png | Bin 494 -> 574 bytes .../textures/mcl_armor_helmet_netherite.png | Bin 472 -> 535 bytes .../textures/mcl_armor_inv_boots_netherite.png | Bin 173 -> 6939 bytes .../mcl_armor_inv_chestplate_netherite.png | Bin 244 -> 7724 bytes .../mcl_armor_inv_helmet_netherite.png | Bin 162 -> 6443 bytes .../mcl_armor_inv_leggings_netherite.png | Bin 176 -> 6796 bytes .../textures/mcl_armor_leggings_netherite.png | Bin 458 -> 459 bytes .../textures/farming_tool_netheritehoe.png | Bin 167 -> 6478 bytes .../textures/mcl_smithing_table_bottom.png | Bin 467 -> 318 bytes .../textures/mcl_smithing_table_front.png | Bin 496 -> 504 bytes .../textures/mcl_smithing_table_side.png | Bin 538 -> 453 bytes .../textures/mcl_smithing_table_top.png | Bin 467 -> 432 bytes .../textures/default_tool_netheriteaxe.png | Bin 184 -> 7209 bytes .../textures/default_tool_netheritepick.png | Bin 188 -> 7242 bytes .../textures/default_tool_netheriteshovel.png | Bin 161 -> 6414 bytes .../textures/default_tool_netheritesword.png | Bin 210 -> 6985 bytes tools/Texture_Converter.py | 3 ++- 18 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png index 245512c28c194446c675d68b8c8da7e7471e1353..39f84afb14e09b06d3fc1fc1ce9ef10f0488a465 100644 GIT binary patch delta 313 zcmZoQHY_jm8rRvsj0Ssft7&)$F+qfNE(b%t#b2I ZGSez?>!|FO>;URu@O1TaS?83{1ORkVWj6o- delta 298 zcmbQh+{ip3p(|DpSCS_4%u zmIV0)GdMiEkp|)y^{DR6t4HgvvMz7hFyYIT4HGs9%;ECkG4}H1 z@#QJh5->B-7c&z%w$>pa;6^}zKzR-W!{Yy3x$7?aGy~07Epd$~Nl7e8wMs5Z1yT$~ z21bUu1}3_OCLxA~R>sCwrpDR^237_JulOrvP&DM`r(~v8LNzF3(J?#d-~yly22WQ% Jmvv4FO#m~%Ts!~( diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png index c2eb42facea0a0c9901dec4b7d65067e9b4930ae..8e3a383667a1a4a85a3ce4e2a10c724ef4e99c91 100644 GIT binary patch delta 467 zcmaFIypLsq1SbbG0|UcU=e}(d747S70(?STf&4Ue12GX1NeS_)?8s7WQ&lB}j3_U8 zSs5K2ooFu`Nl8fs1qEF#4H+332?+^PBLih+<*MAs|NsC0cquXqsGqSU$S;_|;n|He z5GTpo-9?yZcg!>(hrPtp*OmP#ix{t^`4&IZFF>JBo-U3d9>?DXU98VLY`{^{%s!>9 z^7a4vH++|Nt~FVeQG3?&po-D)!X;ao+4*EDS}*hXN33|S@?*wB&Lf}H8sDjMe0^^2 zW{~}M(#Eqp1av(&Jlc9WNUVIK9@|Qe?R(r6(q_qV1bZs1N;`+AiRlNy{?z4}(5R8`C;)V3x&B4~Z{=He4~r||Id zEj1~e=9#-_m-e^bI*SSY3#F2RCZ4sus$Ze?_H6zxzOVm>#fN$U;rF|LGAkV9Ozu(s(gyUuYKdz^NlIc#s@3FP zMt)HvqYy)5D^qhTQ&VjN11kdqj%y1|CU0bvQN)m`?3U~R8o=P`>gTe~DWM4fbNI3j delta 374 zcmdnT@{W0e1SbnK0|P_A=H%@Y747S#1AIbUf&AF8SbGEOvaB*sOZz|bo|~Oo-(aV9Sz~+qy&W?%PENQ`KD_ zS3X@^F26|qT+5*a8`c?Y71gx*s?raKAOY*M$Z?%0(hQ#T` zPTDb(N@X3Gy3IY}PBy-H@+xytmeP_OwY-@882J}_ZwgGZlAV6BG+JKZ>iqpRj8~Ji zzvl!Wem(gDql~DbNr<7Lm9epvsj;?!ft7*5EB;EE$&5@giWoApgAOhL1_FbptDnm{ Hr-UW|*S3p9 diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png index f3b054735233d34317eca43a98d65323a27db20a..c35f112470b4e53675b373be3c74bad526adc7b7 100644 GIT binary patch delta 415 zcmcb?Je_5N1SbbG0|UcU=e}(d747TI0(?STfqXF$5lIR0j3}?F>_`a-33*u=RV4*e zBLiJ6jc6~Ms@zBg1qB@)o%)IlNl8glQ`7(d|9k)4?g!M#SQ6wH%;50sMjD8dc0ZC^wBktD+ZKaPiO#2jkKg>xX9_jGT*?&WtvOp)nB!USxjjAy_Bn(_PEW8* z4~|mnID6RM$ED}c7Jn8a|FIx zf9Wv2c_V};Mg2mQ_sY<@2QCMA+v^zca?V)Fn{Yj9w$heEcc#2>S<`ytexS|#hhJ@! ze=Z4Vl&c6()7!j({+Ong9R* delta 334 zcmbQva)Wt-1SbnK0|P_A=H%@Y746mK0(?STfqWx%b$bKrvaGT|7e7x+``EBp6?p|N zF0TLo|F7TVDK~MxXg%l0n@isSm9m$3`ns||W#QviH1(`L?+g@L<>}%WVsZNI#f@Bt z3 zcNIJePU}fatvP2B5S^QOfybmm=7UGm)`Nflf7~{;^8J=IQ@(y*&F|k(So^Z;QSsuU zR8c)o=_hCXB+js!Yd9-RiShFn&fNLnRGaiyxeBZG!XN7lH5b<#t=`XWlWfN(#N6;Q zKW2?9cYtkTj?Np_i4)~s2DxmWFnJ}TjHsbWh@qjCv9Xn@v9^JMm4U%4{z{q2w-{v< WF=S>39b5qPDubu1pUXO@geCyYxqndr diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png index ec4183ed782bce5bc7b48d36bdee8bcd2a1bd070..a73c1b2fd59726fc3842f0b89d42a398e7a938ea 100644 GIT binary patch literal 6939 zcmeHLd0fotADSo1av8<(me&OJ+jq%gA4fyW$DsTu%R5~rTJ(1AeDsD>zTlTC)#DAZS8M0jq}Tki4JHn{2X@X4BhI~Un7HJ? zL!y7|B%AbpgXb;?^`0;|p!QYu@I_BId;8qKkX*2=(d7Ra&sB)Tm`M9^su)$n0 zOX1b&#FOdOo%Zi%t(aLsm)_lBp4Bm<>i5)+1Fu~zfH#VjYksTT71#Ht1F{hdxAfTV z)o^RKgJE0iEmceQy2cE9GUdCZDaZHBn=c6tfiuQ0|9wZSDCl~Ieo8^7Ehjg->lf_b zeqi>^o4dL@u3X_%_bhKk$;3O$Zrz;q{n(e^T+Z*< zXcrQ-f`9tRsX^0QkLIsGoi}KlW&dBJwEKBMd#safp-u4utI0@e)`~l=+PPUM#~;7;W7`R8a=Yj4wt4wI z49gZ4vi;O&+N~`nrj2l(WBtf=oUH`kb6wIF4m_PPXuih_M{-{0n8#%|ONVB-aonW^ zqNm-kO&hueFSYACtJ*O%ZLn`Y}Q`uX+o{DW^4_W(^%$B6h#~$Z(`vJPQ{_*4scf-@O z!?mj`HW8bSwf03<%-HDEg$fOeTGy(reC5(_zN)(%RI^Uz35WQP-`*i&`QQlH?e2gH zj=H$|H5H4LM;d=Uo6fy;GV4L#EHvULZdT)#tKBbLnRGSs-pO#e^P!r^d+L|G)p4@& zC%MmRFTT9gZffc)*3PVv4#n9Ej=yC6@VcG6bl2T%dhg9wJ5K(v!F8BLiT%aCI}6cm zh7Bh#Bwq^WDo$x4JCEyGShus|&7#1qWA7(9gx5a0Ix->xoRu=Yhlwelj zx+wZoBUV0X)+x(tOvAjmDcPr<9uv-*QS@?a&7$%6*sv67y%}8cNZ|1#5udnqT%+%k zOtm74gD8&;#pAxJ&l{7MA5dxjywBZOc)%%r#cO>3{oVybA0-}eJ%30truNRsU8B>T z&n~&}(z()n-0Gc^zJAnYj`?di$)e%Kgw@lMOMQ}-Lod2Loo=XGCfQlu>521evscLN zs%`33e)zTn)tjEx-d|a9DJJjujkNyet6Z_N#V+&gF5g!<*BzU@m+zBx=@rXst)^mj zW`jd{bXCs!9G_Aa%WQ^1A_r2z7_nJH0(jjJSbE56w%<%cW=hhrEmqm)lkq zPw=@`IkBS1e1%ZIN*4H9*h>7!bt_MJRA0yUKe$nKZ|w4z zG#W6ZI$;2p>UYxqU2RLj6?Zp|% z59S4{C5&7Vn4)1KQbHoBlsF2fIX>Q2VuJ_}BrrOHZAge$YDESwj)_+UejCMH4%-CL z#d&c?1&6UEDhD^izCX4%5Vzh zku*%Spa|6{KqV0IEq7(4q5&1c6AEzwPXG}VDuXagfIy@t%!33%0gTZwCgY(z6O}Oz zBHu8n7YFfZAqk5obTXAD0hE_QNvrhQci>1x0u!MljBbNHVNaf?C(4I~JOtLN%deEJNu&&hsJgTc&W(?X)^gvh+`k`VXAADPaSFu1b^KV*LnaLer?J zCB-XDu41!IZ9qg&P43qcNepcY0q|qf6eTB=F%0Op&BgXcuJ}MA;{+i&%T zpM)WTBp67*keCd`VT$6R@3U)FGM%2#FupM$2SA)bahc-Gc5BYRe(&S;a>kfkJcI{< ztVVf}FbZ;BgbF!L(Qc0ZKV%-t2s{}fC@vYOFbtzHNGQNTy$kplk0%q*w5%!N-#YKF zn1?{HAQITd=ZRqKbC`!A6vZ*M=M#;KzDxe6KEAZ~K#r+qIcCeakmlHskILVs#}I}Z76(>n2>u@2XF__VT_6HsG)BeTg%`-Oe6GAxIn~Mw9^{Md%7~iBs1AWJUPAfG&qsv#G8wh5;Zk zoQA+`K-P?`0LDjGgJJ+o5xzh|R)aS%hZX<;{z`r=gbJ0501E&B07*qoM6N<$f`tw@ ACjbBd diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png index f2f0ad5a953c213c783ba635e50ddbab19f87b8f..32fabb10f1734c511cbdb12d8c7ae000d91faed0 100644 GIT binary patch literal 7724 zcmeHLcU%+M+760^DkvxlNQfvR4w;!usvy#h^r9l5n9NKdNJvZ}0TmH+u?uz-6%iCc zTyYf}y4MxK0)hqXT?FASh-*c_ZxT@PyZi0^yw~+F;g@9QoacSs^S1MznPmZfUIw}& zbV($V0e7-{5b zM3MLOMP7~+%0Pwr^4msN6L}?z4wd9BSpU3q$(_2;YCo*A_GrScGmMg^ewryJW&&o?h8D5Ud1U_=J=|!0VN3zq?d#sDSPGGex!_rZ>5X$m1BQ9ifngy%^_}zuO)NjJJEZazX(zW^bUy3qR+3K6@L(Ry({oyJ8hE-nFfG zl=Mg)<~wlZ7)fb_zF8ieYZ1DTJk(>N^$;ZA_;O9H_ZJuIMaSzU)#Rf*G1oyP|z zY+o;G9iG)(E)Eo~P>9wo$e`L<**FYh9lRYk0?3vvcfK*W;>F_npVoFRf}JG04mEl$ zZ9C2}Z0U-pIGRLO22|e+?py}U#G^Qk^bgy${73I+xIQs-?|P6iD8r$&XkN&Ts`-IQ z)1UVJFz9Ui-E%CyAkE#e;)21-KcKt9 z6fJmidSO{^SI7L8lI>>UrP_PX*Ys;JKEJ2mTdO5|PW_xLw#OL56vr<**|Z#!`1kQN z4-b48?sKa0pOJ5K-{EeSJH*C1uc#k}8feXIj(9{OX)O`Dxdm|D+&*ry#MYX%Aj4_$ znMoFBBZKoOrY;kfvaozgv`a`?U_q$1US3g6LF)Ou$eLVh?%cU15qgG6R4H5MzA-dv!gp`69Fklx!xJ8AO1n7~damo-PM&Ro z4yL_Q#XtttZHhrwk*yTRi|_C3*yVLTQ~&w0GMNu^{3C-$nZDi)rT!Lt53cn@+mX!1 zl(IDun`S0Gj*x^t$h01{Ez8!>c*PRN#@m}s4K}E@u=eGTsMj05$@EfqR;_dcz4d&g zS*6h4ZvRyaSAFlLqqL0Sg0VaG^^C*lK|VG@=cb2N@(vy8`6uHRWuRK7`RNwUZ>>67 z>MH$xk8@9tt$D}4ZFOeS>|xQ@V&A{NQDSbJ{9*XfD`8zzEH`)BoUFU@o7bdPhGg#D zD^HvrNC%jyu8ek*+Bo}K?-+2ex^e5lNgsfklTTmQ-KluiH+}d1jpF1~x7oRqZZ?l> zZHa09{XVU#D~YsWs`T(-mI5M?OzMP0*9-Oa;h#J!S&PQ69CtCQP%GuSJ5ki@h8^6jxIbqve}r?Q)-He?ATK-93L^N5!8TjOkHt3 zHRsBUqH1m(sec9j7pCB7u`=%e$MYHbiN!@KSBj-`{H6Z<7#x-VHP4@cKQRRnyPZrf zP2m0;qy87pu{&WW6S87yLNEQn_}uQh?ky=+sBsmUtl0)QJha>WGG086X+l8wv3m-Q z=EX(f#D3dTY#+ykf0D?2CQQR{8V?Y_ObkGXZ-CDrzL+=);dGFVgD~w&c9~cpSMsE| zOB9g`^X0v!-F89APj|PT7G!6`N5b%4L#{`)?l*MBM#0JC! z5E|iQ76j1&fdFCAF`P|D`RF$_4+?=;MCdp$@;%Js@fkP|!3oPCmO6S27QjLB2P-6!SRpR`vcr7rxc>*PmwZom z|99fOVcpVhVo3sV{)v|RE93rB{ht848GM8&9w!t3)zW)Iy4}+22v4lJdyIHAAf7a+ zpB^=O`m6c~@;CnV^zFY<13~>m$yfRJhr52b>#IEQRp1}l^}}6X<$b2!=DjA!SXJyo9(F5!3D{EupQ5YL_)$K;!-jb7t zs`1U44V_7|-cH|Kg{?=!W5mkv&egvhIZ04TB2VKa23T|~V zk|ZdKR;_~EE5V%n=E7se&`@^4zvDC@8E_+EJX8HsR@PRHSqN z6|0c`>~%Zoa>BGZK}lvG3S=yPpe522v#@FqHTU-ZLx;qBlKX){zQ$dYq zcwZ<6HdNyq&~W17@GmotE4>amvvro#pBVYGeJj0dKoZGi&zZg(Sp^~@{v@u4pZk8- H*(v`6uU8}Z delta 217 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 GC;bzL%zMTF delta 134 zcmV;10D1qbGNJ*HBYyyCNklp1vs9R9E-ExS-&F zqBWOgmHm$mi-j8i5+`T~$N+SkVVYr>C<9=AhPeR7C&>ViLYNCcY?2H>HUx%=3P|KY oL^pt_K!h2BO%co>hEae400vrmFb;s=Z2$lO07*qoM6N<$g2jw94gdfE diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_netherite.png index af45363b3631abf9349a8c06d81f8e695803f45e..3ac1b844a3c6a2579fd45bd2cd2f92a2702d3fa5 100644 GIT binary patch literal 6796 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 delta 149 zcmV;G0BZk?HLwAYBYyyQNklgwV*1ZDuTCS>exXHT2~$QnSHECXPQK^Ww8q78uAhO7|8CdmMFg}B6NV*o7R z(7k|79H#;3@eMP8U^;+>I5q>YiDNYY850s88~^~6>7xT#Yz{4700000NkvXXu0mjf DUJN>} diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png index 3ddff72e3e8632345fbae461132e1f04ed3484f3..7411e0a705c17405fdcb8c1e3591a3a18f069426 100644 GIT binary patch delta 326 zcmX@be42SeLcLaiPlzi614FczO-7WLq=dMbh)7j-q`a(*s*-}PmWHyja&AIUeMLr9 zZsh;}|4X@+IRRBOmIV0)GdMiEkp|)pPq&2lBF|Q zmQSB)^*Cfg+%%b08X{S3!H$*HMklyzxK8!5gf_EGEz~mbX8SF)T|cB*#ZhGOghdK0 zp1LAO9>%Jt3yX4e`p%Pn5xV(F0!Qaz-BpL$9MevE9cuH65arP1`XH0gGU3D{hUoQD^Wt0{*G72#?wlX!hGBwpUFt9Q(;JCKXWO6T~j3S0iWw&Gp&`S)Su6{1- HoD!M<7P@Kc delta 326 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 delta 140 zcmV;70CWG&GN%EMBYyyHNkl=dz zjMUZt>nke#PcSk1PqIO=VX^R7!QpO6fB1ZctP{=B(6IyU z68380aa6Csm8rjKL4x~Ri2s+tu+zT;hua&TjWIlXwxw+2NV{`n1wCH9#@T46oQ6swdBvwPlyPrN<;vls{DK0 zecX%4$R_|xiJTGvLz&N`XsEaEwK_tBF?WT3s@Z`_@n z^DdAopU>waW*<0Qdt`9;i->(vN@+Y>*G5F}!;z`;QB{^@xmefCZcYSP*L4g`5y87w zw3OSYX|0iS#>|EWa!^&(?*`EtuixLxl+LxhUN@ulKcQy)1%3V3U4Kq5@&Et;07*qo J1w^hwV1h>!$ZG%q diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png index 3b473fe9ae4851c0ef5a6a8b5d239f58bcb0ad86..81ed31c911a4837c350088c09cf27b9e240557a1 100644 GIT binary patch delta 478 zcmV<40U`eI1NZ}wB!3BTNLh0L01FcU01FcV0GgZ_00007bV*G`2jd3@0Wk}k0`yG) z00EatL_t(I%axK(Ya1~T#ed$FqLtWyiyPxxDGNRJP~%I#fxmc;Js3(Tq?DXm9EaU3 z!jka69=1|;H@S2`@H8_|nm03(^?H2)u+~!7HA*RrG3@ty`hRAOp)5$+Xsql+I$62=R<_lu~G|5wWa7=A33<$e+G(0t%TYAJF-GIQ2j& zMbk9w+KhKI*nhR2!dQIk0XqC=(`C1}6pPO(2E0_DWR7zdC3C8)2kvE_l1eQTJ_1VS z5YAl>VmGD8sIDHmUwc}`^Br=r;&4187pv|rvb0d~fA*KB?{9A9um>Z3(fr|r6xpk|F@{N1RTqF8mGM9J7`jUT0%DcD U;u9d1MF0Q*07*qoM6N<$g1ArH8vp00DhTL_t(I z%axN$Zxb;Tg+JeWJxm@ItSZE!tPn(^3;6$kfDN0nV^axM2&y#6B-8QOW-&8Kr%i%5 zlI1J;_&$!0-D0uGoI%c+oHHVF^juUGRmFQxj1g5O#<-7DN{9%jcruX9jG`!Ln&w%R zvMf2pe{*lIuFj6|FW788r`l||4EO(a@t1$e{Ne&}&UIoqhpA9{8?6D?pFi$n?FDtt zVS~D+$_uZAHjXOI-hZO1D!$w7J6-7}XB3Nsg&1N)VttHQMrhn6EJR1&&bjIWH62N;8 zfOC$1zmNAm#!Yzd5s?_HKwKvSNxYsUK$T^gT!#H7B9QzJphN`kJ)@mGeVJ?i!u5A4 znK1?ct+KdI4z|!L+ei#=La?=JuxA8vDT z`?@0OZuDc_7i;ZGLBQ@-4}hM^V*Fd}i3iTPq}HQd!}Hs`<;BJXaX{97$W40=f(Ke< zJb6!16lB)g)*PJQ6p_$e;l4SQQ9-lU(Tj$vdA(?zStM)ej7Fm+z(6wogD1Z#=L_2H Vryfx~5~u(G002ovPDHLkV1hdQy}bYc delta 486 zcmVA*G?IYdZ;XyvxCMf&^*Rx$M{M z$NS8?Zn0QIUWgbYF-An>zw4r^s4Cujx~@Z2>ALRN4Ev?yrmnh$OHrj1K~Nimxt&N%=QGZHgYgx&i&Xu|g0=N^=EBxdA^ zC-p|^t$)6A*hn`^jI~`b+pQ@kO1XwlGiBeTh&W=5fWtZX-5&abMfxfLEX#_m7>~_{ z%QUjvH549JRn4-j_}QgAJXd^gQ_9WuRK}5Jf95@Dnv!{c9FJ}0JxmHR@0m=e$F&f` ziGhl6eGyR+?r-kM6VLt49V&u~kmor7d7hIE3{>^RAW!;JQ&U6)=N$T%`||Y<%8%Df zSGWCq=v``uLl0zC)m#CO&E|aVs&71v{Yl;%D}->=`t@N?G3a|Oo&hsENl47Ns+V-b zOn7{L7Xl(ZCljFyC*!tli}~S3uYx#7q%W%*ez_-y4*&oF07*qoM6N<$g7cN<@c;k- diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png index c8883dab085ffb8b9dd44d97b047c3391d8b8afd..3384d2b250e0446b2a053806ddb2d735c71055c4 100644 GIT binary patch delta 406 zcmV;H0crlz1F!>-B!3BTNLh0L01FcU01FcV0GgZ_00007bV*G`2jd3@0suRCz8}fhQC&ktRRN4FjUIaweSBzY+lGvfjsqw${fk*Jb@D%f4}Y9 z>-GBd-f`QujsNU8j&WYs6@X<93L(&1Bj*gj`~3zW#)zu&cz---tpQ+W^xnDq1)#M? z2w}X^S|i3d5_vE{@11pBSwsXg8-caf@zd-}DUD>c)`4($F3+A)8ZQH=Dk-ILc7N}k z-aE_8@4U_*WBh|rNM%I~wvE>?{36r`#rac3Qt<2VM-ERx?nNL4ANoH_vfBIKM; zFV0xAxkdmY@_(HJXLGSUp=)s!*v-toT`)65gj(yVjWbrx`4lW7zk}pFBEr7!14C8E zkU4+O88gGRyU(L+W|UGevw`64N-2?Z9&OyV?OTC&zyV{`n1wCH9#@T46oQ6swdBvwPlyPrN<;vls{DK0 zecX%4$R_|xiJTGvLz&N`XsEaEwK_tBF?WT3s@Z`_@n z^DdAopU>waW*<0Qdt`9;i->(vN@+Y>*G5F}!;z`;QB{^@xmefCZcYSP*L4g`5y87w zw3OSYX|0iS#>|EWa!^&(?*`EtuixLxl+LxhUN@ulKcQy)1%3V3U4Kq5@&Et;07*qo J1w^hwV1hCL$X);d diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png index 322bf45130946f4750019b2329efac3edcf6dc18..d9657367b6c189e629927530e94137a470e566a8 100644 GIT binary patch literal 7209 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 delta 157 zcmV;O0Al~CIJg0jBYyyYNkl6%V}dDlR#&M00000 LNkvXXu0mjf>*7A# diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png index 088283b0bf6ab4c414f001edadb471075b34ec0b..e4140dde7684add3bfa91bec6b4dbca49d19a00e 100644 GIT binary patch literal 7242 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 delta 161 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 delta 133 zcmV;00DAw9GNA#GBYpsANklx($w%1%&>StT{F;7K{th z3y3!Wq#2|Eq|x8Tj&uV+KwnXbGR?)V&R|UxX$J90)|_BsM4FArnyoFZ>8u%~5rmx` noXNKtIl#yQAk7pRKn?%^??+lk=UVA300000NkvXXu0mjfyyiC+ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png b/mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png index 4bc0809b12478fa4d29150871df6b303dec9cebe..589637a62e5cf0df635a53f1f8091d45ef568c3d 100644 GIT binary patch literal 6985 zcmeHLdpuNm{~tvnDWr>vF?p7$J!a<2<;+Yoxei7qLN}DooH=6#b1@e))LJ67(UaXS zO1jvMq|J8O+D%DGOPeH5_oO7HtCUEoo-;$GXZN?yuitNX|B4spe82C{`*Z(%zs^@7 zGyI2JI#}XxxZ(T&-%#xDNW;(2A=q!Hr*B{!&h%1p_*_jWtivl+3b8aE#cPt3C?3^I z#W~{bO>~`SdksSI^1( zadX-eW=`*(AA&RMyyeMNZ9gJz6Mg>Kjhi?)NpUK3TgS7}f!Ae+62E;JcY8|C%IZs- zdpocC`~F~YA))r#*ZcHO9eGnLL{Wa#&4L*PlKGy|QBmLMIbNPkS*yQjU7O_B`sl3r z6W5TaORB-g5c2VBN2a(Yc{~>{eSZGe(xxdMHOrc&b4-&`swJ_%v@OzIHqW5t3+6}8 z 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 Date: Thu, 22 Apr 2021 14:38:17 +0000 Subject: [PATCH 31/43] Add forgotten textures for netherite ingot, scrap and ancient debris --- .../mcl_nether_ancient_debris_side.png | Bin 8573 -> 6800 bytes .../mcl_nether_ancient_debris_top.png | Bin 7800 -> 6800 bytes .../textures/mcl_nether_netherite_ingot.png | Bin 222 -> 6360 bytes .../textures/mcl_nether_netherite_scrap.png | Bin 207 -> 6221 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png index 230f2cce361c510162b332ee4c028b5f68d74ca2..9891604029e55a39fd4d26859b84aa09ccb4d769 100644 GIT binary patch literal 6800 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 literal 8573 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 X74wsmTiyLS0RSk=Yrsln%|red>vFFm diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png index d354cc8a268c3c08ce8b724c504e03c47cebef38..ba68f658a54381c11cfaeb0bf8345292ccee1bc3 100644 GIT binary patch literal 6800 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 literal 7800 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 UB&(FQ`TcJgqNT4{rfwJhAB*}(+5i9m diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png index 90aab05632a87b234c41c5179621f895f26c38e1..11396119872e099953fb7d62db86805c4c7e79c9 100644 GIT binary patch literal 6360 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 delta 195 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 iJuFDh17vF?2LJ$q2g+KsahnzZ0000 Date: Thu, 22 Apr 2021 10:39:21 -0700 Subject: [PATCH 32/43] Fix #1587 --- .../models/3d_armor_entity.obj | 488 ++++++++++++++---- 1 file changed, 377 insertions(+), 111 deletions(-) diff --git a/mods/ITEMS/mcl_armor_stand/models/3d_armor_entity.obj b/mods/ITEMS/mcl_armor_stand/models/3d_armor_entity.obj index 052f692553..37bc521e98 100644 --- a/mods/ITEMS/mcl_armor_stand/models/3d_armor_entity.obj +++ b/mods/ITEMS/mcl_armor_stand/models/3d_armor_entity.obj @@ -1,79 +1,132 @@ -# Blender v2.73 (sub 0) OBJ File: '3d_armor_entity_3.blend' +# Blender v2.92.0 OBJ File: '' # www.blender.org mtllib 3d_armor_entity.mtl +o Cube +v 1.000000 1.000000 -1.000000 +v 1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 1.000000 +v 1.000000 -1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v -1.000000 -1.000000 -1.000000 +v -1.000000 1.000000 1.000000 +v -1.000000 -1.000000 1.000000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +usemtl Material +s off +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/4/2 7/6/2 8/7/2 +f 8/8/3 7/9/3 5/10/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/4/5 4/5/5 +f 6/11/6 5/10/6 1/1/6 2/13/6 o Player_Cube -v 2.200000 9.763893 1.200000 -v 2.200000 9.763893 -1.200000 +v 2.200000 9.763893 1.200001 v 2.200000 2.663871 1.200000 v 2.200000 2.663871 -1.200000 +v 2.200000 9.763893 -1.200000 v -2.200000 9.763893 -1.200000 -v -2.200000 9.763893 1.200000 -v -2.200000 2.663871 -1.200000 +v -2.200000 9.763893 1.200001 v -2.200000 2.663871 1.200000 -v 2.300000 13.863962 2.300000 -v 2.300000 13.863962 -2.300000 +v -2.200000 2.663871 -1.200000 +v 2.300000 13.863962 2.300001 v 2.300000 9.263885 2.300000 -v 2.300000 9.263885 -2.300000 -v -2.300000 13.863962 -2.300000 -v -2.300000 13.863962 2.300000 -v -2.300000 9.263885 -2.300000 +v 2.300000 9.263885 -2.299999 +v 2.300000 13.863962 -2.299999 +v -2.300000 13.863962 -2.299999 +v -2.300000 13.863962 2.300001 v -2.300000 9.263885 2.300000 +v -2.300000 9.263885 -2.299999 v -2.322686 2.473175 -1.300000 v -2.322686 2.473175 1.300000 v -4.713554 2.682348 1.300000 v -4.713554 2.682348 -1.300000 -v -1.686446 9.745432 -1.300000 -v -1.686446 9.745432 1.300000 +v -4.077313 9.954605 -1.299999 v -4.077313 9.954605 1.300000 -v -4.077313 9.954605 -1.300000 -v 4.077313 9.954605 -1.300000 -v 4.077313 9.954605 1.300000 +v -1.686446 9.745432 1.300000 +v -1.686446 9.745432 -1.299999 v 1.686446 9.745432 1.300000 -v 1.686446 9.745432 -1.300000 -v 4.713554 2.682348 -1.300000 -v 4.713554 2.682348 1.300000 v 2.322686 2.473175 1.300000 +v 4.713554 2.682348 1.300000 +v 4.077313 9.954605 1.300000 +v 1.686446 9.745432 -1.299999 v 2.322686 2.473175 -1.300000 +v 4.077313 9.954605 -1.299999 +v 4.713554 2.682348 -1.300000 +v 2.538733 2.980834 -1.210000 v 0.139099 2.938947 -1.200000 v 0.139099 2.938947 1.200000 -v 0.261266 -4.059988 1.200000 -v 0.261266 -4.059988 -1.200000 -v 2.660901 -4.018101 1.190000 -v 2.660901 -4.018101 -1.210000 v 2.538733 2.980834 1.190000 -v 2.538733 2.980834 -1.210000 -v -0.139099 2.938947 -1.200000 -v -0.139099 2.938947 1.200000 -v -0.261266 -4.059988 1.200000 -v -0.261266 -4.059988 -1.200000 +v 0.261266 -4.059988 -1.200000 +v 2.660901 -4.018101 -1.210000 +v 2.660901 -4.018101 1.190000 +v 0.261266 -4.059988 1.200000 v -2.538734 2.980834 -1.210000 v -2.538734 2.980834 1.190000 +v -0.139099 2.938947 1.200000 +v -0.139099 2.938947 -1.200000 +v -0.261266 -4.059988 1.200000 +v -0.261266 -4.059988 -1.200000 v -2.660901 -4.018101 -1.210000 v -2.660901 -4.018101 1.190000 +v 0.000000 -4.387500 -1.400000 +v 0.000000 -4.387500 1.400000 v -2.799999 -4.387500 1.390000 v -2.799999 -4.387500 -1.410000 v -2.800000 -0.812499 1.390000 v -2.800000 -0.812499 -1.410000 -v -0.000000 -4.387500 -1.400000 -v -0.000000 -4.387500 1.400000 -v -0.000000 -0.812499 1.400000 -v -0.000000 -0.812499 -1.400000 -v 2.800000 -0.812499 -1.410000 -v 2.800000 -0.812499 1.390000 -v 2.799999 -4.387500 -1.410000 -v 2.799999 -4.387500 1.390000 +v 0.000000 -0.812499 1.400000 +v 0.000000 -0.812499 -1.400000 +v 0.000000 -0.812499 -1.400000 v 0.000000 -4.387500 -1.400000 v 0.000000 -4.387500 1.400000 v 0.000000 -0.812499 1.400000 -v 0.000000 -0.812499 -1.400000 -v 2.267006 13.830965 2.267006 -v 2.267006 13.830965 -2.267006 +v 2.800000 -0.812499 -1.410000 +v 2.799999 -4.387500 -1.410000 +v 2.799999 -4.387500 1.390000 +v 2.800000 -0.812499 1.390000 +v 2.267006 13.830965 2.267007 +v 2.267006 13.830965 -2.267005 +v 2.267006 9.296881 -2.267005 v 2.267006 9.296881 2.267006 -v 2.267006 9.296881 -2.267006 -v -2.267006 13.830965 -2.267006 -v -2.267006 13.830965 2.267006 -v -2.267006 9.296881 -2.267006 +v -2.267006 13.830965 -2.267005 +v -2.267006 13.830965 2.267007 +v -2.267006 9.296881 -2.267005 v -2.267006 9.296881 2.267006 +v -4.168111 10.060661 1.681621 +v 1.741822 -5.305762 4.169018 +v 1.718504 -5.438008 3.407457 +v -6.641035 -3.963995 3.407457 +v 4.191429 8.586647 1.681621 +v -6.617718 -3.831752 4.169018 +v 4.168111 8.454401 0.920061 +v -4.191429 9.928415 0.920061 +v -4.191429 8.586648 1.681620 +v 6.617716 -3.831752 4.169018 +v 6.641035 -3.963997 3.407457 +v -1.718504 -5.438006 3.407457 +v 4.168111 10.060658 1.681621 +v -1.741822 -5.305762 4.169018 +v 4.191429 9.928414 0.920061 +v -4.168111 8.454404 0.920061 vt 0.250000 0.375000 vt 0.250000 0.000000 vt 0.312500 0.000000 @@ -81,6 +134,8 @@ vt 0.312500 0.375000 vt 0.437500 0.375000 vt 0.437500 0.500000 vt 0.312500 0.500000 +vt 0.437500 0.500000 +vt 0.437500 0.375000 vt 0.562500 0.375000 vt 0.562500 0.500000 vt 0.437500 0.000000 @@ -97,97 +152,308 @@ vt 0.750000 1.000000 vt 0.625000 1.000000 vt 0.875000 0.750000 vt 0.875000 1.000000 +vt 0.750000 1.000000 +vt 0.750000 0.750000 vt 0.750000 0.500000 +vt 0.875000 0.750000 vt 0.875000 0.500000 vt 1.000000 0.750000 vt 1.000000 0.500000 vt 0.750000 0.375000 +vt 0.750000 0.500000 vt 0.812500 0.500000 vt 0.812500 0.375000 vt 0.687500 0.375000 vt 0.687500 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.375000 +vt 0.687500 0.375000 +vt 0.625000 0.375000 +vt 0.625000 0.000000 vt 0.687500 0.000000 vt 0.750000 0.000000 +vt 0.687500 0.000000 +vt 0.812500 0.375000 vt 0.812500 0.000000 vt 0.875000 0.375000 vt 0.875000 0.000000 +vt 0.812500 0.375000 +vt 0.812500 0.000000 +vt 0.875000 0.000000 +vt 0.875000 0.375000 +vt 0.750000 0.375000 +vt 0.750000 0.000000 +vt 0.687500 0.375000 +vt 0.687500 0.000000 +vt 0.687500 0.375000 +vt 0.687500 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.375000 +vt 0.750000 0.500000 +vt 0.687500 0.500000 +vt 0.750000 0.375000 +vt 0.812500 0.375000 +vt 0.812500 0.500000 +vt 0.750000 0.500000 vt 0.125000 0.375000 vt 0.062500 0.375000 vt 0.062500 0.500000 vt 0.125000 0.500000 vt 0.187500 0.375000 +vt 0.125000 0.375000 +vt 0.125000 0.500000 vt 0.187500 0.500000 vt 0.000000 0.375000 vt 0.000000 0.000000 vt 0.062500 0.000000 +vt 0.062500 0.375000 +vt 0.250000 0.375000 +vt 0.250000 0.000000 +vt 0.187500 0.000000 +vt 0.187500 0.375000 +vt 0.125000 0.000000 +vt 0.062500 0.000000 +vt 0.187500 0.375000 vt 0.187500 0.000000 vt 0.125000 0.000000 -vt 0.437500 0.875000 -vt 0.437500 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.875000 -vt 0.250000 0.875000 -vt 0.312500 0.875000 -vt 0.312500 0.656250 -vt 0.250000 0.656250 -vt 0.500000 0.875000 -vt 0.437500 0.656250 -vt 0.500000 0.656250 -vt 0.375000 0.656250 -vt 0.312500 1.000000 -usemtl Armor +vt 0.125000 0.375000 +vt 0.125000 0.375000 +vt 0.125000 0.500000 +vt 0.062500 0.500000 +vt 0.062500 0.375000 +vt 0.187500 0.375000 +vt 0.125000 0.375000 +vt 0.125000 0.000000 +vt 0.187500 0.000000 +vt 0.062500 0.000000 +vt 0.125000 0.000000 +vt 0.250000 0.375000 +vt 0.187500 0.375000 +vt 0.187500 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.375000 +vt 0.062500 0.375000 +vt 0.062500 0.000000 +vt 0.000000 0.000000 +vt 0.187500 0.375000 +vt 0.187500 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.375000 +vt 0.381250 0.832812 +vt 0.381250 0.845312 +vt 0.375000 0.845312 +vt 0.375000 0.832812 +vt 0.362500 0.832812 +vt 0.368750 0.832812 +vt 0.368750 0.810938 +vt 0.362500 0.810938 +vt 0.387500 0.832812 +vt 0.381250 0.832812 +vt 0.381250 0.810938 +vt 0.387500 0.810938 +vt 0.375000 0.832812 +vt 0.368750 0.832812 +vt 0.368750 0.810938 +vt 0.375000 0.810938 +vt 0.381250 0.832812 +vt 0.375000 0.832812 +vt 0.375000 0.810938 +vt 0.381250 0.810938 +vt 0.375000 0.845312 +vt 0.368750 0.845312 +vt 0.381250 0.832812 +vt 0.381250 0.810938 +vt 0.375000 0.810938 +vt 0.375000 0.832812 +vt 0.375000 0.832812 +vt 0.375000 0.810938 +vt 0.368750 0.810938 +vt 0.368750 0.832812 +vt 0.387500 0.832812 +vt 0.387500 0.810938 +vt 0.381250 0.810938 +vt 0.381250 0.832812 +vt 0.362500 0.832812 +vt 0.362500 0.810938 +vt 0.368750 0.810938 +vt 0.368750 0.832812 +vt 0.381250 0.832812 +vt 0.375000 0.832812 +vt 0.375000 0.845312 +vt 0.381250 0.845312 +vt 0.368750 0.845312 +vt 0.375000 0.845312 +vt 0.500000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.750000 0.750000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.875000 0.750000 +vt 0.750000 0.750000 +vt 0.750000 1.000000 +vt 0.875000 1.000000 +vt 0.750000 0.500000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 1.000000 0.750000 +vt 1.000000 0.500000 +vt 0.032859 0.558649 +vt 0.032859 0.998468 +vt 0.362724 0.998468 +vt 0.362724 0.558649 +vt 0.032859 0.558649 +vt 0.362724 0.558649 +vt 0.362724 0.998468 +vt 0.032859 0.998468 +vt 0.039157 0.992309 +vt 0.039157 0.656118 +vt 0.060169 0.656118 +vt 0.060169 0.992309 +vt -0.003415 0.501261 +vt 0.368238 0.501261 +vt 0.368238 0.563203 +vt -0.003415 0.563203 +vt 0.368238 0.996797 +vt -0.003415 0.996797 +vt -0.003415 0.934855 +vt 0.368238 0.934855 +vt 0.394691 0.498800 +vt 0.394691 0.994336 +vt 0.363720 0.994336 +vt 0.363720 0.498800 +vt 0.032859 0.998468 +vt 0.032859 0.558649 +vt 0.362724 0.558649 +vt 0.362724 0.998468 +vt 0.032859 0.998468 +vt 0.362724 0.998468 +vt 0.362724 0.558649 +vt 0.032859 0.558649 +vt 0.039157 0.656118 +vt 0.039157 0.992309 +vt 0.060169 0.992309 +vt 0.060169 0.656118 +vt -0.003415 0.996797 +vt 0.368238 0.996797 +vt 0.368238 0.934855 +vt -0.003415 0.934855 +vt 0.368238 0.501261 +vt -0.003415 0.501261 +vt -0.003415 0.563203 +vt 0.368238 0.563203 +vt 0.394691 0.994336 +vt 0.394691 0.498800 +vt 0.363720 0.498800 +vt 0.363720 0.994336 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn -0.0872 -0.9962 0.0000 +vn 0.0872 0.9962 0.0000 +vn -0.9962 0.0872 0.0000 +vn 0.9962 -0.0872 0.0000 +vn -0.9962 -0.0872 0.0000 +vn 0.9962 0.0872 0.0000 +vn -0.0872 0.9962 0.0000 +vn 0.0872 -0.9962 0.0000 +vn -0.0175 0.9998 0.0000 +vn 0.0175 -0.9998 0.0000 +vn 0.9998 0.0175 0.0000 +vn 0.0042 0.0001 1.0000 +vn -0.0042 -0.0001 -1.0000 +vn -0.9998 -0.0175 0.0000 +vn 0.0175 0.9998 0.0000 +vn 0.9998 -0.0175 0.0000 +vn 0.0042 -0.0001 -1.0000 +vn -0.0042 0.0001 1.0000 +vn -0.9998 0.0175 0.0000 +vn -0.0175 -0.9998 0.0000 +vn -0.0036 -0.0000 1.0000 +vn 0.0036 0.0000 -1.0000 +vn -0.0036 0.0000 -1.0000 +vn 0.0036 -0.0000 1.0000 +vn 0.0302 0.1710 0.9848 +vn -0.0302 -0.1710 -0.9848 +vn 0.1710 0.9698 -0.1737 +vn 0.9848 -0.1736 0.0000 +vn -0.9848 0.1736 -0.0000 +vn -0.1710 -0.9698 0.1736 +vn -0.0302 0.1710 0.9848 +vn 0.0302 -0.1710 -0.9848 +vn -0.1710 0.9698 -0.1736 +vn 0.9848 0.1736 0.0000 +vn -0.9848 -0.1736 -0.0000 +vn 0.1710 -0.9698 0.1736 +usemtl None s off -f 1/1 3/2 4/3 2/4 -f 5/5 6/6 1/7 2/4 -f 8/6 7/5 4/8 3/9 -f 5/5 2/4 4/3 7/10 -f 7/10 8/11 6/12 5/5 -f 8/11 3/13 1/14 6/12 -f 9/15 11/16 12/17 10/18 -f 13/19 14/20 9/21 10/18 -f 12/22 11/23 16/20 15/19 -f 13/19 10/18 12/17 15/24 -f 14/22 13/19 15/24 16/25 -f 9/26 14/22 16/25 11/27 -f 17/28 18/24 19/29 20/30 -f 24/31 23/32 22/24 21/28 -f 23/31 24/14 20/13 19/33 -f 24/31 21/28 17/34 20/33 -f 21/28 22/30 18/35 17/34 -f 22/30 23/36 19/37 18/35 -f 27/30 31/35 30/37 26/36 -f 28/28 32/34 31/35 27/30 -f 25/31 29/33 32/34 28/28 -f 26/31 30/33 29/13 25/14 -f 25/31 28/28 27/24 26/32 -f 32/28 29/30 30/29 31/24 -f 40/38 33/39 34/40 39/41 -f 36/42 38/38 37/41 35/43 -f 39/44 37/45 38/46 40/39 -f 34/1 35/2 37/47 39/42 -f 40/38 38/48 36/46 33/39 -f 33/42 36/47 35/48 34/38 -f 45/38 46/41 42/40 41/39 -f 41/42 42/38 43/48 44/47 -f 45/38 41/39 44/46 47/48 -f 42/1 46/42 48/47 43/2 -f 46/44 45/39 47/46 48/45 -f 44/42 43/43 48/41 47/38 -f 53/49 54/50 49/51 50/52 -f 51/53 52/54 50/55 49/56 -f 55/57 51/49 49/58 54/59 -f 52/52 56/54 53/55 50/60 -f 56/49 55/52 54/60 53/58 -f 52/52 51/51 55/61 56/54 -f 64/49 61/58 62/60 63/52 -f 57/52 59/60 61/55 64/54 -f 63/57 62/59 60/58 58/49 -f 58/53 60/56 59/55 57/54 -f 61/49 59/52 60/51 62/50 -f 57/52 64/54 63/61 58/51 -f 65/15 66/18 68/17 67/16 -f 69/19 66/18 65/21 70/20 -f 68/22 71/19 72/20 67/23 -f 69/19 71/24 68/17 66/18 -f 70/22 72/25 71/24 69/19 -f 65/26 67/27 72/25 70/22 +f 9/15/7 10/16/7 11/17/7 12/18/7 +f 13/19/8 14/20/8 9/21/8 12/18/8 +f 15/22/9 16/23/9 11/24/9 10/25/9 +f 13/19/10 12/18/10 11/17/10 16/26/10 +f 16/26/11 15/27/11 14/28/11 13/19/11 +f 15/27/12 10/29/12 9/30/12 14/28/12 +f 17/31/7 18/32/7 19/33/7 20/34/7 +f 21/35/8 22/36/8 17/37/8 20/34/8 +f 19/38/9 18/39/9 23/40/9 24/41/9 +f 21/35/10 20/34/10 19/33/10 24/42/10 +f 22/43/11 21/35/11 24/42/11 23/44/11 +f 17/45/12 22/43/12 23/44/12 18/46/12 +f 25/47/13 26/48/13 27/49/13 28/50/13 +f 29/51/14 30/52/14 31/53/14 32/54/14 +f 30/55/15 29/56/15 28/57/15 27/58/15 +f 29/51/10 32/54/10 25/59/10 28/60/10 +f 32/54/16 31/61/16 26/62/16 25/59/16 +f 31/61/12 30/63/12 27/64/12 26/62/12 +f 33/65/12 34/66/12 35/67/12 36/68/12 +f 37/69/17 38/70/17 34/66/17 33/65/17 +f 39/71/10 40/72/10 38/70/10 37/69/10 +f 36/73/18 35/74/18 40/75/18 39/76/18 +f 39/71/19 37/69/19 33/77/19 36/78/19 +f 38/79/20 40/80/20 35/81/20 34/82/20 +f 41/83/21 42/84/21 43/85/21 44/86/21 +f 45/87/22 46/88/22 47/89/22 48/90/22 +f 44/91/23 47/92/23 46/93/23 41/94/23 +f 43/95/24 48/96/24 47/97/24 44/98/24 +f 41/83/25 46/99/25 45/100/25 42/84/25 +f 42/101/26 45/102/26 48/103/26 43/104/26 +f 49/105/27 50/106/27 51/107/27 52/108/27 +f 52/109/28 51/110/28 53/111/28 54/112/28 +f 49/105/29 52/108/29 54/113/29 55/114/29 +f 51/115/30 50/116/30 56/117/30 53/118/30 +f 50/119/31 49/120/31 55/121/31 56/122/31 +f 54/123/32 53/124/32 56/125/32 55/126/32 +f 57/127/9 58/128/9 59/129/9 60/130/9 +f 61/131/11 62/132/11 60/133/11 59/134/11 +f 63/135/33 61/136/33 59/137/33 58/138/33 +f 62/139/34 64/140/34 57/141/34 60/142/34 +f 64/143/7 63/144/7 58/145/7 57/146/7 +f 62/139/8 61/147/8 63/148/8 64/140/8 +f 65/149/11 66/150/11 67/151/11 68/152/11 +f 69/153/35 70/154/35 66/155/35 65/156/35 +f 68/157/36 67/158/36 71/159/36 72/160/36 +f 72/161/7 71/162/7 70/163/7 69/164/7 +f 66/165/9 70/166/9 71/167/9 67/168/9 +f 69/153/8 65/156/8 68/169/8 72/170/8 +f 73/171/11 74/172/11 75/173/11 76/174/11 +f 77/175/9 74/172/9 73/176/9 78/177/9 +f 75/178/8 79/179/8 80/180/8 76/181/8 +f 77/175/12 79/182/12 75/173/12 74/172/12 +f 78/183/7 80/184/7 79/182/7 77/175/7 +f 73/185/10 76/186/10 80/184/10 78/183/10 +f 85/187/37 81/188/37 86/189/37 82/190/37 +f 87/191/38 83/192/38 84/193/38 88/194/38 +f 81/195/39 85/196/39 87/197/39 88/198/39 +f 85/199/40 82/200/40 83/201/40 87/202/40 +f 86/203/41 81/204/41 88/205/41 84/206/41 +f 82/207/42 86/208/42 84/209/42 83/210/42 +f 93/211/43 89/212/43 94/213/43 90/214/43 +f 95/215/44 91/216/44 92/217/44 96/218/44 +f 89/219/45 93/220/45 95/221/45 96/222/45 +f 93/223/46 90/224/46 91/225/46 95/226/46 +f 94/227/47 89/228/47 96/229/47 92/230/47 +f 90/231/48 94/232/48 92/233/48 91/234/48 From c46c07f8361f2239b91cb81190e0c5493a04809d Mon Sep 17 00:00:00 2001 From: NO11 Date: Thu, 22 Apr 2021 19:18:05 +0000 Subject: [PATCH 33/43] Makes fireworks rockets infinite in creative mode --- mods/ITEMS/mcl_fireworks/register.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_fireworks/register.lua b/mods/ITEMS/mcl_fireworks/register.lua index 08f07c5cbe..6ab55442ce 100644 --- a/mods/ITEMS/mcl_fireworks/register.lua +++ b/mods/ITEMS/mcl_fireworks/register.lua @@ -15,7 +15,9 @@ local function register_rocket(n, duration, force) local elytra = mcl_playerplus.elytra[user] if elytra.active and elytra.rocketing <= 0 then elytra.rocketing = duration - itemstack:take_item() + if not minetest.is_creative_enabled(user:get_player_name()) then + itemstack:take_item() + end minetest.sound_play("mcl_fireworks_rocket", {pos = user:get_pos()}) end return itemstack From 038066f0c551d7ad4d929c92ca5f71f7d6544032 Mon Sep 17 00:00:00 2001 From: Sven792 Date: Fri, 23 Apr 2021 09:52:09 +0200 Subject: [PATCH 34/43] Mirrored foodbar icons to fit the right-to-left change --- .../mcl_hunger/textures/hbhunger_bgicon.png | Bin 114 -> 170 bytes .../mcl_hunger/textures/hbhunger_icon.png | Bin 142 -> 209 bytes .../textures/mcl_hunger_icon_foodpoison.png | Bin 141 -> 218 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_bgicon.png b/mods/PLAYER/mcl_hunger/textures/hbhunger_bgicon.png index e02778a2702183d3a01039d42258c0cc956608b8..d21b1684786017be48a478eb8b15f6dd09153ea5 100644 GIT binary patch delta 141 zcmV;80CN9wssWHBe+h6%S#tmY3ljhU3ljkVnw%H_003M`L_t&-(~XeJ3cw%?1jpjh z()Is8vMG8`FIue7#~hd4fg}J(*=d;Vfr$wCnlxrU7o(Kfl;-iRxBwhhc_X%k18hp8 v^|CEJDb*g0ak|J$HGU&y@2?48MSv6Oh9~4Jahr_*0000<2SrXqu0mjf;Egy( delta 84 zcmZ3*STsS!&(hPyF{FYq`2ZUW3(Nn*27auYjJgVVM1J*$Hum-D$uJ-NpvAP=G08>q nKuAkKL#$w2e4>XySOX`6;dbM$1x|I*3_#%N>gTe~DWM4f%^Vz6 diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_icon.png b/mods/PLAYER/mcl_hunger/textures/hbhunger_icon.png index 9c1bb63e48bb6b84c273202e9b4c8688a6aa1c70..3830fdfc3cf99855334cccf433ebcdb0859ac689 100644 GIT binary patch delta 192 zcmeBUyvR5~vYw5Bf#JbKHUS{TS>O>_%)r1c48n{Iv*t(u1)Dux977~7C#NJNB)sU` z@b^3e>r!n#W1|I()8291{y)v^7LU=YB7=?pUvSO5P}-_iwP?nf13+*Hh(A1eD7}MW zQfI*dj^fE{)>t(6?BQVcx%~LJ{=;|8(cgc3^cJxcHuPy?Oxb><^ov1<_6%dA2h8Gq qI{*HEI(YKGgj!;-hUVg93=FDKx?dB+w>|;7hr!d;&t;ucLK6VU%upWy delta 124 zcmcb}*vB|QvXqH|fg%6%M0X&?RubeF45Wb|ZyEbUAm!}o;uuoFnC!rOS8$s^i|eC< z=gbtWj8vIVxJ^Hx$u7vcNOY;9gPs%9iQ`ioP8?JXcoJu4(fQ1&O>_%)r1c48n{Iv*t(u1$#VQ977~7C#NJNByfBX z{C%E*ReIZ=q!b5c9Y(vP|DsoyN~&CqNJ#pBQPgPR>rJ1gx*N`H1cFu|et7pYKMxNN z6A<&9P&>q^e8%@r%^e=6Ndm3!=hY|t`0-NP=}v9IYrDE%T&5ElcY7K%yqUI1LY-}O xhiDJaj{~bX?f&<#?fB83C}h@ZBxJ+GaJWu1qNLJLp=fS?83{1OV&@BHI7} From 827cd2d7b1d4d6980eaa564956b6ea7d467133a5 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 23 Apr 2021 13:42:42 +0200 Subject: [PATCH 35/43] Fix heads crash --- mods/ITEMS/mcl_heads/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_heads/init.lua b/mods/ITEMS/mcl_heads/init.lua index e7340242d8..55b2bf616b 100644 --- a/mods/ITEMS/mcl_heads/init.lua +++ b/mods/ITEMS/mcl_heads/init.lua @@ -90,7 +90,7 @@ local function addhead(name, texture, desc, longdesc, rangemob, rangefactor) local wdir = minetest.dir_to_wallmounted(diff) local itemstring = itemstack:get_name() - --local fakestack = ItemStack(itemstack) + local fakestack = ItemStack(itemstack) local idef = fakestack:get_definition() local retval if wdir == 0 or wdir == 1 then From a03e7f6f3a69ba1131f793e82854a51666c59d44 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 23 Apr 2021 13:46:20 +0200 Subject: [PATCH 36/43] Re-enable player ignition from lava --- mods/ENTITIES/mcl_burning/init.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mods/ENTITIES/mcl_burning/init.lua b/mods/ENTITIES/mcl_burning/init.lua index 6f1b0ef0d3..7c9b742510 100644 --- a/mods/ENTITIES/mcl_burning/init.lua +++ b/mods/ENTITIES/mcl_burning/init.lua @@ -23,9 +23,7 @@ minetest.register_entity("mcl_burning:fire", { minetest.register_globalstep(function(dtime) for _, player in pairs(minetest.get_connected_players()) do - if player:get_meta():get_float("mcl_burning:burn_time") > 0 then - mcl_burning.tick(player, dtime) - end + mcl_burning.tick(player, dtime) end end) From 7f3e5bda7e3e612414d545ce98ba1dec4b4b442a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20=C3=85str=C3=B6m?= Date: Fri, 23 Apr 2021 15:49:37 +0200 Subject: [PATCH 37/43] Duplicate groupcaps before applying unbreaking --- mods/ITEMS/mcl_enchanting/groupcaps.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_enchanting/groupcaps.lua b/mods/ITEMS/mcl_enchanting/groupcaps.lua index 0bc1b8e245..a445b73f21 100644 --- a/mods/ITEMS/mcl_enchanting/groupcaps.lua +++ b/mods/ITEMS/mcl_enchanting/groupcaps.lua @@ -61,7 +61,7 @@ function mcl_enchanting.update_groupcaps(itemstack) if not hash or hash ~= groupcaps.hash then local tool_capabilities = itemstack:get_tool_capabilities() - tool_capabilities.groupcaps = groupcaps.values + tool_capabilities.groupcaps = table.copy(groupcaps.values) -- Increase the number of uses depending on the unbreaking level -- of the tool. From 414adff8fb3dd7374db94c9d63ddd78851089791 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Fri, 23 Apr 2021 13:59:37 +0000 Subject: [PATCH 38/43] Fix bad API documentation od mcl_death_drop --- mods/PLAYER/mcl_death_drop/API.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/PLAYER/mcl_death_drop/API.md b/mods/PLAYER/mcl_death_drop/API.md index b19e2fd7c8..3fc5163e54 100644 --- a/mods/PLAYER/mcl_death_drop/API.md +++ b/mods/PLAYER/mcl_death_drop/API.md @@ -7,8 +7,8 @@ Drop registered inventories on player death. * function(player): must return inventory * listname: string * drop: bool - * true: the entire list will be dropped - * false: items with curse_of_vanishing enchantement will be broken. + * true: the list will be dropped + * false: the list will only be cleared ## mcl_death_drop.registered_dropped_lists Table containing dropped list inventory, name and drop state. \ No newline at end of file From ef86eb0779d6529e13583527e84b915caa44a4a9 Mon Sep 17 00:00:00 2001 From: NO11 Date: Fri, 23 Apr 2021 14:18:31 +0000 Subject: [PATCH 39/43] Fix wrong sweet berry item path --- mods/ITEMS/mcl_sweet_berry/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_sweet_berry/init.lua b/mods/ITEMS/mcl_sweet_berry/init.lua index d1967c68c5..bc79a76678 100644 --- a/mods/ITEMS/mcl_sweet_berry/init.lua +++ b/mods/ITEMS/mcl_sweet_berry/init.lua @@ -31,7 +31,7 @@ minetest.register_node("mcl_sweet_berry:sweet_berry_bush_2", { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, }, - drop = "mc:sweet_berry 2" + drop = "mcl_sweet_berry:sweet_berry 2" }) minetest.register_node("mcl_sweet_berry:sweet_berry_bush_3", { drawtype = "plantlike", @@ -41,7 +41,7 @@ minetest.register_node("mcl_sweet_berry:sweet_berry_bush_3", { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, }, - drop = "mc:sweet_berry 3" + drop = "mcl_sweet_berry:sweet_berry 3" }) minetest.register_decoration({ deco_type = "simple", From 642351a1d254cfbcb2bd32744ebdafdb3b3cd529 Mon Sep 17 00:00:00 2001 From: NO11 Date: Sat, 24 Apr 2021 19:35:23 +0000 Subject: [PATCH 40/43] Add #1553 fireworks rocket now makes particles when used for flying --- mods/PLAYER/mcl_playerplus/init.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index 43f6364987..13d136ecf8 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -215,6 +215,24 @@ minetest.register_globalstep(function(dtime) if vector.length(player_velocity) < 40 then local add_velocity = player.add_velocity or player.add_player_velocity add_velocity(player, vector.multiply(player:get_look_dir(), 4)) + minetest.add_particlespawner({ + amount = 1, + time = 0.1, + minpos = fly_pos, + maxpos = fly_pos, + minvel = {x = 0, y = 0, z = 0}, + maxvel = {x = 0, y = 0, z = 0}, + minacc = {x = 0, y = 0, z = 0}, + maxacc = {x = 0, y = 0, z = 0}, + minexptime = 0.3, + maxexptime = 0.5, + minsize = 1, + maxsize = 2.5, + collisiondetection = false, + vertical = false, + texture = "mcl_particles_crit.png^[colorize:#bc7a57:127", + glow = 5, + }) end end else From 9eba2add3fba56467629eaffd52a51259aaf7e53 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 25 Apr 2021 13:09:20 +0200 Subject: [PATCH 41/43] Rewrite burning API --- mods/ENTITIES/mcl_boats/init.lua | 2 +- mods/ENTITIES/mcl_burning/api.lua | 307 +++++++++-------------------- mods/ENTITIES/mcl_burning/init.lua | 110 +++++++++-- mods/ENTITIES/mcl_mobs/api.lua | 4 +- mods/ITEMS/mcl_bows/arrow.lua | 2 +- 5 files changed, 190 insertions(+), 235 deletions(-) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index 38e73565b5..c2ce94c00a 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -188,7 +188,7 @@ function boat.on_punch(self, puncher, time_from_last_punch, tool_capabilities, d end function boat.on_step(self, dtime, moveresult) - mcl_burning.tick(self.object, dtime) + mcl_burning.tick(self.object, dtime, self) self._v = get_v(self.object:get_velocity()) * get_sign(self._v) local v_factor = 1 diff --git a/mods/ENTITIES/mcl_burning/api.lua b/mods/ENTITIES/mcl_burning/api.lua index b08a0fb707..d2567f6b2e 100644 --- a/mods/ENTITIES/mcl_burning/api.lua +++ b/mods/ENTITIES/mcl_burning/api.lua @@ -1,132 +1,52 @@ local S = minetest.get_translator("mcl_burning") -function mcl_burning.get_default(datatype) - local default_table = {string = "", float = 0.0, int = 0, bool = false} - return default_table[datatype] -end - -function mcl_burning.get(obj, datatype, name) - local key - if obj:is_player() then - local meta = obj:get_meta() - return meta["get_" .. datatype](meta, "mcl_burning:" .. name) - else - local luaentity = obj:get_luaentity() - return luaentity and luaentity["mcl_burning_" .. name] or mcl_burning.get_default(datatype) - end -end - -function mcl_burning.set(obj, datatype, name, value) - if obj:is_player() then - local meta = obj:get_meta() - meta["set_" .. datatype](meta, "mcl_burning:" .. name, value or mcl_burning.get_default(datatype)) - else - local luaentity = obj:get_luaentity() - if mcl_burning.get_default(datatype) == value then - value = nil - end - luaentity["mcl_burning_" .. name] = value - end +function mcl_burning.get_storage(obj) + return obj:is_player() and mcl_burning.storage[obj] or obj:get_luaentity() end function mcl_burning.is_burning(obj) - return mcl_burning.get(obj, "float", "burn_time") > 0 + return mcl_burning.get_storage(obj).burn_time end function mcl_burning.is_affected_by_rain(obj) - return mcl_weather and mcl_weather.get_weather() == "rain" and mcl_weather.is_outdoor(obj:get_pos()) + return mcl_weather.get_weather() == "rain" and mcl_weather.is_outdoor(obj:get_pos()) end -function mcl_burning.get_collisionbox(obj, smaller) - local box = obj:get_properties().collisionbox - local minp, maxp = vector.new(box[1], box[2], box[3]), vector.new(box[4], box[5], box[6]) - if smaller then +function mcl_burning.get_collisionbox(obj, smaller, storage) + local cache = storage.collisionbox_cache + if cache then + local box = cache[smaller and 2 or 1] + return box[1], box[2] + else + local box = obj:get_properties().collisionbox + local minp, maxp = vector.new(box[1], box[2], box[3]), vector.new(box[4], box[5], box[6]) local s_vec = vector.new(0.1, 0.1, 0.1) - minp = vector.add(minp, s_vec) - maxp = vector.subtract(maxp, s_vec) + local s_minp = vector.add(minp, s_vec) + local s_maxp = vector.subtract(maxp, s_vec) + storage.collisionbox_cache = {{minp, maxp}, {s_minp, s_maxp}} + return minp, maxp end - return minp, maxp end -function mcl_burning.get_touching_nodes(obj, nodenames) +function mcl_burning.get_touching_nodes(obj, nodenames, storage) local pos = obj:get_pos() - local box = obj:get_properties().collisionbox - local minp, maxp = mcl_burning.get_collisionbox(obj, true) + local minp, maxp = mcl_burning.get_collisionbox(obj, true, storage) local nodes = minetest.find_nodes_in_area(vector.add(pos, minp), vector.add(pos, maxp), nodenames) return nodes end -function mcl_burning.get_highest_group_value(obj, groupname) - local nodes = mcl_burning.get_touching_nodes(obj, "group:" .. groupname, true) - local highest_group_value = 0 - - for _, pos in pairs(nodes) do - local node = minetest.get_node(pos) - local group_value = minetest.get_item_group(node.name, groupname) - if group_value > highest_group_value then - highest_group_value = group_value - end - end - - return highest_group_value -end - -function mcl_burning.damage(obj) - local luaentity = obj:get_luaentity() - local health - - if luaentity then - health = luaentity.health - end - - local hp = health or obj:get_hp() - - if hp <= 0 then - return - end - - local do_damage = true - - if obj:is_player() then - if mcl_potions.player_has_effect(obj, "fire_proof") then - do_damage = false - else - local name = obj:get_player_name() - armor.last_damage_types[name] = "fire" - local deathmsg = S("@1 burned to death.", name) - local reason = mcl_burning.get(obj, "string", "reason") - if reason ~= "" then - deathmsg = S("@1 was burned by @2.", name, reason) - end - mcl_death_messages.player_damage(obj, deathmsg) - end - else - if luaentity.fire_damage_resistant then - do_damage = false - end - end - - if do_damage then - local new_hp = hp - 1 - if health then - luaentity.health = new_hp - else - obj:set_hp(new_hp) - end - end -end - function mcl_burning.set_on_fire(obj, burn_time, reason) if obj:get_hp() < 0 then return end + local storage = mcl_burning.get_storage(obj) + local luaentity = obj:get_luaentity() if luaentity and luaentity.fire_resistant then return end - local old_burn_time = mcl_burning.get(obj, "float", "burn_time") local max_fire_prot_lvl = 0 if obj:is_player() then @@ -148,37 +68,22 @@ function mcl_burning.set_on_fire(obj, burn_time, reason) burn_time = burn_time - math.floor(burn_time * max_fire_prot_lvl * 0.15) end - if old_burn_time <= burn_time then - --[[local sound_id = mcl_burning.get(obj, "int", "sound_id") - if sound_id == 0 then - sound_id = minetest.sound_play("fire_fire", { - object = obj, - gain = 0.18, - max_hear_distance = 16, - loop = true, - }) + 1 - end]]-- - - local hud_id - if obj:is_player() then - hud_id = mcl_burning.get(obj, "int", "hud_id") - if hud_id == 0 then - hud_id = obj:hud_add({ - hud_elem_type = "image", - position = {x = 0.5, y = 0.5}, - scale = {x = -100, y = -100}, - text = "mcl_burning_entity_flame_animated.png^[opacity:180^[verticalframe:" .. mcl_burning.animation_frames .. ":" .. 1, - z_index = 1000, - }) + 1 - end + if not storage.burn_time or burn_time >= storage.burn_time then + if obj:is_player() and not storage.fire_hud_id then + storage.fire_hud_id = obj:hud_add({ + hud_elem_type = "image", + position = {x = 0.5, y = 0.5}, + scale = {x = -100, y = -100}, + text = "mcl_burning_entity_flame_animated.png^[opacity:180^[verticalframe:" .. mcl_burning.animation_frames .. ":" .. 1, + z_index = 1000, + }) end - mcl_burning.set(obj, "float", "burn_time", burn_time) - mcl_burning.set(obj, "string", "reason", reason) - mcl_burning.set(obj, "int", "hud_id", hud_id) - --mcl_burning.set(obj, "int", "sound_id", sound_id) + storage.burn_time = burn_time + storage.burn_reason = reason + storage.fire_damage_timer = 0 local fire_entity = minetest.add_entity(obj:get_pos(), "mcl_burning:fire") - local minp, maxp = mcl_burning.get_collisionbox(obj) + local minp, maxp = mcl_burning.get_collisionbox(obj, false, storage) local obj_size = obj:get_properties().visual_size local vertical_grow_factor = 1.2 @@ -192,111 +97,81 @@ function mcl_burning.set_on_fire(obj, burn_time, reason) fire_entity:set_properties({visual_size = size}) fire_entity:set_attach(obj, "", offset, {x = 0, y = 0, z = 0}) - mcl_burning.update_animation_frame(obj, fire_entity, 0) + local fire_luaentity = fire_entity:get_luaentity() + fire_luaentity:update_frame(obj, storage) + + for _, other in pairs(minetest.get_objects_inside_radius(fire_entity:get_pos(), 0)) do + local other_luaentity = other:get_luaentity() + if other_luaentity and other_luaentity.name == "mcl_burning:fire" and other_luaentity ~= fire_luaentity then + other:remove() + break + end + end end end function mcl_burning.extinguish(obj) if mcl_burning.is_burning(obj) then - --local sound_id = mcl_burning.get(obj, "int", "sound_id") - 1 - --minetest.sound_stop(sound_id) - + local storage = mcl_burning.get_storage(obj) if obj:is_player() then - local hud_id = mcl_burning.get(obj, "int", "hud_id") - 1 - obj:hud_remove(hud_id) - end - - mcl_burning.set(obj, "string", "reason") - mcl_burning.set(obj, "float", "burn_time") - mcl_burning.set(obj, "float", "damage_timer") - mcl_burning.set(obj, "int", "hud_id") - --mcl_burning.set(obj, "int", "sound_id") - end -end - -function mcl_burning.catch_fire_tick(obj, dtime) - if mcl_burning.is_affected_by_rain(obj) or #mcl_burning.get_touching_nodes(obj, "group:puts_out_fire") > 0 then - mcl_burning.extinguish(obj) - else - local set_on_fire_value = mcl_burning.get_highest_group_value(obj, "set_on_fire") - - if set_on_fire_value > 0 then - mcl_burning.set_on_fire(obj, set_on_fire_value) + if storage.fire_hud_id then + obj:hud_remove(storage.fire_hud_id) + end + mcl_burning.storage[obj] = {} + else + storage.burn_time = nil + storage.burn_reason = nil + storage.fire_damage_timer = nil end end end -function mcl_burning.tick(obj, dtime) - local burn_time = mcl_burning.get(obj, "float", "burn_time") - dtime +function mcl_burning.tick(obj, dtime, storage) + if storage.burn_time then + storage.burn_time = storage.burn_time - dtime - if burn_time <= 0 then - mcl_burning.extinguish(obj) - else - mcl_burning.set(obj, "float", "burn_time", burn_time) + if storage.burn_time <= 0 or mcl_burning.is_affected_by_rain(obj) or #mcl_burning.get_touching_nodes(obj, "group:puts_out_fire", storage) > 0 then + mcl_burning.extinguish(obj) + return true + else + storage.fire_damage_timer = storage.fire_damage_timer + dtime - local damage_timer = mcl_burning.get(obj, "float", "damage_timer") + dtime + if storage.fire_damage_timer >= 1 then + storage.fire_damage_timer = 0 - if damage_timer >= 1 then - damage_timer = 0 - mcl_burning.damage(obj) - end + local luaentity = obj:get_luaentity() + local is_mob = luaentity and luaentity._cmi_is_mob + local hp = is_mob and luaentity.health or obj:get_hp() - mcl_burning.set(obj, "float", "damage_timer", damage_timer) - end + if hp > 0 then + local do_damage = true - mcl_burning.catch_fire_tick(obj, dtime) -end + if obj:is_player() then + if mcl_potions.player_has_effect(obj, "fire_proof") then + do_damage = false + else + local name = obj:get_player_name() + armor.last_damage_types[name] = "fire" + local deathmsg = S("@1 burned to death.", name) + if storage.reason then + deathmsg = S("@1 was burned by @2.", name, storage.reason) + end + mcl_death_messages.player_damage(obj, deathmsg) + end + elseif luaentity.fire_damage_resistant then + do_damage = false + end -function mcl_burning.update_animation_frame(obj, fire_entity, animation_frame) - local fire_texture = "mcl_burning_entity_flame_animated.png^[opacity:180^[verticalframe:" .. mcl_burning.animation_frames .. ":" .. animation_frame - local fire_HUD_texture = "mcl_burning_hud_flame_animated.png^[opacity:180^[verticalframe:" .. mcl_burning.animation_frames .. ":" .. animation_frame - fire_entity:set_properties({textures = {"blank.png", "blank.png", fire_texture, fire_texture, fire_texture, fire_texture}}) - if obj:is_player() then - local hud_id = mcl_burning.get(obj, "int", "hud_id") - 1 - obj:hud_change(hud_id, "text", fire_HUD_texture) - end -end - -function mcl_burning.fire_entity_step(self, dtime) - if self.removed then - return - end - - local obj = self.object - local parent = obj:get_attach() - local do_remove - - self.doing_step = true - - if not parent or not mcl_burning.is_burning(parent) then - do_remove = true - else - for _, other in pairs(minetest.get_objects_inside_radius(obj:get_pos(), 0)) do - local luaentity = obj:get_luaentity() - if luaentity and luaentity.name == "mcl_burning:fire" and not luaentity.doing_step and not luaentity.removed then - do_remove = true - break + if do_damage then + local new_hp = hp - 1 + if is_mob then + luaentity.health = new_hp + else + obj:set_hp(new_hp) + end + end + end end end end - - self.doing_step = false - - if do_remove then - self.removed = true - obj:remove() - return - end - - local animation_timer = self.animation_timer + dtime - if animation_timer >= 0.015 then - animation_timer = 0 - local animation_frame = self.animation_frame + 1 - if animation_frame > mcl_burning.animation_frames - 1 then - animation_frame = 0 - end - mcl_burning.update_animation_frame(parent, obj, animation_frame) - self.animation_frame = animation_frame - end - self.animation_timer = animation_timer end diff --git a/mods/ENTITIES/mcl_burning/init.lua b/mods/ENTITIES/mcl_burning/init.lua index 7c9b742510..e223b3566e 100644 --- a/mods/ENTITIES/mcl_burning/init.lua +++ b/mods/ENTITIES/mcl_burning/init.lua @@ -2,11 +2,65 @@ local S = minetest.get_translator("mcl_burning") local modpath = minetest.get_modpath("mcl_burning") mcl_burning = { + storage = {}, animation_frames = tonumber(minetest.settings:get("fire_animation_frames")) or 8 } dofile(modpath .. "/api.lua") +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local storage = mcl_burning.storage[player] + if not mcl_burning.tick(player, dtime, storage) and not mcl_burning.is_affected_by_rain(player) then + local nodes = mcl_burning.get_touching_nodes(player, {"group:puts_out_fire", "group:set_on_fire"}, storage) + local burn_time = 0 + + for _, pos in pairs(nodes) do + local node = minetest.get_node(pos) + if minetest.get_item_group(node.name, "puts_out_fire") > 0 then + burn_time = 0 + break + end + + local value = minetest.get_item_group(node.name, "set_on_fire") + if value > burn_time then + burn_time = value + end + end + + if burn_time > 0 then + mcl_burning.set_on_fire(player, burn_time) + end + end + end +end) + +minetest.register_on_respawnplayer(function(player) + mcl_burning.extinguish(player) +end) + +minetest.register_on_joinplayer(function(player) + local storage + + local burn_data = player:get_meta():get_string("mcl_burning:data") + if burn_data == "" then + storage = {} + else + storage = minetest.deserialize(burn_data) + end + + mcl_burning.storage[player] = storage +end) + +minetest.register_on_leaveplayer(function(player) + local storage = mcl_burning.storage[player] + storage.fire_hud_id = nil + player:get_meta():set_string("mcl_burning:data", minetest.serialize(storage)) + + mcl_burning.storage[player] = nil +end) + + minetest.register_entity("mcl_burning:fire", { initial_properties = { physical = false, @@ -18,19 +72,45 @@ minetest.register_entity("mcl_burning:fire", { animation_frame = 0, animation_timer = 0, - on_step = mcl_burning.fire_entity_step, + + on_step = function(self, dtime) + local parent, storage = self:sanity_check() + + if parent then + self.animation_timer = self.animation_timer + dtime + if self.animation_timer >= 0.1 then + self.animation_timer = 0 + self.animation_frame = self.animation_frame + 1 + if self.animation_frame > mcl_burning.animation_frames - 1 then + self.animation_frame = 0 + end + self:update_frame(parent, storage) + end + else + self.object:remove() + end + end, + sanity_check = function(self) + local parent = self.object:get_attach() + + if not parent then + return + end + + local storage = mcl_burning.get_storage(parent) + + if not storage or not storage.burn_time then + return + end + + return parent, storage + end, + update_frame = function(self, parent, storage) + local frame_overlay = "^[opacity:180^[verticalframe:" .. mcl_burning.animation_frames .. ":" .. self.animation_frame + local fire_texture = "mcl_burning_entity_flame_animated.png" .. frame_overlay + self.object:set_properties({textures = {"blank.png", "blank.png", fire_texture, fire_texture, fire_texture, fire_texture}}) + if parent:is_player() then + parent:hud_change(storage.fire_hud_id, "text", "mcl_burning_hud_flame_animated.png" .. frame_overlay) + end + end, }) - -minetest.register_globalstep(function(dtime) - for _, player in pairs(minetest.get_connected_players()) do - mcl_burning.tick(player, dtime) - end -end) - -minetest.register_on_respawnplayer(function(player) - mcl_burning.extinguish(player) -end) - -minetest.register_on_leaveplayer(function(player) - mcl_burning.set(player, "int", "hud_id") -end) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 8aed37288f..f343129720 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3454,8 +3454,8 @@ end -- main mob function local mob_step = function(self, dtime) - if not self.fire_resistant and self.mcl_burning_burn_time and self.mcl_burning_burn_time > 0 then - mcl_burning.tick(self.object, dtime) + if not self.fire_resistant then + mcl_burning.tick(self.object, dtime, self) end if use_cmi then diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index cddae0869b..cb92593f80 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -108,7 +108,7 @@ local damage_particles = function(pos, is_critical) end ARROW_ENTITY.on_step = function(self, dtime) - mcl_burning.tick(self.object, dtime) + mcl_burning.tick(self.object, dtime, self) self._time_in_air = self._time_in_air + .001 From 7c9d9b1650ed070e94a469a22b8fb935a9a7ad0a Mon Sep 17 00:00:00 2001 From: kay27 Date: Sun, 25 Apr 2021 15:37:01 +0400 Subject: [PATCH 42/43] [mineclone5] [mcl_mobs] Avoid some crashes in `mob_functions/ai/lua`, @jordan4ibanez feel free to revert --- .../mcl_mobs/api/mob_functions/ai.lua | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api/mob_functions/ai.lua b/mods/ENTITIES/mcl_mobs/api/mob_functions/ai.lua index 87a7a1ed0c..d144c9bc81 100644 --- a/mods/ENTITIES/mcl_mobs/api/mob_functions/ai.lua +++ b/mods/ENTITIES/mcl_mobs/api/mob_functions/ai.lua @@ -171,15 +171,18 @@ local land_state_execution = function(self,dtime) --make slow falling mobs fall slow if self.fall_slow then - if self.object:get_velocity().y < 0 then - --lua is acting really weird so we have to help it - if round2(self.object:get_acceleration().y, 1) == -self.gravity then - self.object:set_acceleration(vector_new(0,0,0)) - mobs.mob_fall_slow(self) - end - else - if round2(self.object:get_acceleration().y, 1) == 0 then - self.object:set_acceleration(vector_new(0,-self.gravity,0)) + local velocity = self.object:get_velocity() + if velocity then + if velocity.y < 0 then + --lua is acting really weird so we have to help it + if round2(self.object:get_acceleration().y, 1) == -self.gravity then + self.object:set_acceleration(vector_new(0,0,0)) + mobs.mob_fall_slow(self) + end + else + if round2(self.object:get_acceleration().y, 1) == 0 then + self.object:set_acceleration(vector_new(0,-self.gravity,0)) + end end end end @@ -371,8 +374,11 @@ local land_state_execution = function(self,dtime) if float_now then mobs.float(self) - elseif self.object:get_acceleration().y == 0 then - self.object:set_acceleration(vector_new(0,-self.gravity,0)) + else + local acceleration = self.object:get_acceleration() + if acceleration and acceleration.y == 0 then + self.object:set_acceleration(vector_new(0,-self.gravity,0)) + end end end @@ -894,7 +900,7 @@ mobs.mob_step = function(self, dtime) pos.y = pos.y + self.eye_height - local node = minetest.get_node(pos).name + local node = minetest_get_node(pos).name if minetest_get_item_group(node, "water") ~= 0 then self.breath = self.breath - dtime @@ -1106,7 +1112,7 @@ mobs.mob_step = function(self, dtime) if not self.ignores_cobwebs then local pos = self.object:get_pos() - local node = minetest_get_node(pos).name + local node = pos and minetest_get_node(pos).name if node == "mcl_core:cobweb" then @@ -1131,6 +1137,6 @@ mobs.mob_step = function(self, dtime) end end - self.old_velocity = self.object:get_velocity() + self.old_velocity = self.object:get_velocity() self.old_pos = self.object:get_pos() end From cb19340e0b676878ec07a24a6b1ef1788777af81 Mon Sep 17 00:00:00 2001 From: kay27 Date: Sun, 25 Apr 2021 19:45:59 +0400 Subject: [PATCH 43/43] [mineclone5] [mcl_mapgen_core] Fix empty caves which should be filled by lava --- mods/MAPGEN/mcl_mapgen_core/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 90b2725067..288084ffa7 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -2016,8 +2016,8 @@ local function basic(vm, data, data2, emin, emax, area, minp, maxp, blockseed) -- Big lava seas by replacing air below a certain height if mcl_vars.mg_lava then - lvm_used = set_layers(data, area, c_lava, c_air, mcl_vars.mg_overworld_min, mcl_vars.mg_lava_overworld_max, minp, maxp, lvm_used, pr) - lvm_used = set_layers(data, area, c_nether_lava, c_air, mcl_vars.mg_nether_min, mcl_vars.mg_lava_nether_max, minp, maxp, lvm_used, pr) + lvm_used = set_layers(data, area, c_lava, c_air, mcl_vars.mg_overworld_min, mcl_vars.mg_lava_overworld_max, emin, emax, lvm_used, pr) + lvm_used = set_layers(data, area, c_nether_lava, c_air, mcl_vars.mg_nether_min, mcl_vars.mg_lava_nether_max, emin, emax, lvm_used, pr) end -- Clay, vines, cocoas