From 1161d5cd36227fe5895a954d05bad3be1d0a1fcb Mon Sep 17 00:00:00 2001 From: JoseDouglas26 Date: Tue, 30 Apr 2024 00:24:12 +0000 Subject: [PATCH] Hollow logs (#4267) Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4267 Co-authored-by: JoseDouglas26 Co-committed-by: JoseDouglas26 --- mods/ITEMS/vl_hollow_logs/API.md | 28 +++ mods/ITEMS/vl_hollow_logs/init.lua | 106 +++++++++ mods/ITEMS/vl_hollow_logs/locale/template.txt | 21 ++ .../locale/vl_hollow_logs.pt_BR.tr | 21 ++ mods/ITEMS/vl_hollow_logs/mod.conf | 4 + .../models/vl_hollow_logs_log.obj | 207 ++++++++++++++++++ mods/ITEMS/vl_hollow_logs/recipes.lua | 48 ++++ textures/vl_hollow_logs_acaciatree.png | Bin 0 -> 1725 bytes textures/vl_hollow_logs_birchtree.png | Bin 0 -> 1803 bytes textures/vl_hollow_logs_cherrytree.png | Bin 0 -> 1635 bytes textures/vl_hollow_logs_crimson.png | Bin 0 -> 1572 bytes textures/vl_hollow_logs_darktree.png | Bin 0 -> 1608 bytes textures/vl_hollow_logs_jungletree.png | Bin 0 -> 1752 bytes textures/vl_hollow_logs_mangrove_stripped.png | Bin 0 -> 1194 bytes textures/vl_hollow_logs_mangrove_tree.png | Bin 0 -> 1428 bytes textures/vl_hollow_logs_sprucetree.png | Bin 0 -> 1716 bytes textures/vl_hollow_logs_stripped_acacia.png | Bin 0 -> 1791 bytes textures/vl_hollow_logs_stripped_birch.png | Bin 0 -> 1845 bytes .../vl_hollow_logs_stripped_cherrytree.png | Bin 0 -> 1605 bytes textures/vl_hollow_logs_stripped_crimson.png | Bin 0 -> 1344 bytes textures/vl_hollow_logs_stripped_dark_oak.png | Bin 0 -> 1791 bytes textures/vl_hollow_logs_stripped_jungle.png | Bin 0 -> 1869 bytes textures/vl_hollow_logs_stripped_oak.png | Bin 0 -> 1845 bytes textures/vl_hollow_logs_stripped_spruce.png | Bin 0 -> 1854 bytes textures/vl_hollow_logs_stripped_warped.png | Bin 0 -> 1395 bytes textures/vl_hollow_logs_tree.png | Bin 0 -> 1725 bytes textures/vl_hollow_logs_warped.png | Bin 0 -> 1665 bytes 27 files changed, 435 insertions(+) create mode 100644 mods/ITEMS/vl_hollow_logs/API.md create mode 100644 mods/ITEMS/vl_hollow_logs/init.lua create mode 100644 mods/ITEMS/vl_hollow_logs/locale/template.txt create mode 100644 mods/ITEMS/vl_hollow_logs/locale/vl_hollow_logs.pt_BR.tr create mode 100644 mods/ITEMS/vl_hollow_logs/mod.conf create mode 100644 mods/ITEMS/vl_hollow_logs/models/vl_hollow_logs_log.obj create mode 100644 mods/ITEMS/vl_hollow_logs/recipes.lua create mode 100644 textures/vl_hollow_logs_acaciatree.png create mode 100644 textures/vl_hollow_logs_birchtree.png create mode 100644 textures/vl_hollow_logs_cherrytree.png create mode 100644 textures/vl_hollow_logs_crimson.png create mode 100644 textures/vl_hollow_logs_darktree.png create mode 100644 textures/vl_hollow_logs_jungletree.png create mode 100644 textures/vl_hollow_logs_mangrove_stripped.png create mode 100644 textures/vl_hollow_logs_mangrove_tree.png create mode 100644 textures/vl_hollow_logs_sprucetree.png create mode 100644 textures/vl_hollow_logs_stripped_acacia.png create mode 100644 textures/vl_hollow_logs_stripped_birch.png create mode 100644 textures/vl_hollow_logs_stripped_cherrytree.png create mode 100644 textures/vl_hollow_logs_stripped_crimson.png create mode 100644 textures/vl_hollow_logs_stripped_dark_oak.png create mode 100644 textures/vl_hollow_logs_stripped_jungle.png create mode 100644 textures/vl_hollow_logs_stripped_oak.png create mode 100644 textures/vl_hollow_logs_stripped_spruce.png create mode 100644 textures/vl_hollow_logs_stripped_warped.png create mode 100644 textures/vl_hollow_logs_tree.png create mode 100644 textures/vl_hollow_logs_warped.png diff --git a/mods/ITEMS/vl_hollow_logs/API.md b/mods/ITEMS/vl_hollow_logs/API.md new file mode 100644 index 000000000..58055515a --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/API.md @@ -0,0 +1,28 @@ +# ```vl_hollow_logs``` + +This mod registers hollow logs derived from normal logs. +Hollow logs mostly have a decorative function, but some of them can be used in recipes. Changes may appear soon. + +## Functions: +### ```vl_hollow_logs.register_hollow_log(defs)``` +This is the function that registers the hollow trunk. +For a hollow log to be registered, the defs parameter must be a table that contains up to 5 values, which are, in this order, the itemstring of the hollow log, the itemstring of the stripped hollow log, the description of the hollow log, the description of the stripped hollow log and, optionally, a boolean to inform whether this trunk is NOT flammable. If the hollow log is defined as flammable, it becomes part of the hollow_log_flammable group, which allows the log to be used as fuel for furnaces and also allows it to be an ingredient for chacoal. + +Examples: +```lua +-- Flammable +{"tree", "stripped_oak", "Hollow Oak Log", "Stripped Hollow Oak Log"} + +-- Not flammable +{"crimson_hyphae", "stripped_crimson_hyphae", "Hollow Crimson Stem", "Stripped Hollow Crimson Stem", true} +``` +### ```vl_hollow_logs.register_craft(material, result)``` + +This function records the crafting recipe for a hollow log based on its non-hollow variant. +This function also defines a recipe for the stonecutter. The material and result parameters must be, respectively, the complete itemstring of the source material and the (partial) itemstring of the result. See the following examples: + +```lua +vl_hollow_logs.register_craft("mcl_core:tree", "tree") + +vl_hollow_logs.register_craft("mcl_crimson:stripped_crimson_hyphae", "stripped_crimson_hyphae") +``` diff --git a/mods/ITEMS/vl_hollow_logs/init.lua b/mods/ITEMS/vl_hollow_logs/init.lua new file mode 100644 index 000000000..38b6525bc --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/init.lua @@ -0,0 +1,106 @@ +local modpath = minetest.get_modpath(minetest.get_current_modname()) +local S = minetest.get_translator(minetest.get_current_modname()) + +vl_hollow_logs = {} +--- Function to register a hollow log. See API.md to learn how to use this function. +---@param defs table {name:string, stripped_name>string, desc:string, stripped_desc:string, not_flammable:boolean|nil} +function vl_hollow_logs.register_hollow_log(defs) + if not defs or #defs < 4 then + return + end + + for i = 1, #defs do + if i == 5 then + if type(defs[i]) ~= "boolean" and type(defs[i]) ~= "nil" then + return + end + else + if type(defs[i]) ~= "string" then + return + end + end + end + + local name = defs[1] + local stripped_name = defs[2] + local desc = defs[3] + local stripped_desc = defs[4] + + local collisionbox = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.375}, + {-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, + {0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0.375, 0.5, 0.5, 0.5}, + } + } + + local groups = {axey = 1, building_block = 1, handy = 1, hollow_log = 1} + + if not defs[5] then + groups = table.insert(groups, {fire_encouragement = 5, fire_flammability = 5, flammable = 2, hollow_log_burnable = 1}) + end + + minetest.register_node("vl_hollow_logs:"..name.."_hollow", { + collision_box = collisionbox, + description = S(desc), + drawtype = "mesh", + groups = groups, + mesh = "vl_hollow_logs_log.obj", + on_place = mcl_util.rotate_axis, + paramtype = "light", + paramtype2 = "facedir", + sounds = mcl_sounds.node_sound_wood_defaults(), + sunlight_propagates = true, + tiles = {"vl_hollow_logs_"..name..".png"}, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + _mcl_stripped_variant = "vl_hollow_logs:stripped_"..name.."_hollow" + }) + + minetest.register_node("vl_hollow_logs:"..stripped_name.."_hollow", { + collision_box = collisionbox, + description = S(stripped_desc), + drawtype = "mesh", + groups = groups, + mesh = "vl_hollow_logs_log.obj", + on_place = mcl_util.rotate_axis, + paramtype = "light", + paramtype2 = "facedir", + sounds = mcl_sounds.node_sound_wood_defaults(), + sunlight_propagates = true, + tiles = {"vl_hollow_logs_stripped_"..name..".png"}, + _mcl_blast_resistance = 2, + _mcl_hardness = 2 + }) +end + +vl_hollow_logs.logs = { + {"acaciatree", "stripped_acacia", "Hollow Acacia Log", "Stripped Hollow Acacia Log"}, + {"birchtree", "stripped_birch", "Hollow Birch Log", "Stripped Hollow Birch Log"}, + {"darktree", "stripped_dark_oak", "Hollow Dark Oak Log", "Stripped Hollow Dark Oak Log"}, + {"jungletree", "stripped_jungle", "Hollow Jungle Log", "Stripped Hollow Jungle Log"}, + {"sprucetree", "stripped_spruce", "Hollow Spruce Log", "Stripped Hollow Spruce Log"}, + {"tree", "stripped_oak", "Hollow Oak Log", "Stripped Hollow Oak Log"} +} + + +if minetest.get_modpath("mcl_cherry_blossom") then + table.insert(vl_hollow_logs.logs, {"cherrytree", "stripped_cherrytree", "Hollow Cherry Log", "Stripped Hollow Cherry Log"}) +end + +if minetest.get_modpath("mcl_mangrove") then + table.insert(vl_hollow_logs.logs, {"mangrove_tree", "mangrove_stripped", "Hollow Mangrove Log", "Stripped Hollow Mangrove Log"}) +end + +if minetest.get_modpath("mcl_crimson") then + table.insert(vl_hollow_logs.logs, {"crimson_hyphae", "stripped_crimson_hyphae", "Hollow Crimson Stem", "Stripped Hollow Crimson Stem", true}) + table.insert(vl_hollow_logs.logs, {"warped_hyphae", "stripped_warped_hyphae", "Hollow Warped Stem", "Stripped Hollow Warped Stem", true}) +end + +for _, defs in pairs(vl_hollow_logs.logs) do + vl_hollow_logs.register_hollow_log(defs) +end + +dofile(modpath.."/recipes.lua") diff --git a/mods/ITEMS/vl_hollow_logs/locale/template.txt b/mods/ITEMS/vl_hollow_logs/locale/template.txt new file mode 100644 index 000000000..a8498e23d --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/locale/template.txt @@ -0,0 +1,21 @@ +# textdomain: mcl_hollow_logs +Hollow Acacia Log= +Hollow Birch Log= +Hollow Cherry Log= +Hollow Dark Oak Log= +Hollow Jungle Log= +Hollow Mangrove Log= +Hollow Oak Log= +Hollow Spruce Log= +Hollow Crimson Stem= +Hollow Warped Stem= +Stripped Hollow Acacia Log= +Stripped Hollow Birch Log= +Stripped Hollow Cherry Log= +Stripped Hollow Dark Oak Log= +Stripped Hollow Jungle Log= +Stripped Hollow Mangrove Log= +Stripped Hollow Oak Log= +Stripped Hollow Spruce Log= +Stripped Hollow Crimson Stem= +Stripped Hollow Warped Stem= diff --git a/mods/ITEMS/vl_hollow_logs/locale/vl_hollow_logs.pt_BR.tr b/mods/ITEMS/vl_hollow_logs/locale/vl_hollow_logs.pt_BR.tr new file mode 100644 index 000000000..171a5a613 --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/locale/vl_hollow_logs.pt_BR.tr @@ -0,0 +1,21 @@ +# textdomain: mcl_hollow_logs +Hollow Acacia Log=Tronco Oco de Acácia +Hollow Birch Log=Tronco Oco de Bétula +Hollow Cherry Log=Tronco Oco de Cerejeira +Hollow Dark Oak Log=Tronco Oco de Carvalho Escuro +Hollow Jungle Log=Tronco Oco da Selva +Hollow Mangrove Log=Tronco Oco de Mangue +Hollow Oak Log=Tronco Oco de Carvalho +Hollow Spruce Log=Tronco Oco de Pinheiro +Hollow Crimson Stem=Caule Oco Carmesim +Hollow Warped Stem=Caule Oco Distorcido +Stripped Hollow Acacia Log=Tronco Oco Descascado de Acácia +Stripped Hollow Birch Log=Tronco Oco Descascado de Bétula +Stripped Hollow Cherry Log=Tronco Oco Descascado de Cerejeira +Stripped Hollow Dark Oak Log=Tronco Oco Descascado de Carvalho Escuro +Stripped Hollow Jungle Log=Tronco Oco Descascado da Selva +Stripped Hollow Mangrove Log=Tronco Oco Descascado de Mangue +Stripped Hollow Oak Log=Tronco Oco Descascado de Carvalho +Stripped Hollow Spruce Log=Tronco Oco Descascado de Pinheiro +Stripped Hollow Crimson Stem=Caule Oco Descascado Carmesim +Stripped Hollow Warped Stem=Caule Oco Descascado Distorcido diff --git a/mods/ITEMS/vl_hollow_logs/mod.conf b/mods/ITEMS/vl_hollow_logs/mod.conf new file mode 100644 index 000000000..b9fb65754 --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/mod.conf @@ -0,0 +1,4 @@ +name = vl_hollow_logs +depends = mcl_core, mcl_sounds, mcl_util +optional_depends = mcl_cherry_blossom, mcl_crimson, mcl_mangrove +author = JoseDouglas26 diff --git a/mods/ITEMS/vl_hollow_logs/models/vl_hollow_logs_log.obj b/mods/ITEMS/vl_hollow_logs/models/vl_hollow_logs_log.obj new file mode 100644 index 000000000..951ac3dad --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/models/vl_hollow_logs_log.obj @@ -0,0 +1,207 @@ +# Blender 3.6.4 +# www.blender.org +mtllib mcl_hollowed_logs_log.mtl +o Cubo.006 +v 0.312500 -0.500000 0.312500 +v 0.312500 0.500000 0.312500 +v 0.312500 -0.500000 0.500000 +v 0.312500 0.500000 0.500000 +v -0.312500 -0.500000 0.312500 +v -0.312500 0.500000 0.312500 +v -0.312500 -0.500000 0.500000 +v -0.312500 0.500000 0.500000 +v -0.312500 -0.500000 0.312500 +v -0.312500 0.500000 0.312500 +v -0.312500 -0.500000 0.500000 +v -0.312500 0.500000 0.500000 +v -0.500000 -0.500000 0.312500 +v -0.500000 0.500000 0.312500 +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 -0.312500 +v 0.500000 0.500000 -0.312500 +v 0.312500 -0.500000 -0.500000 +v 0.312500 0.500000 -0.500000 +v 0.312500 -0.500000 -0.312500 +v 0.312500 0.500000 -0.312500 +v -0.312500 -0.500000 -0.500000 +v -0.312500 0.500000 -0.500000 +v -0.312500 -0.500000 -0.312500 +v -0.312500 0.500000 -0.312500 +v -0.500000 -0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v -0.500000 -0.500000 -0.312500 +v -0.500000 0.500000 -0.312500 +v 0.500000 -0.500000 0.312500 +v 0.500000 0.500000 0.312500 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.312500 -0.500000 0.312500 +v 0.312500 0.500000 0.312500 +v 0.312500 -0.500000 0.500000 +v 0.312500 0.500000 0.500000 +v -0.312500 -0.500000 -0.312500 +v -0.312500 0.500000 -0.312500 +v -0.312500 -0.500000 0.312500 +v -0.312500 0.500000 0.312500 +v -0.500000 -0.500000 -0.312500 +v -0.500000 0.500000 -0.312500 +v -0.500000 -0.500000 0.312500 +v -0.500000 0.500000 0.312500 +v 0.500000 -0.500000 -0.312500 +v 0.500000 0.500000 -0.312500 +v 0.500000 -0.500000 0.312500 +v 0.500000 0.500000 0.312500 +v 0.312500 -0.500000 -0.312500 +v 0.312500 0.500000 -0.312500 +v 0.312500 -0.500000 0.312500 +v 0.312500 0.500000 0.312500 +v 0.312500 -0.500000 -0.500000 +v 0.312500 0.500000 -0.500000 +v 0.312500 -0.500000 -0.312500 +v 0.312500 0.500000 -0.312500 +v -0.312500 -0.500000 -0.500000 +v -0.312500 0.500000 -0.500000 +v -0.312500 -0.500000 -0.312500 +v -0.312500 0.500000 -0.312500 +vn 1.0000 -0.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.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.135417 0.500000 +vt 0.135417 1.000000 +vt 0.031250 1.000000 +vt 0.031250 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.135417 0.000000 +vt 0.031250 0.000000 +vt 0.635417 1.000000 +vt 0.531250 1.000000 +vt 0.531250 0.906250 +vt 0.635417 0.906250 +vt 0.468750 1.000000 +vt 0.364583 1.000000 +vt 0.364583 0.906250 +vt 0.468750 0.906250 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.968750 1.000000 +vt 0.968750 0.500000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.666667 0.906250 +vt 0.666667 1.000000 +vt 0.500000 1.000000 +vt 0.500000 0.906250 +vt 0.333333 0.500000 +vt 0.333333 1.000000 +vt 0.302083 1.000000 +vt 0.302083 0.500000 +vt 0.697917 0.500000 +vt 0.697917 1.000000 +vt 0.666667 0.500000 +vt 0.666667 0.593750 +vt 0.635417 0.593750 +vt 0.635417 0.500000 +vt 0.364583 0.593750 +vt 0.333333 0.593750 +vt 0.364583 0.500000 +vt 0.864583 0.500000 +vt 0.864583 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.802083 1.000000 +vt 0.802083 0.500000 +vt 0.531250 0.593750 +vt 0.500000 0.593750 +vt 0.500000 0.500000 +vt 0.531250 0.500000 +vt 0.468750 0.593750 +vt 0.468750 0.500000 +vt 0.500000 0.500000 +vt 0.197917 0.500000 +vt 0.197917 1.000000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt 0.166667 0.500000 +vt 0.166667 1.000000 +vt 0.135417 1.000000 +vt 0.135417 0.500000 +vt 0.333333 0.906250 +vt 0.968750 0.000000 +vt 0.864583 0.000000 +vt 0.197917 1.000000 +vt 0.197917 0.500000 +vt 0.302083 0.000000 +vt 0.197917 0.500000 +vt 0.197917 0.000000 +vt 0.364583 0.906250 +vt 0.333333 0.906250 +vt 0.802083 0.000000 +vt 0.697917 0.000000 +vt 0.364583 0.593750 +vt 0.364583 0.500000 +vt 0.468750 0.500000 +s 0 +usemtl Materiais +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/5/2 4/6/2 8/7/2 7/8/2 +f 7/9/3 8/10/3 6/11/3 5/12/3 +f 5/13/4 6/5/4 2/8/4 1/14/4 +f 3/15/5 7/16/5 5/17/5 1/18/5 +f 8/19/6 4/20/6 2/21/6 6/22/6 +f 9/1/1 10/2/1 12/3/1 11/4/1 +f 11/8/2 12/7/2 16/23/2 15/24/2 +f 15/25/3 16/26/3 14/27/3 13/28/3 +f 13/12/4 14/11/4 10/29/4 9/30/4 +f 11/31/5 15/32/5 13/15/5 9/18/5 +f 16/33/6 12/19/6 10/22/6 14/34/6 +f 17/35/1 18/36/1 20/37/1 19/38/1 +f 19/4/2 20/3/2 24/10/2 23/9/2 +f 23/9/3 24/10/3 22/11/3 21/12/3 +f 21/39/4 22/40/4 18/32/4 17/41/4 +f 19/42/5 23/43/5 21/44/5 17/41/5 +f 24/45/6 20/46/6 18/35/6 22/47/6 +f 25/1/1 26/2/1 28/3/1 27/4/1 +f 27/4/2 28/3/2 32/10/2 31/9/2 +f 31/48/3 32/49/3 30/50/3 29/51/3 +f 29/51/4 30/50/4 26/52/4 25/53/4 +f 27/54/5 31/55/5 29/56/5 25/57/5 +f 32/55/6 28/58/6 26/59/6 30/60/6 +f 33/61/1 34/62/1 36/63/1 35/64/1 +f 35/65/2 36/66/2 40/67/2 39/68/2 +f 39/9/3 40/10/3 38/11/3 37/12/3 +f 37/12/4 38/11/4 34/29/4 33/30/4 +f 35/33/5 39/34/5 37/17/5 33/16/5 +f 40/20/6 36/36/6 34/69/6 38/21/6 +f 41/70/1 42/28/1 44/48/1 43/71/1 +f 43/4/2 44/3/2 48/10/2 47/9/2 +f 47/28/3 48/27/3 46/49/3 45/48/3 +f 45/12/4 46/11/4 42/29/4 41/30/4 +f 43/17/5 47/34/5 45/55/5 41/54/5 +f 48/34/6 44/22/6 42/58/6 46/55/6 +f 49/38/1 50/37/1 52/72/1 51/73/1 +f 51/4/2 52/3/2 56/10/2 55/9/2 +f 55/74/3 56/38/3 54/75/3 53/76/3 +f 53/12/4 54/11/4 50/29/4 49/30/4 +f 51/31/5 55/18/5 53/43/5 49/42/5 +f 56/77/6 52/78/6 50/46/6 54/45/6 +f 57/1/1 58/2/1 60/3/1 59/4/1 +f 59/79/2 60/53/2 64/39/2 63/80/2 +f 63/9/3 64/10/3 62/11/3 61/12/3 +f 61/53/4 62/52/4 58/40/4 57/39/4 +f 59/43/5 63/54/5 61/57/5 57/44/5 +f 64/58/6 60/81/6 58/82/6 62/83/6 diff --git a/mods/ITEMS/vl_hollow_logs/recipes.lua b/mods/ITEMS/vl_hollow_logs/recipes.lua new file mode 100644 index 000000000..9f820fab8 --- /dev/null +++ b/mods/ITEMS/vl_hollow_logs/recipes.lua @@ -0,0 +1,48 @@ +function vl_hollow_logs.register_craft(material, result) + minetest.register_craft({ + output = "vl_hollow_logs:"..result.."_hollow 4", + recipe = { + {"", material, ""}, + {material, "", material}, + {"", material, ""} + }, + type = "shaped" + }) + + mcl_stonecutter.register_recipe(material, "vl_hollow_logs:"..result.."_hollow", 1) +end + +for _, defs in pairs(vl_hollow_logs.logs) do + local mod, material, stripped_material + local name = defs[1] + local stripped_name = defs[2] + + if name:find("cherry") then + mod = "mcl_cherry_blossom:" + elseif name:find("mangrove") then + mod = "mcl_mangrove:" + elseif name:find("hyphae") then + mod = "mcl_crimson:" + else + mod = "mcl_core:" + end + + material = mod..name + stripped_material = mod..stripped_name + + vl_hollow_logs.register_craft(material, name) + vl_hollow_logs.register_craft(stripped_material, stripped_name) +end + +minetest.register_craft({ + burntime = 10, + recipe = "group:hollow_log_burnable", + type = "fuel", +}) + +minetest.register_craft({ + cooktime = 5, + output = "mcl_core:charcoal_lump", + recipe = "group:hollow_log_burnable", + type = "cooking" +}) diff --git a/textures/vl_hollow_logs_acaciatree.png b/textures/vl_hollow_logs_acaciatree.png new file mode 100644 index 0000000000000000000000000000000000000000..7b9a1f578413da7f70ac152443c8d1048bd0823d GIT binary patch literal 1725 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 literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_cherrytree.png b/textures/vl_hollow_logs_cherrytree.png new file mode 100644 index 0000000000000000000000000000000000000000..1a432831169ed04472fd899a793e779d4b95345c GIT binary patch literal 1635 zcmV-p2AuhcP)zar(AOg}*VdW1KeER_SiFN_aLheUKV!xA++jJjb!tu|uN=0FC|H z@q6E#c!pPi%>M2f4~OF;IAnDIfK6VbzkTNp`9!qm*ztHC!`V1){{0u9)7}99X1qop z_)zCJeg+^j84eZz_KcVCW3K=kfJT4y#tI!gaDYlXCTRA;mtI`t4(5 zJ$3#Z>PNYt0FT;U{~6@aamGSt<60pO~S%TWA~ z)cFtkF@zmST9>X}r>FPqj#q+;dpMZ~$uX?ma{neI+Pz63&tXFoXYFzMM$Hu6n70@)|z_=(h*3H(_w7WP3@z zHUN#@6@Y{w*x>?D^wc2xgG0 z9^FuBrs4PCNIC3=oHXd<9U5}o%{Ujm0C2Tm;=ijtu@RHmje#K9+VR}3|GNRmy^G#% zN87FBm_nb6w6?U1zPlYQpWCYOC$|1e=jKclhGdMP;?OWP*YA^8D3FOFDwIm(4-D}A zp_AwPwhXlT2RVH!-f8W3(I*_acy7-4K|sw~je?O11E44(F9^uqQhq|^aY^R zZ-tW|^bM{3F8YKc=TE(53PZ!xs&BBvG2>0MNl~*I-$$F9H2cXHeF13oc>~be@1pMk zK%Pf_FhG7#BqF5^!CK##>M76}wh7;?<#nI8o0FjOdTZa8$Re-hT} z^9G=`-$mb(gpqU&X1wpW&o~VJX=bQ6QsEFZ`|;tf7&3qsLJ+E<5J`B5&uIYW zmHNB^Xzh2=CjeY}{|)2$9u)?MIOa2eMuX414=5I?wZ5L(G}G$y2B5XyMW4(8XXi|- zzRmy;YB2Mq{6rqWHJ%^6_;vprpw#CLU{Ptmi$3AV-#C4!7@lvpUADWWly+K+b&CY$2{-moy`7Dzj^b`<=dV4p84K+o_T*}f>Xy| z(xdYwwKd(R&kCNb%$)x%AiE_7^ zOvQ=QL(@HK{r;v}TH7|73=edu-hCPoz@6VU+4`5+oX7@{SrJ0fTYWb4B_Wkszd#DQrOdvwaPLuGZS7tRTCR+esywrXvo&*>f%9x!F0W!TkwA1l>=I=-9*35{yzr0HE z7KEWefUh$ps)QtXguZjJ-Bf<=RDkOzPiok}IY5HPSw>>Nbp651(Zd=$+Acr$We17m z-1>h;0Q^4w&m-#pxmZ?rvei>CniT)>-l0%s=*ov@HJ=4gp-J&l`z3gjgip)#jp(cYb}i z^uZ&HGKoI++ndk_Zv?>U7uU{Q^YfvLD<4kGwg4F8GRzm>>dM(<_!d9-G7z_^+?riU zx0;9X7>5A9_Dk1abM*gY{CS;M)!WEqrL0o1>M-|l|EG8UYIT#+4KKL3U&mWx98C^YK6=QMLr>cZQ0RG)h04Y9df?e}V?f1bq2*A61v!W>n z;AxBD5HNmd=5ke&P`{11da8kCz z(WSZHTjqfJ1%$!72#R{V8G&K!_rW&^fJN4qpY4+16j``~K?cyD}4 zGud4GW9M@yf^i5(U*2x+0aCn+ps2^C_WR&l3cxwQ_6CrTGeRp5unq9RM@_J6eyROF z_@*aej`v&%)sxvO3G+$N7w;k{>T#+4KKQm*5quuN)6N4f0r>r}_^1hX&0l|&5Y~Pl ze1iad?O^X>oCDA}AGEs*lHgqgMLiAzCHDK^8*+esqw?9wT~K`z3X6}LVAuRo`+e~L14g{5 W_#|jH=l}o!07*qoM6N<$f&c(P=@rrd literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_darktree.png b/textures/vl_hollow_logs_darktree.png new file mode 100644 index 0000000000000000000000000000000000000000..b52bcce276656317e130496161d13d207c008691 GIT binary patch literal 1608 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 KMNUMnLSTaN>Mf-J literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_acacia.png b/textures/vl_hollow_logs_stripped_acacia.png new file mode 100644 index 0000000000000000000000000000000000000000..f14372d5f49269ad3450f8a3b0d713d2bd6ae822 GIT binary patch literal 1791 zcmZ9Kc{JOJ8is!nJ7t6tsl6yuj?ic*lL#^q*OC%dMXw%OjN5CgrAT6gYD#LU4vHq! zRB4fpE@MkbBrSDK4RbqfkXUNVsMxg)xkqQtx#!-0zwf-?dEV!IG(rIGkUC5q0Dwby zAMYRl0HOc@FjG|q0AQt$L<9h30p1%!jPv4G3yZ99#xFQ&65*0-?4^!2lt;4_>9=$o<4j0;B?XN8r%Ad`G5Vv@uxmbeV{ecBTiVCN*%D#kCrkhSPFz_Ns|)O2TA}t1t6^8ghGFEDx290&wvdb9;dadLllG2p>)fFq&EHO!`3^7^o?^jJ zy0$W5Gk7+({XAtNFvF>$IZtBTXGFZ?nLj#DLYNhkA7;Pw>nFkjQl4~CM~z{VRPM37 zqrU_Xqa67goZXG3+7r^AJ!)(Yd|_%-t)kSD{qLKN3>ZbGkUpeWT`o0$TW+2M`P#qF zg(}I~>;-R_I0bT}Fk|U)FtEg^_%Tze?s1Zv3pbwZMdBoR`n*vR~?@ zuUnEqo{sR5(HfJ8eA_0fk5%oGd4VT8RJ=F^A-&;MnFy{DGWmw<7Q7#E?c(l4S^TVn zco^U-(U3RGz7!+vC8OHCf@Da zF`;LuzKZT0cWDkM>^ds<$k)?M^_N-U%b)kT%I?Dycsu^!0~n~CDu;E&%2?gaR@xZ7 z6mll~I!h9teceycY-7)L?Vt8es0hoOomDP+1}X^Dy>^_z&Z&10OT|Sf%^UCW#&2xZ zDH-^&Ksuv0Yp=!OL_u#aBuhtO#>d*QHd)-CYhBgQ=Sn3&Ry?EYoqzJ?x5g!$BJAQ@ zX7=|j5~_ZH`*h&#_-qb@CxS8D;G=kY;(?*o;ZwS4+S(G z6K*d)@=CCeanTqz=Hkn_t8=rOs=)+doT~Y^hDid`kUNbGn0yHa#}fja8ZQ{Lv`AyT z69Xhl=Fj3qA)z5E>IT2Aq}BO{%Y|Jl9@A7%SQ&rp19k+22@QGrG6+B81L~fXdIaU@=$Fh-_vX z!3NN&qS+Q~^eMvbBtEaf?sdjCruA6y2Pt;oG&zFrThenxXIf z#nVtIN)mhVd))o7N3^~={jPt+I(8BTz2xrk(h1B(LwA+sp{U0XX1VT(2%DaAqmH-o zWsmwEoo7E>NcLZC|E7K_^$gSPVNkxaE%Yly@UGjdYmE#TI(s8LFl#K#FC*2Dix>!V z&vz7D;AIgKt|OG9n{E%XR>IHt+u;VlM;4e;TKSsPU}#j!q!#3^nR|9E=CRh6^r#EC zB^Efye|i?<@xJgzlJK8R%ci_`%k@cW0{PbG+&v*B zJOQ{ZO3y3&^w(x(fw5gPp(0!Cl|ORM9n!Xn6Rr^VqIXLSS%aj$f1&qxBEUAXXS(j= z6dyCJ97?t-d(M_W5zV2ZdF>&m4Vn8g(XHQW zPh{~Y!E=X*jhYFSp3N!F|Ac%k66MnBO!XsO+L=o`@^k-(hZJQGC8n4r-31ZJHkiNq zK&6t^oRNd^hPLE+J&`O_Gg)S|P&7GN5b|^wXOPraBKkY$&^MOrUTW{s-9qG0GCx-| zDJvJvp~QS1r7aTt;7ccTh#b0q^eOX;9V(Af8?4c=c98iz4f2;m_oKU+{vW{GiLLEQ z1(86(f5kziBl{f(N)1GjawWpYdd17#buAQ4xek~uMs{kuxV!;ioE1gwE%^xQ;F1^e WTOG~w((ohz002BTz`M;eD(^oHk%6rM literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_birch.png b/textures/vl_hollow_logs_stripped_birch.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b8851d3feb488af266b63fe76d998526e37391 GIT binary patch literal 1845 zcmY+Dc{JOJ8is$dHPlv(E0(Kdl+y;AwI<>pX)DpBJ z^vEb0Qd)$frS?5YwKbs;Yeh)NJ?5Ts=idLn=X~G$eCN$XxjM*5sYn3;Amij{cLM+b zEC2u+U zBax>;vgm0r)Os2H^o*EvmO+Z1wY)?I9T=pL#x|lBaZqSWLuluPSh{UNT>a7d(DI_T zlh(LhHPc!1c2>P!St61IrX@W2NxqgqhMmG9Du(ikjkTLaV7Du`xR!Na@?ftvcFn0F zv}0k-^Y0dT{2g3YuytJZ7?HmkeyTF zT077LiL62WOHsSotj{P_OV(yt*$5i&B4#8zM?KqNU{K;UufJ>IwZF_tY!qgqnCTO7 zPAavyfJFR7$nT7q2cNMC1F6p`blsYlxCOQDvz&AhFFmBf!J3t&Qur#=vbHlwt||EQNv87VbjC?!;blUx2mmBraQXJ7~!1u#VfD>$+~F2hMX$L}0-%*&2wc zoTmM!uW=L9)jP`bURA-y0rb z5i8R-Gj?uYM6fy#@7-*JOW>a$+sqi>Z5U(kfhMY_i~|nTcAMyMeZ=+iaEp5~O&-`_ zj=CUh#MxJQYdbS==mDbliqa+9doG`1Bz4ww7{XTO5B{bsM}J9m32+iH4>W{meD0n4 z$09D}R!TznWqT0XGejNwLCW*#g$|j+d2VpYb)9Izs<$tQx5}F!1tlVb5HO;`o;xS- zT*WNQP@_oo<-%jNn7Jl}?OE|&YPs~qEGp;RC{7fOF8Sm9!^{VMD9@!g>?lzz3mBY} zUR6j?#g`HwM;`n+9UY?4^sjbdy-2LD?o3V-yh*WNyvvmyi9x;>tJkgcNUo_ z8o)a~P(9Kppsf!H`b*{^!|{CMfSR=O-V1^RGV$&Ye6|5YTyo~eYao=dN|FOb^hUiM zBn^A3Enhi{X8&8g>SSc{_n(y&lxZ8}@8u8+;rk|K!eyz7t6Zw5 z>lkXCSYIN9<|@k?vLe(|$zN3p!h3_#@K&O%e0G*DI_VJ{tE(*cRxi%B=}}CULV()CKc-EScS^nDG0E@T1{lIzzg8wRV1FSZywt`pQxx z6AlIf@<>zxTr4V0R6aDZ8lI;m`J|qXyBb-uHa=D7t%QnZ3@^3sx_WM?o9~c30ZM}? zi5A93LY6|z-A?LLo4X$6ea1VTkO8;5=f!$pPNV${ebAj3n$<;p=G8v#zn^l+N2RAP zi_XxG=8qg+66J8y7kApi`8nCHSq6{;i03u`bsz7Z)Xm{;u5gB;KZ1z>Rc@I8e?E1s zr`=`Rx$(}ZE$qC?VjIw=;DH_PDR09d}(xJ zayzrzwr{VO5h5+Rry;YLiWx$|<}VVxjX88NVsLyoja8YK{3 z>S9#Hr(>YH28D&z<8(rUm}=cM~fXNNz(oG4AEELNNJs^FSIMuXIcT)C{dypmy$2 zXdy7lLtmWh0!1GsY@5kNf26H2`T{dMatr^%#AyP;=)KlHmIZdEdC*zD z$gd`x&`0{ZNoT46xw{E`ZiSCmQW+q!`S}^z%65vG+Ib$ZVuAKKM?EA^<<|2E%E;_= zBIF3e6L*NC#&z+^PFXa@A81`)A(XYe4YiB%^F4JG+y zrxrTj-ApM@f&cFU;X^k0#1?NxU!Rji{>xT(zR-#=d9nAHiSM!<(Z6q7_h0O|v)s>N Vr_Sc(1ONbllfA1Q1&K`p{tc;Yq2>Sp literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_cherrytree.png b/textures/vl_hollow_logs_stripped_cherrytree.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5be85b6547cc4bb1bf0ceb65785e9120871ec2 GIT binary patch literal 1605 zcmV-L2Ds{N4-2h)uD}F#}n*N@Or=Tsbs;!`DiD(j0C`E|Z&uY^`8u%GBO=4#q zdmn?&9oxz(HoM-d6&ooVdwkY+&bhCdiF$tfy48&aDW%DTA!Tt))>`tKElQ$eQpS+Y zGBQCx{5fMN>GdcX3@9B${GJ4#^m{~#`1`f*Q|?lVUruZwYu#(l0i^>c4qhV?aF^hbf=t+?#_Mm;54^IUPyxrqveNFP%R}fY)lXw?P0-GeqOOs9Xd<7;DJ{A&((#WWy7V7({^tA0Hl6 zA`sCz+J9MDfC=8~bVc?{=g$IwSkr7e0Z`zS;sOUT*z$ThLg`_nXT~0+>ySuA;_{GJL zQ;;!y&*Bkf!y!rV$>9MtFTBM~z#;;0B%VZ^CM9?sG)4AH=dYgLc-MMM%jC6M)9wN} z9;t^tf1G}t(ymS*^`HavzIlG32>9d94U1MZ=^b%HAi{gT z%zokgxeL-^NR3XHJz8nSDr zMb-hZ3oCWhB?%sLl-Mtwzj}K89otxW&Gr50f|O!%y`?4Yh$hQ=kTDtb_%4WjvAn z()p_=*RJwb1js(U(SEd&7$Rm0Mj(24W}BLrJUm@p2@qFAbs2k@yZ$X zL4Z$=dz|XfkMn|0E5eVp*|h$g-Wo!qz$^7MwYAP-6rBfL zyth4b%Rq`R+JvinTxx$6e2&Pyt#w=GJmAviqnQFo@pThi^n9uPRq#0?ckkb_WzGZE zzW-&W08)GrL3NKy?XQAABS4w+fGa=zHdg=%zHWkxo(}>g_E*8@1^D_lA5Y?P=e)De z1LmcmT_L`Rpt{GU_E*8@1bDG=$Cfz{xOjhd5ticXCb;PNQv0jm&lKS@=K*Wq{XDk_ zOYlVm)jf_PDzU!`J|6+!e8~s&MdtyR=LqmZh_9RAqUTHPuY%9lfO|J>ne%{o0_+O$ zMFiD7F15c3J}1DRcfYV@&I8sS{W>!RN%3_PT=aaY{Z;V!8nC%;%bW*XdHnnA8X&|M z5mfj1p3wd(_#BacKisfo&I4Arf1D|R6kj*NMbDSoUj=_=FR09Uz&ru47b3wI5mfiM z)cz{?GhI-b^MFeaX72@|3y|RJCb;PNQv0jm^EKeXSNz`wxc=)rV0HWP>>41%7ZFtV z_@2=ID)=)3@UdjUdBEz{d;ui*x(P0NJ_wZ9Uj_d!{UWl2Yg}$R00000NkvXXu0mjf DMbZMh literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_crimson.png b/textures/vl_hollow_logs_stripped_crimson.png new file mode 100644 index 0000000000000000000000000000000000000000..ba916840dd618b814c008a5183f03b17365a7e20 GIT binary patch literal 1344 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 literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_jungle.png b/textures/vl_hollow_logs_stripped_jungle.png new file mode 100644 index 0000000000000000000000000000000000000000..e8de34c5e3f0bec3cba60858cf7925e87308b39f GIT binary patch literal 1869 zcmYk5cTm%59>#x3Krn_PQbIY3(neW&3r7nr1c41iQMw$sXmEjmY=#;Z4Mpiis!1p! z#2FZ2S-K!yI0OVXN0E}1gen0-O@N!QJ9GE%`}@_ z03HAUpe%d|0D!IT_&Wd~B#E{|-g#u(RJ{Gp2PHe$70KkCy^q~qSTOuKry_}%92QyW zB7bGt+sS3pgHwQcgzdZjLA+F=+}@jru@|4hxk&EzoD2|qo1G@cRSAciWJ)Bn%s~H| zTwBzQy!ih>0=7p#v)J)umZjBC$*12KIWNFUld1v)Q=dyMnKmWr_q8JI+@1$0Q1kVz zWL#4GoaX(eS3l}Gf}s9V2nA*$LNtz!T#9A42A<(R>%yR?rb+)4~9eOsea=Ueo0 zI-{1;W5P?6(`-4tsh-l6b+`6p#0IG6HqsiA&W8s}Tt(&xIK5qSSnj2h5QNHhcXG~y zQ(}*R%wE0v_4drVVd;vzqVH-118ZWdjG(%3^RAjCJdNN(siNSlVmDe1*2^FN%bn7$ z9poL5`%oQdC}f+9*}Ey<)({3Oy`v%L_G|1?8gMEFVA6I~pVn>m3`%sTpPtbFJ?8wJ z7rr$e_~u!jjM|A?&e6wZ)zdrNnK6G;ceJDm)LhjKa4W3dT#Xnv6zNgcRYRSl;Fs&}82J9WM2liGtuLKohHgiIYL zUl6xmO4CLZ}lfx2bC8zq$H_G$D`;T_yYuU^!VF# z*K64DCkEC+)`!1}S($+d@U-o3f32~{%Q3SkEs@Am2fcV0>XacD;4tw)$r<3NGNQG2 zY5l6A_*@-)$n?6U2$YDEu+E$hns40Z_0t666%yr}S?m^D#-3L$2fJlru@p|kt#?U+ zW9I*ubbYUdXLrL~Dm7kztg6+vx1TOHiV^5+t#STT!G5c+B*cvk_ocU8-cV#OkE;0u z>v9F5{)V~y4Y_N3sGFDLoxi|s=ei>i4d`Uor>Tq~f$k`T!dBF!{HT;}f{RWIzQJ%( zf<%ZC+lj*_Juz6KFPa5ce;W_1X(RWsqAq$m-6S>QUJX=tz@Ax4_b>5Wzp~0IrFu*e z?05sIjDM3t%SODEb#DG?3ay8*k5k09Z$aw(%sfoOSVeY%;F8NQZ(4O-n7E!l>yC@WwOYqIAqTsrUld3(F#-p;6Eql66uBGL7%9_l1P_K#v zY2-YV^_oD!U@kW>Yr6u8JsYn#6C{>%dTSAW`)Yuf6vH{ zUb=S!>fhY9y_!L7{^f`YnV5OzcpxlLPET(V4FcS`MH(+&D~?ssfN4D z2vNq6i3OE*yAKbpF1nolT`*>Mh!omp$$U48xF27{D=FtOdwj%_{5LA{oCFW_P zBI?1ku<%T2Sb^LqNRf2-EW3(=J1==d_lx$LnHMrYI|(xhEvo4lMb2x}G5cY?^@!cE zLb8YPA;|x1nF(Nyea-01uXj%8*p%VKz=x4a>;k1uVit_LW9&M+QW8=>&bbhs5Xf%E zhoG#^v-S)Sb+`R#-DrF5N%JyY;h0V*-{m9Uv)%y!6D_Z?6(Mr>+?aPR(9N`5S{3SQ z4F)uM+OI?QLbt46oc(-cgi4?a-k%pL>)IXUALBd8(JsK*R;>R$<3rGoeltEvHGhft zWM4gQEo7K!xx_0NB{b91Ix_NpX-%dP z|95EuIu5^J`Oot!qq5d3gf*X10+!#6;L`fY;NQR^ad^)3abZXeKjh%}wq@m$?+|iJ z!?7jE+ literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_oak.png b/textures/vl_hollow_logs_stripped_oak.png new file mode 100644 index 0000000000000000000000000000000000000000..6757e0e24c3c57c91dca665c2e673dc50d7daffc GIT binary patch literal 1845 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

`di8@K z1w8k}gFY*3P*K)6C&JTrCH%$b|M8Lyly~Y`m1S&<%$C3no}14XlN_qFFn6{cH_9Wk>N%g6-88pQSjyTQ+a+z)h0c8<+vSDloe-3J6VC% zB!L94ZuVl5$Z}_szPIfRn@2TxT#YNpZc131Zm+`GEYtJ{8G7oA;@1%QJ8TMIdUGdIQjIq${>t?MFY7y^0 zoCjPw#09-@N`_yia6|T%^6!G5w}8_dK4czn>FQq>TYwNBBBW)m*%I>ag8y0! z2$=`G{LbR8CHX)Jewo4z*;~rL3w}-kFK(XnA@hLWz4f<+79hok2x*yXr2M#aONDMgtv<$yY;fCxj<=+KAr+}Y6wc$hN0axB!oCQhoAwpW_8Y%xS_yetobssVh z`0XJI*xHogmnqzky`}uS;15*7Cw<5~;PM-XRl+iSh>(`KX6v+!e;53LI$+(0%mc2x seOMtT!!J{~A$z|_7921S`Cp#@--ZAJ$L;pV5dZ)H07*qoM6N<$g5=JDnE(I) literal 0 HcmV?d00001 diff --git a/textures/vl_hollow_logs_stripped_warped.png b/textures/vl_hollow_logs_stripped_warped.png new file mode 100644 index 0000000000000000000000000000000000000000..75d956923b30dd14b868f55186cfad6016d8172c GIT binary patch literal 1395 zcmV-(1&sQMP)K2Z)9E2Lu}{!2>I~Mk@ui z5becAP{9vWJUxgp-sR)6^2}z|$!0g%eMfJzO*XrEc4y{!=i{A8X8(bc?#9vP=X{N?x7u~OUT-a%)=I-@@NTni@*{cw{Z4KTJr~Esx=H%1Hmd$L+~;>U zSDJLL!LMX9D*3hgXFx#F88gK~$<$j7Q)^TVl#~Q4{$B8}d4zbssnvgy0W|nEncQFF z=Zj|3*ff2gUcb*QE`2nW`htJI>`a>RwcE_ow|D$&^2D*gFS{+3{965qfZRyI6bt3f zYWIvQy#OA7RXN^Skst&I*r(qq@a6m{JsZXwb0*9>r$o<$v2ic~YY`!xuKRl!R z>@l`@5TKD?t3MG?UOP$Q28LxK5N6;N-iojK=brm}p27rZ@E~AQc{jah?*8>m=+X{c zoIP>bof?}qufM&ZI~shY`O9eJr^TYMU*_PUSy!%XK8KM(3O*$nOh9GH^8&0M4IUwA z$A-PM;&0x&l!$0Em(DeStD|(d%F9}FPeJl#?(US%w&1P!-UV2875JZ4>jXpH^ zuggDF@@w^{Bn$~q%OlycvAOnV&ycl0S4mukYVb?|LQ32ueEjfPw}dK55MYb{RQo~% zq@{n?K0p${AxL@ym5ZGc)w}O)#CRWIgU_|wW@2=wDLSLE2{?D^3N4zil{X}V29GL8 zBfnPvE&@2lbNMNgl04^q0e&w9u)%`>R53W>dcf6l^DZ`NvI?@r%Z-?g{964(383Vf zb;u|jdV)J+Ha~@ilm^g7A#ENmzy;;7|qG;!y=@r*Lx2X)y&w)l zcrN-tI1pxV$bL|*j+i}4djQ$Ev&Dk|jr<@$gZFzuP?QzojTMI!Ns8=@E-n2s?QGjG zMQ!kfk-sZ&X8R#Cp5NuKNN&c#=+*jy->BmanE%7hi4C56L22pl6Tn87eIHJ?G9<}3 zFA1>4XUqzpv9+6fL4ARd=CL}<^lZ((BOxG0FC@|w$g8&BJI}`f`aX6 z>;Z!FfPNuJgHM|Pgb;_3t6TtF`;j1Nsr5 z!4Crg8u{S?N%36-pe+$+9`O9xe5eO#@o5vFmEQ&*NdSxy)`G^4Gs**`057la6#nM-z1LzZLZehjRhkG9Nk|mf;6_2+;ZNFEK;5`tO-$VI*AfqhF(7)#|PU`Cidpw-GG=-k-n!f+r)J;6l+oi8BU%i3VE0^o*qWGov z&Cf-{%xnJBoauY{$=`lX10NW{=POD<~|V+ zAG81tp5`)h)Af?B3I+Qz%=~?`Gy@5yjYB+P@ z5A4{ox_yt{`Qh?k+FnB-2hX*igVzM4Pq%SPL%`(J^#mCvOnrUsA}ECXANZFx58%bO zKeEzcCF}nOZ@sFB06HiXI_UdcJblLydN0?n35dsiTFi4#uE6-&UlMDNdqbK44xVCY zf8YIBxvUF&-v6v40zQA|HAUX>&4o#ABL`0ea_pxA$iXl00CFdj59lPky!kOrMm!1A z2X9T^!TF!BEbxH5ctZe%pH4j>i-4kd<3Yv)^4gz{0D1A6024<|4lu^N`TROfMw|fJ z^bL=%norJm3E<#~fM?bZVB_F&Jhl5s#~wi6{P3$w+71rhs2}qDGS;tE5G^8ZNc=SX zITM0%06o8TdtRy<>6IlzREkj9y(lGHXo_Gxb z=AB0FyW9ojiC`h^-s!$Gb<*bQFTVJF;7mOr;QHJhv#G>`vD)dFLX?pdaW}*&h*qb)-z2NcDpRZw30(<&%0et`!V<@4o_*K{bMo)Aq+Rj>&& z6n7~B(@39yy!fIr^wYDG?TVf1fV?u);L{$E*M9E$Gd;kx9P|#~?bVpXON5v~swnFO z6u}c_?ZZ9ox#_|bTPDPqht!&&o>06M!Nte(ToL<=;@g!lg_^VuCPhTan8trq!W_KG zEv6A?Hk!i9d*k0@`aeP{6?tN1bVuB%mo5cDpY+N%|PgN20?`Gnvd;! zKhBhkTzq;n@AZGK{YCJJjXZu}Sk-(Nwrydq8R=ip8wyZLp%sMas#WmHzH9=x_F;svFM>}HaPr`=@?94~N<>E~Nb?9Vf2;$<)CV*>y5qy$> zeM4FWwL*ca@4#_vv;qMk6+{%l@f-x9#OsGoWfQ=}mrelF{-Xu(DH&QtJN;c%}z%@nsXhwZ8~HRR`3SR0_W9z$NVu=x{{dASBQT1RTp+lz@{5dHAvk z;M!jVpCI7W=!hceNlCY>;(^ErB8f&bgk@Q%R$T2B_0en(;Nr_BfNOsde1d@SLpzk` z+PVic*9uYb99;u6f(XqZ!jf7=*8{_g5WvNkO#s*aBKRZ$V%5T5J8vY?xA-8EM$ zpGIrm3y6?K31H$&CxB`Hcme!^UJ%{zeOG${g&zt@lKMbO!gHuDP#8LREHepHFNA|H zn*gr;MewP1^oXM78#RKc5gG~Vf)WXiPRL;>A))Z<{%itHkMZzj6Tr2<2>xGP?(68_ TSL|8<0000DA(6vmI;)Q*$b2@Xy|l+RWv4Xuz!kuV6UEwo`N3?UO$2gFcSLcqvS7*PKKBnB!W zF;r!$G5`y-P%0smfmCWG8d^k2(}*T^W9&GwW9Q?d=Q!tb?buH4dnD|;*uJ@sectnX z-}4pEfsyB|a3V^X{%OLM&t>_wFMXU=hX3IAi*s}Q+BQGJ&&e~J`8?m(=;Nz@@^=Ix zetyNZxo+{Rx4~oItMn!t&#Ck+=^mB++Vy)z4}ECO2CtLPAK-ng`HBF<@89Qp z0zjTwT1?Pk-)D;?JI|kcED3N_gsa)LleXBo0;Xp5aF?-g&2LJ-k zM1T14J1YCN>t_Hn{_m(U*lGj7j!t&nv>o2`V3-o&Nech-B5gkX7bRo!l+WfUzrMx* zGZz(C7i+)lgwaU;5_4&M}9G#zsG|xM#)%=a{-PUE&#Z<`88KUDt$+sqW;rde(n~)nb*&ArzSZ- zrH?(KvtPM>&%p3A7It)L`H2Oh0zyavfJ`b)O|8K~?R~q4!;oAWeabUOr}n?+sto=3 z%!DPq02(ok-WQATiLTZ9?IesHje1tb49=u1ovsbwRu9cL-QeBd5^S+MXA`~j0dC4j zCjgLhTgE!|C_|<5H?d#4e$T<^3w)df02(aph)`SD?g#9guyBO?1Nn?mgoGbcJpiDL zbd!W71pTmdk#!nA4o*+! z;`X4<>3ruf&O|R&kg5IJ^%s?)veQxXi=(CT!Ca^m0RHAI!%Xxtj>dPF8%f)lzRY-9 zM$z(&i9WE_X_uiU_G{N))cT(qJ!`Gx)4ZMrub=!4g_2Y5$^EN8epz;8pw&B_U5ocx z`%Uykjy(Cw+tx}xMgE4yA^?d@+`b3LR05#Y*TU(}-_+V~qOSa_g%UZYs>^ zzy1DV*%RP2z(ik908H#RS$~luUwV1WYW5ZWF|)pzqh?>B@d5yOUk!j(Uuytb`%U!Q z0LU)St>-xh;MECZCjc6KJpj@7>2Eww*(zJ#JeSX!lDex4|M0<`*C1JK%UqOS-*a)9$R!1?GADxCnQ0Veu-0$^gl z$@SL5-K&OQWBO<&{SV*09yM^^i@X@(hoSBl4@mWX)EqlUoQY;y>9I{S^qWw zGInt8V)OyHBp+0p1!?s406=3u0Jzm}%K^@jgR>WKCg*B7K%=iU0K{;O{U-Vy0hG>x z@YxLjH~M-6;Ku%P0Cv(>O~N8Z<+GbvP-zl!tFJWxt^FqYe*tDz^ZJ7V+ROj|002ov LPDHLkV1fVuohvL= literal 0 HcmV?d00001