From 6f98bb696f8e3c81e858c3ea18c71a2b0e604131 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Wed, 26 Oct 2016 22:12:04 +0200 Subject: [PATCH] Setup initial game --- README.md | 7 + game.conf | 1 + mods/beds/README.txt | 26 + mods/beds/api.lua | 158 ++ mods/beds/beds.lua | 90 + mods/beds/depends.txt | 2 + mods/beds/functions.lua | 220 ++ mods/beds/init.lua | 17 + mods/beds/license.txt | 60 + mods/beds/spawns.lua | 63 + mods/beds/textures/beds_bed.png | Bin 0 -> 540 bytes mods/beds/textures/beds_bed_fancy.png | Bin 0 -> 537 bytes mods/beds/textures/beds_bed_foot.png | Bin 0 -> 390 bytes mods/beds/textures/beds_bed_head.png | Bin 0 -> 387 bytes mods/beds/textures/beds_bed_side1.png | Bin 0 -> 296 bytes mods/beds/textures/beds_bed_side2.png | Bin 0 -> 316 bytes mods/beds/textures/beds_bed_side_bottom.png | Bin 0 -> 561 bytes mods/beds/textures/beds_bed_side_bottom_r.png | Bin 0 -> 537 bytes mods/beds/textures/beds_bed_side_top.png | Bin 0 -> 611 bytes mods/beds/textures/beds_bed_side_top_r.png | Bin 0 -> 596 bytes mods/beds/textures/beds_bed_top1.png | Bin 0 -> 583 bytes mods/beds/textures/beds_bed_top2.png | Bin 0 -> 616 bytes mods/beds/textures/beds_bed_top_bottom.png | Bin 0 -> 495 bytes mods/beds/textures/beds_bed_top_top.png | Bin 0 -> 556 bytes mods/beds/textures/beds_transparent.png | Bin 0 -> 143 bytes mods/boats/README.txt | 15 + mods/boats/depends.txt | 1 + mods/boats/init.lua | 249 ++ mods/boats/license.txt | 63 + mods/boats/textures/boats_inventory.png | Bin 0 -> 851 bytes mods/boats/textures/boats_wield.png | Bin 0 -> 546 bytes mods/bucket/README.txt | 13 + mods/bucket/depends.txt | 2 + mods/bucket/init.lua | 205 ++ mods/bucket/license.txt | 51 + mods/bucket/textures/bucket.png | Bin 0 -> 205 bytes mods/bucket/textures/bucket_lava.png | Bin 0 -> 221 bytes mods/bucket/textures/bucket_river_water.png | Bin 0 -> 221 bytes mods/bucket/textures/bucket_water.png | Bin 0 -> 221 bytes mods/creative/README.txt | 12 + mods/creative/depends.txt | 1 + mods/creative/init.lua | 266 +++ mods/creative/license.txt | 60 + .../creative/textures/creative_trash_icon.png | Bin 0 -> 179 bytes mods/default/README.txt | 228 ++ mods/default/aliases.lua | 77 + mods/default/crafting.lua | 1026 +++++++++ mods/default/craftitems.lua | 251 ++ mods/default/functions.lua | 489 ++++ mods/default/furnace.lua | 313 +++ mods/default/init.lua | 51 + mods/default/item_entity.lua | 74 + mods/default/legacy.lua | 25 + mods/default/license.txt | 170 ++ mods/default/mapgen.lua | 1479 ++++++++++++ mods/default/models/character.b3d | Bin 0 -> 86830 bytes mods/default/models/character.blend | Bin 0 -> 700448 bytes mods/default/models/character.png | Bin 0 -> 2754 bytes mods/default/nodes.lua | 2028 +++++++++++++++++ mods/default/player.lua | 158 ++ mods/default/schematics/acacia_tree.mts | Bin 0 -> 204 bytes .../schematics/acacia_tree_from_sapling.mts | Bin 0 -> 205 bytes mods/default/schematics/apple_tree.mts | Bin 0 -> 163 bytes .../schematics/apple_tree_from_sapling.mts | Bin 0 -> 167 bytes mods/default/schematics/aspen_tree.mts | Bin 0 -> 176 bytes .../schematics/aspen_tree_from_sapling.mts | Bin 0 -> 175 bytes mods/default/schematics/jungle_tree.mts | Bin 0 -> 251 bytes .../schematics/jungle_tree_from_sapling.mts | Bin 0 -> 246 bytes mods/default/schematics/large_cactus.mts | Bin 0 -> 94 bytes mods/default/schematics/papyrus.mts | Bin 0 -> 99 bytes mods/default/schematics/pine_tree.mts | Bin 0 -> 175 bytes .../schematics/pine_tree_from_sapling.mts | Bin 0 -> 172 bytes .../snowy_pine_tree_from_sapling.mts | Bin 0 -> 232 bytes mods/default/sounds/default_break_glass.1.ogg | Bin 0 -> 11130 bytes mods/default/sounds/default_break_glass.2.ogg | Bin 0 -> 16058 bytes mods/default/sounds/default_break_glass.3.ogg | Bin 0 -> 12257 bytes mods/default/sounds/default_cool_lava.1.ogg | Bin 0 -> 9583 bytes mods/default/sounds/default_cool_lava.2.ogg | Bin 0 -> 7977 bytes mods/default/sounds/default_cool_lava.3.ogg | Bin 0 -> 6499 bytes mods/default/sounds/default_dig_choppy.ogg | Bin 0 -> 6794 bytes mods/default/sounds/default_dig_cracky.ogg | Bin 0 -> 6628 bytes mods/default/sounds/default_dig_crumbly.ogg | Bin 0 -> 7567 bytes .../sounds/default_dig_dig_immediate.ogg | Bin 0 -> 6714 bytes .../default_dig_oddly_breakable_by_hand.ogg | Bin 0 -> 6940 bytes .../sounds/default_dirt_footstep.1.ogg | Bin 0 -> 11144 bytes .../sounds/default_dirt_footstep.2.ogg | Bin 0 -> 7504 bytes mods/default/sounds/default_dug_node.1.ogg | Bin 0 -> 6630 bytes mods/default/sounds/default_dug_node.2.ogg | Bin 0 -> 7863 bytes .../default/sounds/default_glass_footstep.ogg | Bin 0 -> 7094 bytes .../sounds/default_grass_footstep.1.ogg | Bin 0 -> 10273 bytes .../sounds/default_grass_footstep.2.ogg | Bin 0 -> 8759 bytes .../sounds/default_grass_footstep.3.ogg | Bin 0 -> 8473 bytes .../sounds/default_gravel_footstep.1.ogg | Bin 0 -> 7326 bytes .../sounds/default_gravel_footstep.2.ogg | Bin 0 -> 10136 bytes .../sounds/default_gravel_footstep.3.ogg | Bin 0 -> 8086 bytes .../sounds/default_gravel_footstep.4.ogg | Bin 0 -> 9017 bytes .../sounds/default_hard_footstep.1.ogg | Bin 0 -> 4915 bytes .../sounds/default_hard_footstep.2.ogg | Bin 0 -> 4922 bytes .../sounds/default_hard_footstep.3.ogg | Bin 0 -> 4919 bytes mods/default/sounds/default_item_smoke.ogg | Bin 0 -> 11917 bytes mods/default/sounds/default_place_node.1.ogg | Bin 0 -> 8584 bytes mods/default/sounds/default_place_node.2.ogg | Bin 0 -> 8644 bytes mods/default/sounds/default_place_node.3.ogg | Bin 0 -> 8846 bytes .../sounds/default_place_node_hard.1.ogg | Bin 0 -> 6578 bytes .../sounds/default_place_node_hard.2.ogg | Bin 0 -> 5623 bytes .../sounds/default_sand_footstep.1.ogg | Bin 0 -> 11897 bytes .../sounds/default_sand_footstep.2.ogg | Bin 0 -> 9228 bytes .../sounds/default_snow_footstep.1.ogg | Bin 0 -> 5992 bytes .../sounds/default_snow_footstep.2.ogg | Bin 0 -> 7364 bytes .../sounds/default_snow_footstep.3.ogg | Bin 0 -> 8245 bytes .../sounds/default_wood_footstep.1.ogg | Bin 0 -> 5967 bytes .../sounds/default_wood_footstep.2.ogg | Bin 0 -> 5772 bytes mods/default/textures/bubble.png | Bin 0 -> 459 bytes mods/default/textures/crack_anylength.png | Bin 0 -> 348 bytes .../textures/default_acacia_leaves.png | Bin 0 -> 444 bytes .../textures/default_acacia_sapling.png | Bin 0 -> 359 bytes mods/default/textures/default_acacia_tree.png | Bin 0 -> 682 bytes .../textures/default_acacia_tree_top.png | Bin 0 -> 731 bytes mods/default/textures/default_acacia_wood.png | Bin 0 -> 261 bytes mods/default/textures/default_apple.png | Bin 0 -> 251 bytes .../default/textures/default_aspen_leaves.png | Bin 0 -> 761 bytes .../textures/default_aspen_sapling.png | Bin 0 -> 320 bytes mods/default/textures/default_aspen_tree.png | Bin 0 -> 695 bytes .../textures/default_aspen_tree_top.png | Bin 0 -> 656 bytes mods/default/textures/default_aspen_wood.png | Bin 0 -> 373 bytes mods/default/textures/default_book.png | Bin 0 -> 201 bytes .../default/textures/default_book_written.png | Bin 0 -> 228 bytes mods/default/textures/default_bookshelf.png | Bin 0 -> 471 bytes mods/default/textures/default_brick.png | Bin 0 -> 351 bytes .../default/textures/default_bronze_block.png | Bin 0 -> 356 bytes .../default/textures/default_bronze_ingot.png | Bin 0 -> 224 bytes mods/default/textures/default_cactus_side.png | Bin 0 -> 314 bytes mods/default/textures/default_cactus_top.png | Bin 0 -> 267 bytes mods/default/textures/default_chest_front.png | Bin 0 -> 423 bytes mods/default/textures/default_chest_lock.png | Bin 0 -> 469 bytes mods/default/textures/default_chest_side.png | Bin 0 -> 375 bytes mods/default/textures/default_chest_top.png | Bin 0 -> 422 bytes mods/default/textures/default_clay.png | Bin 0 -> 272 bytes mods/default/textures/default_clay_brick.png | Bin 0 -> 158 bytes mods/default/textures/default_clay_lump.png | Bin 0 -> 167 bytes mods/default/textures/default_cloud.png | Bin 0 -> 83 bytes mods/default/textures/default_coal_block.png | Bin 0 -> 240 bytes mods/default/textures/default_coal_lump.png | Bin 0 -> 157 bytes mods/default/textures/default_cobble.png | Bin 0 -> 268 bytes .../default/textures/default_copper_block.png | Bin 0 -> 359 bytes .../default/textures/default_copper_ingot.png | Bin 0 -> 225 bytes mods/default/textures/default_copper_lump.png | Bin 0 -> 177 bytes mods/default/textures/default_coral_brown.png | Bin 0 -> 401 bytes .../default/textures/default_coral_orange.png | Bin 0 -> 358 bytes .../textures/default_coral_skeleton.png | Bin 0 -> 256 bytes .../textures/default_desert_cobble.png | Bin 0 -> 280 bytes mods/default/textures/default_desert_sand.png | Bin 0 -> 350 bytes .../default/textures/default_desert_stone.png | Bin 0 -> 280 bytes .../textures/default_desert_stone_block.png | Bin 0 -> 527 bytes .../textures/default_desert_stone_brick.png | Bin 0 -> 552 bytes mods/default/textures/default_diamond.png | Bin 0 -> 313 bytes .../textures/default_diamond_block.png | Bin 0 -> 344 bytes mods/default/textures/default_dirt.png | Bin 0 -> 277 bytes mods/default/textures/default_dry_grass.png | Bin 0 -> 303 bytes mods/default/textures/default_dry_grass_1.png | Bin 0 -> 219 bytes mods/default/textures/default_dry_grass_2.png | Bin 0 -> 265 bytes mods/default/textures/default_dry_grass_3.png | Bin 0 -> 295 bytes mods/default/textures/default_dry_grass_4.png | Bin 0 -> 316 bytes mods/default/textures/default_dry_grass_5.png | Bin 0 -> 339 bytes .../textures/default_dry_grass_side.png | Bin 0 -> 890 bytes mods/default/textures/default_dry_shrub.png | Bin 0 -> 148 bytes .../textures/default_fence_acacia_wood.png | Bin 0 -> 232 bytes .../textures/default_fence_aspen_wood.png | Bin 0 -> 450 bytes .../textures/default_fence_junglewood.png | Bin 0 -> 231 bytes .../textures/default_fence_overlay.png | Bin 0 -> 219 bytes .../textures/default_fence_pine_wood.png | Bin 0 -> 233 bytes mods/default/textures/default_fence_wood.png | Bin 0 -> 230 bytes mods/default/textures/default_flint.png | Bin 0 -> 3038 bytes mods/default/textures/default_footprint.png | Bin 0 -> 466 bytes .../textures/default_furnace_bottom.png | Bin 0 -> 274 bytes .../textures/default_furnace_fire_bg.png | Bin 0 -> 129 bytes .../textures/default_furnace_fire_fg.png | Bin 0 -> 558 bytes .../textures/default_furnace_front.png | Bin 0 -> 307 bytes .../textures/default_furnace_front_active.png | Bin 0 -> 1024 bytes .../default/textures/default_furnace_side.png | Bin 0 -> 296 bytes mods/default/textures/default_furnace_top.png | Bin 0 -> 274 bytes mods/default/textures/default_glass.png | Bin 0 -> 158 bytes .../default/textures/default_glass_detail.png | Bin 0 -> 135 bytes mods/default/textures/default_gold_block.png | Bin 0 -> 483 bytes mods/default/textures/default_gold_ingot.png | Bin 0 -> 225 bytes mods/default/textures/default_gold_lump.png | Bin 0 -> 165 bytes mods/default/textures/default_grass.png | Bin 0 -> 377 bytes mods/default/textures/default_grass_1.png | Bin 0 -> 2944 bytes mods/default/textures/default_grass_2.png | Bin 0 -> 2980 bytes mods/default/textures/default_grass_3.png | Bin 0 -> 3065 bytes mods/default/textures/default_grass_4.png | Bin 0 -> 3134 bytes mods/default/textures/default_grass_5.png | Bin 0 -> 3269 bytes mods/default/textures/default_grass_side.png | Bin 0 -> 779 bytes mods/default/textures/default_gravel.png | Bin 0 -> 3570 bytes mods/default/textures/default_ice.png | Bin 0 -> 3046 bytes mods/default/textures/default_iron_lump.png | Bin 0 -> 160 bytes mods/default/textures/default_item_smoke.png | Bin 0 -> 307 bytes mods/default/textures/default_junglegrass.png | Bin 0 -> 197 bytes .../default/textures/default_jungleleaves.png | Bin 0 -> 184 bytes .../textures/default_jungleleaves_simple.png | Bin 0 -> 417 bytes .../textures/default_junglesapling.png | Bin 0 -> 190 bytes mods/default/textures/default_jungletree.png | Bin 0 -> 736 bytes .../textures/default_jungletree_top.png | Bin 0 -> 823 bytes mods/default/textures/default_junglewood.png | Bin 0 -> 260 bytes .../default/textures/default_ladder_steel.png | Bin 0 -> 3223 bytes mods/default/textures/default_ladder_wood.png | Bin 0 -> 467 bytes mods/default/textures/default_lava.png | Bin 0 -> 685 bytes .../default_lava_flowing_animated.png | Bin 0 -> 2315 bytes .../textures/default_lava_source_animated.png | Bin 0 -> 2193 bytes mods/default/textures/default_leaves.png | Bin 0 -> 304 bytes .../textures/default_leaves_simple.png | Bin 0 -> 838 bytes mods/default/textures/default_mese_block.png | Bin 0 -> 188 bytes .../default/textures/default_mese_crystal.png | Bin 0 -> 222 bytes .../default_mese_crystal_fragment.png | Bin 0 -> 121 bytes mods/default/textures/default_meselamp.png | Bin 0 -> 3399 bytes .../default/textures/default_mineral_coal.png | Bin 0 -> 141 bytes .../textures/default_mineral_copper.png | Bin 0 -> 134 bytes .../textures/default_mineral_diamond.png | Bin 0 -> 262 bytes .../default/textures/default_mineral_gold.png | Bin 0 -> 126 bytes .../default/textures/default_mineral_iron.png | Bin 0 -> 172 bytes .../default/textures/default_mineral_mese.png | Bin 0 -> 546 bytes mods/default/textures/default_mossycobble.png | Bin 0 -> 315 bytes mods/default/textures/default_obsidian.png | Bin 0 -> 155 bytes .../textures/default_obsidian_block.png | Bin 0 -> 336 bytes .../textures/default_obsidian_brick.png | Bin 0 -> 268 bytes .../textures/default_obsidian_glass.png | Bin 0 -> 128 bytes .../default_obsidian_glass_detail.png | Bin 0 -> 1167 bytes .../textures/default_obsidian_shard.png | Bin 0 -> 110 bytes mods/default/textures/default_paper.png | Bin 0 -> 197 bytes mods/default/textures/default_papyrus.png | Bin 0 -> 234 bytes .../default/textures/default_pine_needles.png | Bin 0 -> 203 bytes .../default/textures/default_pine_sapling.png | Bin 0 -> 210 bytes mods/default/textures/default_pine_tree.png | Bin 0 -> 280 bytes .../textures/default_pine_tree_top.png | Bin 0 -> 574 bytes mods/default/textures/default_pine_wood.png | Bin 0 -> 223 bytes mods/default/textures/default_rail.png | Bin 0 -> 242 bytes .../textures/default_rail_crossing.png | Bin 0 -> 262 bytes mods/default/textures/default_rail_curved.png | Bin 0 -> 241 bytes .../textures/default_rail_t_junction.png | Bin 0 -> 247 bytes mods/default/textures/default_river_water.png | Bin 0 -> 716 bytes .../default_river_water_flowing_animated.png | Bin 0 -> 5851 bytes .../default_river_water_source_animated.png | Bin 0 -> 4935 bytes mods/default/textures/default_sand.png | Bin 0 -> 253 bytes mods/default/textures/default_sandstone.png | Bin 0 -> 258 bytes .../textures/default_sandstone_block.png | Bin 0 -> 637 bytes .../textures/default_sandstone_brick.png | Bin 0 -> 439 bytes mods/default/textures/default_sapling.png | Bin 0 -> 190 bytes mods/default/textures/default_sign_steel.png | Bin 0 -> 3173 bytes .../textures/default_sign_wall_steel.png | Bin 0 -> 3187 bytes .../textures/default_sign_wall_wood.png | Bin 0 -> 3391 bytes mods/default/textures/default_sign_wood.png | Bin 0 -> 3406 bytes mods/default/textures/default_silver_sand.png | Bin 0 -> 527 bytes mods/default/textures/default_snow.png | Bin 0 -> 3310 bytes mods/default/textures/default_snow_side.png | Bin 0 -> 3445 bytes mods/default/textures/default_snowball.png | Bin 0 -> 3102 bytes mods/default/textures/default_steel_block.png | Bin 0 -> 357 bytes mods/default/textures/default_steel_ingot.png | Bin 0 -> 201 bytes mods/default/textures/default_stick.png | Bin 0 -> 130 bytes mods/default/textures/default_stone.png | Bin 0 -> 233 bytes mods/default/textures/default_stone_block.png | Bin 0 -> 498 bytes mods/default/textures/default_stone_brick.png | Bin 0 -> 545 bytes .../textures/default_tool_bronzeaxe.png | Bin 0 -> 192 bytes .../textures/default_tool_bronzepick.png | Bin 0 -> 210 bytes .../textures/default_tool_bronzeshovel.png | Bin 0 -> 233 bytes .../textures/default_tool_bronzesword.png | Bin 0 -> 168 bytes .../textures/default_tool_diamondaxe.png | Bin 0 -> 195 bytes .../textures/default_tool_diamondpick.png | Bin 0 -> 219 bytes .../textures/default_tool_diamondshovel.png | Bin 0 -> 222 bytes .../textures/default_tool_diamondsword.png | Bin 0 -> 177 bytes .../default/textures/default_tool_meseaxe.png | Bin 0 -> 205 bytes .../textures/default_tool_mesepick.png | Bin 0 -> 201 bytes .../textures/default_tool_meseshovel.png | Bin 0 -> 213 bytes .../textures/default_tool_mesesword.png | Bin 0 -> 194 bytes .../textures/default_tool_steelaxe.png | Bin 0 -> 199 bytes .../textures/default_tool_steelpick.png | Bin 0 -> 202 bytes .../textures/default_tool_steelshovel.png | Bin 0 -> 213 bytes .../textures/default_tool_steelsword.png | Bin 0 -> 168 bytes .../textures/default_tool_stoneaxe.png | Bin 0 -> 177 bytes .../textures/default_tool_stonepick.png | Bin 0 -> 210 bytes .../textures/default_tool_stoneshovel.png | Bin 0 -> 221 bytes .../textures/default_tool_stonesword.png | Bin 0 -> 183 bytes .../default/textures/default_tool_woodaxe.png | Bin 0 -> 168 bytes .../textures/default_tool_woodpick.png | Bin 0 -> 181 bytes .../textures/default_tool_woodshovel.png | Bin 0 -> 184 bytes .../textures/default_tool_woodsword.png | Bin 0 -> 159 bytes .../textures/default_torch_animated.png | Bin 0 -> 833 bytes .../default_torch_on_ceiling_animated.png | Bin 0 -> 916 bytes .../textures/default_torch_on_floor.png | Bin 0 -> 214 bytes .../default_torch_on_floor_animated.png | Bin 0 -> 830 bytes mods/default/textures/default_tree.png | Bin 0 -> 309 bytes mods/default/textures/default_tree_top.png | Bin 0 -> 659 bytes mods/default/textures/default_water.png | Bin 0 -> 257 bytes .../default_water_flowing_animated.png | Bin 0 -> 1607 bytes .../default_water_source_animated.png | Bin 0 -> 1283 bytes mods/default/textures/default_wood.png | Bin 0 -> 218 bytes mods/default/textures/gui_formbg.png | Bin 0 -> 971 bytes .../default/textures/gui_furnace_arrow_bg.png | Bin 0 -> 324 bytes .../default/textures/gui_furnace_arrow_fg.png | Bin 0 -> 251 bytes mods/default/textures/gui_hb_bg.png | Bin 0 -> 98 bytes mods/default/textures/gui_hotbar.png | Bin 0 -> 284 bytes mods/default/textures/gui_hotbar_selected.png | Bin 0 -> 1649 bytes mods/default/textures/heart.png | Bin 0 -> 14830 bytes mods/default/textures/player.png | Bin 0 -> 142 bytes mods/default/textures/player_back.png | Bin 0 -> 140 bytes mods/default/textures/wieldhand.png | Bin 0 -> 129 bytes mods/default/tools.lua | 332 +++ mods/default/trees.lua | 477 ++++ mods/doors/README.txt | 84 + mods/doors/depends.txt | 2 + mods/doors/init.lua | 747 ++++++ mods/doors/license.txt | 164 ++ mods/doors/sounds/doors_door_close.ogg | Bin 0 -> 6161 bytes mods/doors/sounds/doors_door_open.ogg | Bin 0 -> 6184 bytes mods/doors/sounds/doors_fencegate_close.ogg | Bin 0 -> 10032 bytes mods/doors/sounds/doors_fencegate_open.ogg | Bin 0 -> 8942 bytes mods/doors/sounds/doors_glass_door_close.ogg | Bin 0 -> 7289 bytes mods/doors/sounds/doors_glass_door_open.ogg | Bin 0 -> 7288 bytes mods/doors/sounds/doors_steel_door_close.ogg | Bin 0 -> 8574 bytes mods/doors/sounds/doors_steel_door_open.ogg | Bin 0 -> 5510 bytes mods/doors/textures/doors_blank.png | Bin 0 -> 95 bytes mods/doors/textures/doors_door_glass.png | Bin 0 -> 3064 bytes .../textures/doors_door_obsidian_glass.png | Bin 0 -> 2988 bytes mods/doors/textures/doors_door_steel.png | Bin 0 -> 1099 bytes mods/doors/textures/doors_door_wood.png | Bin 0 -> 1662 bytes mods/doors/textures/doors_item_glass.png | Bin 0 -> 186 bytes .../textures/doors_item_obsidian_glass.png | Bin 0 -> 186 bytes mods/doors/textures/doors_item_steel.png | Bin 0 -> 132 bytes mods/doors/textures/doors_item_wood.png | Bin 0 -> 130 bytes mods/doors/textures/doors_trapdoor.png | Bin 0 -> 257 bytes mods/doors/textures/doors_trapdoor_side.png | Bin 0 -> 233 bytes mods/doors/textures/doors_trapdoor_steel.png | Bin 0 -> 153 bytes .../textures/doors_trapdoor_steel_side.png | Bin 0 -> 101 bytes mods/dye/README.txt | 13 + mods/dye/depends.txt | 0 mods/dye/init.lua | 109 + mods/dye/license.txt | 60 + mods/dye/textures/dye_black.png | Bin 0 -> 169 bytes mods/dye/textures/dye_blue.png | Bin 0 -> 161 bytes mods/dye/textures/dye_brown.png | Bin 0 -> 164 bytes mods/dye/textures/dye_cyan.png | Bin 0 -> 166 bytes mods/dye/textures/dye_dark_green.png | Bin 0 -> 168 bytes mods/dye/textures/dye_dark_grey.png | Bin 0 -> 169 bytes mods/dye/textures/dye_green.png | Bin 0 -> 168 bytes mods/dye/textures/dye_grey.png | Bin 0 -> 169 bytes mods/dye/textures/dye_magenta.png | Bin 0 -> 169 bytes mods/dye/textures/dye_orange.png | Bin 0 -> 169 bytes mods/dye/textures/dye_pink.png | Bin 0 -> 169 bytes mods/dye/textures/dye_red.png | Bin 0 -> 169 bytes mods/dye/textures/dye_violet.png | Bin 0 -> 169 bytes mods/dye/textures/dye_white.png | Bin 0 -> 170 bytes mods/dye/textures/dye_yellow.png | Bin 0 -> 169 bytes mods/farming/README.txt | 37 + mods/farming/api.lua | 368 +++ mods/farming/depends.txt | 2 + mods/farming/hoes.lua | 41 + mods/farming/init.lua | 78 + mods/farming/license.txt | 61 + mods/farming/nodes.lua | 163 ++ mods/farming/textures/farming_bread.png | Bin 0 -> 393 bytes mods/farming/textures/farming_cotton.png | Bin 0 -> 166 bytes mods/farming/textures/farming_cotton_1.png | Bin 0 -> 110 bytes mods/farming/textures/farming_cotton_2.png | Bin 0 -> 120 bytes mods/farming/textures/farming_cotton_3.png | Bin 0 -> 144 bytes mods/farming/textures/farming_cotton_4.png | Bin 0 -> 150 bytes mods/farming/textures/farming_cotton_5.png | Bin 0 -> 159 bytes mods/farming/textures/farming_cotton_6.png | Bin 0 -> 164 bytes mods/farming/textures/farming_cotton_7.png | Bin 0 -> 170 bytes mods/farming/textures/farming_cotton_8.png | Bin 0 -> 196 bytes mods/farming/textures/farming_cotton_seed.png | Bin 0 -> 150 bytes .../textures/farming_desert_sand_soil.png | Bin 0 -> 467 bytes .../textures/farming_desert_sand_soil_wet.png | Bin 0 -> 351 bytes .../farming_desert_sand_soil_wet_side.png | Bin 0 -> 272 bytes mods/farming/textures/farming_flour.png | Bin 0 -> 159 bytes mods/farming/textures/farming_soil.png | Bin 0 -> 706 bytes mods/farming/textures/farming_soil_wet.png | Bin 0 -> 677 bytes .../textures/farming_soil_wet_side.png | Bin 0 -> 96 bytes mods/farming/textures/farming_straw.png | Bin 0 -> 887 bytes .../textures/farming_tool_bronzehoe.png | Bin 0 -> 212 bytes .../textures/farming_tool_diamondhoe.png | Bin 0 -> 183 bytes .../farming/textures/farming_tool_mesehoe.png | Bin 0 -> 181 bytes .../textures/farming_tool_steelhoe.png | Bin 0 -> 181 bytes .../textures/farming_tool_stonehoe.png | Bin 0 -> 185 bytes .../farming/textures/farming_tool_woodhoe.png | Bin 0 -> 171 bytes mods/farming/textures/farming_wheat.png | Bin 0 -> 241 bytes mods/farming/textures/farming_wheat_1.png | Bin 0 -> 120 bytes mods/farming/textures/farming_wheat_2.png | Bin 0 -> 142 bytes mods/farming/textures/farming_wheat_3.png | Bin 0 -> 172 bytes mods/farming/textures/farming_wheat_4.png | Bin 0 -> 191 bytes mods/farming/textures/farming_wheat_5.png | Bin 0 -> 218 bytes mods/farming/textures/farming_wheat_6.png | Bin 0 -> 234 bytes mods/farming/textures/farming_wheat_7.png | Bin 0 -> 253 bytes mods/farming/textures/farming_wheat_8.png | Bin 0 -> 310 bytes mods/farming/textures/farming_wheat_seed.png | Bin 0 -> 141 bytes mods/fire/README.txt | 25 + mods/fire/depends.txt | 1 + mods/fire/init.lua | 340 +++ mods/fire/license.txt | 83 + mods/fire/sounds/fire_extinguish_flame.1.ogg | Bin 0 -> 9583 bytes mods/fire/sounds/fire_extinguish_flame.2.ogg | Bin 0 -> 7977 bytes mods/fire/sounds/fire_extinguish_flame.3.ogg | Bin 0 -> 6499 bytes mods/fire/sounds/fire_large.ogg | Bin 0 -> 62808 bytes mods/fire/sounds/fire_small.ogg | Bin 0 -> 50004 bytes mods/fire/textures/fire_basic_flame.png | Bin 0 -> 646 bytes .../textures/fire_basic_flame_animated.png | Bin 0 -> 1051 bytes mods/fire/textures/fire_flint_steel.png | Bin 0 -> 3108 bytes mods/flowers/README.txt | 26 + mods/flowers/depends.txt | 1 + mods/flowers/init.lua | 266 +++ mods/flowers/license.txt | 62 + mods/flowers/mapgen.lua | 173 ++ mods/flowers/schematics/waterlily.mts | Bin 0 -> 92 bytes .../textures/flowers_dandelion_white.png | Bin 0 -> 142 bytes .../textures/flowers_dandelion_yellow.png | Bin 0 -> 133 bytes mods/flowers/textures/flowers_geranium.png | Bin 0 -> 163 bytes .../textures/flowers_mushroom_brown.png | Bin 0 -> 155 bytes .../flowers/textures/flowers_mushroom_red.png | Bin 0 -> 167 bytes mods/flowers/textures/flowers_rose.png | Bin 0 -> 136 bytes mods/flowers/textures/flowers_tulip.png | Bin 0 -> 143 bytes mods/flowers/textures/flowers_viola.png | Bin 0 -> 153 bytes mods/flowers/textures/flowers_waterlily.png | Bin 0 -> 3363 bytes .../textures/flowers_waterlily_bottom.png | Bin 0 -> 327 bytes mods/minefixnodes/README.md | 17 + mods/minefixnodes/blocks.lua | 41 + mods/minefixnodes/crafting.lua | 29 + mods/minefixnodes/depends.txt | 1 + mods/minefixnodes/init.lua | 3 + mods/minefixnodes/items.lua | 1 + mods/stairs/README.txt | 16 + mods/stairs/depends.txt | 2 + mods/stairs/init.lua | 507 +++++ mods/stairs/license.txt | 51 + mods/tnt/README.txt | 41 + mods/tnt/depends.txt | 3 + mods/tnt/init.lua | 597 +++++ mods/tnt/license.txt | 65 + mods/tnt/sounds/tnt_explode.ogg | Bin 0 -> 12808 bytes mods/tnt/sounds/tnt_gunpowder_burning.ogg | Bin 0 -> 34335 bytes mods/tnt/sounds/tnt_ignite.ogg | Bin 0 -> 29271 bytes mods/tnt/textures/tnt_blast.png | Bin 0 -> 855 bytes mods/tnt/textures/tnt_boom.png | Bin 0 -> 178 bytes mods/tnt/textures/tnt_bottom.png | Bin 0 -> 99 bytes ...nt_gunpowder_burning_crossing_animated.png | Bin 0 -> 612 bytes .../tnt_gunpowder_burning_curved_animated.png | Bin 0 -> 432 bytes ...nt_gunpowder_burning_straight_animated.png | Bin 0 -> 461 bytes ..._gunpowder_burning_t_junction_animated.png | Bin 0 -> 672 bytes mods/tnt/textures/tnt_gunpowder_crossing.png | Bin 0 -> 245 bytes mods/tnt/textures/tnt_gunpowder_curved.png | Bin 0 -> 268 bytes mods/tnt/textures/tnt_gunpowder_inventory.png | Bin 0 -> 301 bytes mods/tnt/textures/tnt_gunpowder_straight.png | Bin 0 -> 225 bytes .../tnt/textures/tnt_gunpowder_t_junction.png | Bin 0 -> 328 bytes mods/tnt/textures/tnt_side.png | Bin 0 -> 128 bytes mods/tnt/textures/tnt_smoke.png | Bin 0 -> 202 bytes mods/tnt/textures/tnt_top.png | Bin 0 -> 148 bytes mods/tnt/textures/tnt_top_burning.png | Bin 0 -> 159 bytes .../tnt/textures/tnt_top_burning_animated.png | Bin 0 -> 238 bytes mods/walls/README.txt | 7 + mods/walls/depends.txt | 1 + mods/walls/init.lua | 46 + mods/walls/license.txt | 14 + mods/wool/README.txt | 16 + mods/wool/depends.txt | 1 + mods/wool/init.lua | 47 + mods/wool/license.txt | 60 + mods/wool/textures/wool_black.png | Bin 0 -> 209 bytes mods/wool/textures/wool_blue.png | Bin 0 -> 264 bytes mods/wool/textures/wool_brown.png | Bin 0 -> 267 bytes mods/wool/textures/wool_cyan.png | Bin 0 -> 302 bytes mods/wool/textures/wool_dark_green.png | Bin 0 -> 254 bytes mods/wool/textures/wool_dark_grey.png | Bin 0 -> 260 bytes mods/wool/textures/wool_green.png | Bin 0 -> 304 bytes mods/wool/textures/wool_grey.png | Bin 0 -> 248 bytes mods/wool/textures/wool_magenta.png | Bin 0 -> 296 bytes mods/wool/textures/wool_orange.png | Bin 0 -> 284 bytes mods/wool/textures/wool_pink.png | Bin 0 -> 218 bytes mods/wool/textures/wool_red.png | Bin 0 -> 288 bytes mods/wool/textures/wool_violet.png | Bin 0 -> 244 bytes mods/wool/textures/wool_white.png | Bin 0 -> 243 bytes mods/wool/textures/wool_yellow.png | Bin 0 -> 255 bytes mods/xpanes/README.txt | 18 + mods/xpanes/depends.txt | 1 + mods/xpanes/init.lua | 184 ++ mods/xpanes/license.txt | 63 + mods/xpanes/textures/xpanes_bar.png | Bin 0 -> 180 bytes mods/xpanes/textures/xpanes_grey.png | Bin 0 -> 82 bytes mods/xpanes/textures/xpanes_pane_half.png | Bin 0 -> 83 bytes mods/xpanes/textures/xpanes_space.png | Bin 0 -> 149 bytes mods/xpanes/textures/xpanes_white.png | Bin 0 -> 148 bytes 487 files changed, 13498 insertions(+) create mode 100644 game.conf create mode 100644 mods/beds/README.txt create mode 100644 mods/beds/api.lua create mode 100644 mods/beds/beds.lua create mode 100644 mods/beds/depends.txt create mode 100644 mods/beds/functions.lua create mode 100644 mods/beds/init.lua create mode 100644 mods/beds/license.txt create mode 100644 mods/beds/spawns.lua create mode 100644 mods/beds/textures/beds_bed.png create mode 100644 mods/beds/textures/beds_bed_fancy.png create mode 100644 mods/beds/textures/beds_bed_foot.png create mode 100644 mods/beds/textures/beds_bed_head.png create mode 100644 mods/beds/textures/beds_bed_side1.png create mode 100644 mods/beds/textures/beds_bed_side2.png create mode 100644 mods/beds/textures/beds_bed_side_bottom.png create mode 100644 mods/beds/textures/beds_bed_side_bottom_r.png create mode 100644 mods/beds/textures/beds_bed_side_top.png create mode 100644 mods/beds/textures/beds_bed_side_top_r.png create mode 100644 mods/beds/textures/beds_bed_top1.png create mode 100644 mods/beds/textures/beds_bed_top2.png create mode 100644 mods/beds/textures/beds_bed_top_bottom.png create mode 100644 mods/beds/textures/beds_bed_top_top.png create mode 100644 mods/beds/textures/beds_transparent.png create mode 100644 mods/boats/README.txt create mode 100644 mods/boats/depends.txt create mode 100644 mods/boats/init.lua create mode 100644 mods/boats/license.txt create mode 100644 mods/boats/textures/boats_inventory.png create mode 100644 mods/boats/textures/boats_wield.png create mode 100644 mods/bucket/README.txt create mode 100644 mods/bucket/depends.txt create mode 100644 mods/bucket/init.lua create mode 100644 mods/bucket/license.txt create mode 100644 mods/bucket/textures/bucket.png create mode 100644 mods/bucket/textures/bucket_lava.png create mode 100644 mods/bucket/textures/bucket_river_water.png create mode 100644 mods/bucket/textures/bucket_water.png create mode 100644 mods/creative/README.txt create mode 100644 mods/creative/depends.txt create mode 100644 mods/creative/init.lua create mode 100644 mods/creative/license.txt create mode 100644 mods/creative/textures/creative_trash_icon.png create mode 100644 mods/default/README.txt create mode 100644 mods/default/aliases.lua create mode 100644 mods/default/crafting.lua create mode 100644 mods/default/craftitems.lua create mode 100644 mods/default/functions.lua create mode 100644 mods/default/furnace.lua create mode 100644 mods/default/init.lua create mode 100644 mods/default/item_entity.lua create mode 100644 mods/default/legacy.lua create mode 100644 mods/default/license.txt create mode 100644 mods/default/mapgen.lua create mode 100644 mods/default/models/character.b3d create mode 100644 mods/default/models/character.blend create mode 100644 mods/default/models/character.png create mode 100644 mods/default/nodes.lua create mode 100644 mods/default/player.lua create mode 100644 mods/default/schematics/acacia_tree.mts create mode 100644 mods/default/schematics/acacia_tree_from_sapling.mts create mode 100644 mods/default/schematics/apple_tree.mts create mode 100644 mods/default/schematics/apple_tree_from_sapling.mts create mode 100644 mods/default/schematics/aspen_tree.mts create mode 100644 mods/default/schematics/aspen_tree_from_sapling.mts create mode 100644 mods/default/schematics/jungle_tree.mts create mode 100644 mods/default/schematics/jungle_tree_from_sapling.mts create mode 100644 mods/default/schematics/large_cactus.mts create mode 100644 mods/default/schematics/papyrus.mts create mode 100644 mods/default/schematics/pine_tree.mts create mode 100644 mods/default/schematics/pine_tree_from_sapling.mts create mode 100644 mods/default/schematics/snowy_pine_tree_from_sapling.mts create mode 100644 mods/default/sounds/default_break_glass.1.ogg create mode 100644 mods/default/sounds/default_break_glass.2.ogg create mode 100644 mods/default/sounds/default_break_glass.3.ogg create mode 100644 mods/default/sounds/default_cool_lava.1.ogg create mode 100644 mods/default/sounds/default_cool_lava.2.ogg create mode 100644 mods/default/sounds/default_cool_lava.3.ogg create mode 100644 mods/default/sounds/default_dig_choppy.ogg create mode 100644 mods/default/sounds/default_dig_cracky.ogg create mode 100644 mods/default/sounds/default_dig_crumbly.ogg create mode 100644 mods/default/sounds/default_dig_dig_immediate.ogg create mode 100644 mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg create mode 100644 mods/default/sounds/default_dirt_footstep.1.ogg create mode 100644 mods/default/sounds/default_dirt_footstep.2.ogg create mode 100644 mods/default/sounds/default_dug_node.1.ogg create mode 100644 mods/default/sounds/default_dug_node.2.ogg create mode 100644 mods/default/sounds/default_glass_footstep.ogg create mode 100644 mods/default/sounds/default_grass_footstep.1.ogg create mode 100644 mods/default/sounds/default_grass_footstep.2.ogg create mode 100644 mods/default/sounds/default_grass_footstep.3.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.1.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.2.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.3.ogg create mode 100644 mods/default/sounds/default_gravel_footstep.4.ogg create mode 100644 mods/default/sounds/default_hard_footstep.1.ogg create mode 100644 mods/default/sounds/default_hard_footstep.2.ogg create mode 100644 mods/default/sounds/default_hard_footstep.3.ogg create mode 100644 mods/default/sounds/default_item_smoke.ogg create mode 100644 mods/default/sounds/default_place_node.1.ogg create mode 100644 mods/default/sounds/default_place_node.2.ogg create mode 100644 mods/default/sounds/default_place_node.3.ogg create mode 100644 mods/default/sounds/default_place_node_hard.1.ogg create mode 100644 mods/default/sounds/default_place_node_hard.2.ogg create mode 100644 mods/default/sounds/default_sand_footstep.1.ogg create mode 100644 mods/default/sounds/default_sand_footstep.2.ogg create mode 100644 mods/default/sounds/default_snow_footstep.1.ogg create mode 100644 mods/default/sounds/default_snow_footstep.2.ogg create mode 100644 mods/default/sounds/default_snow_footstep.3.ogg create mode 100644 mods/default/sounds/default_wood_footstep.1.ogg create mode 100644 mods/default/sounds/default_wood_footstep.2.ogg create mode 100644 mods/default/textures/bubble.png create mode 100644 mods/default/textures/crack_anylength.png create mode 100644 mods/default/textures/default_acacia_leaves.png create mode 100644 mods/default/textures/default_acacia_sapling.png create mode 100644 mods/default/textures/default_acacia_tree.png create mode 100644 mods/default/textures/default_acacia_tree_top.png create mode 100644 mods/default/textures/default_acacia_wood.png create mode 100644 mods/default/textures/default_apple.png create mode 100644 mods/default/textures/default_aspen_leaves.png create mode 100644 mods/default/textures/default_aspen_sapling.png create mode 100644 mods/default/textures/default_aspen_tree.png create mode 100644 mods/default/textures/default_aspen_tree_top.png create mode 100644 mods/default/textures/default_aspen_wood.png create mode 100644 mods/default/textures/default_book.png create mode 100644 mods/default/textures/default_book_written.png create mode 100644 mods/default/textures/default_bookshelf.png create mode 100644 mods/default/textures/default_brick.png create mode 100644 mods/default/textures/default_bronze_block.png create mode 100644 mods/default/textures/default_bronze_ingot.png create mode 100644 mods/default/textures/default_cactus_side.png create mode 100644 mods/default/textures/default_cactus_top.png create mode 100644 mods/default/textures/default_chest_front.png create mode 100644 mods/default/textures/default_chest_lock.png create mode 100644 mods/default/textures/default_chest_side.png create mode 100644 mods/default/textures/default_chest_top.png create mode 100644 mods/default/textures/default_clay.png create mode 100644 mods/default/textures/default_clay_brick.png create mode 100644 mods/default/textures/default_clay_lump.png create mode 100644 mods/default/textures/default_cloud.png create mode 100644 mods/default/textures/default_coal_block.png create mode 100644 mods/default/textures/default_coal_lump.png create mode 100644 mods/default/textures/default_cobble.png create mode 100644 mods/default/textures/default_copper_block.png create mode 100644 mods/default/textures/default_copper_ingot.png create mode 100644 mods/default/textures/default_copper_lump.png create mode 100644 mods/default/textures/default_coral_brown.png create mode 100644 mods/default/textures/default_coral_orange.png create mode 100644 mods/default/textures/default_coral_skeleton.png create mode 100644 mods/default/textures/default_desert_cobble.png create mode 100644 mods/default/textures/default_desert_sand.png create mode 100644 mods/default/textures/default_desert_stone.png create mode 100644 mods/default/textures/default_desert_stone_block.png create mode 100644 mods/default/textures/default_desert_stone_brick.png create mode 100644 mods/default/textures/default_diamond.png create mode 100644 mods/default/textures/default_diamond_block.png create mode 100644 mods/default/textures/default_dirt.png create mode 100644 mods/default/textures/default_dry_grass.png create mode 100644 mods/default/textures/default_dry_grass_1.png create mode 100644 mods/default/textures/default_dry_grass_2.png create mode 100644 mods/default/textures/default_dry_grass_3.png create mode 100644 mods/default/textures/default_dry_grass_4.png create mode 100644 mods/default/textures/default_dry_grass_5.png create mode 100644 mods/default/textures/default_dry_grass_side.png create mode 100644 mods/default/textures/default_dry_shrub.png create mode 100644 mods/default/textures/default_fence_acacia_wood.png create mode 100644 mods/default/textures/default_fence_aspen_wood.png create mode 100644 mods/default/textures/default_fence_junglewood.png create mode 100644 mods/default/textures/default_fence_overlay.png create mode 100644 mods/default/textures/default_fence_pine_wood.png create mode 100644 mods/default/textures/default_fence_wood.png create mode 100644 mods/default/textures/default_flint.png create mode 100644 mods/default/textures/default_footprint.png create mode 100644 mods/default/textures/default_furnace_bottom.png create mode 100644 mods/default/textures/default_furnace_fire_bg.png create mode 100644 mods/default/textures/default_furnace_fire_fg.png create mode 100644 mods/default/textures/default_furnace_front.png create mode 100644 mods/default/textures/default_furnace_front_active.png create mode 100644 mods/default/textures/default_furnace_side.png create mode 100644 mods/default/textures/default_furnace_top.png create mode 100644 mods/default/textures/default_glass.png create mode 100644 mods/default/textures/default_glass_detail.png create mode 100644 mods/default/textures/default_gold_block.png create mode 100644 mods/default/textures/default_gold_ingot.png create mode 100644 mods/default/textures/default_gold_lump.png create mode 100644 mods/default/textures/default_grass.png create mode 100644 mods/default/textures/default_grass_1.png create mode 100644 mods/default/textures/default_grass_2.png create mode 100644 mods/default/textures/default_grass_3.png create mode 100644 mods/default/textures/default_grass_4.png create mode 100644 mods/default/textures/default_grass_5.png create mode 100644 mods/default/textures/default_grass_side.png create mode 100644 mods/default/textures/default_gravel.png create mode 100644 mods/default/textures/default_ice.png create mode 100644 mods/default/textures/default_iron_lump.png create mode 100644 mods/default/textures/default_item_smoke.png create mode 100644 mods/default/textures/default_junglegrass.png create mode 100644 mods/default/textures/default_jungleleaves.png create mode 100644 mods/default/textures/default_jungleleaves_simple.png create mode 100644 mods/default/textures/default_junglesapling.png create mode 100644 mods/default/textures/default_jungletree.png create mode 100644 mods/default/textures/default_jungletree_top.png create mode 100644 mods/default/textures/default_junglewood.png create mode 100644 mods/default/textures/default_ladder_steel.png create mode 100644 mods/default/textures/default_ladder_wood.png create mode 100644 mods/default/textures/default_lava.png create mode 100644 mods/default/textures/default_lava_flowing_animated.png create mode 100644 mods/default/textures/default_lava_source_animated.png create mode 100644 mods/default/textures/default_leaves.png create mode 100644 mods/default/textures/default_leaves_simple.png create mode 100644 mods/default/textures/default_mese_block.png create mode 100644 mods/default/textures/default_mese_crystal.png create mode 100644 mods/default/textures/default_mese_crystal_fragment.png create mode 100644 mods/default/textures/default_meselamp.png create mode 100644 mods/default/textures/default_mineral_coal.png create mode 100644 mods/default/textures/default_mineral_copper.png create mode 100644 mods/default/textures/default_mineral_diamond.png create mode 100644 mods/default/textures/default_mineral_gold.png create mode 100644 mods/default/textures/default_mineral_iron.png create mode 100644 mods/default/textures/default_mineral_mese.png create mode 100644 mods/default/textures/default_mossycobble.png create mode 100644 mods/default/textures/default_obsidian.png create mode 100644 mods/default/textures/default_obsidian_block.png create mode 100644 mods/default/textures/default_obsidian_brick.png create mode 100644 mods/default/textures/default_obsidian_glass.png create mode 100644 mods/default/textures/default_obsidian_glass_detail.png create mode 100644 mods/default/textures/default_obsidian_shard.png create mode 100644 mods/default/textures/default_paper.png create mode 100644 mods/default/textures/default_papyrus.png create mode 100644 mods/default/textures/default_pine_needles.png create mode 100644 mods/default/textures/default_pine_sapling.png create mode 100644 mods/default/textures/default_pine_tree.png create mode 100644 mods/default/textures/default_pine_tree_top.png create mode 100644 mods/default/textures/default_pine_wood.png create mode 100644 mods/default/textures/default_rail.png create mode 100644 mods/default/textures/default_rail_crossing.png create mode 100644 mods/default/textures/default_rail_curved.png create mode 100644 mods/default/textures/default_rail_t_junction.png create mode 100644 mods/default/textures/default_river_water.png create mode 100644 mods/default/textures/default_river_water_flowing_animated.png create mode 100644 mods/default/textures/default_river_water_source_animated.png create mode 100644 mods/default/textures/default_sand.png create mode 100644 mods/default/textures/default_sandstone.png create mode 100644 mods/default/textures/default_sandstone_block.png create mode 100644 mods/default/textures/default_sandstone_brick.png create mode 100644 mods/default/textures/default_sapling.png create mode 100644 mods/default/textures/default_sign_steel.png create mode 100644 mods/default/textures/default_sign_wall_steel.png create mode 100644 mods/default/textures/default_sign_wall_wood.png create mode 100644 mods/default/textures/default_sign_wood.png create mode 100644 mods/default/textures/default_silver_sand.png create mode 100644 mods/default/textures/default_snow.png create mode 100644 mods/default/textures/default_snow_side.png create mode 100644 mods/default/textures/default_snowball.png create mode 100644 mods/default/textures/default_steel_block.png create mode 100644 mods/default/textures/default_steel_ingot.png create mode 100644 mods/default/textures/default_stick.png create mode 100644 mods/default/textures/default_stone.png create mode 100644 mods/default/textures/default_stone_block.png create mode 100644 mods/default/textures/default_stone_brick.png create mode 100644 mods/default/textures/default_tool_bronzeaxe.png create mode 100644 mods/default/textures/default_tool_bronzepick.png create mode 100644 mods/default/textures/default_tool_bronzeshovel.png create mode 100644 mods/default/textures/default_tool_bronzesword.png create mode 100644 mods/default/textures/default_tool_diamondaxe.png create mode 100644 mods/default/textures/default_tool_diamondpick.png create mode 100644 mods/default/textures/default_tool_diamondshovel.png create mode 100644 mods/default/textures/default_tool_diamondsword.png create mode 100644 mods/default/textures/default_tool_meseaxe.png create mode 100644 mods/default/textures/default_tool_mesepick.png create mode 100644 mods/default/textures/default_tool_meseshovel.png create mode 100644 mods/default/textures/default_tool_mesesword.png create mode 100644 mods/default/textures/default_tool_steelaxe.png create mode 100644 mods/default/textures/default_tool_steelpick.png create mode 100644 mods/default/textures/default_tool_steelshovel.png create mode 100644 mods/default/textures/default_tool_steelsword.png create mode 100644 mods/default/textures/default_tool_stoneaxe.png create mode 100644 mods/default/textures/default_tool_stonepick.png create mode 100644 mods/default/textures/default_tool_stoneshovel.png create mode 100644 mods/default/textures/default_tool_stonesword.png create mode 100644 mods/default/textures/default_tool_woodaxe.png create mode 100644 mods/default/textures/default_tool_woodpick.png create mode 100644 mods/default/textures/default_tool_woodshovel.png create mode 100644 mods/default/textures/default_tool_woodsword.png create mode 100644 mods/default/textures/default_torch_animated.png create mode 100644 mods/default/textures/default_torch_on_ceiling_animated.png create mode 100644 mods/default/textures/default_torch_on_floor.png create mode 100644 mods/default/textures/default_torch_on_floor_animated.png create mode 100644 mods/default/textures/default_tree.png create mode 100644 mods/default/textures/default_tree_top.png create mode 100644 mods/default/textures/default_water.png create mode 100644 mods/default/textures/default_water_flowing_animated.png create mode 100644 mods/default/textures/default_water_source_animated.png create mode 100644 mods/default/textures/default_wood.png create mode 100644 mods/default/textures/gui_formbg.png create mode 100644 mods/default/textures/gui_furnace_arrow_bg.png create mode 100644 mods/default/textures/gui_furnace_arrow_fg.png create mode 100644 mods/default/textures/gui_hb_bg.png create mode 100644 mods/default/textures/gui_hotbar.png create mode 100644 mods/default/textures/gui_hotbar_selected.png create mode 100644 mods/default/textures/heart.png create mode 100644 mods/default/textures/player.png create mode 100644 mods/default/textures/player_back.png create mode 100644 mods/default/textures/wieldhand.png create mode 100644 mods/default/tools.lua create mode 100644 mods/default/trees.lua create mode 100644 mods/doors/README.txt create mode 100644 mods/doors/depends.txt create mode 100644 mods/doors/init.lua create mode 100644 mods/doors/license.txt create mode 100644 mods/doors/sounds/doors_door_close.ogg create mode 100644 mods/doors/sounds/doors_door_open.ogg create mode 100644 mods/doors/sounds/doors_fencegate_close.ogg create mode 100644 mods/doors/sounds/doors_fencegate_open.ogg create mode 100644 mods/doors/sounds/doors_glass_door_close.ogg create mode 100644 mods/doors/sounds/doors_glass_door_open.ogg create mode 100644 mods/doors/sounds/doors_steel_door_close.ogg create mode 100644 mods/doors/sounds/doors_steel_door_open.ogg create mode 100644 mods/doors/textures/doors_blank.png create mode 100644 mods/doors/textures/doors_door_glass.png create mode 100644 mods/doors/textures/doors_door_obsidian_glass.png create mode 100644 mods/doors/textures/doors_door_steel.png create mode 100644 mods/doors/textures/doors_door_wood.png create mode 100644 mods/doors/textures/doors_item_glass.png create mode 100644 mods/doors/textures/doors_item_obsidian_glass.png create mode 100644 mods/doors/textures/doors_item_steel.png create mode 100644 mods/doors/textures/doors_item_wood.png create mode 100644 mods/doors/textures/doors_trapdoor.png create mode 100644 mods/doors/textures/doors_trapdoor_side.png create mode 100644 mods/doors/textures/doors_trapdoor_steel.png create mode 100644 mods/doors/textures/doors_trapdoor_steel_side.png create mode 100644 mods/dye/README.txt create mode 100644 mods/dye/depends.txt create mode 100644 mods/dye/init.lua create mode 100644 mods/dye/license.txt create mode 100644 mods/dye/textures/dye_black.png create mode 100644 mods/dye/textures/dye_blue.png create mode 100644 mods/dye/textures/dye_brown.png create mode 100644 mods/dye/textures/dye_cyan.png create mode 100644 mods/dye/textures/dye_dark_green.png create mode 100644 mods/dye/textures/dye_dark_grey.png create mode 100644 mods/dye/textures/dye_green.png create mode 100644 mods/dye/textures/dye_grey.png create mode 100644 mods/dye/textures/dye_magenta.png create mode 100644 mods/dye/textures/dye_orange.png create mode 100644 mods/dye/textures/dye_pink.png create mode 100644 mods/dye/textures/dye_red.png create mode 100644 mods/dye/textures/dye_violet.png create mode 100644 mods/dye/textures/dye_white.png create mode 100644 mods/dye/textures/dye_yellow.png create mode 100644 mods/farming/README.txt create mode 100644 mods/farming/api.lua create mode 100644 mods/farming/depends.txt create mode 100644 mods/farming/hoes.lua create mode 100644 mods/farming/init.lua create mode 100644 mods/farming/license.txt create mode 100644 mods/farming/nodes.lua create mode 100644 mods/farming/textures/farming_bread.png create mode 100644 mods/farming/textures/farming_cotton.png create mode 100644 mods/farming/textures/farming_cotton_1.png create mode 100644 mods/farming/textures/farming_cotton_2.png create mode 100644 mods/farming/textures/farming_cotton_3.png create mode 100644 mods/farming/textures/farming_cotton_4.png create mode 100644 mods/farming/textures/farming_cotton_5.png create mode 100644 mods/farming/textures/farming_cotton_6.png create mode 100644 mods/farming/textures/farming_cotton_7.png create mode 100644 mods/farming/textures/farming_cotton_8.png create mode 100644 mods/farming/textures/farming_cotton_seed.png create mode 100644 mods/farming/textures/farming_desert_sand_soil.png create mode 100644 mods/farming/textures/farming_desert_sand_soil_wet.png create mode 100644 mods/farming/textures/farming_desert_sand_soil_wet_side.png create mode 100644 mods/farming/textures/farming_flour.png create mode 100644 mods/farming/textures/farming_soil.png create mode 100644 mods/farming/textures/farming_soil_wet.png create mode 100644 mods/farming/textures/farming_soil_wet_side.png create mode 100644 mods/farming/textures/farming_straw.png create mode 100644 mods/farming/textures/farming_tool_bronzehoe.png create mode 100644 mods/farming/textures/farming_tool_diamondhoe.png create mode 100644 mods/farming/textures/farming_tool_mesehoe.png create mode 100644 mods/farming/textures/farming_tool_steelhoe.png create mode 100644 mods/farming/textures/farming_tool_stonehoe.png create mode 100644 mods/farming/textures/farming_tool_woodhoe.png create mode 100644 mods/farming/textures/farming_wheat.png create mode 100644 mods/farming/textures/farming_wheat_1.png create mode 100644 mods/farming/textures/farming_wheat_2.png create mode 100644 mods/farming/textures/farming_wheat_3.png create mode 100644 mods/farming/textures/farming_wheat_4.png create mode 100644 mods/farming/textures/farming_wheat_5.png create mode 100644 mods/farming/textures/farming_wheat_6.png create mode 100644 mods/farming/textures/farming_wheat_7.png create mode 100644 mods/farming/textures/farming_wheat_8.png create mode 100644 mods/farming/textures/farming_wheat_seed.png create mode 100644 mods/fire/README.txt create mode 100644 mods/fire/depends.txt create mode 100644 mods/fire/init.lua create mode 100644 mods/fire/license.txt create mode 100644 mods/fire/sounds/fire_extinguish_flame.1.ogg create mode 100644 mods/fire/sounds/fire_extinguish_flame.2.ogg create mode 100644 mods/fire/sounds/fire_extinguish_flame.3.ogg create mode 100644 mods/fire/sounds/fire_large.ogg create mode 100644 mods/fire/sounds/fire_small.ogg create mode 100644 mods/fire/textures/fire_basic_flame.png create mode 100644 mods/fire/textures/fire_basic_flame_animated.png create mode 100644 mods/fire/textures/fire_flint_steel.png create mode 100644 mods/flowers/README.txt create mode 100644 mods/flowers/depends.txt create mode 100644 mods/flowers/init.lua create mode 100644 mods/flowers/license.txt create mode 100644 mods/flowers/mapgen.lua create mode 100644 mods/flowers/schematics/waterlily.mts create mode 100644 mods/flowers/textures/flowers_dandelion_white.png create mode 100644 mods/flowers/textures/flowers_dandelion_yellow.png create mode 100644 mods/flowers/textures/flowers_geranium.png create mode 100644 mods/flowers/textures/flowers_mushroom_brown.png create mode 100644 mods/flowers/textures/flowers_mushroom_red.png create mode 100644 mods/flowers/textures/flowers_rose.png create mode 100644 mods/flowers/textures/flowers_tulip.png create mode 100644 mods/flowers/textures/flowers_viola.png create mode 100644 mods/flowers/textures/flowers_waterlily.png create mode 100644 mods/flowers/textures/flowers_waterlily_bottom.png create mode 100644 mods/minefixnodes/README.md create mode 100644 mods/minefixnodes/blocks.lua create mode 100644 mods/minefixnodes/crafting.lua create mode 100644 mods/minefixnodes/depends.txt create mode 100644 mods/minefixnodes/init.lua create mode 100644 mods/minefixnodes/items.lua create mode 100644 mods/stairs/README.txt create mode 100644 mods/stairs/depends.txt create mode 100644 mods/stairs/init.lua create mode 100644 mods/stairs/license.txt create mode 100644 mods/tnt/README.txt create mode 100644 mods/tnt/depends.txt create mode 100644 mods/tnt/init.lua create mode 100644 mods/tnt/license.txt create mode 100644 mods/tnt/sounds/tnt_explode.ogg create mode 100644 mods/tnt/sounds/tnt_gunpowder_burning.ogg create mode 100644 mods/tnt/sounds/tnt_ignite.ogg create mode 100644 mods/tnt/textures/tnt_blast.png create mode 100644 mods/tnt/textures/tnt_boom.png create mode 100644 mods/tnt/textures/tnt_bottom.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png create mode 100644 mods/tnt/textures/tnt_gunpowder_crossing.png create mode 100644 mods/tnt/textures/tnt_gunpowder_curved.png create mode 100644 mods/tnt/textures/tnt_gunpowder_inventory.png create mode 100644 mods/tnt/textures/tnt_gunpowder_straight.png create mode 100644 mods/tnt/textures/tnt_gunpowder_t_junction.png create mode 100644 mods/tnt/textures/tnt_side.png create mode 100644 mods/tnt/textures/tnt_smoke.png create mode 100644 mods/tnt/textures/tnt_top.png create mode 100644 mods/tnt/textures/tnt_top_burning.png create mode 100644 mods/tnt/textures/tnt_top_burning_animated.png create mode 100644 mods/walls/README.txt create mode 100644 mods/walls/depends.txt create mode 100644 mods/walls/init.lua create mode 100644 mods/walls/license.txt create mode 100644 mods/wool/README.txt create mode 100644 mods/wool/depends.txt create mode 100644 mods/wool/init.lua create mode 100644 mods/wool/license.txt create mode 100644 mods/wool/textures/wool_black.png create mode 100644 mods/wool/textures/wool_blue.png create mode 100644 mods/wool/textures/wool_brown.png create mode 100644 mods/wool/textures/wool_cyan.png create mode 100644 mods/wool/textures/wool_dark_green.png create mode 100644 mods/wool/textures/wool_dark_grey.png create mode 100644 mods/wool/textures/wool_green.png create mode 100644 mods/wool/textures/wool_grey.png create mode 100644 mods/wool/textures/wool_magenta.png create mode 100644 mods/wool/textures/wool_orange.png create mode 100644 mods/wool/textures/wool_pink.png create mode 100644 mods/wool/textures/wool_red.png create mode 100644 mods/wool/textures/wool_violet.png create mode 100644 mods/wool/textures/wool_white.png create mode 100644 mods/wool/textures/wool_yellow.png create mode 100644 mods/xpanes/README.txt create mode 100644 mods/xpanes/depends.txt create mode 100644 mods/xpanes/init.lua create mode 100644 mods/xpanes/license.txt create mode 100644 mods/xpanes/textures/xpanes_bar.png create mode 100644 mods/xpanes/textures/xpanes_grey.png create mode 100644 mods/xpanes/textures/xpanes_pane_half.png create mode 100644 mods/xpanes/textures/xpanes_space.png create mode 100644 mods/xpanes/textures/xpanes_white.png diff --git a/README.md b/README.md index 3049acc..56dfcb2 100644 --- a/README.md +++ b/README.md @@ -1 +1,8 @@ # MineFix + +MineFix is a project that tries to (slowly) implement all missing features from the game [Minecraft](https://minecraft.net) to [Minetest](https://minetest.net). It does this by adding new mods that supply missing blocks and items, and removing non-Minecraft features from the base Minetest game. + +## Installation instructions + +Copy or clone this repository to `minetestdirectory/games/minefix`. +Now go into the `minefix/mods` directory and read every README.md for every mod starting with `minefix` in the name for any further installation instructions. diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..94811f2 --- /dev/null +++ b/game.conf @@ -0,0 +1 @@ +name = Minefix diff --git a/mods/beds/README.txt b/mods/beds/README.txt new file mode 100644 index 0000000..cda6ebd --- /dev/null +++ b/mods/beds/README.txt @@ -0,0 +1,26 @@ +Minetest Game mod: beds +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by BlockMen (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +BlockMen (CC BY-SA 3.0) + +This mod adds a bed to Minetest which allows to skip the night. +To sleep, rightclick the bed. If playing in singleplayer mode the night gets skipped +immediately. If playing multiplayer you get shown how many other players are in bed too, +if all players are sleeping the night gets skipped. The night skip can be forced if more +than 50% of the players are lying in bed and use this option. + +Another feature is a controlled respawning. If you have slept in bed (not just lying in +it) your respawn point is set to the beds location and you will respawn there after +death. +You can disable the respawn at beds by setting "enable_bed_respawn = false" in +minetest.conf. +You can disable the night skip feature by setting "enable_bed_night_skip = false" in +minetest.conf or by using the /set command in-game. diff --git a/mods/beds/api.lua b/mods/beds/api.lua new file mode 100644 index 0000000..3624ea4 --- /dev/null +++ b/mods/beds/api.lua @@ -0,0 +1,158 @@ + +local reverse = true + +local function destruct_bed(pos, n) + local node = minetest.get_node(pos) + local other + + if n == 2 then + local dir = minetest.facedir_to_dir(node.param2) + other = vector.subtract(pos, dir) + elseif n == 1 then + local dir = minetest.facedir_to_dir(node.param2) + other = vector.add(pos, dir) + end + + if reverse then + reverse = not reverse + minetest.remove_node(other) + nodeupdate(other) + else + reverse = not reverse + end +end + +function beds.register_bed(name, def) + minetest.register_node(name .. "_bottom", { + description = def.description, + inventory_image = def.inventory_image, + wield_image = def.wield_image, + drawtype = "nodebox", + tiles = def.tiles.bottom, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + stack_max = 1, + groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 1}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = def.nodebox.bottom, + }, + selection_box = { + type = "fixed", + fixed = def.selectionbox, + }, + + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local pos + if minetest.registered_items[minetest.get_node(under).name].buildable_to then + pos = under + else + pos = pointed_thing.above + end + + if minetest.is_protected(pos, placer:get_player_name()) and + not minetest.check_player_privs(placer, "protection_bypass") then + minetest.record_protection_violation(pos, placer:get_player_name()) + return itemstack + end + + local node_def = minetest.registered_nodes[minetest.get_node(pos).name] + if not node_def or not node_def.buildable_to then + return itemstack + end + + local dir = minetest.dir_to_facedir(placer:get_look_dir()) + local botpos = vector.add(pos, minetest.facedir_to_dir(dir)) + + if minetest.is_protected(botpos, placer:get_player_name()) and + not minetest.check_player_privs(placer, "protection_bypass") then + minetest.record_protection_violation(botpos, placer:get_player_name()) + return itemstack + end + + local botdef = minetest.registered_nodes[minetest.get_node(botpos).name] + if not botdef or not botdef.buildable_to then + return itemstack + end + + minetest.set_node(pos, {name = name .. "_bottom", param2 = dir}) + minetest.set_node(botpos, {name = name .. "_top", param2 = dir}) + + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, + + on_destruct = function(pos) + destruct_bed(pos, 1) + end, + + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + beds.on_rightclick(pos, clicker) + return itemstack + end, + + on_rotate = function(pos, node, user, mode, new_param2) + local dir = minetest.facedir_to_dir(node.param2) + local p = vector.add(pos, dir) + local node2 = minetest.get_node_or_nil(p) + if not node2 or not minetest.get_item_group(node2.name, "bed") == 2 or + not node.param2 == node2.param2 then + return false + end + if minetest.is_protected(p, user:get_player_name()) then + minetest.record_protection_violation(p, user:get_player_name()) + return false + end + if mode ~= screwdriver.ROTATE_FACE then + return false + end + local newp = vector.add(pos, minetest.facedir_to_dir(new_param2)) + local node3 = minetest.get_node_or_nil(newp) + local node_def = node3 and minetest.registered_nodes[node3.name] + if not node_def or not node_def.buildable_to then + return false + end + if minetest.is_protected(newp, user:get_player_name()) then + minetest.record_protection_violation(newp, user:get_player_name()) + return false + end + node.param2 = new_param2 + -- do not remove_node here - it will trigger destroy_bed() + minetest.set_node(p, {name = "air"}) + minetest.set_node(pos, node) + minetest.set_node(newp, {name = name .. "_top", param2 = new_param2}) + return true + end, + }) + + minetest.register_node(name .. "_top", { + drawtype = "nodebox", + tiles = def.tiles.top, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + pointable = false, + groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2}, + sounds = default.node_sound_wood_defaults(), + drop = name .. "_bottom", + node_box = { + type = "fixed", + fixed = def.nodebox.top, + }, + on_destruct = function(pos) + destruct_bed(pos, 2) + end, + }) + + minetest.register_alias(name, name .. "_bottom") + + minetest.register_craft({ + output = name, + recipe = def.recipe + }) +end diff --git a/mods/beds/beds.lua b/mods/beds/beds.lua new file mode 100644 index 0000000..5f31f13 --- /dev/null +++ b/mods/beds/beds.lua @@ -0,0 +1,90 @@ +-- Fancy shaped bed + +beds.register_bed("beds:fancy_bed", { + description = "Fancy Bed", + inventory_image = "beds_bed_fancy.png", + wield_image = "beds_bed_fancy.png", + tiles = { + bottom = { + "beds_bed_top1.png", + "default_wood.png", + "beds_bed_side1.png", + "beds_bed_side1.png^[transformFX", + "default_wood.png", + "beds_bed_foot.png", + }, + top = { + "beds_bed_top2.png", + "default_wood.png", + "beds_bed_side2.png", + "beds_bed_side2.png^[transformFX", + "beds_bed_head.png", + "default_wood.png", + } + }, + nodebox = { + bottom = { + {-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375}, + {0.375, -0.5, -0.5, 0.5, -0.065, -0.4375}, + {-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375}, + {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, + {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, + {-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5}, + }, + top = { + {-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5}, + {0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5}, + {-0.5, 0, 0.4375, 0.5, 0.125, 0.5}, + {-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5}, + {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, + {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, + {-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375}, + } + }, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + recipe = { + {"", "", "group:stick"}, + {"wool:red", "wool:red", "wool:white"}, + {"group:wood", "group:wood", "group:wood"}, + }, +}) + +-- Simple shaped bed + +beds.register_bed("beds:bed", { + description = "Simple Bed", + inventory_image = "beds_bed.png", + wield_image = "beds_bed.png", + tiles = { + bottom = { + "beds_bed_top_bottom.png^[transformR90", + "default_wood.png", + "beds_bed_side_bottom_r.png", + "beds_bed_side_bottom_r.png^[transformfx", + "beds_transparent.png", + "beds_bed_side_bottom.png" + }, + top = { + "beds_bed_top_top.png^[transformR90", + "default_wood.png", + "beds_bed_side_top_r.png", + "beds_bed_side_top_r.png^[transformfx", + "beds_bed_side_top.png", + "beds_transparent.png", + } + }, + nodebox = { + bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, + top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, + }, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + recipe = { + {"wool:red", "wool:red", "wool:white"}, + {"group:wood", "group:wood", "group:wood"} + }, +}) + +-- Aliases for PilzAdam's beds mod + +minetest.register_alias("beds:bed_bottom_red", "beds:bed_bottom") +minetest.register_alias("beds:bed_top_red", "beds:bed_top") diff --git a/mods/beds/depends.txt b/mods/beds/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/mods/beds/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/mods/beds/functions.lua b/mods/beds/functions.lua new file mode 100644 index 0000000..b1c2c97 --- /dev/null +++ b/mods/beds/functions.lua @@ -0,0 +1,220 @@ +local pi = math.pi +local player_in_bed = 0 +local is_sp = minetest.is_singleplayer() +local enable_respawn = minetest.setting_getbool("enable_bed_respawn") +if enable_respawn == nil then + enable_respawn = true +end + +-- Helper functions + +local function get_look_yaw(pos) + local n = minetest.get_node(pos) + if n.param2 == 1 then + return pi / 2, n.param2 + elseif n.param2 == 3 then + return -pi / 2, n.param2 + elseif n.param2 == 0 then + return pi, n.param2 + else + return 0, n.param2 + end +end + +local function is_night_skip_enabled() + local enable_night_skip = minetest.setting_getbool("enable_bed_night_skip") + if enable_night_skip == nil then + enable_night_skip = true + end + return enable_night_skip +end + +local function check_in_beds(players) + local in_bed = beds.player + if not players then + players = minetest.get_connected_players() + end + + for n, player in ipairs(players) do + local name = player:get_player_name() + if not in_bed[name] then + return false + end + end + + return #players > 0 +end + +local function lay_down(player, pos, bed_pos, state, skip) + local name = player:get_player_name() + local hud_flags = player:hud_get_flags() + + if not player or not name then + return + end + + -- stand up + if state ~= nil and not state then + local p = beds.pos[name] or nil + if beds.player[name] ~= nil then + beds.player[name] = nil + player_in_bed = player_in_bed - 1 + end + -- skip here to prevent sending player specific changes (used for leaving players) + if skip then + return + end + if p then + player:setpos(p) + end + + -- physics, eye_offset, etc + player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) + player:set_look_horizontal(math.random(1, 180) / 100) + default.player_attached[name] = false + player:set_physics_override(1, 1, 1) + hud_flags.wielditem = true + default.player_set_animation(player, "stand" , 30) + + -- lay down + else + beds.player[name] = 1 + beds.pos[name] = pos + player_in_bed = player_in_bed + 1 + + -- physics, eye_offset, etc + player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0}) + local yaw, param2 = get_look_yaw(bed_pos) + player:set_look_horizontal(yaw) + local dir = minetest.facedir_to_dir(param2) + local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2} + player:set_physics_override(0, 0, 0) + player:setpos(p) + default.player_attached[name] = true + hud_flags.wielditem = false + default.player_set_animation(player, "lay" , 0) + end + + player:hud_set_flags(hud_flags) +end + +local function update_formspecs(finished) + local ges = #minetest.get_connected_players() + local form_n + local is_majority = (ges / 2) < player_in_bed + + if finished then + form_n = beds.formspec .. "label[2.7,11; Good morning.]" + else + form_n = beds.formspec .. "label[2.2,11;" .. tostring(player_in_bed) .. + " of " .. tostring(ges) .. " players are in bed]" + if is_majority and is_night_skip_enabled() then + form_n = form_n .. "button_exit[2,8;4,0.75;force;Force night skip]" + end + end + + for name,_ in pairs(beds.player) do + minetest.show_formspec(name, "beds_form", form_n) + end +end + + +-- Public functions + +function beds.kick_players() + for name, _ in pairs(beds.player) do + local player = minetest.get_player_by_name(name) + lay_down(player, nil, nil, false) + end +end + +function beds.skip_night() + minetest.set_timeofday(0.23) +end + +function beds.on_rightclick(pos, player) + local name = player:get_player_name() + local ppos = player:getpos() + local tod = minetest.get_timeofday() + + if tod > 0.2 and tod < 0.805 then + if beds.player[name] then + lay_down(player, nil, nil, false) + end + minetest.chat_send_player(name, "You can only sleep at night.") + return + end + + -- move to bed + if not beds.player[name] then + lay_down(player, ppos, pos) + beds.set_spawns() -- save respawn positions when entering bed + else + lay_down(player, nil, nil, false) + end + + if not is_sp then + update_formspecs(false) + end + + -- skip the night and let all players stand up + if check_in_beds() then + minetest.after(2, function() + if not is_sp then + update_formspecs(is_night_skip_enabled()) + end + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end) + end +end + + +-- Callbacks +-- Only register respawn callback if respawn enabled +if enable_respawn then + -- respawn player at bed if enabled and valid position is found + minetest.register_on_respawnplayer(function(player) + local name = player:get_player_name() + local pos = beds.spawn[name] + if pos then + player:setpos(pos) + return true + end + end) +end + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + lay_down(player, nil, nil, false, true) + beds.player[name] = nil + if check_in_beds() then + minetest.after(2, function() + update_formspecs(is_night_skip_enabled()) + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end) + end +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "beds_form" then + return + end + if fields.quit or fields.leave then + lay_down(player, nil, nil, false) + update_formspecs(false) + end + + if fields.force then + update_formspecs(is_night_skip_enabled()) + if is_night_skip_enabled() then + beds.skip_night() + beds.kick_players() + end + end +end) diff --git a/mods/beds/init.lua b/mods/beds/init.lua new file mode 100644 index 0000000..8b25890 --- /dev/null +++ b/mods/beds/init.lua @@ -0,0 +1,17 @@ +beds = {} +beds.player = {} +beds.pos = {} +beds.spawn = {} + +beds.formspec = "size[8,15;true]" .. + "bgcolor[#080808BB; true]" .. + "button_exit[2,12;4,0.75;leave;Leave Bed]" + +local modpath = minetest.get_modpath("beds") + +-- Load files + +dofile(modpath .. "/functions.lua") +dofile(modpath .. "/api.lua") +dofile(modpath .. "/beds.lua") +dofile(modpath .. "/spawns.lua") diff --git a/mods/beds/license.txt b/mods/beds/license.txt new file mode 100644 index 0000000..0494b36 --- /dev/null +++ b/mods/beds/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2014-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 BlockMen + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/beds/spawns.lua b/mods/beds/spawns.lua new file mode 100644 index 0000000..6b1f404 --- /dev/null +++ b/mods/beds/spawns.lua @@ -0,0 +1,63 @@ +local world_path = minetest.get_worldpath() +local org_file = world_path .. "/beds_spawns" +local file = world_path .. "/beds_spawns" +local bkwd = false + +-- check for PA's beds mod spawns +local cf = io.open(world_path .. "/beds_player_spawns", "r") +if cf ~= nil then + io.close(cf) + file = world_path .. "/beds_player_spawns" + bkwd = true +end + +function beds.read_spawns() + local spawns = beds.spawn + local input = io.open(file, "r") + if input and not bkwd then + repeat + local x = input:read("*n") + if x == nil then + break + end + local y = input:read("*n") + local z = input:read("*n") + local name = input:read("*l") + spawns[name:sub(2)] = {x = x, y = y, z = z} + until input:read(0) == nil + io.close(input) + elseif input and bkwd then + beds.spawn = minetest.deserialize(input:read("*all")) + input:close() + beds.save_spawns() + os.rename(file, file .. ".backup") + file = org_file + end +end + +beds.read_spawns() + +function beds.save_spawns() + if not beds.spawn then + return + end + local data = {} + local output = io.open(org_file, "w") + for k, v in pairs(beds.spawn) do + table.insert(data, string.format("%.1f %.1f %.1f %s\n", v.x, v.y, v.z, k)) + end + output:write(table.concat(data)) + io.close(output) +end + +function beds.set_spawns() + for name,_ in pairs(beds.player) do + local player = minetest.get_player_by_name(name) + local p = player:getpos() + -- but don't change spawn location if borrowing a bed + if not minetest.is_protected(p, name) then + beds.spawn[name] = p + end + end + beds.save_spawns() +end diff --git a/mods/beds/textures/beds_bed.png b/mods/beds/textures/beds_bed.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0054c6cf9a42d248601d8c527c0a0da2bf92f6 GIT binary patch literal 540 zcmV+%0^|LOP)nsVZn?U zRen}?snu%uzK`$weEC}8{fCb<81o`bsxqz0iW$phJP~0|mB%7{+uml^`^D<&8V??3 z4**lDdD@I@F30%z1Q!R+;__xph)`DLxfvx@=2R)EGOJ42 zj6xkWBtlYz+}Id>kwYYUJ8{c_07d6mFk?}bry|U&GFP9bWJba{lFo5KgiGg+5)Fq) z#=A(L=?c1)Y=U(&UYhMEmdz-caZ7}>2npv%#g7n=bTE?YCUyGQ!4?+p^)Y!P#=I)8 z%y?!-(TqXoxGX~QCFhksW7of2iKF`48%Hv&C1qr@%i-#cdniwGZ^`AYRf9$zS7e) e^$$S1zwtN1Qq}5$b^0~{0000g*HHLyD4EErh^$d!evj~?!;w+tqZzwqymgMeDx1#n?dXW(+7I^j z_St_k^B1t(Ej;stoGM$Yq*ckNl2xT_#?IM0W5(**8tdz?@h4-*Vz=IaP{gq|ZRp&Jk-9GAj#=g#%0sb|R@8%9aQvGv2AP?HoI*&VnKxfzHnFf+Xn~N3;zD6Tfu*Y?3Zb$v zg2=$aA_3zUP;9`2-#iw&AXrdfX>qGJ@60_f1*8tiLCgPuzXI66BWmOr8pFgGtWtzZ zF%w}XLZmgXTJvrUQ)384coAXT%rkE0N!h^TqhF>YLQjP8H)y0ak=DF@FAlXP6k%ix z))=Bj4jXu+s)Zw}g(DtCXp8XRI6NuEK!m;s9i?b1MOSN{wWj4bG#!VlqRUm${c4bC zB(-Sf6QY16?2P83#QW&QJRk|weB8Qo{O_K%6XC6?A_ zaN~V7NL==%cIuMct9I)CzJU!q!rL@)?_ynb-ag~*@`QQ&oVZsatY`T7eyy-^^O>}^ kHKIlq8>9*AnJsvdPtZDUt>P4NqW}N^07*qoM6N<$g2%O|ZU6uP literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_head.png b/mods/beds/textures/beds_bed_head.png new file mode 100644 index 0000000000000000000000000000000000000000..763f5e14048e931e237397df959ac20041b5c26d GIT binary patch literal 387 zcmV-}0et?6P)iQ^b)nj#1SL{Wq+%dpvO5QZT<&qI+L6 hP*s3AYVMI2_yGC^`^BWEuA=||002ovPDHLkV1jg)Z%*=ZTOTcn^vn)iA$(CEh(y=mOD|9)MV?|wgnb2TpX^xpv!I3ISX!Ls{+#>4Re*{iYWZLAR{{x+qvt2}TjB*pmasI2 zg)wZb4W-4n@5*!j753>=?Jf)eZ?8=n(&ePTT zw3B$yB@|i0bllhDztGirl;8ylaaf?1Asi2BR0px`@C z7srr_Id>=R_c|OP(yo8@?Bte)$9Ho%wkT|uG~SZ@IK`R$;KD2Q=4@v#EazA|A^d}> zOLCHc$owb80=zF4NH`Y!m{$Cw_PMzXV~1V|*MISYMO9yuo$fE3e86SZY=!Q<@figw zs@|HOIkTBhKML>?n|8D_ck}(%h2iFR%=vBXY=gs0L+=*U1{Xz#`LyXBa^Vuz)Jv<~ zbVIq@Hmtb+Pe|~RgVQ;HVv{c}KYA-8>~q)-v$X}2drqX)`YaJ}mD&^k??m+EI~nJ` zZ=3l__tRrpGq>VxtK+1BX5CM;Dd4Pazfdm0f9vP{e~uH`_AqQXW1hm`TF?yiIfJLG KpUXO@geCwE>46;p literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_side_bottom.png b/mods/beds/textures/beds_bed_side_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..99ff309fa2243dc6243b1eb054773eb977b5054a GIT binary patch literal 561 zcmV-10?z%3P)4JgSaUyQK~PuL z2xmguTH8|hOPTY1$I{GNi6aUxgf0w51pS5IE?Px5-PmOp->bvfMwKS|{!x#=!={ZMNgsuoZ z=QvPh!x$RYvS}@CRVpHwx^rxeE;K_S0ulB^=&Ryei*GG`RrW*(L}-RWbXD1Mj=FO{ zfSPl(RaqBd+c}ydbX2KXOU+t3sx(Kl_0h+*pTOsL8T_2b>!Qb?JjZTsmgDL?ZwgmA zEY32hMDbTV_KOh?OCJ8J$8j~r(eoQTNKRk|+eu#LBjgt+DWs>!r=}<-r^qKKDc>3= zdwYy*e40Wk%+tgK*@X)n)zb8jp5=2j~;%9NoM}ZIKbV;t&aZ({#D?u z_q5E|7GXz(rgL=6NK{EwIq;sI8Hor7-qQ*KPRuw`B~`_3h;V4eruXc4&j;t|o6%LJ zBf@?VaAwA_DkrL>-g9O~DneHkx2?*aDjhR+gMdtg6A?a{k$O+ZdwRpUD?(3%jtC#k zXa~V{U`v%lGv14^ugb0ni5XkobD&B~gw%|tb8HWH(&5`~urts3#$$So9O+t~L1UII zD$uXz=*QEXzk5U$>{TCd-h9I6&4;8>fz!Bv`|cSZH@+gh)4y)k=jkytO!#y|Hnxh}z=k>xE)zZDcS`H^!4kvlJaF<{902*{fSad;kbZBpK099;dVPqgvd2@7S bZF4LjNp52<$sIm+00000NkvXXu0mjfQ>pbb literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_side_top.png b/mods/beds/textures/beds_bed_side_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b2807c5fa275087fd66be04e6f76e53b6e36797c GIT binary patch literal 611 zcmV-p0-XJcP)H1JHG{o<1xeL3G{ZoM zCXVA!uh(fb1f5QYv$Hc=trm{saDIMHr_(_+n^dbcDkn9HB@L-m(y;6@cDX{eT0@8y zr>CbhgrLz7wA*bQr;QK-Aq354lWMJos_7`X0@BxS-`P7jq;Pc1aZ%+^$#Ha4MAuDp z!$Q?`R8>beObpXP$>ljv6!L{*_78JNyPK0_;y%_Q{bc1EWMv;2*~{CQmqetW?23}PGRk2gymGLO8ZLD7w!op}bi^0ppLT;x0T|@$I z;z1YjF&B~1ZdN0Mq~sy)kGYX{)3-=OJlqSonH|6OS2LkrWdr>Eo{d64K_= zASrp6>5(py4?S!rCfG?%v6Gx)Yc<5e?dxo86Ef?|C|o<;=v$`fvfxgxZ>Zj6KntfnN`yHPynLQoy-uxGr*?9}(eW`qs#WrZBH7)2w3G-7B0N`$ z8C@qS!n_EMQcMN{925^J`xUA`>y%1m{K^pr#Y4PYflr^e(B?!)h_I*>PYi=+BFq{F zNu`MEI{Uc-`9hKJC7(SnhnFj`lig!?&tvP$SG1M!4qiqtDMYc&(U(MT-RL?qZk%xWTLwK6`? zN;K5K=s+9MzVl32jf@5xSexnR^<*!RU<+C#e38F3WVJD5wXvDLi8I{Ao$Ke&Qg%D1 z+~E#37W&D!gJj%6))N*FZ(U+N(Z|L@7pG(@8`@RCt_4l0mK;RS-qbz4h#Fw?7yWh)@Pdh&el8h{RU12P8(U zf(5aUC_zGr^dX7u@9y`i7?_9})!^3PoLlgqgvBI>-q)%n!qRz+f`gs#*t;d!K(pD~qpD|4c7v^|GM5P7_o~J2aL&B-(Ox_| zzJ|pX+%gkR5eaK%!O<3+GX5=4&Q&?80e|;C zOHF#;`&M;~sH%U)5G*!u&D^TGG|x-pE~jeEZ1x_us$118P0}?}Fh@u_k8zM2VClgI z)=c2@h&2I_RD}%Ydg4(5pcNk zR2hyD9iFN-I7T$PNjgMat2US;47W_dWG9?6OR{9R-hb)4Z$9IfpMakE=G{3H18}Qc zpDq#l_Qlsz3qH-i+3@`uy literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_top2.png b/mods/beds/textures/beds_bed_top2.png new file mode 100644 index 0000000000000000000000000000000000000000..2fe5bf2b0c133858993413cfa495379f4c4b9aa1 GIT binary patch literal 616 zcmV-u0+;=XP)pG^hrcPRCt_Ckj;@DMG%BDtE#)_?da`Zv=?MCzyJE90XUz}LZ)P=Wg$7n1hB3vfLg05 zA0E!vBfng>h>+o4>u#!MskPQxQxy>&$5Cq))s#|ieU4E|o^7{3{@RvY#vC%lOhu&k z4j`o*;k|bcl#;2kU0$BvJeoUZ_*zyoZLN_~N+x;xa5|mloUM0wobJ|QY5+{FUazK_ zQdZ^B8Ui_|2-I2ukOXn9^^2vyKYlDZi)d@l$x_Z4q+cciqC#@pHV-#V04&1ae)IK+ z(1;|GfEjT_6f%)lcL0m(1U}FC?a$v?yY8917g1oi6F92|aJVbEnmN!T2)wo%zj7hn zUC37=1X@HytRe(H&q;C-abS<=)8*-_$LE_z;Of55X@CIxoS()pG664RT;?S3{=;U) z^iE{BcQTRum%E7Mh!!z`Ma0P$_mjf_2=HK*fNf3zR*?X%5el4DCvZdraIgAB>%FQ+ zbl{aLfWtk2yW7m2WFZyUBbM7>cR!H;K8>Md7IEM*CjccS;(1O7iYkDA08wZmbtryJ zD*ylh8gxZibU}4=Xm4@=RcvKpWFS*{b97~Gb1Wc9ZeuRV9X@sd0000}2bnaV8HDJOC7U?3D1dvS0AV^Zu83clQb}!Ob_gUJL>oK5e zwXaoAdq{t~m#R+Q$CziSV7$r#K*5#-b_lGA0oaqeR_*q+YELdzYjUaDlD9D)_O)tD zZex7eQ~KRq0rCHmBr!abfF!>d42GquR{JPkUiD9VkskJ0TJ77R?#QcVz%Tcm04Hg{ zo+J?z1PX=()R3O9C$s9_eUiTH+p)fCPp-#vX|rb_(qUsjO9xd+1p+546d*O!FT12i zGNk)U%QD86OzCb<=~(|vrZf#37?3PAGz7Nf3_bv)BiW$d#yILf?OAnCkbZXW(mfef z_e52Hk~%mAhK80l=)_W_NRI^R({AY`1zP$C%r-WvXBHb10000QbVXQnL3MO!Z*l-t lY-M3&AX9mBbY*RGEFej4V=l=ZK6U^A002ovPDHLkV1jl<*RTKp literal 0 HcmV?d00001 diff --git a/mods/beds/textures/beds_bed_top_top.png b/mods/beds/textures/beds_bed_top_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e877c808afa166a782c29eef02c051c540db186d GIT binary patch literal 556 zcmV+{0@MA8P)RudT=q5w$>%R$qs7bDXOa89&$XHW03F!LPELS8*iy8J z)?(C%*0^S7O42=ZkVj@Gm;FSpsxDpE+55PztF>_D)4mhf#!!#|1Q4)IfFC8TN05{x zk|bM;F}j9yR_)Sd|KGI77%OwzMrQWj*UD|%0V)9l1^}dO+rVjqgh3L3Z2%<7sads2 z4|_&WB~~zP_AoE7!a>{rRzM;wU)Msn;qnPRg-SE$k)sk{dT*T zalE}(`Tgyvs^d7?0tyh2WCCfE405hjRaL&-@1m|bLyFe^0N<1_(B0*u2BR0prEv; zi(^Q|oa7(>|JyUG&QLnLn5{?3AnQPa5d*`~wSVP9epPk@l}VMjMwB>~mSp4?F@)x% kCZ;F^R~DC~<`(NHc;+SRos_jJ1FB;1boFyt=akR{04v}rR{#J2 literal 0 HcmV?d00001 diff --git a/mods/boats/README.txt b/mods/boats/README.txt new file mode 100644 index 0000000..59631d9 --- /dev/null +++ b/mods/boats/README.txt @@ -0,0 +1,15 @@ +Minetest Game mod: boats +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures and model) +------------------------------------- +Textures: Zeg9 (CC BY-SA 3.0) +Model: thetoon and Zeg9 (CC BY-SA 3.0), + modified by PavelS(SokolovPavel) (CC BY-SA 3.0), + modified by sofar (CC BY-SA 3.0) diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/boats/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/boats/init.lua b/mods/boats/init.lua new file mode 100644 index 0000000..37cb916 --- /dev/null +++ b/mods/boats/init.lua @@ -0,0 +1,249 @@ +-- +-- Helper functions +-- + +local function is_water(pos) + local nn = minetest.get_node(pos).name + return minetest.get_item_group(nn, "water") ~= 0 +end + + +local function get_sign(i) + if i == 0 then + return 0 + else + return i / math.abs(i) + end +end + + +local function get_velocity(v, yaw, y) + local x = -math.sin(yaw) * v + local z = math.cos(yaw) * v + return {x = x, y = y, z = z} +end + + +local function get_v(v) + return math.sqrt(v.x ^ 2 + v.z ^ 2) +end + +-- +-- Boat entity +-- + +local boat = { + physical = true, + -- Warning: Do not change the position of the collisionbox top surface, + -- lowering it causes the boat to fall through the world if underwater + collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, + visual = "mesh", + mesh = "boats_boat.obj", + textures = {"default_wood.png"}, + + driver = nil, + v = 0, + last_v = 0, + removed = false +} + + +function boat.on_rightclick(self, clicker) + if not clicker or not clicker:is_player() then + return + end + local name = clicker:get_player_name() + if self.driver and clicker == self.driver then + self.driver = nil + clicker:set_detach() + default.player_attached[name] = false + default.player_set_animation(clicker, "stand" , 30) + local pos = clicker:getpos() + pos = {x = pos.x, y = pos.y + 0.2, z = pos.z} + minetest.after(0.1, function() + clicker:setpos(pos) + end) + elseif not self.driver then + local attach = clicker:get_attach() + if attach and attach:get_luaentity() then + local luaentity = attach:get_luaentity() + if luaentity.driver then + luaentity.driver = nil + end + clicker:set_detach() + end + self.driver = clicker + clicker:set_attach(self.object, "", + {x = 0, y = 11, z = -3}, {x = 0, y = 0, z = 0}) + default.player_attached[name] = true + minetest.after(0.2, function() + default.player_set_animation(clicker, "sit" , 30) + end) + self.object:setyaw(clicker:get_look_horizontal() - math.pi / 2) + end +end + + +function boat.on_activate(self, staticdata, dtime_s) + self.object:set_armor_groups({immortal = 1}) + if staticdata then + self.v = tonumber(staticdata) + end + self.last_v = self.v +end + + +function boat.get_staticdata(self) + return tostring(self.v) +end + + +function boat.on_punch(self, puncher) + if not puncher or not puncher:is_player() or self.removed then + return + end + if self.driver and puncher == self.driver then + self.driver = nil + puncher:set_detach() + default.player_attached[puncher:get_player_name()] = false + end + if not self.driver then + self.removed = true + -- delay remove to ensure player is detached + minetest.after(0.1, function() + self.object:remove() + end) + if not minetest.setting_getbool("creative_mode") then + local inv = puncher:get_inventory() + if inv:room_for_item("main", "boats:boat") then + inv:add_item("main", "boats:boat") + else + minetest.add_item(self.object:getpos(), "boats:boat") + end + end + end +end + + +function boat.on_step(self, dtime) + self.v = get_v(self.object:getvelocity()) * get_sign(self.v) + if self.driver then + local ctrl = self.driver:get_player_control() + local yaw = self.object:getyaw() + if ctrl.up then + self.v = self.v + 0.1 + elseif ctrl.down then + self.v = self.v - 0.1 + end + if ctrl.left then + if self.v < 0 then + self.object:setyaw(yaw - (1 + dtime) * 0.03) + else + self.object:setyaw(yaw + (1 + dtime) * 0.03) + end + elseif ctrl.right then + if self.v < 0 then + self.object:setyaw(yaw + (1 + dtime) * 0.03) + else + self.object:setyaw(yaw - (1 + dtime) * 0.03) + end + end + end + local velo = self.object:getvelocity() + if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then + self.object:setpos(self.object:getpos()) + return + end + local s = get_sign(self.v) + self.v = self.v - 0.02 * s + if s ~= get_sign(self.v) then + self.object:setvelocity({x = 0, y = 0, z = 0}) + self.v = 0 + return + end + if math.abs(self.v) > 5 then + self.v = 5 * get_sign(self.v) + end + + local p = self.object:getpos() + p.y = p.y - 0.5 + local new_velo + local new_acce = {x = 0, y = 0, z = 0} + if not is_water(p) then + local nodedef = minetest.registered_nodes[minetest.get_node(p).name] + if (not nodedef) or nodedef.walkable then + self.v = 0 + new_acce = {x = 0, y = 1, z = 0} + else + new_acce = {x = 0, y = -9.8, z = 0} + end + new_velo = get_velocity(self.v, self.object:getyaw(), + self.object:getvelocity().y) + self.object:setpos(self.object:getpos()) + else + p.y = p.y + 1 + if is_water(p) then + local y = self.object:getvelocity().y + if y >= 5 then + y = 5 + elseif y < 0 then + new_acce = {x = 0, y = 20, z = 0} + else + new_acce = {x = 0, y = 5, z = 0} + end + new_velo = get_velocity(self.v, self.object:getyaw(), y) + self.object:setpos(self.object:getpos()) + else + new_acce = {x = 0, y = 0, z = 0} + if math.abs(self.object:getvelocity().y) < 1 then + local pos = self.object:getpos() + pos.y = math.floor(pos.y) + 0.5 + self.object:setpos(pos) + new_velo = get_velocity(self.v, self.object:getyaw(), 0) + else + new_velo = get_velocity(self.v, self.object:getyaw(), + self.object:getvelocity().y) + self.object:setpos(self.object:getpos()) + end + end + end + self.object:setvelocity(new_velo) + self.object:setacceleration(new_acce) +end + + +minetest.register_entity("boats:boat", boat) + + +minetest.register_craftitem("boats:boat", { + description = "Boat", + inventory_image = "boats_inventory.png", + wield_image = "boats_wield.png", + wield_scale = {x = 2, y = 2, z = 1}, + liquids_pointable = true, + + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + if not is_water(pointed_thing.under) then + return itemstack + end + pointed_thing.under.y = pointed_thing.under.y + 0.5 + minetest.add_entity(pointed_thing.under, "boats:boat") + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, +}) + + +minetest.register_craft({ + output = "boats:boat", + recipe = { + {"", "", "" }, + {"group:wood", "", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + }, +}) diff --git a/mods/boats/license.txt b/mods/boats/license.txt new file mode 100644 index 0000000..d4afe75 --- /dev/null +++ b/mods/boats/license.txt @@ -0,0 +1,63 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures and model) +-------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Zeg9 +Copyright (C) 2012-2016 thetoon +Copyright (C) 2012-2016 PavelS(SokolovPavel) +Copyright (C) 2016 sofar (sofar@foo-projects.org) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/boats/textures/boats_inventory.png b/mods/boats/textures/boats_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d082e31625c099490403a56906e922e2ea9e72 GIT binary patch literal 851 zcmV-Z1FZasP)>bI*)Nhm3B#3M=*L}JA!9HRz@*?WkF_AHc>+{j&Vqga7ao&Fo0-9c3?qe zR6TE8K~_mQd16INLponkKt(}5WKJ!rg-)P-N|<*>n|VftYCWQVN|tp)lXF9CR4=E3 zOr(KKj&DGUY(02gHk*4$o_j}wXFGsoI(Az!X;LqbaYBP;IB-`nU`i^CZ9s@>J9}X` zfn+vxTQz)OGkIP!b6GQIP%D~uM3QnrjBPxHXgYjiIcifdYEmsuJRy~ILX>krh-o=* zRxVvgDOf}&RYE14TQCv;002C6QchCF4C!)z#F_%)z?4wzjROrk zg#{I`ySuwv-~76p?lSrRYdN5Rg6?&ebLY%6bI z-nq};QSUzDun5`WTPSq6&@T6!4T~zlRFQC4DK5=Fe3b*&Ya)cAoQkrdfMie}9i0xe zz~?6l6eFw~7^$inDe-2?0((6T_%UzsiV=4?0YXMn^bDJenO^0@Ux!aE$C4=nlr4i( z(PP4u1SpW_7tagT{`IYM^0Q2Yu*Js)!RYZ%-d*VW}xw7 zaApN-Y~D;pq@3fvR?>;w(8Xe_NsBv}aFJ|=eSC6WN`O!7e>1udibU2qhRMiIzEB)* zz?%b_L?gY|lx( dAMEQD2kZ(bZYdv#XGG|aNV@)bxN++y^OPh8>jBr72S2Jx@ zEq`V`bXzl5Ml)+vF{gq~lypUiY(0~3JcMdHePla>X*qgeIeTF;sDn>~YCw8oK3YX8 zrGQMLeMpvbK#FcWQA99aNi0-BCX#bOh-W%uPB2P9FlkXKY*si?Jt3KPNPu87y7d!z z00001bW%=J06^y0W&i*IG)Y83R5;7+kXv?xAQVLd0)l9aK=G|HzG95cYyNX9w)v3N zA++~>xdBdTSqmSkCILNo9`d~K_;lU?lIGZh zQFU*qD3P!_$ZW(2`cRN^UHThnhBcH6gwu5h7)qtBnMH~{9t1b9 k#*!tWkz&lBcYo-<03BBywb>I+MgRZ+07*qoM6N<$f=^K0k^lez literal 0 HcmV?d00001 diff --git a/mods/bucket/README.txt b/mods/bucket/README.txt new file mode 100644 index 0000000..45e0ec5 --- /dev/null +++ b/mods/bucket/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: bucket +========================= +See license.txt for license information. + +Authors of source code +---------------------- +Kahrl (LGPL 2.1) +celeron55, Perttu Ahola (LGPL 2.1) +Various Minetest developers and contributors (LGPL 2.1) + +Authors of media (textures) +--------------------------- +ElementW (CC BY-SA 3.0) diff --git a/mods/bucket/depends.txt b/mods/bucket/depends.txt new file mode 100644 index 0000000..3a7daa1 --- /dev/null +++ b/mods/bucket/depends.txt @@ -0,0 +1,2 @@ +default + diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua new file mode 100644 index 0000000..638ce1f --- /dev/null +++ b/mods/bucket/init.lua @@ -0,0 +1,205 @@ +-- Minetest 0.4 mod: bucket +-- See README.txt for licensing and other information. + +minetest.register_alias("bucket", "bucket:bucket_empty") +minetest.register_alias("bucket_water", "bucket:bucket_water") +minetest.register_alias("bucket_lava", "bucket:bucket_lava") + +minetest.register_craft({ + output = 'bucket:bucket_empty 1', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'', 'default:steel_ingot', ''}, + } +}) + +bucket = {} +bucket.liquids = {} + +local function check_protection(pos, name, text) + if minetest.is_protected(pos, name) then + minetest.log("action", (name ~= "" and name or "A mod") + .. " tried to " .. text + .. " at protected position " + .. minetest.pos_to_string(pos) + .. " with a bucket") + minetest.record_protection_violation(pos, name) + return true + end + return false +end + +-- Register a new liquid +-- source = name of the source node +-- flowing = name of the flowing node +-- itemname = name of the new bucket item (or nil if liquid is not takeable) +-- inventory_image = texture of the new bucket item (ignored if itemname == nil) +-- name = text description of the bucket item +-- groups = (optional) groups of the bucket item, for example {water_bucket = 1} +-- force_renew = (optional) bool. Force the liquid source to renew if it has a +-- source neighbour, even if defined as 'liquid_renewable = false'. +-- Needed to avoid creating holes in sloping rivers. +-- This function can be called from any mod (that depends on bucket). +function bucket.register_liquid(source, flowing, itemname, inventory_image, name, + groups, force_renew) + bucket.liquids[source] = { + source = source, + flowing = flowing, + itemname = itemname, + force_renew = force_renew, + } + bucket.liquids[flowing] = bucket.liquids[source] + + if itemname ~= nil then + minetest.register_craftitem(itemname, { + description = name, + inventory_image = inventory_image, + stack_max = 1, + liquids_pointable = true, + groups = groups, + + on_place = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + + local node = minetest.get_node_or_nil(pointed_thing.under) + local ndef = node and minetest.registered_nodes[node.name] + + -- Call on_rightclick if the pointed node defines it + if ndef and ndef.on_rightclick and + user and not user:get_player_control().sneak then + return ndef.on_rightclick( + pointed_thing.under, + node, user, + itemstack) + end + + local lpos + + -- Check if pointing to a buildable node + if ndef and ndef.buildable_to then + -- buildable; replace the node + lpos = pointed_thing.under + else + -- not buildable to; place the liquid above + -- check if the node above can be replaced + + lpos = pointed_thing.above + node = minetest.get_node_or_nil(lpos) + local above_ndef = node and minetest.registered_nodes[node.name] + + if not above_ndef or not above_ndef.buildable_to then + -- do not remove the bucket with the liquid + return itemstack + end + end + + if check_protection(lpos, user + and user:get_player_name() + or "", "place "..source) then + return + end + + minetest.set_node(lpos, {name = source}) + return ItemStack("bucket:bucket_empty") + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + description = "Empty Bucket", + inventory_image = "bucket.png", + stack_max = 99, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid source + local node = minetest.get_node(pointed_thing.under) + local liquiddef = bucket.liquids[node.name] + local item_count = user:get_wielded_item():get_count() + + if liquiddef ~= nil + and liquiddef.itemname ~= nil + and node.name == liquiddef.source then + if check_protection(pointed_thing.under, + user:get_player_name(), + "take ".. node.name) then + return + end + + -- default set to return filled bucket + local giving_back = liquiddef.itemname + + -- check if holding more than 1 empty bucket + if item_count > 1 then + + -- if space in inventory add filled bucked, otherwise drop as item + local inv = user:get_inventory() + if inv:room_for_item("main", {name=liquiddef.itemname}) then + inv:add_item("main", liquiddef.itemname) + else + local pos = user:getpos() + pos.y = math.floor(pos.y + 0.5) + minetest.add_item(pos, liquiddef.itemname) + end + + -- set to return empty buckets minus 1 + giving_back = "bucket:bucket_empty "..tostring(item_count-1) + + end + + -- force_renew requires a source neighbour + local source_neighbor = false + if liquiddef.force_renew then + source_neighbor = + minetest.find_node_near(pointed_thing.under, 1, liquiddef.source) + end + if not (source_neighbor and liquiddef.force_renew) then + minetest.add_node(pointed_thing.under, {name = "air"}) + end + + return ItemStack(giving_back) + end + end, +}) + +bucket.register_liquid( + "default:water_source", + "default:water_flowing", + "bucket:bucket_water", + "bucket_water.png", + "Water Bucket", + {water_bucket = 1} +) + +bucket.register_liquid( + "default:river_water_source", + "default:river_water_flowing", + "bucket:bucket_river_water", + "bucket_river_water.png", + "River Water Bucket", + {water_bucket = 1}, + true +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png", + "Lava Bucket" +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, + replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, +}) + diff --git a/mods/bucket/license.txt b/mods/bucket/license.txt new file mode 100644 index 0000000..a5156ae --- /dev/null +++ b/mods/bucket/license.txt @@ -0,0 +1,51 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2016 Kahrl +Copyright (C) 2011-2016 celeron55, Perttu Ahola +Copyright (C) 2011-2016 Various Minetest developers and contributors + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2015-2016 ElementW + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/bucket/textures/bucket.png b/mods/bucket/textures/bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..17b0c4933e22c427c3317c8731be7e82bed88c42 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!R)9~4E09)DP;hi~^z!lw3JQve ziAhXMOiN44&(CjaYML-%!ug{*rJD|Y9vbrOw`~Uwu^GUtSK3>>)mVtfU{3R!srLCQ5=oso9==x}%$2p}vUhgt5 zX&)~5aOb!{s?PIM<_DBFB*>j>C|u8TTi-pdGJ{!U#`a<{py3Rju6{1-oD!MPLbWR{^y#mIV0)GdMiE zkp|>Mc)B=-RNU%4e^97FfrI731*MA)|Nmz%o-sGmVypW1M)qy<7n;xC^-Q9;aYgsa zxMi0(e_xxm@}aol?_jB`OcpnltD86rDj#(8P35`AtYFvA_n}a?p~m|hZ~lL#Lghsa R%0N39JYD@<);T3K0RZ+`QlbC= literal 0 HcmV?d00001 diff --git a/mods/bucket/textures/bucket_river_water.png b/mods/bucket/textures/bucket_river_water.png new file mode 100644 index 0000000000000000000000000000000000000000..d4648bb3f5c4588f9cfca82bf6f861d57e14339c GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE09)DP*7j>Rb$hC?O8wc zH~%o7^wqlYzxBGWUMs!^O!}XgnAp_RG-1Mo`Sa&5TefW1u3hbdf9-(U7)yfuf*Bm1 z-ADs+B0OCjLn?0dp7-W!FyLSb(2RKD{_)>((OfmdHFH9rJBsJnJLlVN&0c%U@k)3iGh3fA#K>(_Ze((jvj{)#)%Jp0!7yG{;ISpc&uMd{k7h7muF4a> Q1+;^~)78&qol`;+0Gnh|6aWAK literal 0 HcmV?d00001 diff --git a/mods/bucket/textures/bucket_water.png b/mods/bucket/textures/bucket_water.png new file mode 100644 index 0000000000000000000000000000000000000000..5af836bc8c524fecdfafa007a7d4a535ace25aba GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE0AW0{K^pXpT+eDN74@g z`>#SO|3wnMDkvx@$9`3}`Jb4W*woZCVZwy@^XD&Hwrtm~UG~o}Edc6bED7=pW^j0R zBMr!j@N{tuskqg9-kYz%fP*D~G5Ur3$A8O3bJYyj%n5z&D4t`VoNu@FdQcX7WU$!H z$SsoJW_GlGJbmZ!%9LUTz5W*y7ce==S%e?=YJ0)0U>Gke@Ys^!=d?M}F`rmI_U_qy Q7ib5Ar>mdKI;Vst0EU@RssI20 literal 0 HcmV?d00001 diff --git a/mods/creative/README.txt b/mods/creative/README.txt new file mode 100644 index 0000000..82357f3 --- /dev/null +++ b/mods/creative/README.txt @@ -0,0 +1,12 @@ +Minetest Game mod: creative +=========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (MIT) +Jean-Patrick G. (kilbith) (MIT) + +Author of media (textures) +-------------------------- +Jean-Patrick G. (kilbith) (CC BY-SA 3.0) diff --git a/mods/creative/depends.txt b/mods/creative/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/creative/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/creative/init.lua b/mods/creative/init.lua new file mode 100644 index 0000000..24cd673 --- /dev/null +++ b/mods/creative/init.lua @@ -0,0 +1,266 @@ +-- minetest/creative/init.lua + +creative = {} +local player_inventory = {} +local creative_mode = minetest.setting_getbool("creative_mode") + +-- Create detached creative inventory after loading all mods +creative.init_creative_inventory = function(owner) + local owner_name = owner:get_player_name() + player_inventory[owner_name] = { + size = 0, + filter = "", + start_i = 1, + tab_id = 2, + } + + minetest.create_detached_inventory("creative_" .. owner_name, { + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + if creative_mode and not to_list == "main" then + return count + else + return 0 + end + end, + allow_put = function(inv, listname, index, stack, player) + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + if creative_mode then + return -1 + else + return 0 + end + end, + on_move = function(inv, from_list, from_index, to_list, to_index, count, player) + end, + on_put = function(inv, listname, index, stack, player) + end, + on_take = function(inv, listname, index, stack, player) + local player_name, stack_name = player:get_player_name(), stack:get_name() + --print(player_name .. " takes item from creative inventory; listname = " .. listname .. ", index = " .. index .. ", stack = " .. dump(stack:to_table())) + if stack then + minetest.log("action", player_name .. " takes " .. stack_name .. " from creative inventory") + --print("Stack name: " .. stack_name .. ", Stack count: " .. stack:get_count()) + end + end, + }) + + creative.update_creative_inventory(owner_name) + --print("creative inventory size: " .. player_inventory[player_name].size) +end + +local function tab_category(tab_id) + local id_category = { + nil, -- Reserved for crafting tab. + minetest.registered_items, + minetest.registered_nodes, + minetest.registered_tools, + minetest.registered_craftitems + } + + -- If index out of range, show default ("All") page. + return id_category[tab_id] or id_category[2] +end + +function creative.update_creative_inventory(player_name) + local creative_list = {} + local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) + local inv = player_inventory[player_name] + + for name, def in pairs(tab_category(inv.tab_id)) do + if not (def.groups.not_in_creative_inventory == 1) and + def.description and def.description ~= "" and + (def.name:find(inv.filter, 1, true) or + def.description:lower():find(inv.filter, 1, true)) then + creative_list[#creative_list+1] = name + end + end + + table.sort(creative_list) + player_inv:set_size("main", #creative_list) + player_inv:set_list("main", creative_list) + inv.size = #creative_list +end + +-- Create the trash field +local trash = minetest.create_detached_inventory("creative_trash", { + -- Allow the stack to be placed and remove it in on_put() + -- This allows the creative inventory to restore the stack + allow_put = function(inv, listname, index, stack, player) + if creative_mode then + return stack:get_count() + else + return 0 + end + end, + on_put = function(inv, listname) + inv:set_list(listname, {}) + end, +}) +trash:set_size("main", 1) + +creative.formspec_add = "" + +creative.set_creative_formspec = function(player, start_i) + local player_name = player:get_player_name() + local inv = player_inventory[player_name] + local pagenum = math.floor(start_i / (3*8) + 1) + local pagemax = math.ceil(inv.size / (3*8)) + + player:set_inventory_formspec([[ + size[8,8.6] + image[4.06,3.4;0.8,0.8;creative_trash_icon.png] + list[current_player;main;0,4.7;8,1;] + list[current_player;main;0,5.85;8,3;8] + list[detached:creative_trash;main;4,3.3;1,1;] + listring[] + tablecolumns[color;text;color;text] + tableoptions[background=#00000000;highlight=#00000000;border=false] + button[5.4,3.2;0.8,0.9;creative_prev;<] + button[7.25,3.2;0.8,0.9;creative_next;>] + button[2.1,3.4;0.8,0.5;creative_search;?] + button[2.75,3.4;0.8,0.5;creative_clear;X] + tooltip[creative_search;Search] + tooltip[creative_clear;Reset] + listring[current_player;main] + ]] .. + "field[0.3,3.5;2.2,1;creative_filter;;" .. minetest.formspec_escape(inv.filter) .. "]" .. + "field_close_on_enter[creative_filter;false]" .. + "listring[detached:creative_" .. player_name .. ";main]" .. + "tabheader[0,0;creative_tabs;Crafting,All,Nodes,Tools,Items;" .. tostring(inv.tab_id) .. ";true;false]" .. + "list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. + "table[6.05,3.35;1.15,0.5;pagenum;#FFFF00," .. tostring(pagenum) .. ",#FFFFFF,/ " .. tostring(pagemax) .. "]" .. + default.get_hotbar_bg(0,4.7) .. + default.gui_bg .. default.gui_bg_img .. default.gui_slots + .. creative.formspec_add + ) +end + +creative.set_crafting_formspec = function(player) + player:set_inventory_formspec([[ + size[8,8.6] + list[current_player;craft;2,0.75;3,3;] + list[current_player;craftpreview;6,1.75;1,1;] + list[current_player;main;0,4.7;8,1;] + list[current_player;main;0,5.85;8,3;8] + list[detached:creative_trash;main;0,2.75;1,1;] + image[0.06,2.85;0.8,0.8;creative_trash_icon.png] + image[5,1.75;1,1;gui_furnace_arrow_bg.png^[transformR270] + tabheader[0,0;creative_tabs;Crafting,All,Nodes,Tools,Items;1;true;false] + listring[current_player;main] + listring[current_player;craft] + ]] .. + default.get_hotbar_bg(0,4.7) .. + default.gui_bg .. default.gui_bg_img .. default.gui_slots + ) +end + +minetest.register_on_joinplayer(function(player) + -- If in creative mode, modify player's inventory forms + if not creative_mode then + return + end + creative.init_creative_inventory(player) + creative.set_creative_formspec(player, 0) +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "" or not creative_mode then + return + end + + local player_name = player:get_player_name() + local inv = player_inventory[player_name] + + if fields.quit then + if inv.tab_id == 1 then + creative.set_crafting_formspec(player) + end + elseif fields.creative_tabs then + local tab = tonumber(fields.creative_tabs) + inv.tab_id = tab + player_inventory[player_name].start_i = 1 + + if tab == 1 then + creative.set_crafting_formspec(player) + else + creative.update_creative_inventory(player_name) + creative.set_creative_formspec(player, 0) + end + elseif fields.creative_clear then + player_inventory[player_name].start_i = 1 + inv.filter = "" + creative.update_creative_inventory(player_name) + creative.set_creative_formspec(player, 0) + elseif fields.creative_search or + fields.key_enter_field == "creative_filter" then + player_inventory[player_name].start_i = 1 + inv.filter = fields.creative_filter:lower() + creative.update_creative_inventory(player_name) + creative.set_creative_formspec(player, 0) + else + local start_i = player_inventory[player_name].start_i or 0 + + if fields.creative_prev then + start_i = start_i - 3*8 + if start_i < 0 then + start_i = inv.size - (inv.size % (3*8)) + if inv.size == start_i then + start_i = math.max(0, inv.size - (3*8)) + end + end + elseif fields.creative_next then + start_i = start_i + 3*8 + if start_i >= inv.size then + start_i = 0 + end + end + + player_inventory[player_name].start_i = start_i + creative.set_creative_formspec(player, start_i) + end +end) + +if creative_mode then + local digtime = 42 + local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256} + + minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x = 1, y = 1, z = 2.5}, + range = 10, + tool_capabilities = { + full_punch_interval = 0.5, + max_drop_level = 3, + groupcaps = { + crumbly = caps, + cracky = caps, + snappy = caps, + choppy = caps, + oddly_breakable_by_hand = caps, + }, + damage_groups = {fleshy = 10}, + } + }) + + minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) + return true + end) + + function minetest.handle_node_drops(pos, drops, digger) + if not digger or not digger:is_player() then + return + end + local inv = digger:get_inventory() + if inv then + for _, item in ipairs(drops) do + item = ItemStack(item):get_name() + if not inv:contains_item("main", item) then + inv:add_item("main", item) + end + end + end + end +end diff --git a/mods/creative/license.txt b/mods/creative/license.txt new file mode 100644 index 0000000..4ad1d5f --- /dev/null +++ b/mods/creative/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2015-2016 Jean-Patrick G. (kilbith) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2016 Jean-Patrick G. (kilbith) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/creative/textures/creative_trash_icon.png b/mods/creative/textures/creative_trash_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e789ad634450a5fa5227e9efd8fe804703d3eece GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0AtzXqc3_Qw7LkED7=p zW^j0RBMrn!@^*J&=wOxg0CG4BJR*x37`TN&n2}-D90{Nxdx@v7EBgaRE>UjzKQU*6 zfkJAYE{-7_*OL=$4jfo=K;eJ8V`JyRfAY-?+|4IMbT~B5{cmn;WMp`p!KrFv-vct4 N!PC{xWt~$(69DO#EW-c* literal 0 HcmV?d00001 diff --git a/mods/default/README.txt b/mods/default/README.txt new file mode 100644 index 0000000..0673997 --- /dev/null +++ b/mods/default/README.txt @@ -0,0 +1,228 @@ +Minetest Game mod: default +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by celeron55, Perttu Ahola (LGPL 2.1) +Various Minetest developers and contributors (LGPL 2.1) + +Authors of media (textures, models and sounds) +---------------------------------------------- +Everything not listed in here: +celeron55, Perttu Ahola (CC BY-SA 3.0) + +Cisoun's texture pack (CC BY-SA 3.0): + default_jungletree.png + default_lava.png + default_leaves.png + default_sapling.png + default_stone.png + default_tree.png + default_tree_top.png + default_water.png + +Cisoun's conifers mod (CC BY-SA 3.0): + default_pine_needles.png + +Originating from G4JC's Almost MC Texture Pack (CC BY-SA 3.0): + default_torch.png + default_torch_on_ceiling.png + default_torch_on_floor.png + +VanessaE's animated torches (CC BY-SA 3.0): + default_torch_animated.png + default_torch_on_ceiling_animated.png + default_torch_on_floor_animated.png + default_torch_on_floor.png + +RealBadAngel's animated water (CC BY-SA 3.0): + default_water_source_animated.png + default_water_flowing_animated.png + +VanessaE (CC BY-SA 3.0): + default_desert_sand.png + default_desert_stone.png + default_sand.png + default_mese_crystal.png + default_mese_crystal_fragment.png + +Calinou (CC BY-SA 3.0): + default_brick.png + default_papyrus.png + default_mineral_copper.png + default_glass_detail.png + +MirceaKitsune (CC BY-SA 3.0): + character.x + +Jordach (CC BY-SA 3.0): + character.png + +PilzAdam (CC BY-SA 3.0): + default_jungleleaves.png + default_junglesapling.png + default_obsidian_glass.png + default_obsidian_shard.png + default_mineral_gold.png + +jojoa1997 (CC BY-SA 3.0): + default_obsidian.png + +InfinityProject (CC BY-SA 3.0): + default_mineral_diamond.png + +Splizard (CC BY-SA 3.0): + default_pine_sapling.png + +Zeg9 (CC BY-SA 3.0): + default_coal_block.png + default_steel_block.png + default_copper_block.png + default_bronze_block.png + default_gold_block.png + +paramat (CC BY-SA 3.0): + wieldhand.png -- Copied from character.png by Jordach (CC BY-SA 3.0) + default_pinetree.png + default_pinetree_top.png + default_pinewood.png + default_acacia_leaves.png + default_acacia_sapling.png + default_acacia_tree.png + default_acacia_tree_top.png + default_acacia_wood.png + default_junglewood.png + default_jungletree_top.png + default_sandstone_brick.png + default_obsidian_brick.png + default_stone_brick.png + default_desert_stone_brick.png + default_sandstone_block.png + default_obsidian_block.png + default_stone_block.png + default_desert_stone_block.png + default_river_water.png + default_river_water_source_animated.png + default_river_water_flowing_animated.png + default_dry_grass.png + default_dry_grass_side.png + default_dry_grass_*.png + default_grass.png + default_grass_side.png + default_mese_block.png + default_silver_sand.png + +brunob.santos (CC BY-SA 4.0): + default_desert_cobble.png + +BlockMen (CC BY-SA 3.0): + default_wood.png + default_clay_brick.png + default_iron_ingot.png + default_gold_ingot.png + default_tool_steelsword.png + default_diamond.png + default_book.png + default_tool_*.png + default_lava_source_animated.png + default_lava_flowing_animated.png + default_stick.png + default_chest_front.png + default_chest_lock.png + default_chest_side.png + default_chest_top.png + default_mineral_mese.png + default_meselamp.png + bubble.png + gui_*.png + +sofar (CC BY-SA 3.0): + default_book_written.png, based on default_book.png + default_aspen_sapling + default_aspen_leaves + default_aspen_tree + default_aspen_tree_top, derived from default_pine_tree_top (by paramat) + default_aspen_wood, derived from default_pine_wood (by paramat) + default_gravel.png -- Derived from Gambit's PixelBOX texture pack light gravel + +Neuromancer (CC BY-SA 2.0): + default_cobble.png, based on texture by Brane praefect + default_mossycobble.png, based on texture by Brane praefect + +Neuromancer (CC BY-SA 3.0): + default_dirt.png + default_furnace_*.png + +Gambit (CC BY-SA 3.0): + default_bronze_ingot.png + default_copper_ingot.png + default_copper_lump.png + default_iron_lump.png + default_gold_lump.png + default_clay_lump.png + default_coal.png + default_grass_*.png + default_paper.png + default_diamond_block.png + default_ladder_steel.png + default_sign_wall_wood.png + default_flint.png + default_snow.png + default_snow_side.png + default_snowball.png + +asl97 (CC BY-SA 3.0): + default_ice.png + +KevDoy (CC BY-SA 3.0) + heart.png + +Pithydon (CC BY-SA 3.0) + default_coral_brown.png + default_coral_orange.png + default_coral_skeleton.png + +Ferk (CC0 1.0) + default_item_smoke.png + default_item_smoke.ogg, based on sound by http://opengameart.org/users/bart + +Glass breaking sounds (CC BY 3.0): + 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ + 2: http://www.freesound.org/people/Tomlija/sounds/97669/ + 3: http://www.freesound.org/people/lsprice/sounds/88808/ + +Mito551 (sounds) (CC BY-SA 3.0): + default_dig_choppy.ogg + default_dig_cracky.ogg + default_dig_crumbly.1.ogg + default_dig_crumbly.2.ogg + default_dig_dig_immediate.ogg + default_dig_oddly_breakable_by_hand.ogg + default_dug_node.1.ogg + default_dug_node.2.ogg + default_grass_footstep.1.ogg + default_grass_footstep.2.ogg + default_grass_footstep.3.ogg + default_gravel_footstep.1.ogg + default_gravel_footstep.2.ogg + default_gravel_footstep.3.ogg + default_gravel_footstep.4.ogg + default_grass_footstep.1.ogg + default_place_node.1.ogg + default_place_node.2.ogg + default_place_node.3.ogg + default_place_node_hard.1.ogg + default_place_node_hard.2.ogg + default_snow_footstep.1.ogg + default_snow_footstep.2.ogg + default_hard_footstep.1.ogg + default_hard_footstep.2.ogg + default_hard_footstep.3.ogg + default_sand_footstep.1.ogg + default_sand_footstep.2.ogg + default_wood_footstep.1.ogg + default_wood_footstep.2.ogg + default_dirt_footstep.1.ogg + default_dirt_footstep.2.ogg + default_glass_footstep.ogg diff --git a/mods/default/aliases.lua b/mods/default/aliases.lua new file mode 100644 index 0000000..1259ac0 --- /dev/null +++ b/mods/default/aliases.lua @@ -0,0 +1,77 @@ +-- mods/default/aliases.lua + +-- Aliases to support loading worlds using nodes following the old naming convention +-- These can also be helpful when using chat commands, for example /giveme +minetest.register_alias("stone", "default:stone") +minetest.register_alias("stone_with_coal", "default:stone_with_coal") +minetest.register_alias("stone_with_iron", "default:stone_with_iron") +minetest.register_alias("dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("dirt_with_grass_footsteps", "default:dirt_with_grass_footsteps") +minetest.register_alias("dirt", "default:dirt") +minetest.register_alias("sand", "default:sand") +minetest.register_alias("gravel", "default:gravel") +minetest.register_alias("sandstone", "default:sandstone") +minetest.register_alias("clay", "default:clay") +minetest.register_alias("brick", "default:brick") +minetest.register_alias("tree", "default:tree") +minetest.register_alias("jungletree", "default:jungletree") +minetest.register_alias("junglegrass", "default:junglegrass") +minetest.register_alias("leaves", "default:leaves") +minetest.register_alias("cactus", "default:cactus") +minetest.register_alias("papyrus", "default:papyrus") +minetest.register_alias("bookshelf", "default:bookshelf") +minetest.register_alias("glass", "default:glass") +minetest.register_alias("wooden_fence", "default:fence_wood") +minetest.register_alias("rail", "default:rail") +minetest.register_alias("ladder", "default:ladder_wood") +minetest.register_alias("wood", "default:wood") +minetest.register_alias("mese", "default:mese") +minetest.register_alias("cloud", "default:cloud") +minetest.register_alias("water_flowing", "default:water_flowing") +minetest.register_alias("water_source", "default:water_source") +minetest.register_alias("lava_flowing", "default:lava_flowing") +minetest.register_alias("lava_source", "default:lava_source") +minetest.register_alias("torch", "default:torch") +minetest.register_alias("sign_wall", "default:sign_wall_wood") +minetest.register_alias("furnace", "default:furnace") +minetest.register_alias("chest", "default:chest") +minetest.register_alias("locked_chest", "default:chest_locked") +minetest.register_alias("cobble", "default:cobble") +minetest.register_alias("mossycobble", "default:mossycobble") +minetest.register_alias("steelblock", "default:steelblock") +minetest.register_alias("sapling", "default:sapling") +minetest.register_alias("apple", "default:apple") + +minetest.register_alias("WPick", "default:pick_wood") +minetest.register_alias("STPick", "default:pick_stone") +minetest.register_alias("SteelPick", "default:pick_steel") +minetest.register_alias("MesePick", "default:pick_mese") +minetest.register_alias("WShovel", "default:shovel_wood") +minetest.register_alias("STShovel", "default:shovel_stone") +minetest.register_alias("SteelShovel", "default:shovel_steel") +minetest.register_alias("WAxe", "default:axe_wood") +minetest.register_alias("STAxe", "default:axe_stone") +minetest.register_alias("SteelAxe", "default:axe_steel") +minetest.register_alias("WSword", "default:sword_wood") +minetest.register_alias("STSword", "default:sword_stone") +minetest.register_alias("SteelSword", "default:sword_steel") + +minetest.register_alias("Stick", "default:stick") +minetest.register_alias("paper", "default:paper") +minetest.register_alias("book", "default:book") +minetest.register_alias("lump_of_coal", "default:coal_lump") +minetest.register_alias("lump_of_iron", "default:iron_lump") +minetest.register_alias("lump_of_clay", "default:clay_lump") +minetest.register_alias("steel_ingot", "default:steel_ingot") +minetest.register_alias("clay_brick", "default:clay_brick") +minetest.register_alias("snow", "default:snow") + +-- 'mese_block' was used for a while for the block form of mese +minetest.register_alias("default:mese_block", "default:mese") + +-- Aliases for corrected pine node names +minetest.register_alias("default:pinetree", "default:pine_tree") +minetest.register_alias("default:pinewood", "default:pine_wood") + +minetest.register_alias("default:ladder", "default:ladder_wood") +minetest.register_alias("default:sign_wall", "default:sign_wall_wood") diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua new file mode 100644 index 0000000..7ce62d2 --- /dev/null +++ b/mods/default/crafting.lua @@ -0,0 +1,1026 @@ +-- mods/default/crafting.lua + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'default:tree'}, + } +}) + +minetest.register_craft({ + output = 'default:junglewood 4', + recipe = { + {'default:jungletree'}, + } +}) + +minetest.register_craft({ + output = 'default:pine_wood 4', + recipe = { + {'default:pine_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:acacia_wood 4', + recipe = { + {'default:acacia_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:aspen_wood 4', + recipe = { + {'default:aspen_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:stick 4', + recipe = { + {'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall_steel 3', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:sign_wall_wood 3', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:torch 4', + recipe = { + {'default:coal_lump'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:pick_wood', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_stone', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:pick_diamond', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_wood', + recipe = { + {'group:wood'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_stone', + recipe = { + {'group:stone'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_steel', + recipe = { + {'default:steel_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_bronze', + recipe = { + {'default:bronze_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_mese', + recipe = { + {'default:mese_crystal'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:shovel_diamond', + recipe = { + {'default:diamond'}, + {'group:stick'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:wood', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stone', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_diamond', + recipe = { + {'default:diamond', 'default:diamond'}, + {'default:diamond', 'group:stick'}, + {'', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:axe_wood', + recipe = { + {'group:wood', 'group:wood'}, + {'group:stick', 'group:wood'}, + {'group:stick',''}, + } +}) + +minetest.register_craft({ + output = 'default:axe_stone', + recipe = { + {'group:stone', 'group:stone'}, + {'group:stick', 'group:stone'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:axe_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'group:stick', 'default:steel_ingot'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:axe_bronze', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot'}, + {'group:stick', 'default:bronze_ingot'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:axe_mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal'}, + {'group:stick', 'default:mese_crystal'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:axe_diamond', + recipe = { + {'default:diamond', 'default:diamond'}, + {'group:stick', 'default:diamond'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'default:sword_wood', + recipe = { + {'group:wood'}, + {'group:wood'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_stone', + recipe = { + {'group:stone'}, + {'group:stone'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_steel', + recipe = { + {'default:steel_ingot'}, + {'default:steel_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_bronze', + recipe = { + {'default:bronze_ingot'}, + {'default:bronze_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_mese', + recipe = { + {'default:mese_crystal'}, + {'default:mese_crystal'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:sword_diamond', + recipe = { + {'default:diamond'}, + {'default:diamond'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:rail 24', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'default:steel_ingot', 'group:stick', 'default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:chest', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', '', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:chest_locked', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'default:steel_ingot', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft( { + type = "shapeless", + output = "default:chest_locked", + recipe = {"default:chest", "default:steel_ingot"}, +}) + +minetest.register_craft({ + output = 'default:furnace', + recipe = { + {'group:stone', 'group:stone', 'group:stone'}, + {'group:stone', '', 'group:stone'}, + {'group:stone', 'group:stone', 'group:stone'}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:bronze_ingot", + recipe = {"default:steel_ingot", "default:copper_ingot"}, +}) + +minetest.register_craft({ + output = 'default:coalblock', + recipe = { + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:coal_lump 9', + recipe = { + {'default:coalblock'}, + } +}) + +minetest.register_craft({ + output = 'default:steelblock', + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:steel_ingot 9', + recipe = { + {'default:steelblock'}, + } +}) + +minetest.register_craft({ + output = 'default:copperblock', + recipe = { + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:copper_ingot 9', + recipe = { + {'default:copperblock'}, + } +}) + +minetest.register_craft({ + output = 'default:bronzeblock', + recipe = { + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:bronze_ingot 9', + recipe = { + {'default:bronzeblock'}, + } +}) + +minetest.register_craft({ + output = 'default:goldblock', + recipe = { + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:gold_ingot 9', + recipe = { + {'default:goldblock'}, + } +}) + +minetest.register_craft({ + output = 'default:diamondblock', + recipe = { + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + {'default:diamond', 'default:diamond', 'default:diamond'}, + } +}) + +minetest.register_craft({ + output = 'default:diamond 9', + recipe = { + {'default:diamondblock'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstone', + recipe = { + {'group:sand', 'group:sand'}, + {'group:sand', 'group:sand'}, + } +}) + +minetest.register_craft({ + output = 'default:sand 4', + recipe = { + {'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstonebrick 4', + recipe = { + {'default:sandstone', 'default:sandstone'}, + {'default:sandstone', 'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:sandstone_block 9', + recipe = { + {'default:sandstone', 'default:sandstone', 'default:sandstone'}, + {'default:sandstone', 'default:sandstone', 'default:sandstone'}, + {'default:sandstone', 'default:sandstone', 'default:sandstone'}, + } +}) + +minetest.register_craft({ + output = 'default:clay', + recipe = { + {'default:clay_lump', 'default:clay_lump'}, + {'default:clay_lump', 'default:clay_lump'}, + } +}) + +minetest.register_craft({ + output = 'default:clay_lump 4', + recipe = { + {'default:clay'}, + } +}) + +minetest.register_craft({ + output = 'default:brick', + recipe = { + {'default:clay_brick', 'default:clay_brick'}, + {'default:clay_brick', 'default:clay_brick'}, + } +}) + +minetest.register_craft({ + output = 'default:clay_brick 4', + recipe = { + {'default:brick'}, + } +}) + +minetest.register_craft({ + output = 'default:paper', + recipe = { + {'default:papyrus', 'default:papyrus', 'default:papyrus'}, + } +}) + +minetest.register_craft({ + output = 'default:book', + recipe = { + {'default:paper'}, + {'default:paper'}, + {'default:paper'}, + } +}) + +minetest.register_craft({ + output = 'default:bookshelf', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'default:book', 'default:book', 'default:book'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + +minetest.register_craft({ + output = 'default:ladder_wood 3', + recipe = { + {'group:stick', '', 'group:stick'}, + {'group:stick', 'group:stick', 'group:stick'}, + {'group:stick', '', 'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'default:ladder_steel 15', + recipe = { + {'default:steel_ingot', '', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', '', 'default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'default:mese', + recipe = { + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = 'default:mese_crystal 9', + recipe = { + {'default:mese'}, + } +}) + +minetest.register_craft({ + output = 'default:mese_crystal_fragment 9', + recipe = { + {'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = "default:mese_crystal", + recipe = { + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + } +}) + +minetest.register_craft({ + output = 'default:meselamp 1', + recipe = { + {'', 'default:mese_crystal',''}, + {'default:mese_crystal', 'default:glass', 'default:mese_crystal'}, + } +}) + +minetest.register_craft({ + output = 'default:obsidian_shard 9', + recipe = { + {'default:obsidian'} + } +}) + +minetest.register_craft({ + output = 'default:obsidian', + recipe = { + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + } +}) + +minetest.register_craft({ + output = 'default:obsidianbrick 4', + recipe = { + {'default:obsidian', 'default:obsidian'}, + {'default:obsidian', 'default:obsidian'} + } +}) + +minetest.register_craft({ + output = 'default:obsidian_block 9', + recipe = { + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + } +}) + +minetest.register_craft({ + output = 'default:stonebrick 4', + recipe = { + {'default:stone', 'default:stone'}, + {'default:stone', 'default:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:stone_block 9', + recipe = { + {'default:stone', 'default:stone', 'default:stone'}, + {'default:stone', 'default:stone', 'default:stone'}, + {'default:stone', 'default:stone', 'default:stone'}, + } +}) + +minetest.register_craft({ + output = 'default:desert_stonebrick 4', + recipe = { + {'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone'}, + } +}) + +minetest.register_craft({ + output = 'default:desert_stone_block 9', + recipe = { + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, + } +}) + +minetest.register_craft({ + output = 'default:snowblock', + recipe = { + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + {'default:snow', 'default:snow', 'default:snow'}, + } +}) + +minetest.register_craft({ + output = 'default:snow 9', + recipe = { + {'default:snowblock'}, + } +}) + +-- +-- Crafting (tool repair) +-- +minetest.register_craft({ + type = "toolrepair", + additional_wear = -0.02, +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:glass", + recipe = "group:sand", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:obsidian_glass", + recipe = "default:obsidian_shard", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:stone", + recipe = "default:mossycobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:desert_stone", + recipe = "default:desert_cobble", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:copper_ingot", + recipe = "default:copper_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "default:gold_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +-- +-- Fuels +-- + +-- Support use of group:tree +minetest.register_craft({ + type = "fuel", + recipe = "group:tree", + burntime = 30, +}) + +-- Burn time for all woods are in order of wood density, +-- which is also the order of wood colour darkness: +-- aspen, pine, apple, acacia, jungle + +minetest.register_craft({ + type = "fuel", + recipe = "default:aspen_tree", + burntime = 22, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_tree", + burntime = 26, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:tree", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_tree", + burntime = 34, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:jungletree", + burntime = 38, +}) + + +-- Support use of group:wood +minetest.register_craft({ + type = "fuel", + recipe = "group:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:aspen_wood", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:wood", + burntime = 7, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_wood", + burntime = 8, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglewood", + burntime = 9, +}) + + +-- Support use of group:sapling +minetest.register_craft({ + type = "fuel", + recipe = "group:sapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:aspen_sapling", + burntime = 8, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:pine_sapling", + burntime = 9, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sapling", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:acacia_sapling", + burntime = 11, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglesapling", + burntime = 12, +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_aspen_wood", + burntime = 11, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_pine_wood", + burntime = 13, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_wood", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_acacia_wood", + burntime = 17, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:fence_junglewood", + burntime = 19, +}) + + +minetest.register_craft({ + type = "fuel", + recipe = "default:junglegrass", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:leaves", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:cactus", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:papyrus", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:bookshelf", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:ladder_wood", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:lava_source", + burntime = 60, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sign_wall_wood", + burntime = 10, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:apple", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coal_lump", + burntime = 40, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coalblock", + burntime = 370, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:grass_1", + burntime = 2, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:dry_grass_1", + burntime = 2, +}) diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua new file mode 100644 index 0000000..59539f3 --- /dev/null +++ b/mods/default/craftitems.lua @@ -0,0 +1,251 @@ +-- mods/default/craftitems.lua + +minetest.register_craftitem("default:stick", { + description = "Stick", + inventory_image = "default_stick.png", + groups = {stick = 1}, +}) + +minetest.register_craftitem("default:paper", { + description = "Paper", + inventory_image = "default_paper.png", +}) + +local lpp = 14 -- Lines per book's page +local function book_on_use(itemstack, user) + local player_name = user:get_player_name() + local data = minetest.deserialize(itemstack:get_metadata()) + local title, text, owner = "", "", player_name + local page, page_max, lines, string = 1, 1, {}, "" + + if data then + title = data.title + text = data.text + owner = data.owner + + for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do + lines[#lines+1] = str + end + + if data.page then + page = data.page + page_max = data.page_max + + for i = ((lpp * page) - lpp) + 1, lpp * page do + if not lines[i] then break end + string = string .. lines[i] .. "\n" + end + end + end + + local formspec + if owner == player_name then + formspec = "size[8,8]" .. default.gui_bg .. + default.gui_bg_img .. + "field[0.5,1;7.5,0;title;Title:;" .. + minetest.formspec_escape(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;text;Contents:;" .. + minetest.formspec_escape(text) .. "]" .. + "button_exit[2.5,7.5;3,1;save;Save]" + else + formspec = "size[8,8]" .. default.gui_bg .. + default.gui_bg_img .. + "label[0.5,0.5;by " .. owner .. "]" .. + "tablecolumns[color;text]" .. + "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. + "table[0.4,0;7,0.5;title;#FFFF00," .. minetest.formspec_escape(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;;" .. + minetest.formspec_escape(string ~= "" and string or text) .. ";]" .. + "button[2.4,7.6;0.8,0.8;book_prev;<]" .. + "label[3.2,7.7;Page " .. page .. " of " .. page_max .. "]" .. + "button[4.9,7.6;0.8,0.8;book_next;>]" + end + + minetest.show_formspec(player_name, "default:book", formspec) +end + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "default:book" then return end + local inv = player:get_inventory() + local stack = player:get_wielded_item() + + if fields.save and fields.title ~= "" and fields.text ~= "" then + local new_stack, data + if stack:get_name() ~= "default:book_written" then + local count = stack:get_count() + if count == 1 then + stack:set_name("default:book_written") + else + stack:set_count(count - 1) + new_stack = ItemStack("default:book_written") + end + else + data = minetest.deserialize(stack:get_metadata()) + end + + if not data then data = {} end + data.title = fields.title + data.text = fields.text + data.text_len = #data.text + data.page = 1 + data.page_max = math.ceil((#data.text:gsub("[^\n]", "") + 1) / lpp) + data.owner = player:get_player_name() + local data_str = minetest.serialize(data) + + if new_stack then + new_stack:set_metadata(data_str) + if inv:room_for_item("main", new_stack) then + inv:add_item("main", new_stack) + else + minetest.add_item(player:getpos(), new_stack) + end + else + stack:set_metadata(data_str) + end + + elseif fields.book_next or fields.book_prev then + local data = minetest.deserialize(stack:get_metadata()) + if not data or not data.page then + return + end + + if fields.book_next then + data.page = data.page + 1 + if data.page > data.page_max then + data.page = 1 + end + else + data.page = data.page - 1 + if data.page == 0 then + data.page = data.page_max + end + end + + local data_str = minetest.serialize(data) + stack:set_metadata(data_str) + book_on_use(stack, player) + end + + player:set_wielded_item(stack) +end) + +minetest.register_craftitem("default:book", { + description = "Book", + inventory_image = "default_book.png", + groups = {book = 1}, + on_use = book_on_use, +}) + +minetest.register_craftitem("default:book_written", { + description = "Book With Text", + inventory_image = "default_book_written.png", + groups = {book = 1, not_in_creative_inventory = 1}, + stack_max = 1, + on_use = book_on_use, +}) + +minetest.register_craft({ + type = "shapeless", + output = "default:book_written", + recipe = {"default:book", "default:book_written"} +}) + +minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if itemstack:get_name() ~= "default:book_written" then + return + end + + local original + local index + for i = 1, player:get_inventory():get_size("craft") do + if old_craft_grid[i]:get_name() == "default:book_written" then + original = old_craft_grid[i] + index = i + end + end + if not original then + return + end + local copymeta = original:get_metadata() + -- copy of the book held by player's mouse cursor + itemstack:set_metadata(copymeta) + -- put the book with metadata back in the craft grid + craft_inv:set_stack("craft", index, original) +end) + +minetest.register_craftitem("default:coal_lump", { + description = "Coal Lump", + inventory_image = "default_coal_lump.png", + groups = {coal = 1} +}) + +minetest.register_craftitem("default:iron_lump", { + description = "Iron Lump", + inventory_image = "default_iron_lump.png", +}) + +minetest.register_craftitem("default:copper_lump", { + description = "Copper Lump", + inventory_image = "default_copper_lump.png", +}) + +minetest.register_craftitem("default:mese_crystal", { + description = "Mese Crystal", + inventory_image = "default_mese_crystal.png", +}) + +minetest.register_craftitem("default:gold_lump", { + description = "Gold Lump", + inventory_image = "default_gold_lump.png", +}) + +minetest.register_craftitem("default:diamond", { + description = "Diamond", + inventory_image = "default_diamond.png", +}) + +minetest.register_craftitem("default:clay_lump", { + description = "Clay Lump", + inventory_image = "default_clay_lump.png", +}) + +minetest.register_craftitem("default:steel_ingot", { + description = "Steel Ingot", + inventory_image = "default_steel_ingot.png", +}) + +minetest.register_craftitem("default:copper_ingot", { + description = "Copper Ingot", + inventory_image = "default_copper_ingot.png", +}) + +minetest.register_craftitem("default:bronze_ingot", { + description = "Bronze Ingot", + inventory_image = "default_bronze_ingot.png", +}) + +minetest.register_craftitem("default:gold_ingot", { + description = "Gold Ingot", + inventory_image = "default_gold_ingot.png" +}) + +minetest.register_craftitem("default:mese_crystal_fragment", { + description = "Mese Crystal Fragment", + inventory_image = "default_mese_crystal_fragment.png", +}) + +minetest.register_craftitem("default:clay_brick", { + description = "Clay Brick", + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:obsidian_shard", { + description = "Obsidian Shard", + inventory_image = "default_obsidian_shard.png", +}) + +minetest.register_craftitem("default:flint", { + description = "Flint", + inventory_image = "default_flint.png" +}) + diff --git a/mods/default/functions.lua b/mods/default/functions.lua new file mode 100644 index 0000000..0e0ab84 --- /dev/null +++ b/mods/default/functions.lua @@ -0,0 +1,489 @@ +-- mods/default/functions.lua + +-- +-- Sounds +-- + +function default.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "", gain = 1.0} + table.dug = table.dug or + {name = "default_dug_node", gain = 0.25} + table.place = table.place or + {name = "default_place_node_hard", gain = 1.0} + return table +end + +function default.node_sound_stone_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_hard_footstep", gain = 0.5} + table.dug = table.dug or + {name = "default_hard_footstep", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_dirt_footstep", gain = 1.0} + table.dug = table.dug or + {name = "default_dirt_footstep", gain = 1.5} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_sand_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_sand_footstep", gain = 0.12} + table.dug = table.dug or + {name = "default_sand_footstep", gain = 0.24} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_gravel_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_gravel_footstep", gain = 0.5} + table.dug = table.dug or + {name = "default_gravel_footstep", gain = 1.0} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_wood_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_wood_footstep", gain = 0.5} + table.dug = table.dug or + {name = "default_wood_footstep", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_leaves_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_grass_footstep", gain = 0.35} + table.dug = table.dug or + {name = "default_grass_footstep", gain = 0.7} + table.dig = table.dig or + {name = "default_dig_crumbly", gain = 0.4} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(table) + return table +end + +function default.node_sound_glass_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_glass_footstep", gain = 0.5} + table.dug = table.dug or + {name = "default_break_glass", gain = 1.0} + default.node_sound_defaults(table) + return table +end + + +-- +-- Lavacooling +-- + +default.cool_lava = function(pos, node) + if node.name == "default:lava_source" then + minetest.set_node(pos, {name = "default:obsidian"}) + else -- Lava flowing + minetest.set_node(pos, {name = "default:stone"}) + end + minetest.sound_play("default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.25}) +end + +minetest.register_abm({ + label = "Lava cooling", + nodenames = {"default:lava_source", "default:lava_flowing"}, + neighbors = {"group:water"}, + interval = 1, + chance = 1, + catch_up = false, + action = function(...) + default.cool_lava(...) + end, +}) + + +-- +-- optimized helper to put all items in an inventory into a drops list +-- + +function default.get_inventory_drops(pos, inventory, drops) + local inv = minetest.get_meta(pos):get_inventory() + local n = #drops + for i = 1, inv:get_size(inventory) do + local stack = inv:get_stack(inventory, i) + if stack:get_count() > 0 then + drops[n+1] = stack:to_table() + n = n + 1 + end + end +end + +-- +-- Papyrus and cactus growing +-- + +-- wrapping the functions in abm action is necessary to make overriding them possible + +function default.grow_cactus(pos, node) + if node.param2 >= 4 then + return + end + pos.y = pos.y - 1 + if minetest.get_item_group(minetest.get_node(pos).name, "sand") == 0 then + return + end + pos.y = pos.y + 1 + local height = 0 + while node.name == "default:cactus" and height < 4 do + height = height + 1 + pos.y = pos.y + 1 + node = minetest.get_node(pos) + end + if height == 4 or node.name ~= "air" then + return + end + minetest.set_node(pos, {name = "default:cactus"}) + return true +end + +function default.grow_papyrus(pos, node) + pos.y = pos.y - 1 + local name = minetest.get_node(pos).name + if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then + return + end + if not minetest.find_node_near(pos, 3, {"group:water"}) then + return + end + pos.y = pos.y + 1 + local height = 0 + while node.name == "default:papyrus" and height < 4 do + height = height + 1 + pos.y = pos.y + 1 + node = minetest.get_node(pos) + end + if height == 4 or node.name ~= "air" then + return + end + minetest.set_node(pos, {name = "default:papyrus"}) + return true +end + +minetest.register_abm({ + label = "Grow cactus", + nodenames = {"default:cactus"}, + neighbors = {"group:sand"}, + interval = 12, + chance = 83, + action = function(...) + default.grow_cactus(...) + end +}) + +minetest.register_abm({ + label = "Grow papyrus", + nodenames = {"default:papyrus"}, + neighbors = {"default:dirt", "default:dirt_with_grass"}, + interval = 14, + chance = 71, + action = function(...) + default.grow_papyrus(...) + end +}) + + +-- +-- dig upwards +-- + +function default.dig_up(pos, node, digger) + if digger == nil then return end + local np = {x = pos.x, y = pos.y + 1, z = pos.z} + local nn = minetest.get_node(np) + if nn.name == node.name then + minetest.node_dig(np, nn, digger) + end +end + + +-- +-- Fence registration helper +-- + +function default.register_fence(name, def) + minetest.register_craft({ + output = name .. " 4", + recipe = { + { def.material, 'group:stick', def.material }, + { def.material, 'group:stick', def.material }, + } + }) + + local fence_texture = "default_fence_overlay.png^" .. def.texture .. + "^default_fence_overlay.png^[makealpha:255,126,126" + -- Allow almost everything to be overridden + local default_fields = { + paramtype = "light", + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}}, + -- connect_top = + -- connect_bottom = + connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8}, + {-1/16,-5/16,-1/2,1/16,-3/16,-1/8}}, + connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16}, + {-1/2,-5/16,-1/16,-1/8,-3/16,1/16}}, + connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2}, + {-1/16,-5/16,1/8,1/16,-3/16,1/2}}, + connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16}, + {1/8,-5/16,-1/16,1/2,-3/16,1/16}}, + }, + connects_to = {"group:fence", "group:wood", "group:tree"}, + inventory_image = fence_texture, + wield_image = fence_texture, + tiles = {def.texture}, + sunlight_propagates = true, + is_ground_content = false, + groups = {}, + } + for k, v in pairs(default_fields) do + if not def[k] then + def[k] = v + end + end + + -- Always add to the fence group, even if no group provided + def.groups.fence = 1 + + def.texture = nil + def.material = nil + + minetest.register_node(name, def) +end + + +-- +-- Leafdecay +-- + +-- Prevent decay of placed leaves + +default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) + if placer and not placer:get_player_control().sneak then + local node = minetest.get_node(pos) + node.param2 = 1 + minetest.set_node(pos, node) + end +end + +-- Leafdecay ABM + +minetest.register_abm({ + label = "Leaf decay", + nodenames = {"group:leafdecay"}, + neighbors = {"air"}, + interval = 2, + chance = 10, + catch_up = false, + + action = function(pos, node, _, _) + -- Check if leaf is placed + if node.param2 ~= 0 then + return + end + + local rad = minetest.registered_nodes[node.name].groups.leafdecay + -- Assume ignore is a trunk, to make this + -- work at the border of a loaded area + if minetest.find_node_near(pos, rad, {"ignore", "group:tree"}) then + return + end + -- Drop stuff + local itemstacks = minetest.get_node_drops(node.name) + for _, itemname in ipairs(itemstacks) do + if itemname ~= node.name or + minetest.get_item_group(node.name, "leafdecay_drop") ~= 0 then + local p_drop = { + x = pos.x - 0.5 + math.random(), + y = pos.y - 0.5 + math.random(), + z = pos.z - 0.5 + math.random(), + } + minetest.add_item(p_drop, itemname) + end + end + -- Remove node + minetest.remove_node(pos) + nodeupdate(pos) + end +}) + + +-- +-- Convert dirt to something that fits the environment +-- + +minetest.register_abm({ + label = "Grass spread", + nodenames = {"default:dirt"}, + neighbors = { + "air", + "group:grass", + "group:dry_grass", + "default:snow", + }, + interval = 6, + chance = 50, + catch_up = false, + action = function(pos, node) + -- Check for darkness: night, shadow or under a light-blocking node + -- Returns if ignore above + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + if (minetest.get_node_light(above) or 0) < 13 then + return + end + + -- Look for spreading dirt-type neighbours + local p2 = minetest.find_node_near(pos, 1, "group:spreading_dirt_type") + if p2 then + local n3 = minetest.get_node(p2) + minetest.set_node(pos, {name = n3.name}) + return + end + + -- Else, any seeding nodes on top? + local name = minetest.get_node(above).name + -- Snow check is cheapest, so comes first + if name == "default:snow" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + -- Most likely case first + elseif minetest.get_item_group(name, "grass") ~= 0 then + minetest.set_node(pos, {name = "default:dirt_with_grass"}) + elseif minetest.get_item_group(name, "dry_grass") ~= 0 then + minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) + end + end +}) + + +-- +-- Grass and dry grass removed in darkness +-- + +minetest.register_abm({ + label = "Grass covered", + nodenames = {"group:spreading_dirt_type"}, + interval = 8, + chance = 50, + catch_up = false, + action = function(pos, node) + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + local name = minetest.get_node(above).name + local nodedef = minetest.registered_nodes[name] + if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or + nodedef.paramtype == "light") and + nodedef.liquidtype == "none") then + minetest.set_node(pos, {name = "default:dirt"}) + end + end +}) + + +-- +-- Moss growth on cobble near water +-- + +minetest.register_abm({ + label = "Moss growth", + nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble"}, + neighbors = {"group:water"}, + interval = 16, + chance = 200, + catch_up = false, + action = function(pos, node) + if node.name == "default:cobble" then + minetest.set_node(pos, {name = "default:mossycobble"}) + elseif node.name == "stairs:slab_cobble" then + minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2}) + elseif node.name == "stairs:stair_cobble" then + minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2}) + end + end +}) + + +-- +-- Checks if specified volume intersects a protected volume +-- + +function default.intersects_protection(minp, maxp, player_name, interval) + -- 'interval' is the largest allowed interval for the 3D lattice of checks + + -- Compute the optimal float step 'd' for each axis so that all corners and + -- borders are checked. 'd' will be smaller or equal to 'interval'. + -- Subtracting 1e-4 ensures that the max co-ordinate will be reached by the + -- for loop (which might otherwise not be the case due to rounding errors). + local d = {} + for _, c in pairs({"x", "y", "z"}) do + if maxp[c] > minp[c] then + d[c] = (maxp[c] - minp[c]) / math.ceil((maxp[c] - minp[c]) / interval) - 1e-4 + elseif maxp[c] == minp[c] then + d[c] = 1 -- Any value larger than 0 to avoid division by zero + else -- maxp[c] < minp[c], print error and treat as protection intersected + minetest.log("error", "maxp < minp in 'default.intersects_protection()'") + return true + end + end + + for zf = minp.z, maxp.z, d.z do + local z = math.floor(zf + 0.5) + for yf = minp.y, maxp.y, d.y do + local y = math.floor(yf + 0.5) + for xf = minp.x, maxp.x, d.x do + local x = math.floor(xf + 0.5) + if minetest.is_protected({x = x, y = y, z = z}, player_name) then + return true + end + end + end + end + + return false +end + + +-- +-- Coral death near air +-- + +minetest.register_abm({ + nodenames = {"default:coral_brown", "default:coral_orange"}, + neighbors = {"air"}, + interval = 17, + chance = 5, + catch_up = false, + action = function(pos, node) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) diff --git a/mods/default/furnace.lua b/mods/default/furnace.lua new file mode 100644 index 0000000..17c9280 --- /dev/null +++ b/mods/default/furnace.lua @@ -0,0 +1,313 @@ + +-- +-- Formspecs +-- + +local function active_formspec(fuel_percent, item_percent) + local formspec = + "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_name;src;2.75,0.5;1,1;]".. + "list[current_name;fuel;2.75,2.5;1,1;]".. + "image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-fuel_percent)..":default_furnace_fire_fg.png]".. + "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. + (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. + "list[current_name;dst;4.75,0.96;2,2;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "listring[current_name;dst]".. + "listring[current_player;main]".. + "listring[current_name;src]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) + return formspec +end + +local inactive_formspec = + "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_name;src;2.75,0.5;1,1;]".. + "list[current_name;fuel;2.75,2.5;1,1;]".. + "image[2.75,1.5;1,1;default_furnace_fire_bg.png]".. + "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. + "list[current_name;dst;4.75,0.96;2,2;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "listring[current_name;dst]".. + "listring[current_player;main]".. + "listring[current_name;src]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) + +-- +-- Node callback functions that are the same for active and inactive furnace +-- + +local function can_dig(pos, player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src") +end + +local function allow_metadata_inventory_put(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if listname == "fuel" then + if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then + if inv:is_empty("src") then + meta:set_string("infotext", "Furnace is empty") + end + return stack:get_count() + else + return 0 + end + elseif listname == "src" then + return stack:get_count() + elseif listname == "dst" then + return 0 + end +end + +local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + return allow_metadata_inventory_put(pos, to_list, to_index, stack, player) +end + +local function allow_metadata_inventory_take(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + return stack:get_count() +end + +local function swap_node(pos, name) + local node = minetest.get_node(pos) + if node.name == name then + return + end + node.name = name + minetest.swap_node(pos, node) +end + +local function furnace_node_timer(pos, elapsed) + -- + -- Inizialize metadata + -- + local meta = minetest.get_meta(pos) + local fuel_time = meta:get_float("fuel_time") or 0 + local src_time = meta:get_float("src_time") or 0 + local fuel_totaltime = meta:get_float("fuel_totaltime") or 0 + + local inv = meta:get_inventory() + local srclist = inv:get_list("src") + local fuellist = inv:get_list("fuel") + + -- + -- Cooking + -- + + -- Check if we have cookable content + local cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + local cookable = true + + if cooked.time == 0 then + cookable = false + end + + -- Check if we have enough fuel to burn + if fuel_time < fuel_totaltime then + -- The furnace is currently active and has enough fuel + fuel_time = fuel_time + 1 + + -- If there is a cookable item then check if it is ready yet + if cookable then + src_time = src_time + 1 + if src_time >= cooked.time then + -- Place result in dst list if possible + if inv:room_for_item("dst", cooked.item) then + inv:add_item("dst", cooked.item) + inv:set_stack("src", 1, aftercooked.items[1]) + src_time = 0 + end + end + end + else + -- Furnace ran out of fuel + if cookable then + -- We need to get new fuel + local fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + + if fuel.time == 0 then + -- No valid fuel in fuel list + fuel_totaltime = 0 + fuel_time = 0 + src_time = 0 + else + -- Take fuel from fuel list + inv:set_stack("fuel", 1, afterfuel.items[1]) + + fuel_totaltime = fuel.time + fuel_time = 0 + end + else + -- We don't need to get new fuel since there is no cookable item + fuel_totaltime = 0 + fuel_time = 0 + src_time = 0 + end + end + + -- + -- Update formspec, infotext and node + -- + local formspec = inactive_formspec + local item_state + local item_percent = 0 + if cookable then + item_percent = math.floor(src_time / cooked.time * 100) + if item_percent > 100 then + item_state = "100% (output full)" + else + item_state = item_percent .. "%" + end + else + if srclist[1]:is_empty() then + item_state = "Empty" + else + item_state = "Not cookable" + end + end + + local fuel_state = "Empty" + local active = "inactive " + local result = false + + if fuel_time <= fuel_totaltime and fuel_totaltime ~= 0 then + active = "active " + local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) + fuel_state = fuel_percent .. "%" + formspec = active_formspec(fuel_percent, item_percent) + swap_node(pos, "default:furnace_active") + -- make sure timer restarts automatically + result = true + else + if not fuellist[1]:is_empty() then + fuel_state = "0%" + end + swap_node(pos, "default:furnace") + -- stop timer on the inactive furnace + local timer = minetest.get_node_timer(pos) + timer:stop() + end + + local infotext = "Furnace " .. active .. "(Item: " .. item_state .. "; Fuel: " .. fuel_state .. ")" + + -- + -- Set meta values + -- + meta:set_float("fuel_totaltime", fuel_totaltime) + meta:set_float("fuel_time", fuel_time) + meta:set_float("src_time", src_time) + meta:set_string("formspec", formspec) + meta:set_string("infotext", infotext) + + return result +end + +-- +-- Node definitions +-- + +minetest.register_node("default:furnace", { + description = "Furnace", + tiles = { + "default_furnace_top.png", "default_furnace_bottom.png", + "default_furnace_side.png", "default_furnace_side.png", + "default_furnace_side.png", "default_furnace_front.png" + }, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + + can_dig = can_dig, + + on_timer = furnace_node_timer, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", inactive_formspec) + local inv = meta:get_inventory() + inv:set_size('src', 1) + inv:set_size('fuel', 1) + inv:set_size('dst', 4) + end, + + on_metadata_inventory_move = function(pos) + local timer = minetest.get_node_timer(pos) + timer:start(1.0) + end, + on_metadata_inventory_put = function(pos) + -- start timer function, it will sort out whether furnace can burn or not. + local timer = minetest.get_node_timer(pos) + timer:start(1.0) + end, + on_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "src", drops) + default.get_inventory_drops(pos, "fuel", drops) + default.get_inventory_drops(pos, "dst", drops) + drops[#drops+1] = "default:furnace" + minetest.remove_node(pos) + return drops + end, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_move = allow_metadata_inventory_move, + allow_metadata_inventory_take = allow_metadata_inventory_take, +}) + +minetest.register_node("default:furnace_active", { + description = "Furnace", + tiles = { + "default_furnace_top.png", "default_furnace_bottom.png", + "default_furnace_side.png", "default_furnace_side.png", + "default_furnace_side.png", + { + image = "default_furnace_front_active.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.5 + }, + } + }, + paramtype2 = "facedir", + light_source = 8, + drop = "default:furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + on_timer = furnace_node_timer, + + can_dig = can_dig, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_move = allow_metadata_inventory_move, + allow_metadata_inventory_take = allow_metadata_inventory_take, +}) + diff --git a/mods/default/init.lua b/mods/default/init.lua new file mode 100644 index 0000000..08e9efe --- /dev/null +++ b/mods/default/init.lua @@ -0,0 +1,51 @@ +-- Minetest 0.4 mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into game_api.txt + +-- Definitions made by this mod that other mods can use too +default = {} + +default.LIGHT_MAX = 14 + +-- GUI related stuff +default.gui_bg = "bgcolor[#080808BB;true]" +default.gui_bg_img = "background[5,5;1,1;gui_formbg.png;true]" +default.gui_slots = "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" + +function default.get_hotbar_bg(x,y) + local out = "" + for i=0,7,1 do + out = out .."image["..x+i..","..y..";1,1;gui_hb_bg.png]" + end + return out +end + +default.gui_survival_form = "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "list[current_player;craft;1.75,0.5;3,3;]".. + "list[current_player;craftpreview;5.75,1.5;1,1;]".. + "image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. + "listring[current_player;main]".. + "listring[current_player;craft]".. + default.get_hotbar_bg(0,4.25) + +-- Load files +local default_path = minetest.get_modpath("default") + +dofile(default_path.."/functions.lua") +dofile(default_path.."/trees.lua") +dofile(default_path.."/nodes.lua") +dofile(default_path.."/furnace.lua") +dofile(default_path.."/tools.lua") +dofile(default_path.."/item_entity.lua") +dofile(default_path.."/craftitems.lua") +dofile(default_path.."/crafting.lua") +dofile(default_path.."/mapgen.lua") +dofile(default_path.."/player.lua") +dofile(default_path.."/aliases.lua") +dofile(default_path.."/legacy.lua") diff --git a/mods/default/item_entity.lua b/mods/default/item_entity.lua new file mode 100644 index 0000000..c34e60e --- /dev/null +++ b/mods/default/item_entity.lua @@ -0,0 +1,74 @@ +-- mods/default/item_entity.lua + +local builtin_item = minetest.registered_entities["__builtin:item"] + +local item = { + set_item = function(self, itemstring) + builtin_item.set_item(self, itemstring) + + local stack = ItemStack(itemstring) + local itemdef = minetest.registered_items[stack:get_name()] + if itemdef and itemdef.groups.flammable ~= 0 then + self.flammable = itemdef.groups.flammable + end + end, + + burn_up = function(self) + -- disappear in a smoke puff + self.object:remove() + local p = self.object:getpos() + minetest.sound_play("default_item_smoke", { + pos = p, + max_hear_distance = 8, + }) + minetest.add_particlespawner({ + amount = 3, + time = 0.1, + minpos = {x = p.x - 0.1, y = p.y + 0.1, z = p.z - 0.1 }, + maxpos = {x = p.x + 0.1, y = p.y + 0.2, z = p.z + 0.1 }, + minvel = {x = 0, y = 2.5, z = 0}, + maxvel = {x = 0, y = 2.5, z = 0}, + minacc = {x = -0.15, y = -0.02, z = -0.15}, + maxacc = {x = 0.15, y = -0.01, z = 0.15}, + minexptime = 4, + maxexptime = 6, + minsize = 5, + maxsize = 5, + collisiondetection = true, + texture = "default_item_smoke.png" + }) + end, + + on_step = function(self, dtime) + builtin_item.on_step(self, dtime) + + if self.flammable then + -- flammable, check for igniters + self.ignite_timer = (self.ignite_timer or 0) + dtime + if self.ignite_timer > 10 then + self.ignite_timer = 0 + + local node = minetest.get_node_or_nil(self.object:getpos()) + if not node then + return + end + + -- Immediately burn up flammable items in lava + if minetest.get_item_group(node.name, "lava") > 0 then + self:burn_up() + else + -- otherwise there'll be a chance based on its igniter value + local burn_chance = self.flammable + * minetest.get_item_group(node.name, "igniter") + if burn_chance > 0 and math.random(0, burn_chance) ~= 0 then + self:burn_up() + end + end + end + end + end, +} + +-- set defined item as new __builtin:item, with the old one as fallback table +setmetatable(item, builtin_item) +minetest.register_entity(":__builtin:item", item) diff --git a/mods/default/legacy.lua b/mods/default/legacy.lua new file mode 100644 index 0000000..a8c8ad5 --- /dev/null +++ b/mods/default/legacy.lua @@ -0,0 +1,25 @@ +-- mods/default/legacy.lua + +-- Horrible stuff to support old code registering falling nodes +-- Don't use this and never do what this does, it's completely wrong! +-- (More specifically, the client and the C++ code doesn't get the group) +function default.register_falling_node(nodename, texture) + minetest.log("error", debug.traceback()) + minetest.log('error', "WARNING: default.register_falling_node is deprecated") + if minetest.registered_nodes[nodename] then + minetest.registered_nodes[nodename].groups.falling_node = 1 + end +end + +function default.spawn_falling_node(p, nodename) + spawn_falling_node(p, nodename) +end + +-- Liquids +WATER_ALPHA = minetest.registered_nodes["default:water_source"].alpha +WATER_VISC = minetest.registered_nodes["default:water_source"].liquid_viscosity +LAVA_VISC = minetest.registered_nodes["default:lava_source"].liquid_viscosity +LIGHT_MAX = default.LIGHT_MAX + +-- Formspecs +default.gui_suvival_form = default.gui_survival_form diff --git a/mods/default/license.txt b/mods/default/license.txt new file mode 100644 index 0000000..45ea3e4 --- /dev/null +++ b/mods/default/license.txt @@ -0,0 +1,170 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2016 celeron55, Perttu Ahola +Copyright (C) 2011-2016 Various Minetest developers and contributors + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2010-2016: + celeron55, Perttu Ahola + Cisoun + G4JC + VanessaE + RealBadAngel + Calinou + MirceaKitsune + Jordach + PilzAdam + jojoa1997 + InfinityProject + Splizard + Zeg9 + paramat + BlockMen + sofar + Neuromancer + Gambit + asl97 + KevDoy + Mito551 + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) +Copyright (C) 2014-2016 brunob.santos + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/4.0/ + +----------------------- + +Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0) +Copyright (C) 2014-2016 Neuromancer + + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/2.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2009 cmusounddesign +Copyright (C) 2010 Tomlija +Copyright (C) 2010 lsprice + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua new file mode 100644 index 0000000..52aa294 --- /dev/null +++ b/mods/default/mapgen.lua @@ -0,0 +1,1479 @@ +-- +-- Aliases for map generator outputs +-- + +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_dirt", "default:dirt") +minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") +minetest.register_alias("mapgen_sand", "default:sand") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_river_water_source", "default:river_water_source") +minetest.register_alias("mapgen_lava_source", "default:lava_source") +minetest.register_alias("mapgen_gravel", "default:gravel") +minetest.register_alias("mapgen_desert_stone", "default:desert_stone") +minetest.register_alias("mapgen_desert_sand", "default:desert_sand") +minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow") +minetest.register_alias("mapgen_snowblock", "default:snowblock") +minetest.register_alias("mapgen_snow", "default:snow") +minetest.register_alias("mapgen_ice", "default:ice") +minetest.register_alias("mapgen_sandstone", "default:sandstone") + +-- Flora + +minetest.register_alias("mapgen_tree", "default:tree") +minetest.register_alias("mapgen_leaves", "default:leaves") +minetest.register_alias("mapgen_apple", "default:apple") +minetest.register_alias("mapgen_jungletree", "default:jungletree") +minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves") +minetest.register_alias("mapgen_junglegrass", "default:junglegrass") +minetest.register_alias("mapgen_pine_tree", "default:pine_tree") +minetest.register_alias("mapgen_pine_needles", "default:pine_needles") + +-- Dungeons + +minetest.register_alias("mapgen_cobble", "default:cobble") +minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") +minetest.register_alias("mapgen_mossycobble", "default:mossycobble") +minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick") +minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebrick") + + +-- +-- Register ores +-- + +function default.register_ores() + -- Blob ores + -- These first to avoid other ores in blobs + + -- Clay + -- This first to avoid clay in sand blobs + + minetest.register_ore({ + ore_type = "blob", + ore = "default:clay", + wherein = {"default:sand"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_min = -15, + y_max = 0, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = -316, + octaves = 1, + persist = 0.0 + }, + }) + + -- Sand + + minetest.register_ore({ + ore_type = "blob", + ore = "default:sand", + wherein = {"default:stone", "default:sandstone", + "default:desert_stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_min = -31, + y_max = 0, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 2316, + octaves = 1, + persist = 0.0 + }, + }) + + -- Dirt + + minetest.register_ore({ + ore_type = "blob", + ore = "default:dirt", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_min = -31, + y_max = 31000, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 17676, + octaves = 1, + persist = 0.0 + }, + }) + + -- Gravel + + minetest.register_ore({ + ore_type = "blob", + ore = "default:gravel", + wherein = {"default:stone"}, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_min = -31000, + y_max = 31000, + noise_threshold = 0.0, + noise_params = { + offset = 0.5, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = 766, + octaves = 1, + persist = 0.0 + }, + }) + + -- Scatter ores + + -- Coal + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 9, + clust_size = 3, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 8 * 8 * 8, + clust_num_ores = 8, + clust_size = 3, + y_min = -31000, + y_max = 64, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_coal", + wherein = "default:stone", + clust_scarcity = 24 * 24 * 24, + clust_num_ores = 27, + clust_size = 6, + y_min = -31000, + y_max = 0, + }) + + -- Iron + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 12, + clust_size = 3, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 7 * 7 * 7, + clust_num_ores = 5, + clust_size = 3, + y_min = -31000, + y_max = 0, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_iron", + wherein = "default:stone", + clust_scarcity = 24 * 24 * 24, + clust_num_ores = 27, + clust_size = 6, + y_min = -31000, + y_max = -64, + }) + + -- Copper + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 5, + clust_size = 3, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 12 * 12 * 12, + clust_num_ores = 4, + clust_size = 3, + y_min = -63, + y_max = -16, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_copper", + wherein = "default:stone", + clust_scarcity = 9 * 9 * 9, + clust_num_ores = 5, + clust_size = 3, + y_min = -31000, + y_max = -64, + }) + + -- Gold + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 5, + clust_size = 3, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 3, + clust_size = 2, + y_min = -255, + y_max = -64, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_gold", + wherein = "default:stone", + clust_scarcity = 13 * 13 * 13, + clust_num_ores = 5, + clust_size = 3, + y_min = -31000, + y_max = -256, + }) + + -- Mese crystal + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 18 * 18 * 18, + clust_num_ores = 3, + clust_size = 2, + y_min = -255, + y_max = -64, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_mese", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_min = -31000, + y_max = -256, + }) + + -- Diamond + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 4, + clust_size = 3, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 17 * 17 * 17, + clust_num_ores = 4, + clust_size = 3, + y_min = -255, + y_max = -128, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:stone_with_diamond", + wherein = "default:stone", + clust_scarcity = 15 * 15 * 15, + clust_num_ores = 4, + clust_size = 3, + y_min = -31000, + y_max = -256, + }) + + -- Mese block + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_min = 1025, + y_max = 31000, + }) + + minetest.register_ore({ + ore_type = "scatter", + ore = "default:mese", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_min = -31000, + y_max = -1024, + }) +end + + +-- +-- Register biomes +-- + +-- All mapgens except mgv6 and singlenode + +function default.register_biomes() + minetest.clear_registered_biomes() + + -- Permanent ice + + minetest.register_biome({ + name = "glacier", + node_dust = "default:snowblock", + node_top = "default:snowblock", + depth_top = 1, + node_filler = "default:snowblock", + depth_filler = 3, + node_stone = "default:ice", + node_water_top = "default:ice", + depth_water_top = 10, + --node_water = "", + node_river_water = "default:ice", + node_riverbed = "default:gravel", + depth_riverbed = 2, + y_min = -8, + y_max = 31000, + heat_point = 0, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "glacier_ocean", + node_dust = "default:snowblock", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -112, + y_max = -9, + heat_point = 0, + humidity_point = 50, + }) + + -- Cold + + minetest.register_biome({ + name = "tundra", + --node_dust = "", + node_top = "default:dirt_with_snow", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:gravel", + depth_riverbed = 2, + y_min = 2, + y_max = 31000, + heat_point = 15, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "tundra_beach", + --node_dust = "", + node_top = "default:gravel", + depth_top = 1, + node_filler = "default:gravel", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:gravel", + depth_riverbed = 2, + y_min = -3, + y_max = 1, + heat_point = 15, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "tundra_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:gravel", + depth_riverbed = 2, + y_min = -112, + y_max = -4, + heat_point = 15, + humidity_point = 35, + }) + + + minetest.register_biome({ + name = "taiga", + node_dust = "default:snow", + node_top = "default:dirt_with_snow", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 2, + y_max = 31000, + heat_point = 15, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "taiga_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = 1, + heat_point = 15, + humidity_point = 65, + }) + + -- Temperate + + minetest.register_biome({ + name = "stone_grassland", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 6, + y_max = 31000, + heat_point = 40, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "stone_grassland_dunes", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 5, + y_max = 5, + heat_point = 40, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "stone_grassland_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = 4, + heat_point = 40, + humidity_point = 35, + }) + + + minetest.register_biome({ + name = "coniferous_forest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 6, + y_max = 31000, + heat_point = 40, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "coniferous_forest_dunes", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 5, + y_max = 5, + heat_point = 40, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "coniferous_forest_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = 4, + heat_point = 40, + humidity_point = 65, + }) + + + minetest.register_biome({ + name = "sandstone_grassland", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 6, + y_max = 31000, + heat_point = 60, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "sandstone_grassland_dunes", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 5, + y_max = 5, + heat_point = 60, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "sandstone_grassland_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = 4, + heat_point = 60, + humidity_point = 35, + }) + + + minetest.register_biome({ + name = "deciduous_forest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 1, + y_max = 31000, + heat_point = 60, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "deciduous_forest_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -3, + y_max = 0, + heat_point = 60, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "deciduous_forest_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = -4, + heat_point = 60, + humidity_point = 65, + }) + + -- Hot + + minetest.register_biome({ + name = "desert", + --node_dust = "", + node_top = "default:desert_sand", + depth_top = 1, + node_filler = "default:desert_sand", + depth_filler = 1, + node_stone = "default:desert_stone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 5, + y_max = 31000, + heat_point = 85, + humidity_point = 20, + }) + + minetest.register_biome({ + name = "desert_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_stone = "default:desert_stone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = 4, + heat_point = 85, + humidity_point = 20, + }) + + + minetest.register_biome({ + name = "savanna", + --node_dust = "", + node_top = "default:dirt_with_dry_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 1, + y_max = 31000, + heat_point = 85, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "savanna_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -3, + y_max = 0, + heat_point = 85, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "savanna_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = -4, + heat_point = 85, + humidity_point = 50, + }) + + + minetest.register_biome({ + name = "rainforest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 1, + y_max = 31000, + heat_point = 85, + humidity_point = 80, + }) + + minetest.register_biome({ + name = "rainforest_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -3, + y_max = 0, + heat_point = 85, + humidity_point = 80, + }) + + minetest.register_biome({ + name = "rainforest_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -112, + y_max = -4, + heat_point = 85, + humidity_point = 80, + }) + + -- Underground + + minetest.register_biome({ + name = "underground", + --node_dust = "", + --node_top = "", + --depth_top = , + --node_filler = "", + --depth_filler = , + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -31000, + y_max = -113, + heat_point = 50, + humidity_point = 50, + }) +end + + +-- +-- Register decorations +-- + +-- Mgv6 + +function default.register_mgv6_decorations() + minetest.clear_registered_decorations() + + -- Papyrus + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + y_min = 1, + y_max = 1, + decoration = "default:papyrus", + height = 2, + height_max = 4, + spawn_by = "default:water_source", + num_spawn_by = 1, + }) + + -- Cacti + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:desert_sand"}, + sidelen = 16, + noise_params = { + offset = -0.012, + scale = 0.024, + spread = {x = 100, y = 100, z = 100}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 30, + decoration = "default:cactus", + height = 3, + height_max = 4, + }) + + -- Long grasses + + for length = 1, 5 do + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.007, + spread = {x = 100, y = 100, z = 100}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 30, + decoration = "default:grass_"..length, + }) + end + + -- Dry shrubs + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:desert_sand", "default:dirt_with_snow"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.035, + spread = {x = 100, y = 100, z = 100}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 30, + decoration = "default:dry_shrub", + }) +end + +-- All mapgens except mgv6 and singlenode + +local function register_grass_decoration(offset, scale, length) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass", "default:sand"}, + sidelen = 16, + noise_params = { + offset = offset, + scale = scale, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = {"stone_grassland", "sandstone_grassland", + "deciduous_forest", "coniferous_forest", + "stone_grassland_dunes", "sandstone_grassland_dunes", + "coniferous_forest_dunes"}, + y_min = 1, + y_max = 31000, + decoration = "default:grass_"..length, + }) +end + +local function register_dry_grass_decoration(offset, scale, length) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = offset, + scale = scale, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = {"savanna"}, + y_min = 1, + y_max = 31000, + decoration = "default:dry_grass_"..length, + }) +end + +function default.register_decorations() + minetest.clear_registered_decorations() + + -- Apple tree and log + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.036, + scale = 0.022, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_min = 1, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.0018, + scale = 0.0011, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_min = 1, + y_max = 31000, + schematic = { + size = {x = 3, y = 3, z = 1}, + data = { + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "default:tree", param2 = 12, prob = 191}, + {name = "default:tree", param2 = 12}, + {name = "default:tree", param2 = 12, prob = 127}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_brown", prob = 63}, + {name = "air", prob = 0}, + }, + }, + flags = "place_center_x", + rotation = "random", + }) + + -- Jungle tree and log + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass", "default:dirt"}, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest", "rainforest_swamp"}, + y_min = 0, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass", "default:dirt"}, + sidelen = 80, + fill_ratio = 0.005, + biomes = {"rainforest", "rainforest_swamp"}, + y_min = 1, + y_max = 31000, + schematic = { + size = {x = 3, y = 3, z = 1}, + data = { + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "default:jungletree", param2 = 12, prob = 191}, + {name = "default:jungletree", param2 = 12}, + {name = "default:jungletree", param2 = 12, prob = 127}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_brown", prob = 127}, + {name = "air", prob = 0}, + }, + }, + flags = "place_center_x", + rotation = "random", + }) + + -- Taiga and temperate coniferous forest pine tree and log + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.036, + scale = 0.022, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"taiga", "coniferous_forest"}, + y_min = 2, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_grass"}, + sidelen = 80, + noise_params = { + offset = 0.0018, + scale = 0.0011, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"taiga", "coniferous_forest"}, + y_min = 1, + y_max = 31000, + schematic = { + size = {x = 3, y = 3, z = 1}, + data = { + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "default:pine_tree", param2 = 12, prob = 191}, + {name = "default:pine_tree", param2 = 12}, + {name = "default:pine_tree", param2 = 12, prob = 127}, + {name = "air", prob = 0}, + {name = "flowers:mushroom_red", prob = 63}, + {name = "air", prob = 0}, + }, + }, + flags = "place_center_x", + rotation = "random", + }) + + -- Acacia tree and log + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.002, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"savanna"}, + y_min = 1, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"savanna"}, + y_min = 1, + y_max = 31000, + schematic = { + size = {x = 3, y = 2, z = 1}, + data = { + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "default:acacia_tree", param2 = 12, prob = 191}, + {name = "default:acacia_tree", param2 = 12}, + {name = "default:acacia_tree", param2 = 12, prob = 127}, + }, + }, + flags = "place_center_x", + rotation = "random", + }) + + -- Aspen tree and log + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.0, + scale = -0.015, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_min = 1, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0.0, + scale = -0.0008, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest"}, + y_min = 1, + y_max = 31000, + schematic = { + size = {x = 3, y = 3, z = 1}, + data = { + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "air", prob = 0}, + {name = "default:aspen_tree", param2 = 12}, + {name = "default:aspen_tree", param2 = 12}, + {name = "default:aspen_tree", param2 = 12, prob = 127}, + {name = "flowers:mushroom_red", prob = 63}, + {name = "flowers:mushroom_brown", prob = 63}, + {name = "air", prob = 0}, + }, + }, + flags = "place_center_x", + rotation = "random", + }) + -- Large cactus + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:desert_sand"}, + sidelen = 16, + noise_params = { + offset = -0.0003, + scale = 0.0009, + spread = {x = 200, y = 200, z = 200}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + biomes = {"desert"}, + y_min = 5, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/large_cactus.mts", + flags = "place_center_x", + rotation = "random", + }) + + -- Cactus + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:desert_sand"}, + sidelen = 16, + noise_params = { + offset = -0.0003, + scale = 0.0009, + spread = {x = 200, y = 200, z = 200}, + seed = 230, + octaves = 3, + persist = 0.6 + }, + biomes = {"desert"}, + y_min = 5, + y_max = 31000, + decoration = "default:cactus", + height = 2, + height_max = 5, + }) + + -- Papyrus + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 200, y = 200, z = 200}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + biomes = {"savanna_swamp"}, + y_min = 0, + y_max = 0, + schematic = minetest.get_modpath("default").."/schematics/papyrus.mts", + }) + + -- Grasses + + register_grass_decoration(-0.03, 0.09, 5) + register_grass_decoration(-0.015, 0.075, 4) + register_grass_decoration(0, 0.06, 3) + register_grass_decoration(0.015, 0.045, 2) + register_grass_decoration(0.03, 0.03, 1) + + -- Dry grasses + + register_dry_grass_decoration(0.01, 0.05, 5) + register_dry_grass_decoration(0.03, 0.03, 4) + register_dry_grass_decoration(0.05, 0.01, 3) + register_dry_grass_decoration(0.07, -0.01, 2) + register_dry_grass_decoration(0.09, -0.03, 1) + + -- Junglegrass + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest"}, + y_min = 1, + y_max = 31000, + decoration = "default:junglegrass", + }) + + -- Dry shrub + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:desert_sand", "default:dirt_with_snow"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.02, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = {"desert", "tundra"}, + y_min = 2, + y_max = 31000, + decoration = "default:dry_shrub", + }) +end + + +-- +-- Detect mapgen to select functions +-- + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" then + default.register_ores() + default.register_mgv6_decorations() +else + default.register_biomes() + default.register_ores() + default.register_decorations() +end diff --git a/mods/default/models/character.b3d b/mods/default/models/character.b3d new file mode 100644 index 0000000000000000000000000000000000000000..7558e6f849369c419c8d307f022811ed546bc9f2 GIT binary patch literal 86830 zcmeEvca#*>6K<1pGysw_D6nBjyVJeB) z2#T07@>9$hc~#xto$1^3uET%tyz}Oq>(}l5rlz`X-Ku-LYn!G`UCnEB%c0~@6s2j` z9^L8@8po5TO&M7)Ha3pVy}H~?26ZTR>C>@O^A=xp&7pK2J9yTx$^3sUpL@S5IyZxV#oo`?C*li#&tm_u{ucWZBRoDvzw!Nue|WV>zmtD(zp$^Pek9-MPga!M)Rauw zzI<(7zJ^RozeT@H>J$C!|Hk*l^@ZqETtD@N`-Od}->@CqA@jfG8~P=){VdmS|9zuB z5`PTcAV2*3PWp-8&q{tW^y7Zve=Jx0KJ^>&jsD2*bH8zonU;R>`}F;=ep!4!(=I=g ze?Q`X+;4m`E%p`iLy*q|(QjN|L_hw0LkH^rFZ+i5L)hOcKiM*V!amfm2>nEVR`w%m z*#9lxPp0ozB0I7E;eOlii+(5nHm;B7cQ*6a%kq;UpXZnOeft05`9=NV`6cX+e&hQj zBHSuFe*S(+vXCE{-?7xkzt7(f=La$V^#A$$ zk$xfHlHd5d)J*w8zeqpJ=YIY;`B$F=Z;X%Mz=`1&o^$Nkdv8}ldPAF_Wj*P=gNU)aBs z&G=={?_v8;e?-4X{NsM{`(ghT`jPx?mj1B+2>YSG5+RRYIKGMg5dDAp@Nby@M`(+` z+^^vKDamwf#J9-xEBsxn{H)?%Ca#a|6N>mhf8Wqg^z--#FZxrG#riR#Kg;I! zU;0HO-)Vhn$Y%M;eEs*vhw$%HfB5^tze3Or-w$7(=%@c5zCJ^K*6}Tx>kI2A#)p1C z9KXoE?0@$8lT11&+>CxPJ`w-oe!fQY`m@oGWM_AMiqY?!KfL_=)E}OILVx=I;`fQ+ zm_L(+|I_!w`PE|I@ca<{JU>K#h=f|^M>u|kBJqReE79mj^26~(d>{IY>kH36(NDkM znK+_9JU-(3(O-!;JU(IhLVx=I$#s-Ri|HS4zg0N-i}}AL6B_Y7(r@UV#Q)#YZ;{XXdyW3qL%WIZTgIRJ6`kc<`o;LN zexmU7`e~90w?V&em~Rl`%e0a-_J_Eun+eO`;qKQ;`hb%8U2yp z=YHw;v(hh%@2A-1XY%hy{G0m~g~!MF`jYMa4!>{O@4xKpJpN(%!ajz65&x+qeqZ$S z?>pMhB46}}*mf9SVISM|bHC(YhI|M6XZ!mkBbn#_%R3Jl@iU^om*gAQkZI``{zv+y zSo%9>;`=uLVj1TA6Y?YD$9ufD&m}vt5B;snw=di`rv2 z=VN|2Q&iR-ZUc5O` zsqp~uIUhHr)`VIzwPw`#oR3>lYeB6!wN^OirJg6&iQyCwE@)nQyYYHJ|04CFtrqFk5l7w zJ|0eO7`36)M&O)}M^hU`Z6viZIOpT>)W%U8OKk$q`FJw5Nz^7%n}Tybo=$BVwW-u* z;GB%^OYH#8`S=jE7pNVib{OY; z?4y=W?FcnL&iVK_wPVzdQagcjK0ZzD6t$DoGH}kvXQ&0K1*nB^&c{tUw&_rqkUt+9 z|DD*BAAA0V}WtNc%TbdAJ_oc z5ZDOV7?=P|1iFDLPy;3bg+nCcya})=uo5A*=Nzy-i3 zfD3_(fQx}kfKLLK0+#`o16Kf70#^Z71J?l80@ndkfoZ_?zzx8Sz)irXfKLOT0d599 z3w#c^1-KQs4Y(b+1Nb~}CvX>VH*gPdFK{1lKkxwXAn*m?A>d))5nwvd2lNAv0*?WY z15W@?0#5-?12cdDU=Vl)7y`Cy(We`){_@dz4r(HQQ`LcMw*$wsiWJYPIdJXQ#&Pl$ij&nH zxOTZ5f4`*oODX1_m}-|R;(E;}xSTI~QNE}Z1($!PSMj;0YDdW>nsMX9o&)Uq@_7v9 zx5uK8%ld{$-#Srn*$(w7ztwf%I@$L&*|(kp*RC&*+dDLFF%De2T#?^m9k_P6BEQ8& z!4>%}J_@dw7p^F{Jm1REe4|CnJ$`1tHlD`|D8Ds`g3IyY7Uj2w4qUq(M1E@&1y|&^ z#!+xNPF|w?mJkJ(f4P8zPv~l3tuPyH%9{uy869R3c;J!ln?YVM^fp$@F4^V!4MJ*U;@4&U& z;ReOY3+2ydba3F>^<74>dgRg>86BhGUMFseuM1{$a^Tu^_=C93HcUI+ISMX+x9j>T zr@BPRC7N-g+nhti&*m*YibA2-=Y{VTdinnyyqjlvx3JvoxurHuIn_N1E??XC>!+RW z;lQ=qSJEG5&zYxVHn>t^@nd>*PCqqTsSmK21K^Hwv!s z^?nXqyS_Y!&e9y}9|f1^=8rTt2RLx;*T!>RnSVYoFbXcmk{>9R42puwG3pq_s1ygT z{n|wA8yp2!#MB`UT>G_&SpB#I*RBKSfYX!%hDO2V+>)Pi%djZ8oU?LK&Ke#CSLDJG zQE)|$9qGWe+kta8@AXDGaP4*wYl6{HaK&D4OcY$P*BcuJSM2r1MZpz&z3~oQyB)+{ zZ$cDYvDcgEz_r^drzY)jW=6pkd%amvaQSz5uQxkNF42q!pV8z( zo%VWjqmaw`o~OOuyePPA2RGSaz600EzJJnQ&*Q+g+n2}f8jYLRfoqq`{!oMV{tFzq zcDd|l8|a?G6H#!5|1OMzE9S+bD7a$2Eq37AuT9M3B~frie0b7n)9fEB1QJ zqTq@+xjYK4xR<#i3a+@9xzd4ax0%@Mt#aVn?I7~d>L|D(zpaUa%W^wY-dyXzwd*^8 z^4s*I^@8ghxORO{Ql7ths&+6n3a*>>dYxXW5=@JNdzAKii+?B+TptDZecJ2o?pG|h zAqs9UT1U-mmMge13hw1EJo+y;zYA=Ng8LiY1F5m*Lf|O}uHC*fX+1f;w=eK?6x?c* z-;!!<2s{%7_an-06HiVGYG-I0s*RBH>UZ3AL=k)d{xcuGjrDvbo5heG; zOZiqjZ{-^GQe5w0HtOP!_ov(qLcip0pzoxUa4!50?ymdb?!FK1p8MeLy$|lbFt>B& ze?8yae;?cf_rX1QAKVx2gL~*cxQFk9d*nX2>G#3)-3QlyAKat&!98{#+~fDbJ#io0 zllQ?rbsyZ*_rcA$4{qQ-xWW72o{5tCd}w2VkOS8qe|azRcZK=xOb4z#{_;At#uJm( zvkqLlTwWu7RpXZWq66117x&_|m!jZeZKS;%1y{&D=fHK+_dC+}6$h?eU$#Rnvcszm zT)SMh@9$*a*BrQZx#qc|ynY|tHypT5I`DqzO$V-B2eB7<%Ykc`EA|0zJ8~J*-F6*#??0YQ=t{AuXqu{bXaQ(vv4&1E#?79Qj?q|Y(KXl;Q z<%;_-HypTjx#l?)#8VM*(>hcTKWxOHuA@ebHz@ornz~aCXz>>fRfDanz)gJ;r3@imK zZJ_z*6nyvy&dUPJ0m}m`04oA30V@Nm0ILG40jmRR0BZtk0c!&v1wIC(!7)B{f%Skf zz*t}$Fdpav)(18KHUu^THU=gD6M=4^3elWhFgt2Y5Q1vUdVH_-eu4L)p% z^H#vtz&60Pz;?j)zz)EUz)rx<272`_z^=e zK=aQ!_;4W32LV%ngMmYUj{}DShXIEJM*v3xM*&9z#{kCy#{tI!Cjch`Cjln|rvQ0I z^Jkg~#-D`n;S8M51kM7^2F?M_HPEZi1I`C}fL;U5KM&!eHCyua1C&+f##o&@L?*>(}3%N8-N>un}AONp9Vey+zfmc_#AKxa4T>d za651Z@Oj`);4a{9;2z*!;6C7f-~r%4;0wS*z{9{Jz;vJw=m#DJ9s?c+o&cT%o&uf* zW&i`gAn*(@1hiKYQ;rZ_#JDGa7=4sK{5g&9dqdti!wxH%ck5ZXR6U%)a;|;QxGr;Z zfm`YI;YXBh|B?y3`aj4^FMH-C(w+CvzONGM)go?gaPP$COjnYBH@G5)HOx`WO?Tcy z)k2r*6(epQaJTgtk*=KkF_z{2MRGZ_QuVN#GHPgK|HPP!0k=OdxbObzPgkzyA#+Er zjjD&;bmu+P?f11Y9f_L{-2CGeU*^q9G$awZR6VTHo%hh}Z_mdJ%W(VigR2j&S)3J+$GYg0X*|a{CK_JMnCPpYqwSH1rW2ZY`Xw(rO_z@M>J_trKp4L2%nt zSn5-neJydDE#08fo%c|VUj1V09dr8&fm?3x4qr;?VewYEn~(Zby7L}ND84W@Gu`bk z4DP!zLEp?T6I|A7TYde4N_XBv6DB?td*TJRzX-Tpzk1J?GIX>dSJ?MTm0Rk|UwA@; zV_t}Dw9oA?3T~;QKlr>o$4NSD>z7NTJMW=O`!Zu^>~#B!3GV!y{*>!ahVA<=joYtd zifNawdO}Bfy%U?U)$K11?#>4b`%|VbF}T7XI{i^bJABC#YIyb2*v6aP{u1DxDD|K} zrSW2k+xE>WTEbhT@44?|8*Os?OM?6R&`10i;}%KWDuLP>-FXk4|M^brS7~nl1K_^? zbp`+J@e2*EutV;n^)!029NJkyiJQ94?SBy5&o)=~Z~OfTgDZUfgBRkoE-!jQ$2#PU z`+1Gq{}8zIyjA>}7i4aWeev4%vz}1fyt&fH68B+nKXH)zA<3mX@1d5VTA!m~XQ;G*3T9^Q{uN+0A2r z%TDQ)XdatuP;Y3QLwxv&;=^T%53_dnNxx3R}_Etxp)6KAhrNHE>^Zh?7)3Y{bcFzfMW#I9VOs^$zius)vpETYK#6bdJ9@ zz|AhMzq7!T&T+jaxS6lrn=g7JUo=l!kk0v{mf+65HxJPhWg`z&-v2~8=b_r*8eksV z_ebIU_9(bc`HiZF4Y^m4-yQ?kDZgbx-@V9hb-;D9162eZTtBZ zUrI}JeJ14g{N`J=$W2dZ;hmWD$0@(H1h@V78NQTR=DZNxLOsu`4Zowc^5n$yuW4Si z0@v4IyD$09P-6}W?l(UlQIFGn`#!Nn`u}LYwHErWAsamQjj>J@HY>X$P3=$X)MbBk zO7Bkjtqr*ApX=jOw*F>t#oSDMe!N=v4^QZ3ufFLyPP+YV!9BVw=dn+|8zjx+alQog zP0DYF^9@bUecJ7B2ky@FztWW-&Gov_cj*rW)I+phfAy`g>9Z)mwFh_Ng~RFI+wwj@ z-I3}3i1q>d#!OA`LpiGhxN6_Q>BaruU}1sd6>6@a*jLE5z*x?)3S}G4Gjt z#y&uBKb=+3eVw>Bk9*QfP#)?8ZtVI&N0dx?Kh)yv)I_SZ4Lz{U%x|5+O+Gu|o_$u= zqmzw1wE6`zzjXoE0P{GU-@Fg@rmd|vv~PNajhqX+I&k^vvatrIC(86>Ss#{}+dn8X zx2qetFTZqywyj>;;+j>*e0{Nh*4IxIYoPCbEw{hLYq?$B!M&OGF^%swN{!|dYu=MB ze!srnJGO!T?5DZ?^*_n&>H+Sd@8+f}7iX|+;|Vv*-L|8?UUEbO{fR<({5|sLarFeZ zdEZadl~~I4(1FK!Q;+)k9)AP9Ld!hetrh z@jtLMkE=Jh`_t#pT>H`3Z?bHb+i9*#Z@0XmKJnW;{x5IjarFWB)3N)ATbZ`><~o%t zqgVYLucs7mq?hfI*WWlfud6S(>z{j{ba*(1xoiXW_YeEU>-Bav(%Zh6*T3apUROVG zn}7OKyt4PW!R2w_3WG;a#p%16G}b>)%;zs%DW9u9xZBnT9e<_azDXbFTb;SJC{gf#AM7xmLU~e5b(` z`gX~T(I-?*)Rlwz{bLs7cMSr!^sZHL%7YIZzAkKbt!j*(emqfszgz+T=>O$+rGTrv zyZVUo%-=_>cF;G}(+jI^z2w3I{sx^2xXgQS-ca$AXVR6_3kFxnRZG{?I~{TB@gElO z&)iwSH3V`m7NPk*e~%=0%i+3uwGyg6u0}!sobL*_9tU^i^{zf;>=J{UlkCQ_+YhL# z=O3Wzn^OwtNPD73i>w;Dd-vw?k_o(`;^f#iN| z%H_Gq<57m>t|hrSH~-^%hUAU}H@PM08!+`1+*s0g5b3*Y)IUC@T|w6iX;Q7CO>a7Bo$e)?Y35x9_uE1zcmn^)B9eM49+k*bY43K3i8$kI~(F)j@yx7IrD% z8V7FYHBZJV?H`i-?6(Rrdh?7#{n+|HeJ|h6?-~#8$syI^m6p3>`MQL!Upy6~r`1l> z)nkA7zFVB%H38h-+ZM+w>J)=3>`-Z7tp39)nisF!@xAdte%C~BUpag_UMXDF;EHQg z^2O=bZZ+03FZ}M?{ailRByh*R^h3Pzbri1J2^HsWX? zxGwZPxwXFj+o%S5%ZWevrWDNMnh9?3wJ(p*wT1Hq%dT*(z8;Kgp!a>`Ctt#+xm~ls z-8=gx|9&_Rv5hbMQC}}ryn+7xmp}SeP#&5Mt^ww;ky}{queSU)2i%!+vXM*qjpfb- zxAyB<>wD<4+>zUNDYC<_WQSu#^7to{9p;0($6{X*e}#PywaMeZN%r-C z`@Ut|gxu9MZu@B5GB)J#ze3~Y1-D=}{;>RZ9zXlT0&tsU<7Y*C=k>FnJppcZ{=572 zyngoIh2Um4FJhYJ^Ygq|1g>?yiFy2Q-Z=d_&9?$)^7;4Bd|M1|cJp{jLViEb<0ar` z7axut$?xa*@Fcjcvxz(XD;4m+LUCs)xS1T!#+va=%nK3EW-l(_e}dxKGH{bEaZ=2S z+7u_<6esuHDB$Nfxm@ULiNAu&@%K@RzYS^@^lKDRzD?zW?u>B=25zwuZwSFB4e6#m;ci`FIU!Oc9q`G|5<_6M=v z>Dl)$Uqf2&Yyh{?k4xi}*>Zjp>nPu6u5nRXT&R&sz}^8T2B_D^<dIwss zm#zJakJszZf!iww<+p8a&Kcn~cmdi6G^2e$#pyr$cptC@+z!9rOjn8zHMqie#Qx&u zCqMZ-w7=L2?)Tjmq$?96`xe%DJMCMF)4t`}n4f&zY2UI9+~(zP9ufIX*iGz*+@*i= z#nXOhJGgHh{+xe5oZr~b#6D{f<+qlUhiEfLANg6GnDh4h_B^;#XMF66&G^eF?8SO~ zUf|`p9v9|?_U_G-bpG>A{+;*1-E|+_-S@%Wb06Hj_rcu;aGjjku|=+AvorTrOIm-@|2_@wLTXXq~h$-yHqUj;p@kOEsnmc`sMo3mUchxK`n> z`TAeS|Mk82Pom53z!hV0`r;Sl-rmr`Ur-12|T4;BA(aok7$B>Imz zaD~1#N#8~J=7df)dmvsZ-PnKJfh)#s9@*ik1ye(_<_(PR*U9BS;lLI4jV1dA4~!3$ ze(TBj%lTsbC$r&}qH!CvaBPUjEn{+B|EX-a@Q2XY3D5cT^D+L@4qTz{1oE?Y2hRw- zc>X1yKBj>`!+|SoR><_#aOs$UOfH2C)A`?LH|qJ-2PxTT%!x~ zi^uIuHe9M6rlpfN)bMl;FLOiS?(H)o&i>q=s)sZ9x&OHSiHG^QQzp2R&i0RYdge~g z)O0*^cbx^d%UAEk+n;w|HJ=CQL(Jy^t{1_jd+{#&vu50j*Ksf2^%A&rAKaD2b6y?K zd0j6@A$K}GV~yS9cAW#ayMw-$NnfsrJwnen>+W;AUIBNCgB`v#pDpT>>Dl6kC)}=A z!QJU#U#cE9>>D$7b{yOHHE<0ukHaz5{C{Q)<#BsG8*Z1MQ)$WT4Ydg5HOBZ2aA}P1 zsqMHPS6JIj@%M$TZ^!1R`1>ZflP%9p+1EK%mmvS$N%40g#oxau{=NmS^_eiwP3BHS z{4Iz0`!=}NdIAyqZczN~Lh)Cp_}h%)?|E>o&pJ5nvFtMDJT~Gl&12UEaBrvQ@qZFG zDV~3uc`Vyy#s~c|#NUhHzSyOUPg#72!m-I^{sM|S8!7&Fr1;y7;_oGJ&voe%FSugP z*FgOJhvM&V6o21|=-?7Mh&eCf?`?{|0gAtu!FBTAoW`4Td5pcgc#Pl8M($WMu7{E+ z{(emH_X@bLIOuDSzwd#2)?x>aJA8d2{!T{xy$bG+7W)djiTGQV;_o{Yf3JaS9XGZu zj~(aD6pFv&&AjPgU&`~L(-eQ3Q2f0PZZ`fK zs!s9ue-wW|1owz#USt)2Z-8rnd7S0k<0CDV5Z&6`b(qblz( zbFuON=sn)j>xlnvFCzZG{dL4%y*3$~?ffW^?uHrXG%g0#1=a(`0Aqo1K#C~z@#-#M zeP9D%LtrCdV_*U>5$Fc02Ac17=ffnNlQ$cmWMC6uQ(!Y-b6^W#OJFNtYhW8-TVOk2 zdte7(M_?ylXJ8j#S70|_cVG`-Phc-#Z(tu_Utm9Af8YS%K;R%?ih*8zFmMR)aiB4y z=y;fMZoW634@cm9BybdPG;j=XEN~ofJa7VVB5)FLGH?oTDsUQbI&cPXCU6#THgFDb zE^r=jKF|a70v7Z%+a5L~(;B&w&z^%Y-!0o^tz~_NGfxCd%4C~nF>U)jhmzVc-#9I?xC71CIia0gnSu08au>0Z#)nfB|3-cm@~(-djYhc#%Jd zaZmoBKK_5=-{J7qxO?|%GM`(ynWz71-1fJ_4f+46InCD*)A8;cW?quGzE=Mv^!e>b zqu(gO-kxZ_j+hCM8^HM$a=Ie-=3mxK_BidI>Te$!Dw?M)|`qT8mJIvP+GZ%7cNFv;_f39>Fz0*A5 z&fgwAcVY8?K?F6;4hV$fYPZc)P0KRx=euIB5AnQQ7m4|yzdm-hb2-MRg~gaW_Q zpEFH2Uq{S#5M#me#I*$`KBS&{<6=U;pFDb(h34ysBRcRugAmcT#Oipp!|Fd07Tu!P zBE4X~j+nX7!6jt!cRo1UNnKU8MB+Aj?bKga%-0b!*BlG4%PKd=KV#IDSE?occEh8; zUDkXZu~lCycS^H`>OY+uC4NMI0yeaV`8s0i5BrX|HpT&+)~MAQwN8BHZMxo}=Ie+f z{^0dn^{sc~X|?EYJrm2l;?YxoG+#$-(V@Q3fxpxE;12c8W{)Sf3DIk^UNm1v%sS*W ze9|k~Z0?qQ>WRO`Chk5({@^oTM{JSHhhg98yz!8l@!OQdX~#VJx&7wrh$H&)zj5y| z9$xWxx-CyvTNj&|_?6G2?|9yP9WniX_?c4QdTn4^o}Im`Se@ z3EVCdENki@=4P17I**^RSzVmiC-Lr^6ayYNUq?)Iuedhmh~_GqrWPFAA@Ss8kKUrY z`8s0i3;QqY%8l)obJjBTSlQ&nrPt}z+huMADo8p+e4Y6ZhUTdsC&ne_|JNUgd!KI^wMK?Q^=L`tiu(iPwMd=x;9A5U4EcAjJpY zI}Oxph5k)={TGkEa;o_{V!k$02d@!##Pzw-%BlNb{2*aF-5|N%*?b*wgv&n?v03Z! zxzt|UPb5sI*L^%t$b20!bM0}GW%pTg#XU22L&9i!-AAwO=Ie+fa=mfF28@+&?sD&V zZA8LBimA7YnXe<}AGXGI)`R`Q{nA8tD6Uq*NIE`sr)Wk^$qwcmVlKCFZ$IKL-S%4J zH;6lr@fHEO;trxbWUkSjeFys^ularRb;NY+D7WU#^{0Q% z)%hgL{WOR9I%47qo23gou&g^59?7WF_S#9-cNXbe$I#c=4lkXXm~lC-)+x5b5wb&F z*a2fqO9ayfEPv>iyD~1kHsTc9Hy7o%df+;Z+vc@bGMLnKaz!Unk)gLPM_Fk)>3E4H1hpNiViix#8@q|_m z_(E+BxybWId=T7iu8wM-qQw()e(4E$x}H~Yk3i%AN#B+Ujnr4}+)bEA#msT-PN?R6 z1QAR4MPB{LuE@f-&%XqcN*i-b!I{G7O?LbF^t9bu) z*blYKH9li>^BSk#qxf5_;`heuh*<~BO$xD*ajTfWNJh5;=T0V(&lM`YDxemv>$UKA^L4~@EOekPtT`_@Mx8&@ zBXMq@g|JTG|M{-HVFyr41X_0L-UVZ4qw!c7j(3)Z*)@FnWZbMC~ew65+rJ#TOj5lO5V zV`)$J@%%MvznMmi(tD*A3#J%ck>4`oS)Q;(&GVboQI8n0Pk-&RQo+ICI>qYq6jRqx zOubA0Jj>-y6@$1>w_D_HzJ4LMl#o=xeT(na}Mb$^q3sGID_a zXwk=v*Aerz!DfcOg6pT;vV(F<8QMGTEfZtBj+hN$>bor*t67hePp7M8${RULf6`~Z zjyNJ$F$y_^T>D;cgk*xgW7FMe>JlXs@>fd%aS$*INLtsc)vC1OGm^_h_$o z3wyoK$j{8@1kV0z-Rq^&UJuU_ys(3$!$I2XJ&wKJdD`nOf)3`~H0QkV3F}_3BJK6e zXApf|3!+BGZTb1^DPtjhF z?lFa$(_U|>DYu3_53#RX_j=0EVj7;2cuhOVaniciJ575%JV!zNRScU6J6QL6bgxY_ zpS6g%o*B+9%&$v(y}!2__wbCp9-hZQ2RRQ}_j*s!UT+obV2*{HhwOX3)utVU|4L(Q z-|MY0xiw6=mBRUg$4>0^KA^oG*INgDu@^DqGLPFT z%Jcpkk-c6jxaL@RB^~U0y)@`xwS(}p&l_)5eG|;R9<58X^^y+B#$Jzof%)&fy-96Q z&)n<1L3_Oo;F@wH{>xn6>lO8wd%fPY*V`!RYt9Siar$sDwvtWA5p)wI`p8eCJ~ZPFO;tJhI& zRl0a$ZtV4*k@S_<;P$=VW|bBhUd6m=drj`X?_NY^73o{SR|hHhPl?UP^mzVx%>hU z=HhvU_ry+6kUNgBz3~Gcc{G2h*$^zO4U53OJqI;yh6TYuW6M;WoC%FZ0 z9a9%}9TIo#2U9LhM*eu6xRd{>uIB1IByQ*5CYKzRKVB!U-GAvu9Dlq{+*1EmH|$Gt zbtWC-|75}KL;7;xReCnVq~rXbEV#SK4%}Dpy2(9ZP@Q#{PxfUl+1HSJG8=A*{qfpE zG;aJlOs1X6hTE6?VFlTjUx&%G(>AVk+&-iN(@A}Y#F3xrrCuz!mz|kDUMHJ>ts z>)v?5V;pJL#CgsCrzmH^wXPoo-_+MjA&>P};$Aek&Ndrullv0n!oK99vK{W;{g`sK zAy;|%KjhxMdpFEI2f5a@r;yG1TDWnqfSZjSY6=}*mGpJAZSupY{7qK82iVV&6(#0PaB*!?p0~!|trea;@)o!lW0$ZOtla0x&n}Xmas1s@?bRdK!4>{%^>zO=bN%ox#ouyE<6=Gp7uO~| zbMIDpzT4BsjK9e=FK!szu>aCoL|^;d;>0rmy<1NH|F01gBW0;T{51BU<~2Mz@e0}cm{0FE?} z3iW}bfn$JUf#ZPVffIle4OEm#z{$WVKx0OeUr#g6z4~GT?IH3gAlMD&T718sJ*sI$$a=4Y(e-0k{#k z3HTK7Y2Y)!&A?}Y&jGgpw*t2Tw*z+op9k&)?gH)x?g8!v?gQ=z9snK$z5qM~JPbSn zOb7aae&A8yG2n6F3E)ZKDd1^f1~32&0?zY22vYtCf0@HNd~ve2drt>XX!G8*;Nyp92J*@}#P1`H z`0Jo~#WuQUx2FZ+(`mt66&42a$#Q)xm$|IN>Y`t`5481!<}67Iu4%j?kYDD;3musI z(dG*3gRMQGixbm=m*%Vw6p(cAhUKyyrtRybZffoc?eCQqj9t4WP*9Rfh3X`a-%iDH zZ{1m-K9uYUjn>kFgU0U*6q31q=8C^idi=|0)oqEM&^MLSf~TK98YnF5;Mz-Eu|~*y z>4e(5z9;m1p0r@y_dcW zCp%JuJrlnSl#q3(&vxKzW4R5Rl+;$2^n~)SO$~1O=T@L3xT4U?%FWzgT6>|0C$w=v zYVglaKLs9;*tKx5g2PJ*!4-1GR?9e|)CGAE&Pbk-< z)Zo|=cLEQ|a_bBG^5$dVHR>>_{YRpp~VIhzhv`#wc})`tA-5Aw5g^0V@?4lcH@7>lPZ{#)+I8z>}JlChYV z=0!=&i(hG8d~zj(LSiKuaWbqg``LKRw_7ydUZwd~$)+#+8Na=Qedq3P3)F{c9*>}T zJZaoM6cUGZkmAEC#D^^uA9k+U5~w1{^-6K)RZHBtNO7mC#5H|V#IvE6c(#h-Sv7Dm z7E+w-Zi$mQDNa_G`>TZhZ@}O8#YsBI`E42b??%dRhsl3;kpIR@a?Knd=Ec957vpJOOr&|?lDX1+8;kk&EzP%= zX};B$bWjv)ek(@vxDVyGpJ^W7pn2Q?T(O3+#)nOa58Wxhm8JO5P}V_;>mu&_gSgYk zCYR?t=WeI`)>z_tUCg!Tw|a<^2{s+9Im@2k62XlouDc!NvY(0kR)X?d9P))K>8lud zNW@f;-xTCGO_rN&eoK{E|&3xX6{Z6 z*4_O@pt;1&4C~9jvuT;46{TF*gK}YJ^N#{8z%|D>vew|(_g2zvb$&HZ=;hZ_gHN`) z8fYnV{bH@ba@#%fk@|OSPpJEi)L`e}g+MDwhlpI}mU-(9bxe#W^y81I!D1&~4YURq zYs7GT;N0DI!f`d7=3C!1Lh2ow;A#vDu(s{lKZjEAv)r2;l&_}b&GIF#q5aSk zC)0v|tQj5X0u|^#cQ#pc_?>j<4lc$m#(HgSEZ3&fwe^s=nMbTP zD`T@+Pl@X_xK3jcOJmUsT+vuOA^_pH060KKXh-i5toD);ZJ(bEvmc@~Vy`z!;wr{EO2`#^Ua{93E$LwH-vrmb*Bc|rU2Dj-uVKVqZ>%I& z3G3^$*Bd9vRl>f*zAn~WVy`#e#;--Y{z+?P|Z4EwE(l^;B2(GuQ!e6#dzB5Et2%je!eZ1xcAOu z-s_2ZyhPR^KD+qvq{NNn3%<6eagXUw+Uxo09@A2A#U7HcP2|{fwtJb&B)M{&+(h>> zXVbmRI<(iTNcS?AgNt>P5lh6pu#v)&cdzq^w9n3r= za;$x?x7sF`?aTT)<+nAG+)ClR$@Xp3xRQ2)_IgVwZ?BeJEcx3txhp26knVg zoVxLcK$@hlX$LXi>L!=eiap>7&7=FCYu@@cuwK$3IegEN=W(;8g|#uIJfSJir3U|L zb~CU+lA9Th>uiS{CGu)j%Xvb#4x|Pz7W+7`QPMXuFL>OleDIH2zOpCuP6q7@n_LTQ zlDXk^A9E*l_+HiM9_ih;QiBJ-x)^v$;+pw_$Bnt$m)%guJx2f9-^Z!Je~Z5!cv{kT zn<1C|fw{%^ys55_rF)q_r3PEPo*8&XlA9U6cg5HC^}&|;Cpwf05#8hY+@cn$4iKb;@IGf44FEu0J4cizcS z*WH8mddj}EV4DZW1$Ibsv%i=5yye=skl0W1ex%0ZR`NA(M#rYpLMaKeoTA76Hb)y-wU2f<3og%%<1uTKemXZ*U$Dlb zE$rHv|0xvyBnz8a<^EM{Y|@WyXX?|xT%>*cV|^{%phmbtU-sVz)|X3Cw7L3|^H*qV z3KY_OHZI$Nb!Gb&^RLmC@13vj{dldmCx1Zo+qh!g$6Whb?r0WV9*epMR%oqG%@5sp zaeXl5o7EY|Y+S3pH=lVVDL8m;XkY&I!S9~?)O|b~?w}f@lcqm0GgRTix?qz%Yt$1q zuCN)~w@;HbN$(bz7MiFI;5VqafP2Tzg6qDNoSkS4xReny5NbpK5B-ID|BF+z46LEU|_t)|0b-qZ|d?j|OXTcTg2XSr8?XZ2c zrd^${2XC*_J}GlWeNocEycZ<$X5u&7v^taK>mOBEryZ^Rm->>-Ju2+W`X1?bM4R7Y zzFzC%T5U#`+}g`B*SNLhope{x?r=`~E8J$IOq_x4^|1hu3GU?~DfRlU{ysw%+sH60Jad zHSKLl2gP`P!Lf{GKf8NH(us-F^rOSP+K21gY3FTRp7Sh|`96xjJ1PD)rudse@%Mtn z^}3kLJod|Dh`);{{(30>UIZ8W0EM~y`z$+e@v%v_DgMr&`1>Kn-%B>G@H2b-T}kox z9a#rstt{lWrue&p;_n`czk4bEUY59u@vK8|f3iF`oj`R#?@C;AUCr0U`WB)1+mhn% zHHyEjzFnPh#X(=@vc6XlfA>)Qt+?e=_j?Xp=5ZT=_*;(RZw$rXtFjJZ`?Ag={?4KJ zdz|9$HHoX#7vsiy?6<_^k0M2GQAuo6g8jc$NvtSk zOsgr60Luc)0m}m`04oA30V@Nm0ILG40jmRR0BZtk0c!&v1wIC(!7)B{f%Skfz*t}$ zFdpav)(18KHUu^THU=gD6M=4^3e+Z*xEp^-Uiqf z*bdkp*a6rP*a_I#Kt<^S><;V!><#P#><=6O90(i)OaTrC4go$6 z910u;91a`-90?o+91R=;919!=91olToM@m|p9Gu?oB}jvG#yVf&J|@ka0YOufnI$U za5iubaIS%hG7mT(=mB~S^y&+MPXHGJ7a6E1i-AjkPXd=3=+&12mjhP-R~o1&tAMM4 zYk+Hk>wu}iG~jyR2H-~ECg4-Rr-9D^Hv^vqJ_p*(HxC^)&xCgiw zxDU7=cmQ}1_yX_{@G$TQFdgUv`hiD*$AHIyCx9n`r+}w{8NdKA2s{G}0UaudGsUja zmOn(LmGPG-InD29nwc_^rHoZTmK(mS#5v4T zNvzRR2sID5roLuY<<$b~V5ub5=|9v~OC_;Jl~!s#S#J0)IqP7lB-W^s zSj{hU!*>IjYpEpGsFGMMAnD)@%VixbmBboV5~~FzxsfN)EZ0&=tWhPgT1e)GSA{Is zQc0{)C9zsq)xmi_OX;ew9J}k@4s*+fvN@BH?EZ0$A zdb(`rTN>Q#>_AVK4Lg)^kSqMb@^o3FN@Dd9Nnhu2qo>QpxRnJL@geNLwx`P)RT8V^ zY&uw1-Ik}z8dVaj0mywU@l*qrIJ{qN@BITBv+2VmP%rcDv8w^;38j0aoti$tWhPgT2t0R zdRl9#B-W^sSgj??4RbjMSSpD%sw7rxOZrA~7Te5nXUoWMk7gs+Qb}y&x5s3Cji)AJ zURWxLHL4_5>&S8?J6I}-HL4_5>q`1YDvbErES1C>RT8W9WF4gZW~n4L@>`57H|%F@ z2TLWf;SaGgSITdeN@By$;v^m9{AQ^n)~J$LyplLmtTi|vi+N$GB-W^s7_TH&1Xr4G zmTC@-Dv9w*VkJ|oHLO)4mP%rcDv9w*VkNwW5qDnL*DaOA8dVaDR}u>yr2Ho04pkBx zai46)tg3@#A-8%n`I@j zMwP^BbBUW7*4OaKNF}jGmBeZbaLqA}tTi}3SSpD%sw7rh%G|6fi8ZPu7Oy1EwAxp! zVJwxz8dVbGmBeBWMe-2mZc8PxMwP_kmBiusW}O$7N@9&FiSbHeF>Z3zrlpctqe^16 zon$k`h-booMKvf@5^GdRthSfAMw}GaW~n6BsFGOi04{t-sz|j|5^GdRtab$VKPrhe zsw7rBfs47BRVA@TmBeaiaILXK%y~;Cu|}1|Y8P;=<0gF4p5MCO2e+H7Lspf<8dVaj z-N8lt&8m`Eqe^16hs4dYlGw0WPl=mlC9y`8#A+{aO*>>+Nvu&NvD(|l73)c!$HI50 zlGyN_K9UZyPg*L8HL4_5`$}@BqDGa(>O_efso-KA>}$_SvJS=*P5YXbDv6CX?PMF5@Z*E8v8;mBhxqOpnaXs*>0kH!rwmK2DMR!BR=A zu|F)3wcB-W^sSiF)r6YCObURWxLHL4`WD~ZGFK52bspKpt$ zYrA(IqmtN|$4g{=v#KOE?gc$5alPUB#$#-$B-W^sSX~OPb$yoAUT>KsSB{gGN@9&F ziPh!cVjX4JOymIjUT=jYH_J+5Bd)KMxRLnFV{EA;HuA+PNe43ziM4Wn+{>iD8a4KM zt8H?{y<(2*mbW4p`E89Pw^BH7vVAR;#2Qr+t7~m?#h#4ywNw&oR7tF^1J@i2GiQmh zuv8LjR7tF+N^-qn9avvWC9y`8#A=$PuW1M2>y}DljVg)N^^y)*RuXGeNvv*=PAW5NFHK4SSpD%sw7r7$=vX|kGYmgVvQ<^@k(N`mp1c-SaVq_i8ZPu z#w&@%+|06)Sfff}^%+TrEGvmMsw7r7%iQoiF}8!Hl31fkV)a>>EA7cFmBboV606UF zYtErcM(h*&LQ5sFMwP_s7Kxi>C9y`8#OhXwn`I@jMwP_sHgK_?%&L-Dqe^0RJGh7? zSyd8iR7tGvkmP26FY|eD*$&xM5+_k5vAXjg`9GKyS~G2(Htu%Ezza66*qid2;P$60lCCVB7W!z>8ZGupFmTAm73*J) zQ_o;o;88=Y`CH_ zcYpr%TBR+YX83GezBZBH9z(_N^%vJ`1HM`9_GiI$8n>f1E{_FY8*?oc%E9IN1A${U zuCN(%OHk$WU3IR$bpDFq+5&}w$8B6u(Z_bkNfmuuQ9bj^MZr&htRFmKD%vS>A$|bB=}{gs=*8!SNIwGZ?MD-ZS@=T^qk+U3JxiCBM`80*}h`j z`mOv;{XCXlok@QMG(O)-QAwOB=7ktzr*S)DlY0tse{0c5_m@HXasG(=zw!K66wGD0b9GIB{)0#L(#spD zmtH>}JPWQ^KO80w+kpSM+Sz;p_j=wG$Xy)h~SIhifelTTwZVNj4!Ac>)J~n zpL=}ZVue2fFUj1ahb-J?YjfzA5BAqD{IDS~^U9&X%Q9CHI`BSnQ^$gO{p4Qyhd+%A z{Cwd~;GCqdq8x!-wnI$ADtd(_E%brqAI}(3b9nF-aLrukjXy>l_FevqlA?cTdeah* z>dosnP**&6EcmLVgE#IZad?bxQyUi3S+DR=NxkjtqiU{&H-oQ9TzYLbxK88tx{WLJ z{hhuu{hI>%fX2P_`B$%Gym4w^@C}LUjT3g@u{if$3BB(-UG$&YPt1r(nHhW&TwI&a zM;tN6&-bjUC;O81nd3INS5(>-d<$HRvFkW-d5qZ(U&JTtRV&uiM>U$Mep2?W;MiM=D zRsWoMGk6hP^V;Y&>d@gA!hYqG^e?`yt^a+gfm(m{vEU^eHyvEI@0re3^nnvw=yTQ# z&gfoxc<>!r2S3}FZN`4qu3JGpPV1#F{d`>Dr8n*bE=yb`TmOAm;(GnU*V%tqZY;@N zL2}QN+$%PH*&kR3_TK>Mn?m{yC4GC5zVF$%!VYX-VTZi*&z`a!uF5*NI6iRP`+Ins4Hj#O;TT5U(UQ-jVJl8PvStSE!gWjXtGr(CzyF zg~X;sDj7ikmJF~8uqv<`usW~?uqLpUfr?Ta_$cr(U>#sxU_D?AFcugGj0d`a^??n5 z4S|h-je!ZkM4%g}8tBzEU=olbB7MAivVl~J4r~f+25fGiS8oAq32X&yZJ?sG0k#FU z1GWct0Cog+0(J&=0d@s;19mr%-uVvf3G4;zZJ?s`0rmy<1NH|F01gBW0;T{51BU<~ z2M#sRs}BPX2aW)aG*D4S0Y?MJ0LKEy0mlO;04D+`0Ve~e0H*?{0jC3J0A~Vc0cQi} z0Otbd0p|lfKre6s@Co2T;3D8+;1b}Iz@@-tz~#Udz?HyNz}3Jtz_q}2z*Jxwa6NDX za3gRN@G0Qaz-NG)fzJY;18xCs1#Saw2krnq58Mgd1>6nX1KbPT2iy-l06YkM0eA>_ z7~mJz|+7CU;r2do&kn{_ZAYHIl}C|Cw~}Uqx|8|X%Oh& zvz{~TFqIM1v*sFCiMa`M9=i5HT8#3?Ezkf9FYFzBC6K;P&aNAT^>QkD1EpeMI-Jm}7EB(9Vz52!0 zJLdKm0=L}W9ln&(!{V)SHy`z>BX4^`3B?!2W~RISg~5F{Cg_{_WrE9Uv(?uxs9%2T z2~C*zRP2ct-2NiqcKzx-U&_$YhFoEXEA;Q<@V~({IOc`eM*H0UqTrS)`h(BgbDX5Z z|7q{M!=kvlKfWqG7VKS7Y$&j0XtFyy7Q`+Rd&lxxv7w@(vMY$am)I2zf?amTjxyLw zj94SKH)=GRXza$G{LY;@*9_xiU;Y2L&%<+w`FK2Y?m6ds@6N!cb}PiT`maqqzbVHs zHq9&)qikY9A?ErtD0z9^$ie2-kYeolD>gB+(*;A;TC?DdY+9+pLQMQriKX=r^|m~_ z<2?Mzge$iVVJpo-ab)+DEhWT+rQ~B+XLd=^w`xg4B{<^tX3X;F%RRv^K{&SJd{UvuSR~G zL4L{Syo}vm)M14DRzTL-x;>~<+F^ustB7nFs0Us15hju=nzKKl9?n5M+<#EX!9zV% zqO3-pt;0H-bhM^p1k_n&WS!NoV~XBU7wWePvd;Qq*xmY$P0$xrk*%oFZ>zB15|%_b zc0s@SAnUA;g~%v}5A<<0WQS_ZhvzUK$mgStPw(Qm4)dWpvQ~|`Qw`=0e9pI6ws&90 z?=W|Kku9V#&#K})TU~c{E(FleotqK z{Ac!0`c@bJzm~q~QQt13zSTokOW$%Z-i@el{>WYhrbqTm^bJH+^7|$FW<>T&^bML^^6RWGsJ?+nNo-|}ep>MZY>`m%@R7RXQRFi1%2BMeH@Hz2Mv8YkNVaV^(_S1FVVM9%6@^qg(15^L*H71 zzHJA6V?f_RVNSxP3SM?@pT_)ciu1Pz=vxTP-*9A|&GlT+x8Go{o00tzeX}6zOow)Z zzC8yWVv+q4eX}Av1@tWwb(8kyG1Rw1*@YaB!7qp@yzJb=dsT#(;j$i6_9HLrvClJC z#|Y532FMQXRzZki^6R{?(~r#pov*vn(?N8;A+q}mloFnr^Y0(l?yJs5fWD`QbOh{E7MZCEj`E*(0!Sj)tWj4Po6HBiq&t`<)P3-)Ow!LW;4ELEmP3S9Tl$ zeTzW0d&|dsgWfZEr508%T!07DYdYqFzBNI%#V?onm`HhlM*UulerS0G`?DkG z^^SI+Z;{BhdYr|_jF?J65@?;}z&z3uJe0D7fp^!(LJh)UWZkaLWPEw`XVjIzEEFwL~_}@!p|(Chym2 zydU0rS<+#@{$ORSV>IYnD`ZFH?r_+j%I5&;*FWm8`6`?Pq9R5+I)G-iM%L1`w?ns0 zK3`D3e3S9!X>h)HnwH?W1Z*2*;}dne?Ah+pIe_}TQlPN;8n92&Y>wifLs7^Y7Wc~3 z<;dqD>i5j4vElIMq_}S7WQQNHZINwosK;mLtaf4X(m5+)tE_L)$Vvvkr+)3FI>XV{ zE^dmi@*UB_Z#7u*=B2a;cM0a6!`FXuT!daZE=)UQj~=-R$5uNWamg7`-lG}b1#x?d z1#{^qU4$klU6}UB-dprDtZynvBRmuVU*t@day5wSYzXF7-F6XzZn-cWklp@pqC+U=eM>t8aT!7|S0&O_nAE_P z>4a=TuAbLQrGwHlZ{YFh>xRx_RxDmg* z3cucTWx61HJ9ZPW)!;}k=YYKVKIesri}4QSDn`2rVGZ1vuE;K4eHCITqbDrM0nwrx z-Ar6yS}51zu$!=Es~gh|*@)ZEO}dS{C6=rMd6T;CJ|nlGVHo#IxVuo!$DQepZ0h2J zCY?uB1My2)gSU|@ayN`?xyM~FEp=ylAlt`xx=H6hTw+NMNW9hh8@TpU>vO9a4}mG_ z!SqD-Qd}LAu78@u(s-kD^xSaYa89??Ll`pIgXx8AxearSx>9ANTBkY7^VM^X-QnET zN}j^tKRlQiWObM3X6jaa$W-QmTN20>wwSpR$(}-Rlqb_0S?|5s4&B0BiKTumEmeDGUv7c&Uiy|vr% zx^OuUG{3ps1Gov0hr?w)^5Y;6gOSZS2>C6XKfjZ=2XOUDSh$kkf8Z^TJeeUhh8Bk$ zx-(~`Yoj$;r%WJc;mzEMVjuWB8$6jt<2wriIX!3Qe0#m;lcPPE zp~$wKH_fPPRXSgt{aHoNMP!9@yB5FWk3RKah9SGRPYshUGTlI~i`M$NeR^(@UpQyk z^_G8_;=v3@wsUHVNoN@)u`~}pJq_HGInWo!-|(kPdN3o9J-%bVNmtlcV(GQ%+>Kn` zqcAQf_cfos+MOARZ0wOICf$RBQXiA+g7>$$Ry&NGU&}DAOx~Y-iQ4W=9I|nTZt%KW z)$;ZH%V-n#!?sYa>it*zR>6%Kg)G;5E6knDEy_A;^1F!}Sw562@A8Vj9qGo5Mz+u} zJFm;RC(Scb4wIc_R1>;VhG=%^gHJf!)>k@!acIR;E&CA zW#WuePl?2_weMoPV>8WZ4me8pkOX? z#B+X>mn$<4*@Gv4&4g?Fq!+|@mAoMCpfQ;1TH!fg|F#P=9@&iv_sGBhNry;|bKeGW zWxa#B$G<+~XMqkSAS)UCp5%e}eWlX33HblVO>p8D^o{tPh^*hKe~)+j9T$PbI|J9ukqwP~?}+Uz*?T&0U3ikY5|JR~73<{mzAT+XU;DwZv68 z4(nz|*2_sf%zWx9kb0PmY-1;NR zeu=)#L)KrVZzOM2H{Y)K$S(!I^O5yv2>O=uj~+2lJ$+S#P3?zKlsA_VbZz}JlQ`iLN;}0jzjlG);F>i zgr)nE+`=FD@vtvhjBL*Sm6^Jo`Rjr1cRF@`&xgQ%X9==C&!!u73HkMn?xXlQ@Ax6G zkNOVTH*IQ~bk{aWIz;C~TiBnCfc@F|EpK_UKU<3I6w_3bu5(;I%_950cChbzx&I9x z4Ew%i$ad|VWzzXn&&L{JKlu&pCmSAq%`>o{T#l@D{8N)IjC``yKN?H+sp+s!O*!=^ zPxh%RkiF>%`evvqu{2(~{~eU~ieC%+-<8N#-nj+zt^HQwm-f(H*jM+2eYNS&mps{5 zuR?a=RvWL2c_8T<_1gya>#bqGUeWI*PxkApk?m9f^exp)G~?4A+!M|Ljo}Kn})Jr9}7J?Bku9$JU&nH|57fB%!dkvgO2tX`mRk)T6xn1dJDZ_<~1 zb|NvT_3e8Jv2&xx{>&J%-t#nHJ4xKQ(KY+Ro9TSoSFjttf=&MlHsdSU zjbFiTLRK>PJ=r^uJfxr6Qy#2X<>b^NUvzIaVB%IgihZ3lN~VG+7cyp#MJW!7anY zfO5)?i5qdYZaLG0YwfmiQ!J!E%1N z%4epTF1qWPy&5d_TL#vxXL2k@*6l!C0JBenCI3G8`dO|AE_V28o;#~&_Wuh@Vu+LL zj5~hz2;Xo>Fq5Uh(ma%x>z8Yk`<#DRHk>)|FDzM02Kr*fRU6l=j+byE)yy1p!b<-O z){R)QZrM)Q@5S$6>tq*0_7|`dR{Bfu?``Zdz^K0O|Dj4^7P;>~w0rmta^EQj{f<1; z-K2HT9qy@dc+Z_VglzQvpG@le-B;xM0bC#XegJbAS$Hp=QQvFE_u@HxFP=GqEW8iS z{L6h_4)60aN58;tJltb7EHyL7kZrFK??s6B*j@OQ$8di$V3V0Sj_fFnJp3--Tjb*4 z-r|itX66L4X&U)`jrrBbCKyS6Pa-QB{GRrv{Ad5H@hK;4)Qg2)WR07^hewk&K8-A_ z@uz1ys9y`t-(;M>KOh^Yao@Bg)NdNh-#D1RZ(;tPK~{NBnDiT|-{ClatHAti3iJ0z zWR=eokX|Ev9?ston7<8S{+>lvd9Q=8q~Ay%$H4p@Cik(Bi|kW}t8mLW(nS7k+Q$Z% z57{t(tHb;~2lMwFvWKIid0omI7{~H^o+Jh`cb38YZIAQ!JhI24qfL}0e#zgV^Y?d{ zzi(mwUic>lhQ>hW~TfBiK&G*=LIU5}$+(!TDPa=IZf3G8}tY30%WZk^w`sM1u{JjtJ z_Xe_=ioT%hcF8Eu-+nNE_rUzUiL7Msd)h`P#C1GiatP+JXQ75V5W*X4VI7HMG^y!p=l`)j(SlZ7sC5(bhrhhqf+ScsERX z!MaGV0JMQ<^=J)fjc8$_NG}F$5ZYk0A!tL`p9653?6Q_!ZMor-oE z+UaO#pq+_!7TVcp=b)X7b{^XKXcwSeh;|X$#b}qH{SNI?w9C*gN4o;;O0=ucu132C z?OL>{XxE`#kM?`CX=pc~O-Gx7cB5qN+$OY}(QZMz740^(+tKbon~BzemPad~-HCP= z+TCdPpxujhAKLwBv(O$udk}3lS`qE%4-xC^|DqqkpdZp-1O1>65!WKWeQTUbYmO~( z4+p^%P3`jPk&Q(m`QL)n<$cChui#<60ql;cSN(}!7m3x5VT^sbxf!sxdXAAEPIg7V zZfwj-C2Ka+tHwCNK#(tIBTaw?|#Cdc40_y_nu3+Qw+Nj^M z-IrRerzkk>J!Eyy2&UjsaePAVEJvIDNefBP0kbMphh>TvH z8%Q2B@RC?L4>ShK1`P6H_x%VD93T8Uun@4{DEz8p7`c^WgZJ7*%i(hRr?BZSjI7og zpMKbr{dtW|968;nzYc5>h2I2K9yT$P*v(1s`DjVa^+$j$>LlJG7iP2f`oZVPmyXeI z0=Ag!w-$+E6#Au`vBdq$*-A~}v+9P8*3SplTf;A1i#CNeu#fB7#Cx@p_2Yppjx4E% z@v54%joi*&DsB@uubQdv3v3BR3^c#gZ~FCJY~_!M;+pvR`nJH9)bLB$z4fx#1Aion z+cFmGBY-WXV8^Ipc-=XhZFe_ObO~6hHv?N*jzP08O7$1nfZK`Ug96L+VZfGA_@%W@ z>)|c>bp^i`V9RQ-G~Rs}?{N->Bw*sKcl>L%;sA%==_44QecLp@Z6dMK1MT0aliN>2P1hdR3pb@m48Y$LFh(J!e7 zb^T^y{kkSM*B=J9iXsN}wOz!%7>9jPRpD2?789`FBB0-%fnOhq)$ZeP=;Qs+$8pfd zF3`u-6n@n?tBmtu2F!<&z*a|=%pLW*mG}R_k_U6=oAC94m4WqD_@ykZhX9yo=U|@A z$9Yym!K!1JiF0xr&dHhzmgbE5z28HgzXP7i^A`$?yzE+Yrw`6`Ll1eb*OpPudMJc? zabmix7j(`-g2f9}2>JI0Sw}Bvw1#VyJJgVeV`JHdOX2%~Z9%*>Ik@fxayO zHcZ1WU1PPr)mO0UJS2j?T?T#Ig!&e)h=KMzT?_SGH=|#rZqgXk`esqE>KN4e#>z2h z_OV*utmv228LdegFV{Pp4F}!axmeasPT^Nw>&pjav2LKp>oS(=>qCAUAWQbCl%>~p zV%2W;<-0^N;_`Am18hTuUm62tKa|U4n-{T(9;UT=A7C3vtjI(wf7+GZ>(`)k>zJ^_4h94|?vr~To9&(M)h=H>D6^qzK9c*H=ok#VHfNg?) zwR+PmOk>{-w~1R@{-lotHWK}6<+t7+W7y*}Y@%5Df&STk`Vg^pt-o&7jV-X=CVIVj ztxpBEnIc}AUm9tqwuuD~yBIiNTWG{f*W&Fp zPxjU|*dvZDWQYQ`rA7>tZM6Mo%YysxgNMR9{Q_WHDg3JAEpFUy(Lb|^6;J)5cZHm_ zRqB8>iO^^URzVVwhkBrVbyua!<-GnoOMLM%DGP0;w-L3G_1uMSc^^y zR_(V4u5oEx!UI3G3fb$MdY6EiR_oml3o}uSqpUx${Do; z)*?m`gPL{2*|!sB-+5qrBdb-v>Y3U{BL;eHf8nh5gjro3dZ;h5%4?(SG1P#@paCXe z`zidY*KH+ei#uq`deD||VE=>hYSp?GG|LQ{#e-%Mw!gx!dX3duIKYWt^;vHqvdXzb zuT6c{8zjdd?Mu{stlkq0M!#BXtUl`vQLyT3Q=j!>$Fiyrdq~`3=Rh-Y_`p6@)!_9Qsw( zB=uV!_sU85UeG8-4C)>#1$%Jv9+Nxl!O43}qZKTzUs@0TxVN7Rd;8kJj#02`zlnI( zOT)8Xyar4CzQ?nOh-Z^%{4@GtL7%>y1OdT0P{8XQw^0P0~Fg zeJ_*FGY>rL%|O4TcIX;Yzv?+T(+R7bzkMKvSr~)XJX6p0+31&C8;yb11JR2t&^Pkl zAlawRK~}3b)n~oAat!HO*QVCDd5U<|^*i|2Y)%qF`!+eEbH7oQu$a44L ztT%7F{vqri7GS(uz1b*dKl}P|qR57x)=vO-A+lQa+sk7Qd+2SV82`;v{VCXUEy5TG zOLIootyw6~4sf@LH)a80KB=&NGP3+Vl%@Df9EUZw( zOV^G1&8$0;jhbr{JFLz$4BTiIRwAp^dCI=I*`3Wug_?o1t}W@5fYP1J1#D)40cQ z8DdzAewF=3<2_Qzg}r|h?q}`GFpS!47E)!ucEYOn1Vy*zTAso$Z8@GZ+wgIRSy(6g zmG);eXEa{p!4ylA*EVtTD663+{E+Q>gk!0~W=h*+ET?Q_kt`+-f|Rx{O5 zVXGM*BGzWrwZ7BIx-~$*hrw?}@ViTcrG4B1;tha!`$4?^5btgcmiDF}=HVdZ;Sb2e z9w+Q6$ZtW&?-a=I9LVopC#-ti_Gz#*-uiz}wZ3>7FV@jTnkIwa{TeKdSM+IWeNt(H zc*VVhX%EDkrNL6aQ%2^p&$h$;O`m1P0+5FT8Z7nuVahejc33wHmue^p`90`_Rj*t2 zSFobQ+SAEij`lH)w_oElb0EAYwxwTrLu1h690jY^fHw12Sv=t0S7>AjW9=zs;SjRQ zeINBZqiQ+!)CHT^JaDeD%e`>nu*AwWsrDPhMzbR}Lkz2r7*G3#3rEnemIfRh@E_K9 zIq1-&pNw^B3A!509)bZX=Pqnr#F-m-JH`H{;H3T0b zmd{S={MKAN)0#IjUTl3Q#8kITh;SbBtCh30^}AW8c_)Z|ErU%f^&$8WvFuk}582HF ztf$*d6zg7OOm`zg=tIQPwW;Gxx?IV6>fJ=qry*my6%~RH5o`NB2!2n2UqAGF`77f6 z30bZEdM(UDJII3{|es4p5^CZ^(MeBA|5wChJrl+j1)`WWKQ`FBi5$fR@ z`c>8$?V*>2`&lb3952SrdTaEBI=il5X?`i2bnFlIVnm`C?we#B3iW$K!O|Eg+h*%K XOIzrRcy5N_d+3Xs7_U|y)V=wCU({5p literal 0 HcmV?d00001 diff --git a/mods/default/models/character.blend b/mods/default/models/character.blend new file mode 100644 index 0000000000000000000000000000000000000000..7324325a1197155471dcd0a5aba574d001115c1f GIT binary patch literal 700448 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

-W7H0l~9`+fS?&c5zAo?f_r6Ko;0 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 literal 0 HcmV?d00001 diff --git a/mods/default/models/character.png b/mods/default/models/character.png new file mode 100644 index 0000000000000000000000000000000000000000..05021781e03fbb71cb309d5ac233c6c90f332fda GIT binary patch literal 2754 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 + --wall_bottom = = + --wall_side = = + }, + groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2}, + legacy_wallmounted = true, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:ladder_steel", { + description = "Steel Ladder", + drawtype = "signlike", + tiles = {"default_ladder_steel.png"}, + inventory_image = "default_ladder_steel.png", + wield_image = "default_ladder_steel.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + --wall_top = = + --wall_bottom = = + --wall_side = = + }, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +default.register_fence("default:fence_wood", { + description = "Wooden Fence", + texture = "default_fence_wood.png", + inventory_image = "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_acacia_wood", { + description = "Acacia Fence", + texture = "default_fence_acacia_wood.png", + inventory_image = "default_fence_overlay.png^default_acacia_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_acacia_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + material = "default:acacia_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_junglewood", { + description = "Junglewood Fence", + texture = "default_fence_junglewood.png", + inventory_image = "default_fence_overlay.png^default_junglewood.png^default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_junglewood.png^default_fence_overlay.png^[makealpha:255,126,126", + material = "default:junglewood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_pine_wood", { + description = "Pine Fence", + texture = "default_fence_pine_wood.png", + inventory_image = "default_fence_overlay.png^default_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + material = "default:pine_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("default:fence_aspen_wood", { + description = "Aspen Fence", + texture = "default_fence_aspen_wood.png", + inventory_image = "default_fence_overlay.png^default_aspen_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + wield_image = "default_fence_overlay.png^default_aspen_wood.png^default_fence_overlay.png^[makealpha:255,126,126", + material = "default:aspen_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + sounds = default.node_sound_wood_defaults() +}) + +minetest.register_node("default:glass", { + description = "Glass", + drawtype = "glasslike_framed_optional", + tiles = {"default_glass.png", "default_glass_detail.png"}, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:obsidian_glass", { + description = "Obsidian Glass", + drawtype = "glasslike_framed_optional", + tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + sounds = default.node_sound_glass_defaults(), + groups = {cracky = 3}, +}) + + +minetest.register_node("default:rail", { + description = "Rail", + drawtype = "raillike", + tiles = {"default_rail.png", "default_rail_curved.png", + "default_rail_t_junction.png", "default_rail_crossing.png"}, + inventory_image = "default_rail.png", + wield_image = "default_rail.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + is_ground_content = false, + selection_box = { + type = "fixed", + -- but how to specify the dimensions for curved and sideways rails? + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {dig_immediate = 2, attached_node = 1, + connect_to_raillike = minetest.raillike_group("rail")}, +}) + + +minetest.register_node("default:brick", { + description = "Brick Block", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"default_brick.png"}, + is_ground_content = false, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + +minetest.register_node("default:meselamp", { + description = "Mese Lamp", + drawtype = "glasslike", + tiles = {"default_meselamp.png"}, + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), + light_source = default.LIGHT_MAX, +}) + +-- +-- Misc +-- + +minetest.register_node("default:cloud", { + description = "Cloud", + tiles = {"default_cloud.png"}, + is_ground_content = false, + sounds = default.node_sound_defaults(), + groups = {not_in_creative_inventory = 1}, +}) diff --git a/mods/default/player.lua b/mods/default/player.lua new file mode 100644 index 0000000..8fb0aca --- /dev/null +++ b/mods/default/player.lua @@ -0,0 +1,158 @@ +-- Minetest 0.4 mod: player +-- See README.txt for licensing and other information. + +-- Player animation blending +-- Note: This is currently broken due to a bug in Irrlicht, leave at 0 +local animation_blend = 0 + +default.registered_player_models = { } + +-- Local for speed. +local models = default.registered_player_models + +function default.player_register_model(name, def) + models[name] = def +end + +-- Default player appearance +default.player_register_model("character.b3d", { + animation_speed = 30, + textures = {"character.png", }, + animations = { + -- Standard animations. + stand = { x= 0, y= 79, }, + lay = { x=162, y=166, }, + walk = { x=168, y=187, }, + mine = { x=189, y=198, }, + walk_mine = { x=200, y=219, }, + sit = { x= 81, y=160, }, + }, +}) + +-- Player stats and animations +local player_model = {} +local player_textures = {} +local player_anim = {} +local player_sneak = {} +default.player_attached = {} + +function default.player_get_animation(player) + local name = player:get_player_name() + return { + model = player_model[name], + textures = player_textures[name], + animation = player_anim[name], + } +end + +-- Called when a player's appearance needs to be updated +function default.player_set_model(player, model_name) + local name = player:get_player_name() + local model = models[model_name] + if model then + if player_model[name] == model_name then + return + end + player:set_properties({ + mesh = model_name, + textures = player_textures[name] or model.textures, + visual = "mesh", + visual_size = model.visual_size or {x=1, y=1}, + }) + default.player_set_animation(player, "stand") + else + player:set_properties({ + textures = { "player.png", "player_back.png", }, + visual = "upright_sprite", + }) + end + player_model[name] = model_name +end + +function default.player_set_textures(player, textures) + local name = player:get_player_name() + player_textures[name] = textures + player:set_properties({textures = textures,}) +end + +function default.player_set_animation(player, anim_name, speed) + local name = player:get_player_name() + if player_anim[name] == anim_name then + return + end + local model = player_model[name] and models[player_model[name]] + if not (model and model.animations[anim_name]) then + return + end + local anim = model.animations[anim_name] + player_anim[name] = anim_name + player:set_animation(anim, speed or model.animation_speed, animation_blend) +end + +-- Update appearance when the player joins +minetest.register_on_joinplayer(function(player) + default.player_attached[player:get_player_name()] = false + default.player_set_model(player, "character.b3d") + player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30) + + -- set GUI + if not minetest.setting_getbool("creative_mode") then + player:set_inventory_formspec(default.gui_survival_form) + end + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") +end) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + player_model[name] = nil + player_anim[name] = nil + player_textures[name] = nil +end) + +-- Localize for better performance. +local player_set_animation = default.player_set_animation +local player_attached = default.player_attached + +-- Check each player and apply animations +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local model_name = player_model[name] + local model = model_name and models[model_name] + if model and not player_attached[name] then + local controls = player:get_player_control() + local walking = false + local animation_speed_mod = model.animation_speed or 30 + + -- Determine if the player is walking + if controls.up or controls.down or controls.left or controls.right then + walking = true + end + + -- Determine if the player is sneaking, and reduce animation speed if so + if controls.sneak then + animation_speed_mod = animation_speed_mod / 2 + end + + -- Apply animations based on what the player is doing + if player:get_hp() == 0 then + player_set_animation(player, "lay") + elseif walking then + if player_sneak[name] ~= controls.sneak then + player_anim[name] = nil + player_sneak[name] = controls.sneak + end + if controls.LMB then + player_set_animation(player, "walk_mine", animation_speed_mod) + else + player_set_animation(player, "walk", animation_speed_mod) + end + elseif controls.LMB then + player_set_animation(player, "mine") + else + player_set_animation(player, "stand", animation_speed_mod) + end + end + end +end) diff --git a/mods/default/schematics/acacia_tree.mts b/mods/default/schematics/acacia_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..4732ade3d9df99c4f543ad168dc090e551cfdee5 GIT binary patch literal 204 zcmeYb3HD`RVc=xoVBoB;x332Q24)84#LOZF(UjD*#L}D+tHk8Q)YOVOZztU4Yf#{Dn=1ZHu%;wys@gvT-A!jJ_b_hUtluNqvDdFQXx7;|?5iqI z3BR>bxcBXix_RbZj~j1ZFguwWwX>*Py)YOVOZzm-3H7IbnP310T>5E%?$z@9B#N2hyUt?T1xBr;- xU%TSbQdgVF(tK=EpIrhU-M)W+2CwlY!zJqTW*k3t*>?8)`O_mA<#y}H0RTx+Sp)z8 literal 0 HcmV?d00001 diff --git a/mods/default/schematics/apple_tree.mts b/mods/default/schematics/apple_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..ac09b46694037b0824dd4c0e3762d66d0fff1a76 GIT binary patch literal 163 zcmeYb3HD`RVPIw8U|_AUx333bAfGugvxtE&B{eOvG^fNWCpEDwwU~hi#xE&KO=aMP z@e&IPa#AbiBqt~c89ZuT!tBPT#+IgVELCpPPM?C<9g#f_mlbAgsJv1pU-)dIY~9D7 zKYxDYU|PQG&+kv)KYxDx`n4hpbAVyM7kg%_iTd&S{fpMw&1d<1qWpdU3q#oi&5Hmn CszL(* literal 0 HcmV?d00001 diff --git a/mods/default/schematics/apple_tree_from_sapling.mts b/mods/default/schematics/apple_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..5d35a1545f38836395782ea132c4fc582725b11f GIT binary patch literal 167 zcmeYb3HD`RVPIw8U|_AUx333bAfGugvxtE&B{eOvG^fNWCpEDwwU~hi#xE&KO=aMP z@e&IPa#AbiBqt~c89ZuT!tBPT#+IgVELCpPPM?C<9g#f_mlbAgsJv1pU-)dIY~9D7 zKYxDYU|PQGPetW|reD9RI1Vy|@QAEs_xzjQu(82qU(H^du3f)sgw816uXPq=UbXx3{kc0(&5=uV-LpU{1^|Vh~A5O-n4zDX~f{E=bLb&q+-z zOD$#)LKQ73N=>bplbo=CE1|{t($N*H3D1;nJFb$@N>G}8lq2QfnbfA+jqyCQqgM#} zUEvqc+S&Q-D1v=kpLD3^&)E?0J{f6D*ylh literal 0 HcmV?d00001 diff --git a/mods/default/schematics/aspen_tree_from_sapling.mts b/mods/default/schematics/aspen_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..b7ca161903056454f78f4672000947d2ebf60035 GIT binary patch literal 175 zcmeYb3HD`RVPIw8V_>bXx3{kc0(&5=uV-LpU{1^|Vh~A5O-n4zDX~f{E=bLb&q+-z zOD$#)LKQ73N=>bplbo=CE1|{t($N*H3D1;nJFb$@N>G}8lq2QfnbfA+jqyCQqgM#} zUEvqc+S&Q-=l6Ip22F`mf!-*;aR-%e}jwll-46 z|2u!Ia{dQxg@uuEHv|eNFVX)o_fkM`l2JF`txR{7Q_V%s@AO3mKYEgOrPHX_zcaOZ ku9tnTmbpaetfiKvVp}gIK3J)$U^4IDM_~(wP33OM0Q;_Q9RL6T literal 0 HcmV?d00001 diff --git a/mods/default/schematics/jungle_tree_from_sapling.mts b/mods/default/schematics/jungle_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..babaa45f7a11de1fc017b341cea0751974ce2ab4 GIT binary patch literal 246 zcmeYb3HD`RVPIttWMHj_0(&3;GZ~l}m=iOL7(`N1(-KQ_O02R<^U`xtb5aw_Qi~ac zP(@3MQd2ADyba>!JFLL5HRjCX3YNYPefu;IU*j)HGxVPJW}=c;a^^-JXjJr-*iyR;MnV gZ#GqWjZy1?bG<&(54Ls(8)W`E?*D-EIiu-g0L#vBY5)KL literal 0 HcmV?d00001 diff --git a/mods/default/schematics/large_cactus.mts b/mods/default/schematics/large_cactus.mts new file mode 100644 index 0000000000000000000000000000000000000000..b71077b3c5a0f397aade8d76cbe2f0a081d80b9f GIT binary patch literal 94 zcmeYb3HD`RVPIuoXJD*{00t%o=ETe*2ELTkw8YY!6079Iu=Eaw1mSn`I7bO-K mGw{PC3K9z{i%N?t<|HR1B%~xX9sK|QwPOP#6NAYzmR11jJR+O` literal 0 HcmV?d00001 diff --git a/mods/default/schematics/pine_tree.mts b/mods/default/schematics/pine_tree.mts new file mode 100644 index 0000000000000000000000000000000000000000..3a3fa7ad0e7f7c3bbd3282856d1985734b62d702 GIT binary patch literal 175 zcmeYb3HD`RVPIw8V_>bXx3{kc5@1x%z|6p$m|4Uil9HO1SejE}RgjsN8lRV%nv#=R z%piy&T2hpnS}`X%K|#{skmALrknWQ<;oQTm zCEG8U?>+MT`t#$$r;l=edM)|tv*fGSuR9+a8T>i!cZHdA!KMFSf9yyIexMfkPE4l3 P>Y)+W3I>L{ohG~h4u?sD literal 0 HcmV?d00001 diff --git a/mods/default/schematics/pine_tree_from_sapling.mts b/mods/default/schematics/pine_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..629c5da027a0c3d1532a867b611a27357499c0df GIT binary patch literal 172 zcmeYb3HD`RVPIw8V_>bXx3{kc5@1x%z|6p$m|4Uil9HO1SejE}RgjsN8lRV%nv#=R z%piy&T2hpnS}`X%K|#{skmALrknWQ<;oQTm zCEG8U?>+MT`t#$$r;l=edM)|tv*fGSuR9+a88k@#f2bo7$lsVy%ChrH5jUU1+yY6~ L5C#V2DSEvC-*7}5 literal 0 HcmV?d00001 diff --git a/mods/default/schematics/snowy_pine_tree_from_sapling.mts b/mods/default/schematics/snowy_pine_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..0692049adbe71447ee7aebb6c7178aa1d9935335 GIT binary patch literal 232 zcmeYb3HD`RVPIw8XJDP02|u zX5fK|7U$)cGYGS*|B& zYEPHV6kt$1(Uo~LseeHkf5-HMAKRif`&~=^d&O+txweqwvFW-?-QI=8lm?`VhVy)~ RQa7D^wcmUr^AAbuBmnEaWmo_J literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_break_glass.1.ogg b/mods/default/sounds/default_break_glass.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b1ccc5fab1ceba59a7774aa6c88d067348a7f430 GIT binary patch literal 11130 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_break_glass.2.ogg b/mods/default/sounds/default_break_glass.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b6cc9e85e2bd39521b4c04adda9d482d20fde87a GIT binary patch literal 16058 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 C21P{x literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_cool_lava.1.ogg b/mods/default/sounds/default_cool_lava.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..42506ddffa2cfa4d3177bf13ce1e49b6785ac4b8 GIT binary patch literal 9583 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

F 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 nW~$6=@x>`Ovb9>9M97n055 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_choppy.ogg b/mods/default/sounds/default_dig_choppy.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e2ecd8416aa9d4a65ba144c64ac9f71828dd1340 GIT binary patch literal 6794 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 E0d&OH{r~^~ literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_cracky.ogg b/mods/default/sounds/default_dig_cracky.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da1167916197f789d30afba2616269d41f6633e9 GIT binary patch literal 6628 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 ~Iz5Z@@f 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%0D^=0rFMwnN!%pO=}CE;R{#A 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 ObPsHr8u=KK4E_gswq@o3 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ef4d7b155c520618b5d19e8194c12dc9c7b68e30 GIT binary patch literal 6940 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 F{tps`kk|kK literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dirt_footstep.2.ogg b/mods/default/sounds/default_dirt_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2e23b8a2bd40fa71b4d3c3b40f2cb48e8ae42d77 GIT binary patch literal 7504 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_dug_node.2.ogg b/mods/default/sounds/default_dug_node.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9f209268ff377db99b55785e897b586742434f60 GIT binary patch literal 7863 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_glass_footstep.ogg b/mods/default/sounds/default_glass_footstep.ogg new file mode 100644 index 0000000000000000000000000000000000000000..191287a330b5df91982dc109bb75f4fb2a5085f1 GIT binary patch literal 7094 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 BN$LOq literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_grass_footstep.2.ogg b/mods/default/sounds/default_grass_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4ccd8a0f3afeec92946a52bb3cff1127c0dbbcb9 GIT binary patch literal 8759 zcmb_>c|4Te`~Qt>B@Lk=G>S4=GDHz!>{~G+1{Gspk~LfCN!fn=kt7ifBatGKfd?t%(%|Eu5+Dpy|3k*xm|W}Fox)%zn(Ejnnu^< zop7QPr1N$6v~lvH^5~A6?ui(-?ENjKyG)(=&qJL_2YQX)Ofn8x{r>m!kzr4d1Ynyv z-Ex$??CF4Tb+R#~X-DWFq@_?&D9{k1#yCf7AA7r-J`N6c-bkuGe(=$_q;^?d1EZvB z>uzHwia{b&eQce)o!oB%nvQW#xiDJIlnzpXAUGO!nvsl)RcPlH!t>_kpgWOm0_Z-W zd||Z+1&VAN9H&)h8-?z;+ZSg7Q6~`juNr#lNX%z=<-@Obdn_OTHH&cQ_FxqORIL1b zyk{(GkIU|fq{`jp(u(pZgaeAm52zw4<%X(__w1Di)Epul<5?z4<-#4klb_jy0 zcyMVw;?gVU?|LhIkmaB`Bk&T$0_3zG5VfO7X0i58StkSXMAPz4msB`)R)}|1EZ0lY zrfWlxp%GW>EiPu-JX;82xgi>re?E4`ES_YZ#T@palpYF&pnX7&O{<*CU`_bVSH(B$ z|8Lt{76C!fAELH!hQD3FBE-k5mWkoC+|PsN=TH+s_o@|>?tMhw7s2%#m#VS|1+6M= zO$4s)xc~-1)?DW!?zRcD2!+{jol^HGKmcl1*sRlkL6~Ly9t`~~Be1Iu%%DL5Yjb?i2J}5MH z2A~d_b}UhQKg~IDbPx;*%|9PCtquGUD`Fmh(kaQoKdI0^tte8ECITD-Pybq3BF{4X07Sb7KqAAf5~ zAV#;iS5+Hz%HaZqzbYl2og1x>m5{TIfS)9{^&`=7`DwcCai}O~B*~ZsSxh4Ip(w8wa~Xtgc_fK2ghm!? z;8oi*65{1gi4giRNK&<-t_zI;0?XNe+{&lxBthuM0>(RR47r-`1O;K+tJ9H@fYEg# z1I8SGB0E}FAdH}^E0ILNc4s8?t7?(%#bIYE)X6!K} zYWOVhvRZgmpb9KbqOMU~4R!@oDKLv95^Tgps#5?1sA3i(#baDWNF!(@d57|j5vQLR`FmW!FFw;%ZG-rII5JUnF#urAgVMmj=aJ@Rk1RDTDDh>pX2(DM2MdUtAS4V^dyemSw0_yu+21q6J zU>avM0~cQfC&a=EAz+v&)I5R^kJ05o>&r6L(5hh+vONEa+Lgk7dqBqWLW4(mc2BM}MMXw=?VJjMl; zgrUwQU|b|97+oZl(j&K~020gvV{l_Yfw|?aa2$YO2+XCxT@3!FaAZ*2`Okxb3|BqH zYrNVUmR<%7xy%)ur8rCkaMM{X*Va-h(l1Anx#$#tdoEdc% z5t7hOsl3r0-QX-T#-rxI zfkb71Q;Ev>`?z99(~*A0F`JfoCc{EJFSbQz`Z%CsI#L*sX*cd!f0Li1t1KNL-|sDLK?CWr@@RG!cv8Y zK$-yLK+IxYbc?IuxYFt&dg$e0ekgRmtC_$jqNDgznvG1*OBe*U1u?LLgYqQdF0J|$ zQ{kf;9){r~(fnF`R#zVQ6@%%_NH7Gh0 zS^!btYCxC=hp&D>jVItf2^zP04omIwx%7ab4r8LCe$-U!Jd*E#_*q*KD2^FYLA(ZM zk$gD8hI$cD13{NUMH{|{HrO1vHSFCGsEmK^1+o9Q;Xe-P1@-*&El>%c8rgdN@hFF8 z6=afGH+9Je0bbboeRRBuq1tReZi2GKmp+pP@P@qOp!x0Z4r-i5uzM5*h zM5`H&OtY3;4R<+6b%QHvC=KK`h+=&CP?{c?3q(v5R|~o3>ED=>R_g$AjW@Cl7_=kC=~G;*hf8msfRl)Nof=Tqe}#-{x>5GfRO{T zk_C807s>k6g)t&2zgV(s>aNV zDVGQ;qy)w6UXKz8HBd=`u>6r}P}NEAY)Y!<`SB~Xl1+`bl}5)t9gzE2uN5Wc>x!T} zfbdgdK8BadBP7|BmJjg3)^L0GXhYMPj{hkwu zYGyfs2Vdh}Z#BMyjMao+52J(XIM|_x1Dc!|2VPS?k7-u;@i>rsbPx*EY;YGL#sRQF zZU3)pX9lg3LeR^7)RRtZB+(pOZS>)t&b1BIkB1d(WTa;>r|mtDFFfLNF6aE*xBup! z^t4h2@j}oHkwCyo@S!_Zon#~05wpUr!pCuOfAs%R7>A0`=@h{27h){-?L*z?%ICxE zPsQwaek}hW7FC2g^$EjDVgiu^gAfQ|=q053iVc!FuL75cEwCVNIWjh1bB3|S7c zOVfR%JB~gLY3myjB)wHxIEc}RXlBWbXKSwyp7M6QN4x%oLZOGC&@lRl2z&do<|+CU zYPfs(Ez=Cb>bAl(0Tt*YxK0Yu9nVWmEqVIvWqaSq$Av$?L#!OUpjiF&(9=^d*VG>{ z;4((P_scR=mNo=Ye_2wwb#lfe~5D=Ie6X$a`H1KwCfL~B> z@Ew2O83mq^*V8Zrl()Uw)UctHIM}nHBKt-C;QKH&X|FnrlNPwdDX!vlZGXLbFT#Od{?GueVbz_$(KZb|qzwP=87_fi+ zz4W#*+u>;7(p9mor)?|oa=&QQF+@+aR~oa^i>^kver?DNXiv;Hw?=fS4Gmd33Nu$)dcs zrrDVCwW1Ic2VPB+wQld%9Vc6>4107G${bRM?YV0%<)P%Sy0|Yc3$OOb#mC|m-)dJ_6Sufsde#rdd^789g{bMnUasTit zBR;4;T;lkxxX>>}6RA>nrN%XpHoCLo`Scf;`==7?y*55vaF+{@3BnaEUH#Knq3XrX z2>;g({eJ9&G5)P5VvNRt2iLVPM0Z z6lxR((^R@I8DyR#dUfS~Kxys^@fxf70r^a|VgI-K_QubPq1;4zTP|^xB8KM?^D9xy zyv7`Fe5aV5o^Wc<1{~XNx_H6LIYKB_vuSJ>u8wXD)Ynpm{s_yK3mPL3{WTSpj|DJX z)S2yPR@wJTjGGR^iyEunm$AR#UyGZ0?Kz~j*_q*@`h0%CTKl#WQ4qGlWLL{)w`9w! zp8ZRwbqxDn%4_F^s@Z|D1}2F&ag((rhghzsKCOXr^FkC}OE#wsGdwuBR&cu`DfVY2 zQ(*Rqxd)XL4wdp-eZATc4=afS-iPoAbO(kK;nwQpo}=cev5$>dG`YAwD3_U6uJj`6 zRxTsM&V*kY)NGO3#I4_*`}$RTltWM{S76{qrA+Uk@neCz5)HOFDzk;t5pI}#xTeGb zdbRttWdUmAN6}As$Q^NkW&LZ?MY_?WI?cB(3yk?rt>3(vpc6oL)W5zOKRP875V9o+ zSq@L}apNp`LYZEwycEPvx(Jw>E=8}1z4s8hs9YeWBwmxsx)qmoz3}(s(g*Vn?}83& zxWm_SCX?Tx4k2$Yd`Jx%JB+z)_vDLW>&fM17c)rz%}Y%Bv>-j4zFi#38^&_HG0iW? zo_Wf)AR$o*JyeVkpzWpur>f2}1&5=8d~cdmmdWDxzHHL>Z4p3;`z<0 zce_~Gk^L-T(j>huP^&aT4#D+A$KRPG?ft{vrR!vPJ9o9Sj>YJ9?(&)?cbSGK;Kt)Z-b!UXl{*bjf6GnXh?sN8~cI zKe296Y*1mhYkZ>r>x7Yihk!eqyJH9<#mWNDe8;3asNwBMLoo$glzSNBGJ@a2b7(`T z9)|G>9ztsMm2+EpMonfG`Ja*lru;*^emzZd4DLyK(oGI{#W>(lIykO)wQpg`@FG_W ze9+Uj1NQb<&iAhZl8zoxHc?6~y&!4doUo(h3acHt8gsRdck`QV$mO%|JqjM5 zVg7Nq{9#MF%dJ{QaT6Xo`51QV?H@hPgsfX*SqzzpGhYgZMjmTK-E8x;^g2hVHx5x~ zFgfZXxV3g|2)0|o>~B4}mU4x^onhO)r?w`4`tk6Shh1HFjkYA$X(b^hJh{L^`Pb~9XG#^A@ZpA`Ma%U&fV zl1~?Qzq-`2Uvn8&uGmz2=>3g#{-&qp*uL?zh$R0zUl*;;YJp#zk59wyzPCP6Cyog2NsY|gEB+XHeG)sOeGQxCY6-f zi|ahE{SG+lJVSVO{?PPu2KCENwY>4E&`DUq4guB3`>^AsukY1&0y+8@>J=1XVzRsS!upkae4RY`wN+OOj{f@6DJ;g8d)%wZ{vh=|YJq zyp_RvO`AjKDjJ{kPj;P@e{!b#yQ3JxMBV`{rLl#MUv_?59T#>R8HU4ay4rX1vA#P$ ztxfSEQ;Quob~2giLEn8e=PoNMJ}k6@zcat)WB7q>lrl}L zy-&o5y=8b9{6k@VO(f#Y==MWptb4Ngt85#COr1qk)(o2!Bw$j!QlJ((qky&qw}*HH%NWm zbMxy5$oBncm4#&gu;r-31)Y_8NKBGsAKC1 zo#FyjzgtFSubJ+f&`wMR*w|e$qKAybPrl~Ol0 zpO}$ehz-&9^n!hIy;%Z(N_7848~a(hU!v8aOwg^__u>2Lpi*##p2!Sxj;Qy&ckznC zn*aK@dzQ>BIgvXEw~4WOCeG!+^HM?9bz9$CT=V~=)tuEWuteY|3m&1QoOBa68OgvS6RNfq#&=S5T1~It){;G9VJ`N*}Pd(>@Ooa z1^s!&Z}AWb+ihpY4@!R?eSh?5xZF)!1M%~ZcKa{w>kiB2I8qxeQdB|U&$%~b)NteN zl61?+zWI;zP}Xe);}8hjY%3!7O8kJ8kkkoHNA7zaW+}FGK-}DKHMyN~K@&;birfNT|@=sY#_pUoemouA87V;xfrgNz~BJ6}r;zHV>NVf?e>d*)^4 zG0KcshYMFIaTcQkVuyLtU9RT7RKHnSo)Q7Is$oor8bOtuJP|MOq8+ z-9C!uzmSz20N!^fmf{XWH`F-_9Jy^b;g4$MJti-(M{+;f%9V^z5)xqNU621K=M(9!w`cQX>s&Wf9W9ih_5t#B z=Qe+gMov27MH43U%xBllAHO(eay_K#%SCkh>cIH&zShC>snWIN!B6&!1%~$JPD?*VS*>El744xSMbWiaRQIzWqLPz3!{P z;Im>6i;!ZOlc~Pn2Er>SK+sj`_~b>hW+!0Jx=P!Hho(0x%TO%^gela1mVIVS<7*VpKf?+5rt4XaGV zI!c?14Q6lsnqG8hxOVqLk=Nty)8V_PT+RXY}eQ_I^;G{(L45{Qh@e~Vqc8ve_l~A0J0meT*VyVd)qT8 z;1I}y`M>f$?NR}FXJjg*$q{+0;Y0A_6GzY4FXjpL$Cp;EYYd%V8+3KlYc?Bszj9#A z^+I``zC9(6TuF$Zc5hj+A4}$FTX+~UHven#s(XVCJYe!wmu~dTj_P8{XFj=~hbLZp z!tGx2dM5myD_j*n>@JU?1Fo21gwz)f-yj?hbF}Nc0SURb>*iY=;G8~!h7u`l~hRTc1}$imP8dv3j??FZq*5 zZ!7LmllfYg$3=?87eQmJ^-gxFzdI5ybh>QPsy8e~WG5A->3(YBsbDU%jmBp61C~6d zrrK>Z(@Two!w9&Mx{=-fNY*0yKgsQ%r}TO(cq}q6-#u)bkR<3fIBp;m?Q_b~@(zxrJApu6Jhla8I?|$7`2-*@`>_hD+s_*)VHYNNj$GPD`5~KpX>4L+5h<|s1_+L^Z I-jMEp0J9O8F#rGn literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_grass_footstep.3.ogg b/mods/default/sounds/default_grass_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..20db84eda39a89f8a13b4bdd074fad02df71e6d9 GIT binary patch literal 8473 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 YFRzZzCaO)&NRS0q7B`w+2-?8@A2MjEo&W#< literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.2.ogg b/mods/default/sounds/default_gravel_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2aba2c652513a7017a9183bf5aa4c67c9602d110 GIT binary patch literal 10136 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.3.ogg b/mods/default/sounds/default_gravel_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1bcd8a117c160a239793c3c8a9ec5c6d4efe65c5 GIT binary patch literal 8086 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 Q6<>30Hp~bVt@i`}5AbL#`2YX_ literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_gravel_footstep.4.ogg b/mods/default/sounds/default_gravel_footstep.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..696c9ffd2d4493661cab39edc4e60d5cc271a086 GIT binary patch literal 9017 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 o32F8O99>=G)|R8b;`;t9bHHcKlt2L? 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 F`M=e90aXA1 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_hard_footstep.2.ogg b/mods/default/sounds/default_hard_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fe39fd784baef06f360e7d6d37c8ccf113574b70 GIT binary patch literal 4922 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_item_smoke.ogg b/mods/default/sounds/default_item_smoke.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e1c84078650aa03625017c458ceacce324422deb GIT binary patch literal 11917 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node.1.ogg b/mods/default/sounds/default_place_node.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..46b9756de3ecbd38d07d1c4dac5aa59ce23faa10 GIT binary patch literal 8584 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�ExX{xV{!^& zF3=%{GaR`XvBE$X!=XSps{ca0-ZT4c=erQ!$6@n*e;)ehx?CNZlmC6?l5E#klZLlQ zudSNo*+cM?UM2Wzt}}g@=SphM-4QBJ5*3~Yzk2mM;*3_F&vE^m>3l{>0m2GJ!}y0w zi*G+|u};n#ES)s+=Jwy^XM)a!_l$q91F*k4Ri%swnUp;&w2ND@ISEF4!M-Y2} z`&vK`no?Tsk>A_6MvJgV+3j5UfkJq-Ai3P!rl}HU8KEEYt~z8 z3OV4S)#+4519dRyS8`r)6|f_pvT)iXxMb|B(_a?nD~*pI$!#CL6ZRp;=mn$5l{6ix z_#w014hNhCHU(YQmHhD671~Dst^C-}&G?`&DZR|f<_l;U_}D^xO%fr5j8AA1{vG_J z1LxMoIUSU3z;W43RLA?W4b66HudF)Wx4)}rh(&XY9Hm*nrLH_qFWm5Q$PPcpM2a9k zHs|_smF2_ivCOMCna0pYxu-ebks~fXRX<8dks5K5zHt9wVXdWhuuDy^C(Ha-SL3UM zuYaw9{4^qL9(D!<5W}T#j=EQJRaja}w<`8jT)I!9%m9yWqexzU*p^zu;kk^Zr4HKQ z8OyGeFs_wyYsyIO59ij!S%rtr@w3mxEmYhiU&TB;sUyyC{#I%iFY&C2rrWJ_TFD2? z27fWlZFFsOfn+D)=*jaxwW|V|bvW|H-<$RcaNss^{cBR&EzDy+Ey8bv9Gi=9=j#gA zRve#l3ew7N4KX$J?YfNd5+x`6Bflz(0@?3PJ zkzrwT2JzsM(@ApqZt?{tfpSt6+EvYi`G?8Xd$>>E-?C+tuiqEX&VWCXUKN~lNN87@ zK5JYn8H7&|74?#;xh0H$qxZNMzidZVTd{N9`1!E*z0exFdD5*Oj(edIpDsMK9i5t5 zb~7~NAF8i)*ctrug?RDHMw+a?zyo1>#pa8&W!iURi|eEwdI59}`9Q#h`p!(Wy0Lke zd!BdeGGyUwxaFL^Ne4RQb5{>c{w!?%v(fX_@^ZzdL+GE5&Gu^#_!lmI#%6sUS{IK! zSr>k~5&xc}BY(5k7618&bjDzD)z`~WH`O~WO($n5CJtB{qwVhI)=nXH3d@cPL+C}D z!MCnEi=Vk}mxtT+Ed*W`Ev&R`SgDPfd>+i literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node.2.ogg b/mods/default/sounds/default_place_node.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d34c01a4329a28a8a4c54f54d004abbe688b8ffd GIT binary patch literal 8644 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%0Ac5{y^&ASwSk*bM_0^-l@Ok z>%sXtDRMcME&1!mYW@+@>cuFy*nEgl!RL(^Z#8bg7bKIPBdD9c=}(YYn@H~7Bf;mR z&5NL7iPgR#>mh6{tz)u!aCmL|8vh?QC6P0?QMXUl+DY-5B0Y{FOToe?Yy3(_PD}0X!Y*F*w5fvnXGWpL&Btz z-i>FokCGVBvDTAJ2NL~$Mg`T3(t#x8LKdXgEtnE&UNvuf6s+I2GAJ!`#Y^=J@=f%+ zsO;eAYgqguLB~mOUS;Dz@g|Bo4LO|hbGhL(p~{%{;8Z<6#`QA$vO?4JRpI;nyrw>#km( z{5^IOWMp;SrF%)6t95@X)II=8{P0@3idE)l+~sL$-3hMb7@i8UY}LWuKca?BM7ly1 z`;Fb1OL3w|o9edMtWoE6%qa1bUqLCm&Uyt*yCatUNMJa=pwb&-_;hafP<-_d((ry= v^zA8Wp#R!agYk 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_place_node_hard.2.ogg b/mods/default/sounds/default_place_node_hard.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1d3b3de2c78ba8d796f5178313ba273c26209943 GIT binary patch literal 5623 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_snow_footstep.2.ogg b/mods/default/sounds/default_snow_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4aac1e7fa68cf981323e86e70b4e8aa8021d7d3d GIT binary patch literal 7364 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 M=KF^$2pop~2f=^A1poj5 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_snow_footstep.3.ogg b/mods/default/sounds/default_snow_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cf4235b7b5192ae1fb52fd44f3dece78d2541971 GIT binary patch literal 8245 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 QVHV$}AJ5xXZF=DU0p!ntqW}N^ literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_wood_footstep.1.ogg b/mods/default/sounds/default_wood_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..34f63a17c83df7f420835b445ea611386f6a9f08 GIT binary patch literal 5967 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 literal 0 HcmV?d00001 diff --git a/mods/default/sounds/default_wood_footstep.2.ogg b/mods/default/sounds/default_wood_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..124fc297c8917fd5bd8264947f536b9f74210624 GIT binary patch literal 5772 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 BpVa^W literal 0 HcmV?d00001 diff --git a/mods/default/textures/bubble.png b/mods/default/textures/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..100fe15fa91a1d7450cb0f40a2aafca8b2f0f0ce GIT binary patch literal 459 zcmV;+0W|)JP)ert@A;z2>&@r($>a0M)cVHG{Kn1wxxN0hxBjuS{_ghnN^qkcAR&p1 zj>+Wpy4&xv)a&Z>`Q`BUbC$^L_4s(6%D=+@yutmu)9~{5`BrzQm!+?ut+980hx+{f z8y+C(@Aw!P82|tO(CYTq>-4VD?TonJ@cH}h_WQu$^rN%E_xt_e^7_c+^tjyfu+{Lz z-tXk>?z_|NuFveI&g`(*>#5P}v(V|3z39fz(weQk{=f*)0000dbW%=J0Dp%rE*Jdw z@4Bz5mywNPIw2MJ_x0i7&bzFfoQZH)PC_mm77_>C7QAl&005IoL_t&-(~XVA7Q!$T z1(Oi!El}K@SOs_a|Gy$h+rx%MXE*cSIT!pV#27EapVzvS8=_Y)yw73}`F0|v`JHVc zAp{Po&_C5q45dn(!$5_~$;%uDCSR%WK+-kly`jR*&jV^w6_!^!bK>sL8z31UN7{+C zn*crYk9~H|tEntkW*K_6NEa1lQsdBrWFsAHg%3#3C+43~h5bNy$g(`(bsO_HCZc z-(8D-Dl66?l&%KZ`}=78TL`pe^&H)hJ)4vl+c=$ci+Z%HuC=n?Gsb#6-)a@t(5dHg zcC#h&@C3OBw}{8%?5o-7Jyj28cvNG!vW5?`mcZx`nvpdS&vGGBEhuuBcaE_)dy=K5 zpEfCy7tiI?T7=jGrbl*5{^!->%i^4?Uf*?ecp%B&pq_-_UOZGi1P{JOJybj#il-Ui u@#0|`Egj&I_#cYLkzqI_PT{kom(UenzU{bDP0=(k*IP57u+Bm0m%&=!f9yTu(E`d ziq1L7nlvn0788E6D{E%`=FcB>KjsMV^fnPrD$2}CqFBz10Ca0(U5&dtX}=L5&9VDk zOB^YlUzKg@UH~@L0{;Z~TvakkKRAx38T(z!VT%-HW&tEo0B4FJG5}4W{jLQdjuiLE ziZZi0jueupQ$x>T%jxz0;(_rr!zXKMgCy#jAT-IDH$=9a85!}w1?$&)VSSUhBkktt z*2ZqC#my#vm1&N3H2U!+qp8i6VLooSO5YFt``upsZOAY`FTNjV54yFnu4srL9MNS$ z56$ZW6^6!FHE#t#7iDIvc`IS0UBQsj9P84n-G{>#x#jeKYt?=VZ#f;xPp|gZYo=*39kz0000CHpIZX;h`|j0S*NUspZZe7`b&YyDy=YI~pCvE66Yh%O2Hyj^}xBl)wo9a@{D8{VP z%6Nu*;^(jbo~Nozn8tTO^k7Vbzp?TiU4Eb;)_C#QaYseSe5kLJ6g7?zz$d&nHSBmn4t22WQ%mvv4FO#s8{k+1*& literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_acacia_tree.png b/mods/default/textures/default_acacia_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..169823d41612d29e16c7faa44baae5d51b842de3 GIT binary patch literal 682 zcmV;b0#*HqP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^n? z2^1XGbQyO500JsWL_t(I%Po^jj@(ELL?4+SWvZ%e_(Zdt?cDzk#sEfFNy;DTg=$9- zAQ=&ikpKSu$2CN1t!RjplF2EvY?1QD|G$6p^Vd&auY*zwL50`rK*V{!->3mGXL_HQ zP0Wlj2aXeia=c&Ul!-ACLI6?bnurQ4LscL~MWcc!tu@A6m>K4VnbCV^uZ6W1$9Vv- z<^lmll$au_O3;A2v({qGg*l{{Xst2lWQ~ED0elXC3eFspQVPo!b4+54_t5Cn=NHHO zAcVlxE*vL?z!(bvb$7;GhzM&f93iJjyG}+Q)V+czSL@8y*-PQ-9b5BWfG9}=DF&|N zz};_ds+{LZ*)oDtw#?$DH+n-wQ9#8VjY_*3W)ruChR9YQxH~R#i)K#B+oxVETNvDL zOet|37h9?H-ocF&!>4~RTPNqtUJI=c9?vh_*9QTPi*vkQl)9q|=FrZ@^ZDdF-;6l` zh$%Dsq}EEz$vWl2W)uRNy>L%D(gc z{mt|1$#GnS7{FoMD*)GZ0pRXj=RvI%$I)fZ`F^uMc6#fyF;L+)&RlG@^7!$^abBd9 zsC#A1MQPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^n? z2_zerR=Otu00LV{L_t(I%YBo}iW5N;hQF$=PSWl4WG)@eOmsjL2Nm3lYu`iNxYC_2 zUAS_od%*{BA-EPC5EK;^FE~otOkyW}tLiEjne>b!cs6zTDGulS7jgUMHOHY!h6w<1 zFK+rpEwH#3H<$vrfBk9$m@Gww5hhFLACB~g>)w;6^8o;_Zarjh`2>2VsejK99Ur;e z!B&=*uL!KeEO$_+HhKH(4Hxg;AQ>hH1GcX8nGQ2X-^U#51_)hIeH^2F&|#aI-@;2u zg1W=G3u~AxCGN$jWSC&Gl-lzdeHs&QA4jb%gO#vlP^&A5c7P`Z*1`1UYrK9)H;m>R z#JzZaTTxLffi;Hln=h=KJ&FD~L1!h(DokAwZfzojXt)9nHgMW8nK{~{jJy&=!Y8=2 zjSzz3*9iT2f|*SbN`SPeFe2{7$OQ*_lG0ljbT_+%fXORZ+vH4p-NWvDAVPAq0g1V+^_0*xXW%9OFW==X}ohBu;Cx zso|KJo2v1F3L~sB7;CAslC41pTT7OfBtc!X=^RRVqCQFf%f{nNk4?>^g3!i{96STMm$O!Ra#M1mO%vl4g{Vf#L``DbLvc& zR(~1i94~f8P4F5kKX`oSpCC1f+s78~U_Vq1iT9p7{cn^H$M|TR{{S1^LDaALQ)vJI N002ovPDHLkV1hvjGz99K){rdHk(p>FJJmvd zx|8-yC+#^-TAMxe_xc*|@He{o`^IIUV$K4O$YKTtZeb8+WSBKa0w~B{;_2(kexIF@ zSI%%ny6{Y(P`RgzV+hA}*VBf4hYSQF)MR}@U(cg^fS>L6d>usinyy zMH%sMh6Ah&t63NpurN$!X6R&QIHRi}oy2gTouP!0A&rqCk&z*cfx(M`!JdKPiIdH8 zQ{%gO8vAuL4hZp17vL53V=!i5IAA9l3N)IrB*-tA!Qt7BG$1F))5S4F;_})P+Zh`S zco-a2o;MiJ{QG>#j72) ufenH#tPB~Fj(uDguki)1e4F+qnV-X(Y1`r0BiDeYGkCiCxvX6QJkpf{zalHKgb?9R@-GslZHOI6V4>U?p|;dvebsJ(qyjavlqxpd~b z0GwQTPNUf2%Gw|Ym|2|EqF*3MGrnHGBLEISE*@L;9kMK9e&q!P_H3(A?7M zbTM9mm)<<00K@Ia7bdg-xW){(A3ynoW_eDv60-5h&+_WKlbTqUb`((!OJpj@?DErU zGoM~uCrLAWuYmD=zB+eXW|xm@GwNZJoJ#0Xt?Z>8HOaIZj~Vms)2i<*C(a?Q~&d?Yba>D;ZZW{Q9>;0#I9;)V|G$0>mym43y zqHI3&-9NoBY`pRpS$UrGT% ryHf5ta(4NMzWmlxdTjon@;~?!-@`}`k9r=l00000NkvXXu0mjfvp{<5 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_aspen_sapling.png b/mods/default/textures/default_aspen_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d9136a0b5c0397e3feb54f1abce3e44e75ec47 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU}X1naSX9Iot$uh$t(Qk|8xZ* zgGAw)PhXXtzayQ5*pPOs&FM9vUqwQFRQ?(1cez>s0^ MboFyt=akR{08U_&&Hw-a literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_aspen_tree.png b/mods/default/textures/default_aspen_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..933b9cad5eee86718a3c916251725c6324ac5824 GIT binary patch literal 695 zcmV;o0!aOdP)Pr9mrKsMQmSp+JkJM%K~+^+>o|^sAXu$d2q9}NA*A2$7e(Q4&NrJ4gs?2j z@9*#D=jWzr;y89)*BH|@jpupRS^$8Q5&!@nA0MMA!WbK4T-U9t%JaOYX^b(9F+xb! zby7;-_wzg_gdoP)Y&O$c0|2($ZQHh-b89Wexa&Hl6vh|;ptYuy{`~wPYwi2{`_G~Jiy6hQkLb($w{x*n@*?K*VkbfYOM(&JF2_8 zyTxLWrs?VFX_6%H_VyMbG@VY5kB@gG2%#iNthGl+N5+_4m43f(jJdhFfuEnBd7cl4 z!>Xzr$H}rR2m%PGZ zthHenc3r2n?z)arikqfs+qNvrD2jF|eBTEED5ZSguj{(1DhMGVq;1>PYUM;xB!s{i zd!FaIE&w3UbEQ-mhFO*sMS&3N^?ICh0KjN8LKhbo|Ni}R9H*{p&+{OJ>-GBJ;9x$V zzrMaoDa*2?lmkH=%zb@%r6>bg$T z^y%pdo}HaB#s-4{A>{J%^8EaKI2?{fBT8wOWe~!us)P_PFE5M5;`jF#-rwJ2j1LbF zqbMST2q7SZl+xV~=bR8y*EM4dLO7q#;c~f@QfjSt_MGz|2$WLB7)mLn)N!2cb{j=aKk133K*L}%P*&?qHS0i}wP8c;MhU(cV{%ZK0U z+n-ekp}YLv{qSv^U)IM_cL$8LZ&y)C(o&$5x?=d;bkc6UFh*HxuR;heVF~?r-&5EC zK)=eWGDT?t0szA0UyWatQr2Zr^E@{Pn+u2aT5pYezP7^+I~OAfluWVidH~3I2LaYv zrL_*hmsET?G%iQa2Bki|5g@W(;=U>h*eHR85(y%lrb!A>m@9aZO;!@K56eG)r};|G zF%b&j5HkUaB7{)GFx1#*XwZHGB?IQ@){@Kh(`dS?qyzwzqRs_nHLt6x>w24?TbUJY z0$OrOexdcDZV`!@kvT_Z%%%K)z;PUd3#BlpltL<;*l%%OKYf^hBPxVU*(KD9GdE46 z&gb(o)c}PkXqM)tV?ZU~WElXo7QyXp-$Je=hH0AAIF2efQ@zD=`~3Kqs^z*LS_}e9 zVUhK*!nHY{fXU6*{J93HJO9@VOr!-%;iaw6-g|?^T(R;6!Wl>7CZ5ygzjJ1kr+qMAE qG>x(L@$qpOhW+X3csvpjGyeza5{5fc{>$(H0000KP)a(Q6^WAQ`lC-7wi&FU}meApBRSr#+|tcUpRR zegexEy<{we#DTo8%EBFHq*>2NL?8gLX4|9#g0DFw5dr(9)K?<_nKgPi0sU#;)Yc9F zMT!GKkpiHvW*`Y)#BmH?@LqF6r1%U6GSseraZ`MKa%#8RLG%eA3UM##AOVnelV-*+ z17OZG%pM+bPTp5#z78P(khxv5#g^}=C{k=f0#J$OY+c3aYM}k z{PomC1A?zV-rpE6vqlc|n(iaz`R+U!Y-V0Xjcf>2c}O!!E2JRi&LC TFEZ)J00000NkvXXu0mjfULl|; literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_book.png b/mods/default/textures/default_book.png new file mode 100644 index 0000000000000000000000000000000000000000..15af2b699894ac23e1f8121870a879bd44128b7d GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!VDzU8V$b#Da8Pv5LX~=tI1v#zX8XFe^CPS|_w3zNea52>sEDy7$S;_|;n|HeAScYz#W95Adh!827S;t@ zCMorl2{Byu>Qi!1bW>Gz6?If)WOGzkRaI1VWn^2Z>E&SgkcCarTU{Y{)`0^OI!sH1 v8*i!b95e}t-W;lUB&E=RSBUBI3AKW1tnLUj_8yGxY{an^LB{Ts5(yKbB literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_book_written.png b/mods/default/textures/default_book_written.png new file mode 100644 index 0000000000000000000000000000000000000000..d843e5f6d7c7cc0a7a0740aed086390f33713d7e GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRt!VDzU8V$b#Dct~{5LX~=r@>Yh!0T_wQ4_>< z`TF_2ySHuGvSR9l+S@m-tXn&O?#%WGYtHv?Ud))(`Ssg7R-gvPk|4ie28U-i(tw;) zPZ!4!j_b(>_*hsMY?-9gk;HPzk4a(Q#tDl%lmZ+)E7o-_n8eV$VDhYwDypuGYzvjW z&hyB+N=vjP%@OH!JuEFD;q5BZdQ`gc))FSy)`MzBdc4AIGj#R_3M8>FX1GwIlAXxF Y@W+}@MPN@vC(uF$Pgg&ebxsLQ07*AZ#Q*>R literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_bookshelf.png b/mods/default/textures/default_bookshelf.png new file mode 100644 index 0000000000000000000000000000000000000000..10d648373e3538e98343596b056fa9ed2647433a GIT binary patch literal 471 zcmV;|0Vw{7P)Gj&-lXizF*ODJKbAw_W< z@6!M{UX+!Xk|0WleSdij9W|GSB~?Kqj~5q$QUk=T0ABzAM*sjXNNjLdFq>>2esdl$ zDIBgG95q`KH&_vmS_39a16Vf!88QL3oB(=h0EYkoTL1u^QpIlo007TPL_t&-(@oCD znu8!1h2h_bfuIxxY_Z4mI=z?szp8=BChzh*XYm2|JdsbG+;brI5ke{REo8+Y{HG(W zq8T^|?Z7)99_rK$WFX`PgD8HEcPX1eqLo(fQ;3VhTUJGMEX`<)jDcT%Kej0Yx!Fm% zdlb+IlUqHsxh)9py(=ti2hqs4T*rL1hwe0}WnH)qrpgdQ5E8x2p6y_&#XM}G`66mv zpKZq&k#fahe;V{UD=0NIvX2S0-;2*|dx1nI>^0nQXfW=Ae?7*y;eX?Y5+#@@U84X1 N002ovPDHLkV1l3&t#beX literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_brick.png b/mods/default/textures/default_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1912105d95dabb4bfdf70ab52ae039989a9e34 GIT binary patch literal 351 zcmV-l0igbgP)9%L98wYsvXtD|%wAz2m{yui4RlZ;>)8I+fh`OGSo0002GNkl2 zvzI_UgJq}Jn=RK;fSgA{x(EKNfqDB>g|`3z002ovPDHLkV1f@MkO2Sy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_bronze_block.png b/mods/default/textures/default_bronze_block.png new file mode 100644 index 0000000000000000000000000000000000000000..1d0c9d5a2c704b8c6ecc7ba231d844387686f16f GIT binary patch literal 356 zcmV-q0h|7bP)Iokp&@HShHh%AU>D~8|InOvL+CbI8pN=6^bBRDUpNo{tpqb^+5t9Ddo#h z+bOokobIgNr@liOi4CUOYC6@WLAk>syKcI{5!MDKg0qJ)UK)9Yi1z)R^mAC3bq*Kf z7SAlhdf#E`SGXdI#_RhhYnT@=3mP-47Flumiu?oE6AOMSi1hFP0000<6ZA3{4|O4WQ6dq zX5(MgYQLxZ&UY8w6(q98Q|M_K=kJB_)0_nAEcj;oD>k~wKdt7>HhdHV)X7*9vb302ERH8dv}aE&wik02NLE5JmtFKmZk2 z01-+6FoOUKH~_w~q68lR?E1S&00023NklID@LDA`V@wzW+!bdNKu@P@9&@r-S zms#R{;k;aWC_<$eP5@nsBEP2C+QyM0);VZ*k(wtS8YGzEF$GyMD0eA@Vxv7OR+JFo z8M{xE15h(C2BQf)7mi9_q2RV}`=$@LB7ZhZ{Rh@6?Pj$$=Btgr50WVc&n0Fz_W%F@ M07*qoM6N<$f;sYRY5)KL literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_cactus_top.png b/mods/default/textures/default_cactus_top.png new file mode 100644 index 0000000000000000000000000000000000000000..cf46aa2d88e63ea8a6190d2428c7c52bbc3929e7 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZRZ3>iE@x29V$i8#&?sV1 z&1E>gXPrS4gM2)LUM+)iI)iK!gJd9sm=^=D8N<_#n+t&&XL`CghHzX@-k}f|mzg=` z;^6|Nf~vwrolMNm#}*wp+0+);$m63uNyjy2YLjFPa~aDn-5{?Nj^fnh&;(wtv;-l( z8+QdBJv%ocOSAObw#^-u&5IT~=ap^fv^?x%*lN2y^v)T{Q>_wWDmq+@Ml!o(VwoaZ zCAmx|oza#R5|LP9HRFi3@9yn}1t}{%XYDAupKP&E$s%&C@^eXs6U>?$&az1K0v*ZV M>FVdQ&MBb@0OZJ5sQ>@~ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_front.png b/mods/default/textures/default_chest_front.png new file mode 100644 index 0000000000000000000000000000000000000000..85227d8fd636ace9592070a2f7e86df531dc03a8 GIT binary patch literal 423 zcmV;Y0a*TtP)i&K4LJ(h4fd|)}Lf=h&H zLXT)Oby_pmu656)Y`~XZu7*#Kb4!G4MT>1goOVBpWiV}2FKSRK-QC@|u%qC!dc~Y& zzLs61d_{+CM1p2Nz__cUqocE{p6j=Mc6N54fmoDxPm^{|mw8KwZcBJ!K5tn$lWaGU zYBh#mEPz=jWJ@J{RU=tkP^|y}0JKR&K~xyiWzI#i!!Qs<(JxtGvCM3T^TSO0-&i_h z-{GmQuJfE_l-{oE`T}5=5$C4V3&q&H0!WvEqLgLXY__8{K&+!MG8kioLN@@6 zN>kDk@*aBGOD_RVl&R|knQ6>5Cjg{HdNti|CKb)I1AvErQM3I&FVvh>0Bdbfh?>Um zAmA$iTLe&1C`R-A2rxJ}fDLU}me>LiC%WV=gmA9K@ef4uc|E)2k#quJ)ECCe4HTG& R7=Qo(002ovPDHLkV1m!~wG03N literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_lock.png b/mods/default/textures/default_chest_lock.png new file mode 100644 index 0000000000000000000000000000000000000000..73f46c7864e7878d4724cc166d9035291eee845f GIT binary patch literal 469 zcmV;`0V@89P)3qathbYJkPalU4KY$ zo(v(wjJkwUVo50a8i}pw7PnfbP?unvz=vBQjzdT%^Y5WrZN2=?)vE9Nn^kk4O+BxW z&T6L^bts{$4D~S)P}eN%+kNse%wn2hF{)00000 LNkvXXu0mjfS`O4= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_side.png b/mods/default/textures/default_chest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..44a65a43d3c3f2ba44bceb519a0696e1ba441800 GIT binary patch literal 375 zcmV--0f_#IP)n`5knO{RcJoOVB!a5-&MFKSRK;In$zuXoa@aHD)h zf@VK%ST=rFCF{3-pn+J3ZcC(oM}}W4WJ@JsV)uan0065=L_t&-(`C+A5`!=dMbXH@ z-MB%3P}BSV*B6mr?&lfJ= zdsUum4#6X1C?EZJP^f8bSOa-|wF`=iC+qn|{rj V3gJ4$MZo|7002ovPDHLkV1iD9pBn%G literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_chest_top.png b/mods/default/textures/default_chest_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a5cb594f4ee6ef23813aeb68ddd38a472c4801 GIT binary patch literal 422 zcmV;X0a^ZuP)nsh*fXFYILEX|{8#G7NJgI1=1NtAU-k#a-k;In$zuXoa@aJiCM zwU1VxfK#S~QIT*zdtp40Y&wEtIDB0)iDE8wS1oK%C}&9`>$iThkYbm5Q>TGSifA}x zPAvL-GKl~H0KZ8@K~xyiWzRpvO*Xn4gj!}X-yqMA^g3&c<+Tw>6G+$>&I~@9(`XF=Y0PBA6xtl!axw*Esw!*@~va+(l!NIt=xTK_{sHmvS%*@Eh$i&3N9SV2v0001+ zNklQneCT(_OnzR01!p!S#hAKXaI2**M1dng@^z_;hCoe(Hk)UDB-0s zS`JHi07B=R<6C?RM7CPfjtEQ3=s0CA8(!D0&pnE;VmlL{0AH*o+DMLR=egdl?v Wr7hHDcZtFP0000yn8%OcrEo^<6z1>O+tM>V@Z%-FoVOh8)-m}gQtsQ2*>qg1wjKYF7AemG{L0?t^&>~p{Aak zDk@@2mMmdP;?T5|l9Fn;V#UeE+2k^VwN<9|;H_3xUe*t@_!-i7vM!ZeaO(`vECx?k KKbLh*2~7ak0y8N9 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_cloud.png b/mods/default/textures/default_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..faf0ec13de983c2e28528138705425868155b239 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;M1%mmiTn0pxOfx;Tb# c$R;ZY0yzc@j9kw>M1U*?Pgg&ebxsLQ0CUz5%m4rY literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coal_block.png b/mods/default/textures/default_coal_block.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe9ed936f1e67e3f22f49b0fec70fa8f580efa1 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VtFyDSiHV7=t*yPiy``n4 zxw*NktE;A_rn|elg@uKemzSQNo}ZtetgNhpf`X{1sIai`M+E_CC+A=l`mI{^#`Pe@++w hJ0AT1Qvev%FqZVOtW@6i&lKne22WQ%mvv4FO#n6?Q?392 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coal_lump.png b/mods/default/textures/default_coal_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..792961dc7ab876192537a15ba3ffb2eeb7167e31 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=3blRvsQ6j*gBdCMIEF zVN15;1_MPIOM?7@862M7NCR>#JzX3_IIbrv2pVupJ4-k%>|#o2%bZ{|A?t4)9A&iud+#4fOMI zb#jP_3~ys0h=VsK%ssvH zaMweD_7#tEq!s1ZlG9k#ebbWJ+FmbR)TiW=eOhu-kfa3DluKnsKDXCw-Inr5#gL6N z(UCQ5`ZOCh$%ia`OwA1pZ5IL@RTcH_2DM#%YSYw|)2qZIG?|Afg7>PL!IBPxw^4Dg zln)$8IPmD^LaCfH2TJEQt_`j%HEecpH|FXVgMg*7oBp)<_kgZs N@O1TaS?83{1OU$zVB7!z literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_copper_block.png b/mods/default/textures/default_copper_block.png new file mode 100644 index 0000000000000000000000000000000000000000..85337546f8f89a2ff346b3c8766226aae0981ac9 GIT binary patch literal 359 zcmV-t0hs=YP)`KF&Gxgl!X4V-od+Ji#woM>Iz`sN*H9tT`f6g7VmX zUsiRpAOemKh1pnPPNU-2EUdg@Ubs|zv4fmHdAcfhg^=%wj_uTXTXo5(-RLwN3@wNedLL}JbIl@_IC`2($u3iPDjh5i5l002ovPDHLk FV1m!dpBn%G literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_copper_ingot.png b/mods/default/textures/default_copper_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..bcad9c05e95157f0af90391148332d4452f0887c GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E08Ypl-p6H_icInlV+7S zldKk`X#H61`F(ZT*Ud?PHpYKg6}>h`_e!-&eW1eoHHjal*-cAOn`-s&4NxazNswPK zgTu2MX+Tb-r;B5V#O1l?y!jdwcw7VHxu0sE_-CH2Xli)o%h_|j?6!71H%{F7kaWth zh^Z%LhVbbR5pPnLk0lS7fCmvHxiT@lSwoFo<21pIl%%xakh;W#hagcBQf@uGwM$0-UAN8ckLP}1RvocCf zAMqBxR`0PQ?UPo*-X_(+geP|A0&8~_F3FNfkesPtvHtMpHZ}2QQ#{QVrpDhB<2z#aJT{nLNnv-) swEZt`yzW$fzoSTO@pI9A$J@Rzdwt-2>UP-04d@>RPgg&ebxsLQ09q}YHvj+t literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coral_orange.png b/mods/default/textures/default_coral_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..cefac6273c13f54ce5d40c118169bda4496ff562 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M}SX=Ylav@u`ENIEJK|lL!UD9 zG*yO$Dhv~~7}n@AT=Eh<<0o?0SM;lw*wbL%JE2l<1I4}sazBpX{TC$sHd^w36vxjP zxxcYuzfvWX=iOQjG?TNyBeIx*fm;}a85w5HkpK#^mw5WRvOi!G5m08)_nhJc6x!(N z;us=vS+vhH>4*Wxfekm4?l`1r{P=I5TXn@%Xv2N=jXUkN7-bLidgM-!HYzf(QMmdKI;Vst0Mz?~ A4*&oF literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_coral_skeleton.png b/mods/default/textures/default_coral_skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..fa48f1512fcb84622b7834ffd9bc5f5ec6065394 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUy>tD8EUp_qCJkw?tPz`5+M`SSr1Gg{;GcwGYBLNg-FY)wsWq-gXB4EX@Jp0Kd zpis4^i(?4Kb>5zXyoVJ8Sj<-*=ZYn z#qE9kwQBbbVzTxaKRb3WD91?XW{jeg{IZkz6%!@~m2(HY*l6*&;cWMcCkhYtX1X3x zjP*to^f-#phR)y>*?=vL#2h~9X)v$(>-=u4l@i zVa=gn!j@asuxi+|Y1go2(W7A7wQI+oUD2#%yp>+Okyy5eR3N$$qyPW_yh%hsR2b6@ z!Uqz=APfY+lSJ%k(JfnqiCg$auyV}>hW-HS!-))U`GAG zt##cOyk`I-RcDXuvi0-c8QZ+G3tH>&q#6!Fn#;vGrHc#iSa-)yFFbTLnI_w4>|@NHV|Po*n7lm>E#UxJN}zWzL_tjIsHbpG5e&N z=)ZQ${H`gqx7Q|Uh@M=$G5u1|jLJ=OYdI%yZ+mES?MnE*Q)OO1jbHq%)VDgjZ~LUv zdY5;9-S+j>&YVS3UQd=T?B?pWmme0-1o@r8)78&qol`;+007KyjQ{`u literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_desert_stone_block.png b/mods/default/textures/default_desert_stone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..ef7ba5bc64680852d603ccd62bf813759bdcac58 GIT binary patch literal 527 zcmV+q0`UEbP)3CL*bduZdF-WANM3-n@imbw%hclGxTbp2=<;7aiN1gPdhT3C05ByaN@)U* zTZn6|@H!~Nxpu31NH@R*8(j@&Gnk z9^UV2-vb~JfbE+acPlN7l#BeU!<_h?$yd4h-CViV-O401vphSp0~g>Veuw~!k^s6s z5=d-J{;AkjF0cc`0dTnA0Z1ve{lHp{548)T^+V-CLhAYm;7@x4(2p-Rms*OgRtbso z0N5BMmh@YrI5&VU#HA~Px`uJankcb+A4dSITrFglc!kxK3;VUHTo68tdutdA*FD_t z8Xo{0%WgK;3c#ss-4KP%)v0V3y~66o2WIej{~rc`b*_w*f;rxX$Z(f8SysM${J@9+ z{Jb>c8pgtEPWd+Ra`VS?voIi#czCWJ&ouxe=Wlnsv^?p@ars47NdU*P{RgY`0Eq@> RNOAxG002ovPDHLkV1o4;<52(r literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_desert_stone_brick.png b/mods/default/textures/default_desert_stone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..941523ecc070604a7a2604851414280aa37ed474 GIT binary patch literal 552 zcmV+@0@wYCP)F|OLEjO5Pj{)`uHm=BadxaQaoaz!6azWrS5)uuRo&euU|~>0CYZN zgmhG%oXfd;z(6BgWu?8RmxQ<7sZQ`R;BEGU?tD5)^pw3 z6iVrY+voO~+$9EXq;YMEzQ#(1Np z0YD-6&wZ0$Tx|4VdXRQHSAs>vtM&Y`w*cP1n!jDtz4Kulr_!G{Hl89Q(4ij)l!lY$ z(^%Iyzbw>aZ=1nS3INzc(<%P%=gcIJh`oR6tpC0{EDJFyG=p!QXQjvioZ?w}QAhxa zvqJE>5~qmH`9$A4p8@Q0HA@7#v&%w7L;&?))^(|Bk;|OzyCEUj&GsQ8MgYJM7y#|y qTNmCf>a8}n+7Kwq2*74%0Q>>#D*GZQ>TqrV0000a>7=?n1?dpT(<9gcHUA($iwX-~@q(Y#bDVLQVe|-~o zb(;G3z3S+;=;o2;Px#0d!JMQvg8b*k%9#0A@)MoJg44Om>yusFar`Me7|vcwD76_H+#}cSqNTcqT*#PbmAm z_I(@}JVch$L5RXYd@R#JXw#@O46~V*^*)G_4SPsk0#3GFRLM+135|ukh@iI;8MNFdez;f>+7xc>3hc2y7}^c(BO#7 z+-J_#Si#Cqw8)X<;_dqS()9Ga^YO9w?Um@|mfqx$+~bMY-gML4d&t~w!`W)T&|A06 z{{H^F>+rYj>v_)CXv)=Nz0(Spi*En`0F_BZK~xyiP0L9Zf-n$8(VtQzkOUz{`bNQa z{~NU61mq2Ba8G?at7CQi*CHzqyUZO~P&C5V7@7eODP@}SF(&-t6d*2STGy#Gg9vZP z7~(SFguXB=ADUiCk`oy044R1YoCpwMv;xS3pFpWMPgaOOitF_T1gDfkJ9r=f&hhEY q0wlJ2V(73-N0_eMIE~hx=j;zHKnb2?IbKeu0kLdG61g(IKH ZADhG~{`Kj;0H8w|JYD@<);T3K0RYt5W*q z+j`x$_j~S{;&)(H(BavkCl*DWU6FWYO) z^mS#w&nC($!d=lbD-kF(+tbA{gyTBn1cvYh7ML)4Eal|aXmR^K;5eHl%+WjVFimdKI;Vst E0L8FByZ`_I literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass_2.png b/mods/default/textures/default_dry_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c925aceb891921ae4808b3489c77720f76c239e9 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QlA-noJM=La8J7<711 z@QLMNr&olYT@`*|ZN#N@5mz@x-q;jzYfIGK?a}vlL_gXU^LTe`>LP21s-)EC%*XLirAtVbF z^7nLc43W5ew%1Xp!GME#`xdcm*1!L=S&#p7Y-9E;WBOB8BYVvC-L^FoFG-4idlKV( zUMxXs?;^M9Y*7hC4i`C;#9B{jp5!&*dbj=7e*JF@Y3+=s`x;iL0*z+yboFyt=akR{ E0HnTK9smFU literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass_3.png b/mods/default/textures/default_dry_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4d84e4382a9eb2d9540fff6ea5ab6db738bb89 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QlA-noJM=La8J7<711 z@QLMNr&olYT@`*|ZN#N@5mz@x-q;jzYfIGK?a}vlL_gXU^LTe`>LP21s-)EC%*Ri@gt@STZ zDA&`)F+}3>*4~3mhYdKK;CGAD*j$&SML>%gJYD@<);T3K0RT#GaYFzA literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_dry_grass_4.png b/mods/default/textures/default_dry_grass_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d315849e0b655c9908bbf278d1b7389af7d9e3cc GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vt8QlA-noJM=La8J7<711 z@QLMNr&olYT@`*|ZN#N@5mz@x-q;jzYfIGK?a}vlL_gXU^LTe`>LP21s-)EC%H&EU7@@gnh zsL9jCF+}3>RKG^SBMKbdtz6r9cl_VNpZB4v!Bc_bPqk2Bq*j>g1HBVT(r)2mYkOsO z?7Da%MN#^|XQsouk{7AYtV^k_zP8Bb&y1tJ0&7D3Eu({s=JH%HDbL{5wOUr==5zU5 z`M$@D?HAquKGt&mvOCLK+~>gCSuPW%ta`re!;WRYp79?qX60S(6EqL#8U{~SKbLh* G2~7ZCq=hj4BSQm47L-f^6u{XBF-QE^^cSrn#U2zY0CqCVm_-ucY!521s-)EC$Q4yWF`LZTZ zXr`x&V~E7%(0)gu!v-A8*V~R*a9aGY&wctWXXo0=g|w~^3PU9%6d|ExKuBd^Kp=JM1`|ugjtn~+ zQyExLg@nYwKqbV`h=s8WEhIEboVY%_cAWcgoIBewLzJk`^h(e0NWbTOq@TW7UkX*= zhcz761E90Jiyzj|b)8P9Lr@J6LQoV1v)PQYEU_$$EKN{7$EVqBva|g!ilneuE(q%l zvNT~jnPM9z!=nL)u<(43vN%Q4G;G%hHaQc z(N!GRqu=ck)I$Jl)8^pd0Oj2^rCoKZNWk9yb8OoIpiyrigh1B~X6200%OTaOkLP-% zSxWCk58JhoTdOTb>4;vxhaoKH<(x1G8IQ&|u18T6l*K8QWs&DO!=oYda?Z4vphyaG zr_-Ue+T!eN&dQY){IJH8zn@^+HWzYSk9ZUVpzAt*Si`kkvNS=q4U@gSU1V8h{ocd& z;eH24ci4ZiPrutm)l^K!CaOi;x&Np=9*uea-wrF+u5taf*O8C%WA1+SS39T%09ckq zMOA36wn!%_o1g#E9uG%kX>tzFwy_P9x9|SYj^h|Lu&V%%-~Zy*P2jvHp|gJPVf)9g z-)X<-7pyp1_adrC-fNfVzNmFK)EQny>^@Nc#Jye#Wb5u@{=4P1OOFL z0bqHyK-JXC4{ThCILUGr%LQ>9Gn>s&E0qdy98(sj%;pPO0?3CkG(Eal|aXt9}qlm&3HfCpL=E=;$6Eu$;VH8OVOn8tmu^=JgQ2~%B pC}i>C@JmU!5F*05DJWQiA@exPD#POe4M0N}JYD@<);T3K0RVObCcppy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_acacia_wood.png b/mods/default/textures/default_fence_acacia_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..3b973f34fbaf1d6d9351fe4e24b3da9e614ff666 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYjZ>9K){rdHk(p>FJJmvd zx|8-yC+#^-TAMxe_xc*|@He{o`^IIU;wDcQ#}JO|qNfeH4mpUhT!>tgG&R(|qW`_v zNzNmeN+-x1a9*-?OZ=1Ny&SJK|K8@|`OLN_^lpu3i^TQZ7mT9Q^weFS?JW6{88U70 zOw-TzOdmfj-w--+#paBn^%fKO&7HDbbWn& z>~rq5xcz!#aWHH4;v<4UQs@N$I!jTrL&C{1)w*OCGJm{71S1e_Lg!BaB=ajz603xV zAGd8CU`^8zsM#R^E1jbbK7o*aQ;Z@Y1z>tK$2O(UyI8t~nw@$X<8a0hTEc!TZBr6X zj#>Zt?Kd`?4N?4|T?ZqY`k5$JgQQYtDXTp99zYI26f1}de^}1 z%cRaybe497Z!;l;?G@|nVc0}B2fY>v>-9S%^Q&P3H);QaF*QNZ4Ov;}Rzj>2%0mBh zV7Kp8sVP@ad^|b#`eT(K7kA$VZ`>u&*%E6Se*OIJeOl=pxv!>M+J*m(Wubc{pU=MZ s`tLp1)^AMhzic}X%EwjFef4ep1?f_*GKfbTk^lez07*qoM6N<$f|}jMmH+?% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_junglewood.png b/mods/default/textures/default_fence_junglewood.png new file mode 100644 index 0000000000000000000000000000000000000000..c390941ce54ff75c8b4c2b4ffcbbe4fc040f8088 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYl@?%-6Jk^qXE9Y~H&f-b z)Znwy;nv?13a2N9MFk!yUWuCMzbcVBms zaK>vZj+c8~ysTe$JowiAWd5bQX$dpTAL!nG=B(7AbNd4GGM(72wj;$aBbFbG=zDkX zO#XEr-TTe@Z633)CYk=5GsTA?B}}mKI7Xa3%Q_ZmbBZJtqYQFvls=l+>`)4-BUj5CiVJH_AX>9fI(u=7R`@MS$ z!tQvx>?+<>x_oZsB-f8G(q1W^C^v|j{JD6ugz~9ntXI0h gRn$^wUH(M--J3)mdKI;Vst02}LGZ2$lO literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_wood.png b/mods/default/textures/default_fence_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..1e76430d2f54f3b259598fb396df4aaf8b30b39e GIT binary patch literal 230 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_footprint.png b/mods/default/textures/default_footprint.png new file mode 100644 index 0000000000000000000000000000000000000000..41d954630b1c16679fcc5e83645ea10c0c739d6a GIT binary patch literal 466 zcmV;@0WJQCP)|jj+W38K+H|Mgu`Ddf{;XIOn|Q70c@>q)<_eA$C*;pkD4^$22rkP_MKJ z#RC|Iq}z3Hdmio(tbnA|=p$7HjNPO`UzrVZSl$HV0dx+ze?0~LUyy($3Ws>W0z06;LNbFfvyE%uq!B>=Uv zXCk))PIvFoi*2OUb|$WhM4Wu)CY{fSQSD^E`Vn5tnHITR5rAkU{5j}(-pGLTyC3f- zzY|)HE(o2=dUAYh zK~7dtUQT>Wl&7n+vx9AHRD`3QO-5>RT5@7tRfV^QtBs|(gYBgyK<%?UT^vIsF30wJ zPdZ}2;e7P?jfBZh{w-JucD!2Q6VB2}a0zQ*v z`OUU*S0z?mx-9R!#9Xwrq?+xCnW~X=!PaO6@2Qf{@)qujJ76N!x1H0jVcPeFk6G8a zen>C5%y}(|Sx7ml;}3WI3h%GGRJLr8nW`~UJ>-p6N}}3!-Vay0n;ull9DM)BUQCX4 UtCL<#Inb31p00i_>zopr0RACpVgLXD literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_fire_bg.png b/mods/default/textures/default_furnace_fire_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..126204a31084b89ee2fa9d1878c9dc5567809764 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0B(gisD};KNrYiED7=p zW^j0RBMr#W^mK6y;kcg6z$C`TCd%IS#FgizCeQn~60cq#cwv9IKIKdQ!hiD3Pq-Ok X?1cl1xZ`F5H8FU)`njxgN@xNA-_RnB literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_fire_fg.png b/mods/default/textures/default_furnace_fire_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..63888f3998309f931aaaec38dda7bced3a8e23dc GIT binary patch literal 558 zcmWlVT}V@L0L71Pl?_+EY`e=AB?du^BAOCp=-izf=rSFci_mgK^nv9UN~SZJHY&*n zQ&vHrI@gF?Ek~eaMoO)S%v?)ssmz@7@9u4m6m6}C^E><=&oSj{viQ7BJOF&PN|6`s zg#U@-M7cw{F&~K8kejWgqsmOdD*!uzIX6N!EZ)UJ2S@|R8<1C6cnS6qNGq7@U`=2z zB25yM5nLSayZej&mUEcp=}0~tc7AG1%fV#B-ztQny;FpXHKfxiMw34%Jz zYw$Y-M24yDV3IIN;hqRBB4ml+5MVh{!+wBo7$GM@c7!b;_u(}mY(&6_Ndp3vAmqlz7cw5?&dmcOxjp7b!>*{z%{!))yUMH1CN|9uv`bRzQq!+p81V2Lf|X5{bzIlXoj6k8&CT{4ILdLiTv{%y zl|PonN5Z{ZB%^$3v+{w)5o;*@-mOwQ{2edG>enaqwb4B;W@WWG`S4d>k#$?&j~mrD z^^4Dc9U4#5Rq0aI`;Te!3d$1gJO5hR75iq`URh3rwiWK}o7?B>11T?RF+Q9O|sU;YO_9qXq6 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_furnace_front.png b/mods/default/textures/default_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1798e40e05fdda861d0e3de85fa88df0d4bfd8 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Uw}`DD;qOYa(t|ZixW^FD8Mf@ zDZVH#Cnqy4GBh|gDk3{QwX`rVBQ@E{&L%!4%G<+LK~A={u`VGtIyxd$L`bl*v?wn- z(@N9{Hk!mgZ=~WM*SvU|m~OQBP4$Oo4rSdUkVma&T^IX}3ZV>cVMP8j{T6WN^*;)4*8P!QvK3YA+3 zYd!}5`J4UkXZp`F{kA88UK_t-7o9{EgFO`PyA#@g6aB>!|Dq26)CqD(2wX7;?1lv^ z7XktS0Pog==frT|x?$CzTm0HbdS*QSz%l2!Fi1KinS3K#Js)aU9P6GG%3~Dwyb{oh z5vN-bm~jtbOAr0=hVImU*wB6d_5?CzQ4s%?2o4Jb zpZ6>k0006PNklaumE_*SoauA9oYV*eU_?NX2VEk5x-G7}Kt-?RxZWk4U1}^f21CUCWEShdpr6^04Z* zHkSI&qh8}Z8eI>Mf%j;ryB_YxmWQj}_4xAC@+j#~`_Logbv*R+;dgj%p7-I8=6vbr zeT1XOcm3OkI`P}#%{lVh#v;d56{2q zbVv5S^O!NHE$eRcgTot|}`)zeaUM2aPsXa(6@a! uclLYxhy|;bo<26?#YCj1kG+Hc^!NuF+_>_!=^0c20000Y1sgN>y*x1#9< zpixUaT^vIsF3a|DPdcK&;UYaD{>a6YZ~xL`jn+?TYRWqxz+ad=dx?%^Kmn(dMmpzT_#L>2xo_{*++$s;rg=w1d-S3j3^P6o2=dUAYh zK~7dtUQT>Wl&7n+vx9AHRD`3QO-5>RT5@7tRfV^QtBs|(gYBgyK<%?UT^vIsF30wJ zPdZ}2;e7P?jfBZh{w-JucD!2Q6VB2}a0zQ*v z`OUU*S0z?mx-9R!#9Xwrq?+xCnW~X=!PaO6@2Qf{@)qujJ76N!x1H0jVcPeFk6G8a zen>C5%y}(|Sx7ml;}3WI3h%GGRJLr8nW`~UJ>-p6N}}3!-Vay0n;ull9DM)BUQCX4 UtCL<#Inb31p00i_>zopr0RACpVgLXD literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_glass.png b/mods/default/textures/default_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..da2540287cfe24c451c14b424792ac431db80bda GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=0r&JidSb!wEcf3h_0uHu)gtT57VOUz{p~yZ-Zl5zF#6vv z{M|0~*e&tWAo0;3=)VW3kpP{C0GovX{o_3M*eCPXA?wBt<+udMt^m5B0Irq*{N_Xa z-#Yu}H1_2$`r=*J1^xCz?60K%vMB7opF0002qNkl5l)%CBHrlqf!+qEFIk0#K?M2)2+Twdc zb_(+88{+$VU~v+R85T|Ri0%_V5MePofcr|qV*loM2CpoKDWpUXh52C^+_GuIZny?U z5LL&bH%vz904Q^}&4nF>=E)JCG=nXtA%dj$PbK!F3|6$R5h7IlF+dGyB4{ zD@F&Jd`r0RIgdu_v`O4H?HTyvg0W<}T&CD*;zVL5<+DqErr)@AsGY(EaQm0IBUPBM ZcmTcw6ofti%Q^r6002ovPDHLkV1nS^^R)l~ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_gold_ingot.png b/mods/default/textures/default_gold_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..ba66471e18f4e391f0f2d86847e3b647a8c0a391 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E0FFhWVp1P;q5+#|Nq_p zUj&k6|Nn>Vp2G0|HN&Pp_Nf)@4>mKLoX_z87Eo&X|Nl+@|0lPL@ZJaNWGo5t3ubV5 zb|VeQiS%@F43W4z_nbFhg8_$Yp#0Jc{a-i#KkK#BaG7yxSsq8?PlE$46T8Gizd1`v zq}aMHnZlvIdDSwJWQB+ms)qMtPBI;uR-D~j+jt_V^w-IGSsCZl&*snkf1Xt*l!@i< SaRHE989ZJ6T-G@yGywp)I9NRZ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_gold_lump.png b/mods/default/textures/default_gold_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a1be79b13a19f418a6d4cfb83e86d8f990db4a GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=1~949^ZT99qoq@8`1r z-y17p8MaJexV4jk@%UbEpfqDikY6x^!?PP{K#ql{i(?4K^<)J>18Hez2{*-8Yzd8G z;p)x?%12yJ@|+1M4H9B8l$bi@iXxAr;X#%S>s%Zi|2$)6DDz`o@3N-%3D67%Pgg&e IbxsLQ03Kd4^Z)<= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass.png b/mods/default/textures/default_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..0181fabda9fbaba45d8f763107bf0ad88e2f81c5 GIT binary patch literal 377 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_2.png b/mods/default/textures/default_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffa8fc2c6377b9501954f70305ec6ee0f3f6fde GIT binary patch literal 2980 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 Y0JQ?YKfQTx5&!@I07*qoM6N<$f=-O_WB>pF literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_5.png b/mods/default/textures/default_grass_5.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd6838805d5e6ef99eec788e061793e3eaa7665 GIT binary patch literal 3269 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 Dt1U4% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_grass_side.png b/mods/default/textures/default_grass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd538df6e89a653a261b9071753ab2d74125ed1 GIT binary patch literal 779 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_iron_lump.png b/mods/default/textures/default_iron_lump.png new file mode 100644 index 0000000000000000000000000000000000000000..db61a94c7ef70fede2dc6255fe5fc9f16cf176f5 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=6jKYAb^brg~~0PqD4H zQ#q2(*a8$~ED7=pW^j0RBMr#0@pN$v;kcfxAZQ>h?JVKu=f{@7s4Ob#YT)d8(le6b zM1n|AkPr`pQ3UH$X4ZpUuB@!C2YK8A9sfLIX3*_mDVlCm-vBg+!PC{xWt~$(699$X BC_w-K literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_item_smoke.png b/mods/default/textures/default_item_smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..d62fb3b07a48961029e9adb8cc966c2e9d02938b GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^93afW3?x5a^xFxfG6Q@BdV6~(PMkPt(xfRFVdQ&MBb@066`0SpWb4 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_junglegrass.png b/mods/default/textures/default_junglegrass.png new file mode 100644 index 0000000000000000000000000000000000000000..25abb714602b1e7975514886f6ce20000328be4f GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=11*EGi!CcBzt)eHx}l zx~V`R#*!evU)OOG)?utBHuD-LC10<0Dy)6A qp(X#^3*{51lh?A@Z>^a1n*Z_q)500lxjSe4~&GV0EuRF^fi91s7HW+R&U7MJakP>s~fWr9+291g9c7EV( eoB6Cqo54Xs(tpMM)1p9I7(8A5T-G@yGywptnLhFW literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_jungleleaves_simple.png b/mods/default/textures/default_jungleleaves_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..7165100c7ee1b526628a81fa387f100fb30a601d GIT binary patch literal 417 zcmV;S0bc%zP)Ih`3S!MF>(a7WwaJ61BEFj#pXqW6Q(h;XZ(J~0KmuX zUGP(n`_uTL6X#o$e8BnkwAYUgY2J{R-2gxn;v@jDrh>=)X`qUigg8l>H?S`+yWyN= zb3Z!xp_33N$;)m^K2Y-Uiv$4N0{~uV*Hn<^4Qnc>i%4u9!`tb6O$C-ZxdMP6IspLE zIu~AKmxpgu^toHq-eQO|A966t2t!@QP7Cma7y9(vJ@M@mUVjz$>KML;^IV zOk-*TJzmig$oW<@fYpB@|1u)g(S|sQjx;a3vHD$WdUYx_I~x8CINKqt%`KdR00000 LNkvXXu0mjf`lYRy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_junglesapling.png b/mods/default/textures/default_junglesapling.png new file mode 100644 index 0000000000000000000000000000000000000000..05e1e505da124fe2793b4cbe19902da9573cc886 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=2oFD!z`&zD~*(YTULu zLLzbkiU#6}Vyym_Qso?LV}UAIN`m}?88~GH;$|x50{PyaE{-7_*OMLC-Waqo_dGln zz>v7ZNToqz8xtR!*aRJKChrDkrieCG6^1pIrYy@=3on~5suskRT)^TW=_9<5XIcQq gS&55D2M#bWc=>Yt+jubT9ne??Pgg&ebxsLQ03Sv$Q2+n{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_jungletree.png b/mods/default/textures/default_jungletree.png new file mode 100644 index 0000000000000000000000000000000000000000..bf0403e9da30ba1193d0a652098a2f6808b6c94c GIT binary patch literal 736 zcmV<60w4W}P)xE^!!cqVB~}j z?sB6F1uZ-~AFdXgUDg0_^yp##?Qg%zHhq0Dkh!4*H@TIZh{LRPSr0lxII=jeWu0h->h!#Q$P?f zD;c86d0=6~9H#>v29RzuMhGxOF-Gwq918vUE}h@x%x33j@#?Oq*QBYnMPM{`5i`uv ztPh1IKn>WvfVa9McG0xS$mySW`@(#kZ?vWJLdUU>ifWLIvW;rX4ur5S9w%gXJ35Up zh38L)PXgB#Zl0BmM#i+t(A}n(T#UUqWXz&H1SjK&kkc}*Cx87nn;(|ew$xar(gw1) zPIXhhdXjMFosA!$E(e={SXM}7dKU|8+9NLhoeS9mxJrFKi=Ja`FHMU=~4o@tiP}JN0uB6!*$+b zY`6^{X5Xgo7HO)os!bA6mNNa3Qe87-U|%Rr`1EqR+#=!G*VjtsC=Pp}fa5W(8{L#< zbR2+%nra8Fp~ldC-hG@cPmergNL5ryW8qWV!H2E(`&4l9=IKv^h^j-aarZx1_F$r4 Sm7?bW0000(BNt$#hciK+6I+EPwl~rf)+~*ipuKJ+LScV zmV`t}6^x2v3*td?2{pl(tovS)_vXEs`91VIe%RO5w0_h2Ak@pKA3dH4wO*_yQJDJ5 zUszmCJ|CeA+P>1 zb-wcZ;Zn=VFFS9HT^7aSs>fgZI~#KG{`j z-__OfO(D;vVgLZ-l;V;zjsyU+FVlgcQx}KE$L~I1PoK?~+O~gn@B{!@p!vW8IlV&R zvaJU8Mb+qp7{S-w$G_;<7iukhpS#r9gd$BsgHDJ*tX|CkAdGCV0@4t0a0q~Av6`?# zV>Vq0w54nv%h!R&&>EV4o>T*yXqTjpBN+?UkWJDkOj)esxE4p6Ud9loz&QnxaRko; z7aDXH03dbbERZ8#`7D$3R7NO{4IW7bktW6<<71&7JtRc5jvRp@uqIhpToR295&!_e z{J)lrL2Io}C`xI~8{Apcn({uNg*di+b5r3}5ceN#zwzr`<)N>TF;Id@h1m>~3}XVN z@a%=-*Z;aVSFQ2R&))fY^f4O!?XgdXhwsn7a@v5gU@W8tYDNt?#`os_G4dH)685{EUpqt-uZX- z>9cv?=Y_^>tm911Yiy7?rQX}RuAWprr>37wzXtbgazyU>9Si^f002ovPDHLkV1kOj BhLQjP literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_junglewood.png b/mods/default/textures/default_junglewood.png new file mode 100644 index 0000000000000000000000000000000000000000..8d17917b8bc99006561c79789c3710952533e7d4 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYl@?%-6Jk^qXE9Y~H&f-b z)Znwy;O>_%)r1c48n{Iv*t(u1=&kHeO=k_b8v~v z2u!*WZVVJE^K@|x;kfR4+K}&%fq=`!kGzkR$`{1POb}Cals5jvS=6!R=d+X(HuAMX?8@$*voGGdJ0T;kXz|M}e;7Nm4W{kV zuzwl)YR*T+)4TVV)?Z{X|NZN(?U@CY3HvFVdQ&MBb@0K?}| Avj6}9 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_ladder_steel.png b/mods/default/textures/default_ladder_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..1cc6dfde641502892f0993cb21d9239ccbc804e3 GIT binary patch literal 3223 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 JPDHLkV1hA4Addh5 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_ladder_wood.png b/mods/default/textures/default_ladder_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..c167fff5836e96391705eba00908b1ae52e8c1c6 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf`2e2~S0G&(E!3B7QV}UPufnf5 zLMq)=pum+k!<}Pxjn~vtx5-8J-I@9&{z|n8GSzWn6_Elt-h2tRT`@l%3)^EBR0l6^3s}(TGo#99MydCV3Xh5T*1Z|VWkG5U$%>hNk{Rw2`9b0-P67pf zyqTWdX)at#8)BB!M$WDXn^9ulnPt~mU^=DHq&vr`El0mGR<}M{vnfNpB2l#}UOqoW zzAQqf%m?T^iGonUY%hVbV7??f-dHQHqA<36f7U#2)?{a9kw<$^0=>jo666=m;PC85 z8j!Qe)5S4F;<9hgb)hB$5f@LVscL&W6=bX5$Nv96+aw`v4}W!f*}2HBMQm(ecV9T9 zdBS`FOVevU*R3xS8M65D?e3eccXU3;F;|dv%cmbMU3r@?vafmIyQoD_`M{&zttFm< zlNbMKSdw+K!7MOiwW)8AN7d$oFCFF{R*<>azv#1WpH}_#OP^n7O_SSykRzp2==#}a z8O;>-cznMYjUc}VWV{f))^iSF`E3xJB|Ec`SS9yriru^HQcPBQ|DMqT`E~QnZt2s+{r9S z?9_^Z1IN7Wc02FS?!4&xBuPh=|Jq(0bvuyxQt8Hq!r9mUjd;*uH@i5%Ev88#-Jo=4 z&C6Kra<3E2?ohhAsW`SSS!X=(1rheK*e<` znj}M>)XN?*OuA!TVPtLb{Oi94^zgh{56vvJD@`chd}sAq&BAumOa}6!3S;jUetKi| z&X)A&^pWj&B~`DRM|D>3sy=?Nn%YqL*$fGaLvlxJ67@myGg+VV)*B<7Nt(GFp@3Wft@HnHqIIcS5zxkHxTzw^OZnNJ5nQpm(+8)mE zOTcO7TkT;ctZ+g3wn|Lpo@~Ty*qhy{@x?LSrid25evzWE8Uds^)RIPwSPk5 z+z*=$DW~2qKUtq@@(~8h1E~mc@gn1LKTyjsa#Gy?pvvd2Y+IE^QcNf?I)f zkKBmDC5yd|(n|+BImF79H;a>N?tkE0Ops}Hf>Xpc%3rW_$bMRAq=6l@Gs5>A!*$Y) zvYo!;Fe^u_^gGKbnrNVry)hjiP2U(7 TZjfs500000NkvXXu0mjf3MWTc literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_lava_flowing_animated.png b/mods/default/textures/default_lava_flowing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec0746345e7b482bc2b541933bc3db55c239031 GIT binary patch literal 2315 zcmWNTc{mja6vfYbh-}Z6U5jn9mnae0gEQX^DVAc^<^6(0nGej_O9-u$NQUaF3 zu;haZAOtwV!9L<&U?CoJhd|~q*@UZ{_5z`Uh!;R6;13+)VD*I6&zL_3PmXSoT#6>K zr@;DvZNN$iVKIr&V@6nhj7b}`0lvVJKjEh*hLz9=(; zkp!IO*dJgy3e!L>5Cb>?tX_rr5W<`ls$|hX0;5WE!JWvcz;YTE$e4FPmm$i9Q9=X_ zs0SVb`+>DNYgYTlL1ekI5PHbCBSLoD3?{>6l;KOFj%HbnF*t1@Y8odQ7H*0{4Q4RWI%#iW@IQkA^ zVIRi!qC*i=@)#GzPC$v1C`WX`1$`UQO~N}qu&0hP+x9ZY<>=|e>1$Z>!k`I$sw0zx zJONMvHqD4VYOp%2&Yn_PsS&0pVAKhp_Mu4@eG(`V$LhEX>x(0^#g;vFklCrr{GdoL z6<_>o{j@(}HVC60m{7-%C}IThHxcalZS=}b^n8Wo6zOqm%Bo&7f3AJ5L&cDy)r75kgtFl5hM$tmLC(G!_IE# zjpX@ZhaoFWm}71E(dwAz+OiwH%3?HM@!Q3X15P5ea^8t(3Vwe7cspL znW~s9*Ppqm-R4X9;E4I@f;fPu>41fqKe<PL{yiMX&%B)0ZAU-Q=ygHD4xmF{He5jR11Da|2OyS#K> zT5iqn#QOL4-@lvGee%fpoV!n(cgGg1kmAhP$^Gr8%oV)Z+r=-wepqB4e8EFUcQ~KY ze=Q`P`(uQhvQ0;KuEbL7IQ8978c~DvbvTgVv$T80u8=Ny#o3S}zp=KvkXeH<%CliAgUpXnUs{4j!hHVL!iv0e z@rlKVF|AY1T=y#Necb&9o&-P0UPy~Nv_8~0Axi45Z;$UI_PovX=W8RWk}=)82JB^~ zOl=fQ)FSy4r*ehl+q8e0l2=n?P2w8D)vipkn?0DtZRGwwaiRR7jLVPTQ1_Q5dUqR9 zU-a7A2=R0_>%URFVk}ggrxILoXa_MN;F;N>!XT1hbd0yQPQ4s)=*87Ba)nTT)SqgF zc3ZCh;T_m)C~!|-Rm}>%rhRi}ty)eWox2d>mc*OUAt7SLFsUz5@>COwJ@TT0!js56 z`ha#MhMhY3q7~5w1hGCH{ZF!Yz5BJv*Y(rJV z-rCxSd-isG{=TC_K-7SmQbH0FGpTXJb&phB z2Y)7i(xgS`;{frE=G6`5=Y=%dt-SPvJQ@T3c0E|BBcP`LmSr&zfdtVU-6p$U8joEf zh81`N1y7uzl(fy3$jBHTOTOjj(i-nn+rC4^v#pTnad4F-FPNPfcD?lv{>}}Qvt5U! z)^85ZZjus^)N-Pg+1MG4g+~Zf##bdhO!WR<&QCh(NZF7&92LDNt~Irw@Nd59FDshJ zwgOQNO3(SArhk5%ewrY*p(Or{q$=yAfU}12Z;mF+bY5#_{>ig*M+q@5v!@4_TX`d0 z{q9Z_E`QT>eLmk+cGNFJP^SJGxnE9TpuE`}-1gDC@A>bMiD~JoXo(CZ=(%1CNXx!T z4Js-$-8A{}x_~_MN4;fMgn3Jcu*)SnUYC!n zd^$HcMR4>kuBhLtrJP&4>xATxu3&zDZQPEI&v7Xw$Hrt=`F!)FFVHS4(~Zv0nEz+N zc##~MPcge*akskkq>S&T(&sd8hILePR#VXvJ)Z2EGWIpS!CjW6D-M;$emY%^7Rsil zc<4R_C8GD93Nd&mlSeY;CAf>+8WWn=>b#??r`^}G$$5Jl59LI(Mqj=CrK;#joIRO&GZf!oV_aC^pn~Zkems2ck4^;l|7AunHfbmwzjx!Gn735~xbz5$}u1R*4 zqI9cyUZuvCE2S8U6pw9Zth}-GuUQd(rnzhWRmLl&_}lwiGCBg=DMplk6!iLqWn10b iDOx-Gg&+GE@!^)w5#x%pr+;vs92~H;wJ0)ox&1$Q%N6wi literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_lava_source_animated.png b/mods/default/textures/default_lava_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..32267a6bf4642c38d05c78b07a4a2bca9ee3a047 GIT binary patch literal 2193 zcmWMoX*?8)7d3J?G24*A6=z5EtDd3P9ZEpyd%kUni(IVUhrK zZDj<6$Ubc6VpR@210Dchfezqz;02HjQ~~n|1m**@042a9AQ3nXuwS4EcnxF&_W&n= z5eB**QUSUT7`C_#_yNZS)Sbxh0W$}TBrt-(I10K6rhq!&GmsBZ0nRJJLM(y%73?f9 zQxOY<0^BO%(k!@L;8cK_26{B+&x7uSA>b}>6|eyoYrsjx+$qcgkAVw76c7Zs0zCRI zcDWR{pU8eg;I)BM2hKaN9)WQdl?3zvo`4BpAjkpG7T63YaGSv{0VfCZE}$Pky(Gqf zYrrL7nQqUi*~q$0X66aAs6_qqftYd!!vVkS(W8SFP4vm*n;go?=pvvG z_zpAzHNZu{9^lh088^X70qZ*0@o3Y-j0R!^`fSV+^W%!Q<3$6%>E$0I3=_YfL{Tabw!Ugx{UEd8)KRnP{)KCI#kiF zfO-XtZp24P^sYmp2qFMY!GVL)f|dx!siUwTQA@XaZKd+E|*o z9ITt}>^iyu(s6^a{r#VarG#ypLz2a%``1eMUw^8e>KiYVr?fh!B7;QT`*9 zB4N)qYRjs<*hVb~NtZ-#?faZNM>ud_e(S`O$C?pB4kr|vzr;2DIr&4oXjCP2 z@2Y0`DL)|>=Jm1+9kQCOrPa>lNMfG+m$-cGJx|@$Yc<^yea-D{HYn2GoSUmnVAyC# zj;QMr_VW90OwIk}E|*;^>UJTw`1r>^;_Yfhi8<|}*}sj{6(j|YM|t@vX2=JLsJ|{~ zJ2!OSK0JUEv@^y`?y>dQPwAO6ds=CxYF}fniPV3gIHi9y`%OEj)#ReXIr0dK>iya) zLhZjsOt3@!vJg9P(4i}{VR!M->=qeiu_tFQ5{rWk1A`O0i^cUUg!1Y-RXM?ij={DG z6SDPB*`^hfl6f6LB{DgwJ-Sw29;U^!DG#MI+bEu-Zw}-;<7T@`&wJ&5sC>UQC6$`# z_Eu3T*T`$L%#@w=VV{|H&e8hv0(0G|g|#YOVhsg0c_imI72VIm4`erbyM#pB8}cWf zh(#SC>uk~V&A01b*}u%9uPChWNz=tU!gTek&&(P+yw~?mywV-F`KHC&T1O*>y_^~= z%0QyIy5TSP!PG}2$Am(;heB&tX^?;URy$u);N_9h3T4HlGmR&bPL3r{iCdTYXF00+ zNM)#;h)FQ8jZzMa?u;Rn9g^^snA)@}#`7|((x@y+f?|GKU(dkAXj(1EKeq3Z-MXD2 zPs?oPKli(5?tGuH-ZlPUhKJb#HU0Njm4jtvA#TbEN<}voZq}_SexgyddHVj}M9NjA zCB2BZUdQ=)m#-v>QP!<`PP(?I?q_S^g`=O+EXq;+WK7BORZr?e-$BJ4DOEr1n{#AD z{yGzJsE9m3vRvFY!Sc z=f7Lu7yXl)MhUkhvF;5P1tt(Fm3R8LzcxzO8@!~Mf0w)_`Egt7bMnUw@1~tmFIvXT zY%P5Y@2K&8JMGiVTc?|@v|btMqFV*U4(vYS_UXE}p^9_#Xw8cPyA69~c}7K9BrVoJ z{1;D;xBpY~E}{9_is~r;xnoGg^W?pe{Wp%^OCk7MWR>ZAXLNpVYfB&M%Mj+5ZnBGc z7N<5tqZK-Pzi)+Zl^6Z;&;Zoy`MMZ14x~E;V`@)7UXPHl|(I~R0hAJApIz!|gDarMV%)(k(hi}dSt wTH=*NSSPU@jy%ZGZ;@d%wJh(!m6tymBx6|@haP;f5a>t-Pgg&ebxsLQ04_yhp8x;= literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_leaves_simple.png b/mods/default/textures/default_leaves_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..eb60f9f5c232c34d51350d77fab0d323339e4695 GIT binary patch literal 838 zcmV-M1G)T(P)pf0jgBBRh6iy zMa8lKPdqp=hDMAB$K#nf=k$Vt5@kQY{`Ow$6M*`Ys*S@5Gjq3S{cEEAh*4{R2oBW_o6=ulICQnmg;S5%_Vp{Cp@lVsV|(ohq1B37TTSpSb9 zU)=#EsU<$0Fd8b1G1OP50dO3LcgKBc?;gp!&X~fT97?I13ym?n-H(v^M$N`H#*7U4 zat@st8jof<{w>59L*+qPdJQ60~}<^~0u3la%@IT;6w1Wq5K)-yg`zw`Fvu zQP;oUe^9327MQKg08sRbEN|EC#}6_2**sVe0M~PQ_Hxty^Yeh=P>`kds-46WthIO* z7g37xe2M;F=NN5JC52lqqCXg_k4l{EeWX-#83zfelc3%<1L^w%DSAb`auE^XI`!+V zc~qj%i6LnBY6;j;O{X2h50-> z)NH(He4($sdnBKlQ&S655X0Hgm_o5Y_2Hsbj)PK)qFeY(Uw$?Zz^ASK4-I&YMgvMQ QXaE2J07*qoM6N<$f}50zrT_o{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese_block.png b/mods/default/textures/default_mese_block.png new file mode 100644 index 0000000000000000000000000000000000000000..e30994e21c3104b547ef397a1fa7e01dc956b8c5 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uFIA&oH@hr>>0!V{|rs4 z-|c|noCO|{#S9F5M?jcysy3fAP>{XE)7O>#0jmUymApo&RS{6g+0(@_gyVYhjsO4u z+qad!{`NnmVsG|UueR{@Vg*KfUNCLk(y%6cb;BC>ZYc}Nd;giW7>nZ#4ywo%9E|jF fPz`o=KFsiUx<Eak7ak;eDk*`64hvn|AYf2pd{%>vS;#E19n>M@Tr?Q{lG`IVmhE|LccOIzDn`y*& z=C-iQ8J%fIUL=YphJ4|kx=QNahAjuW3QS&_XY8Kbb#M3Oc&mNqV_23k{!y*Crw6oz N!PC{xWt~$(69DcDSB?Mx literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mese_crystal_fragment.png b/mods/default/textures/default_mese_crystal_fragment.png new file mode 100644 index 0000000000000000000000000000000000000000..d5416ab017561c5c300e078e59d98e8d5d7c60b2 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4xTQKAr*|t5{wVt|8M=TxZ{UC zE8B~vk3YS6{-3<|=UcOkC7a0NjAfHA3vRm{Ys@rZrDWpoz3qPz&ZgWxXRwKZfw3u( Uhv!vmG|(&tPgg&ebxsLQ0087GbN~PV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_meselamp.png b/mods/default/textures/default_meselamp.png new file mode 100644 index 0000000000000000000000000000000000000000..b227a2549a5a318153e2bf8c094c3dec905892b5 GIT binary patch literal 3399 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_coal.png b/mods/default/textures/default_mineral_coal.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1386b90c80c1140ce9f14f9367a4f857864284 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMj(LE09)EQPI=Wd+1x>0^~53 z1o;IsI6S+N2ILrdx;TbZFeV@1l922aNKHvfNNDOZOuF27KgW$Dfr)8`Ku2%5x{IRn iE{zi$bE-ThGcqW8G1y!5O)&!MX7F_Nb6Mw<&;$U>y&=#5 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_copper.png b/mods/default/textures/default_mineral_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c518ebb7b6b1e59beb0b61b5cd45d8497c660b GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr*|t3#@M3lKWC$w(#=* zMl+Fxg_%pGV;+B7S1`dbq35*NDy#YP7<(ohX>)wo&{J3;Dj1;A_41Xu#W6Mi&V>^H hmhUxhxTBcD$)H+O%ChHL%u%4h44$rjF6*2UngC0qFpdBK literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_diamond.png b/mods/default/textures/default_mineral_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..39c0f83b674a29d7882753aa37b5f544f54c972f GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*E0Ave|3Byd|DcbrKL7v! z`2YVC|Nj^N{~!GSf9(H%(f_^$ym;(+{mRw<|2O~tzv2J?hX4O-|NnOYa)1A}{rffP z=hr2lKh696DeUVONpFT2v`mp}tJ&%XCv+mqZx_oKs*N$mGI~YrX{DK)Ap4~_T zazZ>^977~7Cm-N?Qn{h?Q{jRF*O?L$5|%6nbL1@Z*pwKh#ao_{mrTVPjG)i2)0jVFVXG}``WzUNga=ZIut Yh?lE>?kBln1JFPQPgg&ebxsLQ0Hfn4<^TWy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_iron.png b/mods/default/textures/default_mineral_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..bfec8b1f06b450bc983916b6895c1e39de276088 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=5o|Rkr1NM#o1_p48vi zSXYvl8yp&<#BgmIP>!)A$S;_|;n|HeAjiqm#W95Ada?sk6NlPjhACkQOkGCYU58Xe zBrk|?a&d8KYBoi9c_josW0|pK0Ryu#vom7{Z-{b3lIV=*48a`}7#J?4GW+~c{jnBk O8iS{+pUXO@geCyw`!IR{ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mineral_mese.png b/mods/default/textures/default_mineral_mese.png new file mode 100644 index 0000000000000000000000000000000000000000..6952670a8a9bdfe5be45b3538a9e82c86b1525df GIT binary patch literal 546 zcmV+-0^R+IP)Q}#>=iB%9eEam%5fRcUR=tR^x0Iq4 zJ1fjD7$mn-_OzTU7up%~UFbeEMwg0MtG3_RjB%cm>%2aQR~<%Iu3tYqox?H-8)$@_ z*9Y+l=u!LO5C$w3NQ*(-pB?9fPHtpoV*{@MMiMp%hcGZXjkVbs__cj~Ccsx2P*#R6 z;F&Sy0{I2tlOni|l=WM$Qr~u&m{X0ArN`;bee8XAAGp54c2a~?rACNG;BmWPH(OA? zwT`h006G=pZxntj<}X1iGD!wn;fkFVY(e8e#!yDU(G*Ac;|oLtB0_IJc8EZOLkP5X z;)uvZ$Je0hTFg!O5zRBf+WVs5`}r~`v_epYTqOcT+4LZTTH3Lyii>R!wss6rvpH@S z-$3JPD*=D^h?mGFs78SFHT&FB?8CBZ^dm;cp0e$1VB55~v^XE1QN(j{xz`8rUl_xs ktkB&9X=)T6UAo`-13sz>% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_mossycobble.png b/mods/default/textures/default_mossycobble.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae7c91fd909380c86bab3042a91acc69d8ff1cc GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M}SX=tA~qIYErznhih1tQcPr6 zaDZQ+pHF12YEYV7W?D*oOq83mqkpn=QC?1Rd~9TBuy?$8V{LU%fL~03hHI2idvil# zsh+dF?eWLk@_=Tp^K@|xk+>||b9~|v1A!w|GL~P$Zv8Q~y~?Ox!_a?qb@pYJ%(=pB z3#%8-mF{f*1ct3lHKxFuaDdsFFP5yI!w0p#2nS^Tr)xUa#+lL9k&kE z7P%`4ha*^H5B#Wgs$2TTH>JfTQ}j&PJgY@B9jmuCRBtxc3izRVwt=mG!L&<1w;lda z_>5PvdV0`INsmtn$0|2_WW9F%`fpvgpjpcn!(~?`T0YiaK2fi9l>N!Wb$j@ME@$v` L^>bP0l+XkKtwDKH literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_obsidian.png b/mods/default/textures/default_obsidian.png new file mode 100644 index 0000000000000000000000000000000000000000..8f4a49c4bb47c06c6e823bde977ee4cd1cbe783a GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW6%Y`RS2NVH@Dmael2Ou; zl2K}5`mPR?b@6m@4B@z*oM4dFz~Feyflb`q&C#Geuz^wZz|S71E{8tG9_gTe~DWM4fk%K4E literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_obsidian_block.png b/mods/default/textures/default_obsidian_block.png new file mode 100644 index 0000000000000000000000000000000000000000..262cd37e0d58269035ccc4351f3f6f39b21c7d94 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#0h>6JA*YJ8!yTZ|drud~5RLP_6MeG|8wj+z+lz2*wWK+PGKv0J478q8Ba6CUNQ8JV+V&ii_&Jd?veepg(6 zeMN;cOZsn3pq&33>!0lLgEBJgXFU_54%g` zoRj%iBB_&9{Op00z+(fC-oNt?^Eg!VHHmU_adD|IaWa@k8Asan>}vvA&EV^=sc)I$ztaD0e0sw#{AIty% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_obsidian_glass_detail.png b/mods/default/textures/default_obsidian_glass_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bbec98d877d4df1130847e873d9c167bb033db GIT binary patch literal 1167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9DvULeeP$l}IhprBM{ zNJNQqer|4RUI~!Pz~GyhlB!UiS(2gPo|#(^r~B_60|Se+r;B5Vg&?B<%lqG8Ringc g2#kinXb1p9fJK0TQR@V7IwKX+0?b)+u_UzdgE?k&9LG&z89b-w5UoeBivm0qZj=!giV+hCfWCeyB zLJLZ|q+2FFdL+cK$a(n=j;N*#M^E?U$DBNCnwl=1I(Cd(Vh0PWxu)cH=A~j@+L|ky ruM}x$W{NbF>IdaFNF3%{X2{53#mm#MH=wl}Xf%VTtDnm{r-UW|Q}#!` literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_papyrus.png b/mods/default/textures/default_papyrus.png new file mode 100644 index 0000000000000000000000000000000000000000..a85e80908fd0b3c6f77c278d528e8ab9b7ef508c GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=3MXGU0WSDSfKh)3vgu zYPc2%2UUq?OjeI=m9q@uU$-=KMsI?V2Vd9wMtfHzanLk0)I6*WJfxBNVp zEaiBqhi%=eGSd?IGdsP{1^m2f!1;56h5YFcLL2sU*E&DXpKemHD(t7ri)y=;<1!by w&OBk~Fun4w{?J@ycIoSCPplZsE8@N}l|1G?_26RB9-yrZp00i_>zopr04>W$9{>OV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_sapling.png b/mods/default/textures/default_pine_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..c30131d8feb1dfd365debcc87f56b18102924e49 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=1EeijGEV3>LzUMyd?P zLJS513|f3{rW!W7%4VAKddkua4&n?dJb`xlI!aPgZ^WDf>R~Pk@(X5Q=U46U?*MZB zJY5_^IIbrX!@g=R!RZn6LVzYSc)I$ztaD0e0sxNd BHbnpc literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_tree.png b/mods/default/textures/default_pine_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5328ff385ebe307f299a8aeb7866da0713aa8d GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VtB;eVuZxw3t*Mi_UWliI ztEEA7pnIr~W1yR@qp41WpG$J2UqYx?Ot7cDv6h#Ed4Pv)?nWj%p!NlxE{-7*mt{|T zim@niuv}!B=@Rh1{+3?#?|7DFN}F;Pu8(Xn-B6lC~-{7CUZ0?hkzhXCjFmNxm`?5dh?T-ZyKQ|h`pEi5foD7>AhSILZ zHw)_)oIRTTT1djq!bLA)joJ>o4e3Uf*Qa_g)^2c)+!5o)YA?ZlJRs!75oTM(X`-If b9DgylSg_5@k7{TKx|PAx)z4*}Q$iB}eJx~| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_pine_tree_top.png b/mods/default/textures/default_pine_tree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8705710ed825fcf7cbbf6edf0de6b5b5ddb8b4f5 GIT binary patch literal 574 zcmV-E0>S->P)DQSwTtT2tLMz6=gy+x#+={6nb@+5^5)F#+qv%B zvhUlk?Aov6%A(`Pn%=*d-Mf&~se!P7VDaS1@ZrSk*t6-=vgp#T>({I2(5vFepy9-u z;KG*Nyq4g>l-|9O)~C_+`^pY!IRjylGU}3+p~||xsKho zjL)r$)~$%erG?9BtagZNU$m zooDc#TuBKj7V@^OxwoLa`;s+^TDep$Xzm>-b2W*MN!}(k!n_oesUFj2IVx362UiB5 z%*<xFN*kwJ2WLQu3>6UXMNLmf0o?WN#%)`mv9FZ+fB6+{lgPc)bo7q z&4UkBGjq2{%x!6B*?Uj^fX35l=@zlU9p2Yx92491(E5wc!H~t4+y3U4xLa>%|H57! WDpDF-_+bao1q`09elF{r5}E*%iCzBy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail.png b/mods/default/textures/default_rail.png new file mode 100644 index 0000000000000000000000000000000000000000..26fed02e4d613124407da7413b796ed034104f7e GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=6clt*Wc5D-4kB?Ce}t zWi~lS|K!P&vx|)?Lglx#TFx&u&hnOSh*s=O)k$=fWL|SaAE<}1B*-tA!Qt7BG$5zI z)5S4_<9c#}MiK*)I~$wc#GVTsc1L-6Y@9yp_U2yYm5^vr2nuLZVrI?`yuIpLZ5Ovh zMQcuvx_sIG0|ykCra1*pp1X0)*+ORK%@aO8oPDf|{XtN`?kkcK7B17?ar*}QBs>t= kv}I1t`yY%Md@fuJKOReZY@RFe6=*kur>mdKI;Vst07}+XIsgCw literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail_crossing.png b/mods/default/textures/default_rail_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..ba66e0155d6a3d63907ebaf7ddb04b18e8175893 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=6clt*Wc5>+I}2dGh4) zYSURoMrA=#{aJc7VbVqZk_*dCvc1H2?cEj{9_;jNuLV#8V@Z%-FoVOh8)-mJyQhm| z2*>s0gn}dnCT9h)H2w#i0VxSPG*mQ{G*&2`_z-czCGzBnfSHYs6Vw}vn-!RuR|jW* zxfXJimuHUC>P3C&GesCm3(X2tHJG+?7pfL8NjjJ&Mq69)2sdP<<;}mhjw3|*(7Xez zm)5;eS+ZuyibZE0Xy`C)aTe52IdboSD8n|{Cp@BT490gPPOVZkO#(WJ!PC{xWt~$( F69ATGTDAZH literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail_curved.png b/mods/default/textures/default_rail_curved.png new file mode 100644 index 0000000000000000000000000000000000000000..9084ac24d97fa0252ba9ab6923a5260d3a87dad6 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=4kOb-VU%D-4ibP-e1f z)vDG6^&B6W)ph0*v-NAEl*>ZoJ3BjP6dIm9d9pV{>&)o}d7vJ~k|4ie28U-i(twN(Sem9dlSDy&QPnIk2@&RbYF)k&SH|w?muK zXMeUdgXYB9%%52n^e`}gk7BE4TepOnhvysLR-QXux_mrmW;!r4uhp`VFwzARx^0I`njxgN@xNA1W!;I literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_rail_t_junction.png b/mods/default/textures/default_rail_t_junction.png new file mode 100644 index 0000000000000000000000000000000000000000..486c416adfc4be4112940985a81ab0ead5f76550 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=6clt*Wc5>+I|-3Y0y0 z^5n#9-IcXw^Gc1gyrmmrRja}krWY7iel4vADrGDQ@(X5gcy=QV$f@&maSY+Oo}9pu z#K7dt##Z)FIMdRyi<4)LQ{3jgwxO<)5-klzO>J%oZ3{LjOb|a3n{i|TM+(PAhNC`> zJb`YjnL0WIyrpIc>YRCSHGxAYFyTSm;xh*hsHPk^@PJJuk#ki>LP8)b7iYD9etLii p%gi&DOAlRO)L^>uV9_lGhKD}|U)A!3yaT#~!PC{xWt~$(69AqbRZsu` literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_river_water.png b/mods/default/textures/default_river_water.png new file mode 100644 index 0000000000000000000000000000000000000000..3b55c5f66f1f1ef780a89dedbd9f9e6a454626e1 GIT binary patch literal 716 zcmV;-0yF)IP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^n~ z2NxX`Z75g(00K-&L_t(I%RQ6Za@9=rjVK^H*SR1X_|PlgSBOBsF%6JLyew>8fJ3~?D^@a?ZN-xDe&AJi{G0-JdBtjh*ngBw2$J;WXzc1Q>~zR}4uZ#&_+Ip3<24OVm9H#`y} z-YT!Bb@M{kF$@FVCzd?pw(?R9N1$Xbs{AqykoFw^QR2_%# zVVsCD@;(JbMwZoizRcL^JCT0a43sadX{1=>nA^rz75ag9DI(%L6=N+61{}u3OB+!D y_e~asjbp2b2%-Uirv}f}IYjyKbg$z#7 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_river_water_source_animated.png b/mods/default/textures/default_river_water_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..daa5653f2aa857c0a476f1be5da6024a2841d19d GIT binary patch literal 4935 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 J)|vYg{tMfXn)Uzy literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sand.png b/mods/default/textures/default_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..645a300444ad7a1bc485d7da294a2d2ca831f3d8 GIT binary patch literal 253 zcmV4{ztHCaJ3!saDnQyaG2iSf ze8Oz^CMK|!S#4A6z$lbnp_Yg;(eimzqmup~Bm`hiG1-m-(>qB!>yc~=W4dPv?;0XG z7Xn{ukNQVGa_uG*2Lr$&Nosh2DZNNveGaS~zc^NoDHR$^2^t>(00000NkvXXu0mjf Djsa=r literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sandstone.png b/mods/default/textures/default_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..16e3d13bef014091640abd33843e6c0ca0d1cc28 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMVJ#l2p>7&z+9PB%|yY=Xy ziHG)f@88vU?&O>^$7dee({b_4g5BGz3oCa_2CARw>Eal|aXndMrBRB2L8^IbMy8$! zPl{f7S_ZH7SFVtN2WcC0Hk4ctn))q)L)T!|jzxy54UN%9QkyC!OEEVeThgR*v~Q^= zPgdr-oO6>Hm3Vr3(i(a0Fin<>apmb&J%C0{=6P1xvcBuG8>iG<#XIVhp+$u0Qj)jZs3N|pT_MoK=HBt`1y(ez&SZL)mHAi z#7P@_#|kH7cP>mR2SO?(VDM*XJPZfhKhD!TG`?dfNgHdVP0<@^=lRH$$MFja)F24{ z2bJdJNzk}?$TSDTb$y`~QK?ni>Zk(b=BmjuTD>J5Wz5kT8 z=EMG*TQ8_|-)&P4sm8*(02ly)*y)W@=2qCd6LXOOFwbuQz%hD3oRjSzy*ue{@7%fX zAH2VTAZ;v(L5Nu*s$uiQjY*Jm=h{k&@UO8uZXENx-@b5T?{6hLtgZU6kf6i~0EW%e zFdUpalORbd`r9~ub?%&^CvBzbv6e(iFY5;(3DnM=Qx1LqAQ0VpsjYZ-8n@3eT{(F~ zl+ZYZD+(z|fdK$}H*;6q5=%32_FaCP4zRa85bY!lW(d zq)C$?(zZ2LW*j#Uwi{x&$=Boc{cXx6)>=z;t+DBLDK6IT5h=u#NHU+a`V4;l^?UjY X^zU=7P3joD00000NkvXXu0mjfs@EKb literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sandstone_brick.png b/mods/default/textures/default_sandstone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..e7150e501eb86a104943df66da3d22057dc5f86a GIT binary patch literal 439 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sign_wall_steel.png b/mods/default/textures/default_sign_wall_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..d8d4a5b00b5e736d6d96674f93b633a73155d76d GIT binary patch literal 3187 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 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_sign_wall_wood.png b/mods/default/textures/default_sign_wall_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..f25a67a82ae7f619a4a3a5cc296954538e915129 GIT binary patch literal 3391 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 k4+Z|BU}E+>msYmJ%3>3+Wh z=(-L75tUK^7-LE)U}k0}B9Ri&zVChCACE_^b!#nzV6D|!uj@)g{M6N20py&Wb4n>8 zAtL8o2tjzf_W;mZ6G}-OLb%;-VnIYHB|)vV_I>}=z>{@Z768LAwAQrNLMukjxl+m( zl9b@RC!*8o1VAigtjsB;cN|8nMpPm(8UN1~U z0HiXh&p9XFF~)hGiO5o~+c literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_snow.png b/mods/default/textures/default_snow.png new file mode 100644 index 0000000000000000000000000000000000000000..27ce5076b6f57f4cfcc33e12d9ac5b491719c500 GIT binary patch literal 3310 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 s06+jSQkt0n0*KV!Z literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_steel_block.png b/mods/default/textures/default_steel_block.png new file mode 100644 index 0000000000000000000000000000000000000000..7f49f61f874d7e6c51c9354e12dac8fa916ba2b6 GIT binary patch literal 357 zcmV-r0h<1aP)CdN%F4pR!lI(0nVFf>)YQPi zz`nk|mzS5;($UPy&dklt&dbT3o}QJJm6MZ`yS%!%xVW#cug}lU(9+E?z=xIq006y7 zL_t&-(+!MQmI5&h1Y5Es=P&`70PNoXl=!o|UKPrH?|1HdzxHvCoS|{SBf{+IoMWfB z7A!G>%rgMjkrDqQ5FN7tw&RLe08B{4At}m&@Zz~09kgy8W1=U`-v1Izq~Ocsyk}-l zNrEXl&F59=5vzEgc64h1Tcv77bt)%ScA!utk#B2(PUYa2nGZg-mQmdE;X@F4%huYe z_^?kR+dFTPWL+}`j*!y2eYPeN!az~gqFGNJUB_2{&Y}rno2~Oo00000NkvXXu0mjf DKu@$c literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_steel_ingot.png b/mods/default/textures/default_steel_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..8100b0132ab8245d8792c0a47659885c598252ab GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=1NA8UO$PKY8@v{oB{x zy?OEH_m3IVCSSdDwyd<|^T&4!=FU2_Z|AnnYnz)I8tQ8`=F}Vj>R~Ji@(X5gcy=QV z$Z_{{aSY+Oo_v5$f_1@`35yt7!h)DK9oX_NgwbGaoK(_@12g_}c$iBYb?BVF$F+o2 xqQ!TbFXJVLt%uZt`J76)r4OAEPC3BOaD6TBfloW;9|s!A;OXk;vd$@?2>@0JQPThb literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stick.png b/mods/default/textures/default_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..0378d078b0910afff1999c66b8ddfb8e8e89a67c GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=4|*GFB=AIiAAKx+3gn z-^T!j7)yfuf*Bm1-ADs+6g^!WLpZJ{A7E`+V6s?nisBmvQG-TKjRPSQbPgT(o z#%yuM$yd=fnb9=#SI9P*L)BLM+P&n>W-)I3eaq&%;LKj$$;#hC)^|Thr!d;&t;ucLK6ViF;-~+ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_stone_block.png b/mods/default/textures/default_stone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..3b771e725e32c342a26dcee06ec7b7cb5800d974 GIT binary patch literal 498 zcmV#g1^`uEr&2!*^?ncFa=FU(+8&Qbo#$a30Tf!NBJLp~ zk!7uO0Qy@m0q8t0joG#hz_zYqj41c;A#M-C{ly9R_0ol z#sEkTDX}d}02G4vep}b7u3gv3zw&7Y@BJ8K3(V65Kq-~7$)YHlrzav}hpMW$^Z9V# z4TZp0L^Q@IV~p&`0)5|eU6y4#rFa0&1E9zY$=y7h$g;95+5PXVah~Hm|6twLmF1UZ zVZ@0{idR(?zibFW&dXBo_l$*u9-4+i0Kkt0fHAhtP17XvJpVeKg%H+SCQTtQ1BQ`; zmBtW}G{y)a!ZNRc9S zwcSID9*XuKTJ$>$6zFgH5fr&JmTUuxP4OWF5qnri$Q~A$ea!C8vOm9nb!`VAk0ai! zQVKvRWsXqxd^(G+?Y6r;fDmJC4BnZw_IkYnV2oL70sMV@6abua06whO0Co=#R9ze6 zy=ROKApjUcsEyH;7682Wv#*VriHViG_r8=8V&HikiGyf{5DsnYoU_*2x+WHCbIzrd zM5WYfx%A#!Yl#d1O*phIfb;nbKuT$}R#J(SGbM%)jMnqTAx45m>oQFM80U;LF})V= zz1BJmffmR)zr4JZ>89!3{T%=$72~Y$dtprV^T&6s4FJYasR}@MJbnB6<=@j2fDi&H ztF;CoHrw4W3`91LBLG!Zr_*V%V4KYrK+JjGvo=NmSglsq%Y|{iUaxIk1DIYX^Y%o# zgfT|&_6No}i9`B?7zXcM(_Al?5aavzi@xvgrJOPGrIhkG9u5bi^*mt+A*UqfYD&;6 zlvGMeip&#oN&v)axg>mfes)cBYp!nxxTaA`Nu|8^R4I1*JpfX@?T!HQm}5+zKYnVv jW7{41f>U$bb)}U5rTFo%-+ifp2*c>j``9CG@Lzn-@Cfobvrf#~Tevgv(U)*>%Vp;mVi{3IZ&jofAgkCO5xOJ@c l!;uG57N1TxZ<4YqW8A>T$YeGDC7sn8Z%eg(Cdo zc5OPJIcNFpv?GTnpWc0EGyC$e{^hR%4|MMT+tjGce=V9ZX7S;D{y>8nJYD@<);T3K F0RSkOOR)d| literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_bronzeshovel.png b/mods/default/textures/default_tool_bronzeshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d800e4712423eda26bc85adad3d979b9dd4acf GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!cYsfbE07Mfl-V3Bo#QENtt#-W z+4leZqMy@}KTVAEFcdaZ68Jka?c3zI51oN;+P$AQxjt@ic~)a_x6>FVdQ&MBb@0AB-CuK)l5 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_bronzesword.png b/mods/default/textures/default_tool_bronzesword.png new file mode 100644 index 0000000000000000000000000000000000000000..cdab89851d664de8fac1e56bec81bd7288e2b555 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=7>}`0LG>|IaU48!!E^ z+`v*@=zqIyj;FA{Dev;R+4Vpbj3q&S!3+-1ZlnP@7M?DSAsp9}9hjS#1ZG`yVLT*I z7TUnY@=#o$g_GlO$cCv7p#@8vd9!Dyu}nOf64125x8asH%TmT?7VPIuN(#OL&0z3! L^>bP0l+XkKtRpg? literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_diamondaxe.png b/mods/default/textures/default_tool_diamondaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..e32a0bf2bc272cf0582c5c7f31b21c37eecdb81b GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E07Mfl*#cF7A`NfRuwRx zHN#9vpz+D0>~p8%4;_fvv$O5x^NQOyi>_V{*t}71(gelUW;b0?4h`{nK%I;wL4Lsu z4$p3+0Xf#5E{-7*m)D-K6k<@|U~v@rc;NT{`KF~SjfywPRW0i}x3yvEa+U87Ory%A pr-|^fq#NC+eEs3(#04GOWH-%WuJW7L^Ddp&ozQ2dB;dGYk)b?q*%a+0}c6m2!(ht7d-YDvtny)#xFJIXA?M~hHTp8Ie3v&}okmdKI;Vst01O^W9{>OV literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_diamondshovel.png b/mods/default/textures/default_tool_diamondshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fe24decd9028238a63bb04fb4288544ca006ed GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Q-Dv1E07j0FAcPm$?+6!eEP^* zRiNVbO?N|~S--wl-@luD=dAc};NL*fe!jh>$frs^Czng-ZPTu$ZtLCzBOD(Hz zcC3DMWoFWoq#75kI6G_qo%3oI%dQkpz3#^0bnh4ExvEI>2l;0rE-vj#)c1bH_~FFm S9jZW689ZJ6T-G@yGywpTgH$;H literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_diamondsword.png b/mods/default/textures/default_tool_diamondsword.png new file mode 100644 index 0000000000000000000000000000000000000000..dbccd0e395592ee9598d21e4dc5306255db352a0 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=0*b0m9{_iY-lDZ(lpl zoo%Tulz-t|j;FA{DetQ#vi3j)j3q&S!3+-1ZlnP@j-D=#Asp9}9hkki1ZJI#WH@AC z*lI9iF0&$&Rsf^g1_q~AAs+|UWld`(Ry8ThW<}gKaqsX^YgTZ{Wx5jQs=>>^=EGs| Spr275WVffQpUXO@geCy?MKJdO literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_meseaxe.png b/mods/default/textures/default_tool_meseaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..c01fb4f339970cd8a01ad6d0d24f7544e42b1d91 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAhE07Mfl*#cFwpJC`dxYWr zM>jJifq(zJ&tH+a`+(v9|Ek}Aaz1^D{PZRC!DF*qcU7<7R&>)9J$a7z`74I2HyN%U z*tP;_1Y=2%UoeBivm0qZj*X{_V~E7%wWrMa7!(AU4=O)D^Z&kAxBsH#-5Y(*A9CBi zyvx|-UCgEu$^#8x%>$i&0PBQzlih_X}7)yfuf*Bm1-ADs+ygXeT zLpZJ{J21F)t~9vzDL`U%jO3|FuYwy4W~eOaxf>}EdM2+&pjVBH=Mkdh);F%URr+3W<= z&sY-V7tG-B>_!@pF=7$R|b=?P1w1_d70i~c5^Ef1>x@4m&kaY5oPa|x9*GIKZ2 zJ6JWL)^ABrXW5qIuR)%FVdQ I&MBb@0EshB)&Kwi literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_mesesword.png b/mods/default/textures/default_tool_mesesword.png new file mode 100644 index 0000000000000000000000000000000000000000..d395d3a13b3427a2fdd9528ebd6f2773bdf4eae3 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=69B4ED|p<@F4f>Oy-C zG5r5O;s5`-|NnDOo)ydS6!tgeee@*n(Uat(rx=1?E@=U3U@Qsp3ubV5b|VeQarSg^ z4B@z*?7-Z_BrwY`lJSth=4Jzl?&bwd%QBcA2{1YyOY3M@!xF-JI%Nfyp8twO?`<+o mCn}6J8YPAJ0;*dVm@s&|aN0-j`qv3Gj=|H_&t;ucLK6VS;XoMx literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelaxe.png b/mods/default/textures/default_tool_steelaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..1528cad45fd63c4a79892e2c6133949ada2f3e7c GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJE07Mfl*#cFwpJBbwrts# zFJH`*1YW*;`RLK3+qZ9@IdkU!|NlRJ{J3)E%EgNpj~zR9^ytxT+qSvsiV7$k$pva= zED7=pW^j0RBMr#0@pN$vk+{6}lqDa70uS@S0v4gXAODkA%69g>J!WJp&AK-9;AH8; vs_V`?;`5nQt`JehVx2E*XDvA8!Zz;x9gJeXUOhexG>5^{)z4*}Q$iB}41rCi literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelpick.png b/mods/default/textures/default_tool_steelpick.png new file mode 100644 index 0000000000000000000000000000000000000000..a7543a1f8fe8ef0f8f8c13b38fef91ec2a404d26 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4%>?*0G&f1ssIj;FA- zs=(d5cTE)eU%h&D@!~~06@h2Zo<%#!IO~i1oANe4cyR=%fw3gWFPOpM*^M+H$J^7z zF@)oKvIBz~r>TT?rgV>Krr{LT6~YXO8@O~E4Bmx0T`}Hm?8jv6!z7_1Nb!G{kYUcY`F zXepE9Dg5Qjm;e9&zj*QD!Gj04Z{NOn@uH`psG9-*&!0cfo;`c&)Ty02cP2Or`(Bb< z2Gq}3666=m;PC858j$1e>Eak7ae3_tOQr?|9@dNgLcUBLxBtG+Qoq>L_3~cA1cT4V zvyNF-nCr&G39pvd6aTd`J#4w%wy@Ae@7*q*p4G75@Vp1-VL6dgjLW31trr0r$>8bg K=d#Wzp$P!)%vS;c literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_steelsword.png b/mods/default/textures/default_tool_steelsword.png new file mode 100644 index 0000000000000000000000000000000000000000..630a33966efb2fd8e87dafa0418ffe5673d9766d GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=5ozPtM55`2YX^vSrKe z+___^F7)cvs~k^Ze^cIMpINY&Xs` zUIDX~bDj#w4sI||+OE5YA(1uJ%0XhyssPtRi~_SRvZy_92w1>yN+aEYm7(37{m34* S&?P_v7(8A5T-G@yGywn|+%up6 literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_stonepick.png b/mods/default/textures/default_tool_stonepick.png new file mode 100644 index 0000000000000000000000000000000000000000..237d739c4e5e751899444a59d107dd2bfccc4555 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE0DHU6$rGH$?+7<$;nAh zPBu~GudAy|OG|5PY^?w_*zA2T5^wXfT90cpd-G-ECF~R8zH^K0d&KxupD~Z)!+af}!3>_RelF{r5}E+m CYDHoI literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_stoneshovel.png b/mods/default/textures/default_tool_stoneshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..11711bd23279cd49c09e6aed90126cfe24757511 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAhE0C_Qs|&Q0$?+7fC@+tQ zh_F@_C@d^+Hx%mWXm4z2sIIEa&(Akg5~!>w&&|mxEiFk&Nr{h*2@4HLa1_3sq^JTk zg0UpXFPOpM*^M+H$H&vfF+}3>(o>dV4GKK27hResaL)O*Kg_yQ%w*5If1eXC#BFs; zPdp~mvu5U-ubm#fA71pImg-z)Hzld*V!5Zto;A`3?i(bx`@b`I!)RU4__QvqjR|Nj NgQu&X%Q~loCIGrFOq~D# literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_stonesword.png b/mods/default/textures/default_tool_stonesword.png new file mode 100644 index 0000000000000000000000000000000000000000..1a493acbd6125ff226edc18ac838ed626c9083a0 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=8+ru0GygVWA^xl@LpZJ{J1`pt z%&J_?*s?H5hhf>wIm`>0mfc{TlE9>8AewVDKvd=>lYrZ8BX@(dGmk281X?p@%~zVj Z#txJ(=`9Wh7E_7NjgZZSr_2y#3(Q;P*N?yAz%UHsTTbP0l+XkKnkOx} literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tool_woodshovel.png b/mods/default/textures/default_tool_woodshovel.png new file mode 100644 index 0000000000000000000000000000000000000000..dcef2b5bf22283c594f4e0f6dfb653bb5a97bd6b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=2a5!geYGmMQ{~HvB#Y ze1VoSf#!m)I)Wi){7H@iadrZ|3Y_jhb&MrJe!&b5&u*jvIZmD~jv*Y^lO0%%%bhd) z+%?$^lwDL*7+j2ZPMOvq$+PP1Y0(2c%T_2EoHcZoRhp1{fMwaumW9hyr3?fF63iTm a85kBHpz-94JT%d)M z<8a6ZE2mI{b_ZT#U(==&EruG7SJ)ihiZ)$h$bQ9owzKkoIM56RPgg&ebxsLQ05WPS A?f?J) literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_animated.png b/mods/default/textures/default_torch_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf33ef38acb19250410c39f254b7232dad73115 GIT binary patch literal 833 zcmV-H1HSx;P)S;-7BC_dOg14Q77XFx;o{%NIV3705h521d~S z(s|XZcHFXZ<-%*dq-o;5VB@|~%cxDup+-|qHrA3g;;b&(fg<3f9a$v+;^W%l-q_*a z)8gFI-}=tu+|J+4&F$yN(9Ou<+QQP!wBOCG<>0H{z^m}#s<^tO-p`%l(46Pjn#H!5 z(Y2P>!0aGb{(B<9nX3k>8l$k91j!|4T5(J1PKhsUkb}_ z0@g$TuP6YS1pom603tqEnE(I)0d!JMQvg8b*k%9#0dh%1K~z}7-Pcu90s$02VeH;T zN=i^dM362)K)~+q?(VMN?(-g=obkck`^Gny*_kt&s$a~*`fg;ofFYDyxA6c1$~fzEBR*-VErJNskx8$vz;o z=9NNzw#XjyR;BbPn_EJcV?hd&kqlP)UFcC#PLDZ)pq-I|Mcs>)jQ0Z4(X5dBhw6^t zpIU;%On@zSP9Z%C1XGfti3OzK-nL+6*JW2ok0U~Sh$3_Y#+TKQtmhkIlWC9gNfL&2 z0Hc{bu6tS`2F3J969&aADFnkJR?a6B+e4QCXfi|c^P=~jqcraj&Wqec}+5CLH`;9%tyV$jR8NBQK7 z0}!VMFYrcg9BZH1LoVO9AB0EzPU!$6PBmXhPWk;J+939SeSZ7^NU$%G{0x(&00000 LNkvXXu0mjf4}6#L literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_on_ceiling_animated.png b/mods/default/textures/default_torch_on_ceiling_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8b5ad9547fcb4c9ad7aba659c503e4dc832c34 GIT binary patch literal 916 zcmV;F18e+=P)foE`(}{0bKZamFf?PW>AQB}Q4&mwR(u1o)a2^U;n>dO<;~>a#O&z3 z=jFTR-?_rNu<75dvZ$QBxtQO=leMXVj*@+`qj$WfaGjKE;utZ(Bs8 zfInA2EU$bRpJ@{}AQ2G{5Se2Pj8X{B&eP-L(&60D=cz z;Fd30^j zl0hx>_^Vm`S7uCnB%=>KW1qxF(4ih7C8xS++OuthO~!9|0*K*5&d%W8Dy{@# z`uJcy7le529$HeYfgbM_R{|k?L^i3223ZA6Z6YPB8aNLnON9X5xDtrsV+wqzETrV1 z7v@K#&;X{IEk$*%wy=L43TN zgO5%+9#(9M2?E>!^pQa4BLd3F{qn%f22v7G!Ufzq3Y%fyeX1)Cdb$%z4aW}5&kzj7rI#RvRvZIhJjnc%*y?60SwRNVh<_y>H1 qkAK03QU&piFh6`9PVf=m_xc|c7BHhyqHp#900001dEEN_z0!=q; zSp4bdjg|{NBBCzB3D4Zc6I_K8Qj|0l96VY%w0G$q3SeVc*~6$U_PI6+Xbyv?tDnm{ Hr-UW|3$8^U literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_torch_on_floor_animated.png b/mods/default/textures/default_torch_on_floor_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..ad51c03a86e53571ba9eba8e6557b6cb13c6bc81 GIT binary patch literal 830 zcmV-E1Ht@>P)$fV@kqVe3G@8g>7+m+zel;6aO;>&>N z(R|>-dFID(+^=iUrd`~jR^qfz-<3t&l|FuQ9Bw}dVlx2f?Aznx)Zo<9`1#S(($C(* z#o*Dt^zgjm*t^@!yYJ+=y1TaV=-gnllUsIYTbqJez>rm%Z%AxsMeoHz)}KM1 zbvBD~G{l@S=B+5_u_A(7BFl3hbyXfkF&?IO9cMut-Ha2IWD|y54CI~)K@vCoUu* zfk1@d?(XjH`tht-+?xeeS!Md|&Y5{#)wlX}Yf7)pi+&U-ZyJTO5BVyt&>FgS5>1sP zwACakYFN~fXsG8uYDqL!k!WcyA%O2sKv%+z`;{Xb*x(K$pUvITlAW#U%_E;jK0i7| zVX;dn-p$C@BM$=Q!F7_Nd70M_qv%~31>TxaI1e??OHqv@S|t;T(990-TI`AMj}DRY z$Rau=2My3V^6~T`t0#9oEUgR2`+ zwi!?i$pIAc0iGA3?o%0YU-F~SC#a#TC=WHiw_hwGh&E#oPfX7$=TQ(TkDnX~(3qE0<1{$@^xhh&A-ceMJd@C=IS;C2hJ?jK z;%1P9xlpcoJpQ}g4;Ht?8LJb8)nh`jJ!L>)dn?mCw14O07x@-1k*IDPX8-^I07*qo IM6N<$f<(%mO#lD@ literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tree.png b/mods/default/textures/default_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..10e297b4475486afd1aeaaf7305129777a8101fe GIT binary patch literal 309 zcmV-50m}Y~P)!;7%LwYNjfV&G9)-HAWl6mMmQ=&Hz+bE z96>fFA{P!T9TaBsIgJ1S0Io?yK~xyi70pQ!fG`L|Q9#C!IeP!As@qq;s{tO2HL9Wb ztPu&o1$9*eQxWnD02#3@0~xasJ^-Bpz1gExo#-zbvZBNm?7e)zy1C|=Tg&A9fF_h$ z&`9!Jf6@I;2{Nj5;Q64H0@8e?X{YOlJ3wd!|NOPS3?MBo_#yOo_0d82O zYZ>mbboUGHJCdEpX*`1QgKHyK8hwx~`T(9Ct?G!`=jxa*B9RC_F*TAx00000NkvXX Hu0mjfY+r0z literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_tree_top.png b/mods/default/textures/default_tree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..da99bce74a957acb1165aa14efb039ac3adccb8d GIT binary patch literal 659 zcmV;E0&M+>P)d>6&%8TQ=dDfs})Sh5VJ0~+M9q`__?9ra-&6eiIljXvS=EjBQ!Gq(# zg5SA+jEjTV7_v*dx*{|-|tn}TW^4Xl|%$)Gh zlI6vXH7oIRYCRv`MBJ-hmJeTMqApA5dl_S}eC_k4?Tq8g}-7MFa zLLo|~#MBU9MvA>!i58>06=pIWfSG&aShbAG-liQc(We+*8CLRic}*@xc7!to!4JmE zH>%Fzxk0<@7Z`l4VHR}FEHG+b?2!=s-L2LxPdtum*2Lr;0{9!b99L%@YeSU|VgT^- tHohISTb-+Ze;B|JfZ#NInop8={sR}dBW%UADir_#002ovPDHLkV1lP>IDG&B literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png new file mode 100644 index 0000000000000000000000000000000000000000..00500e9b91b12021b528b180473cae639b41f619 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(am8iWd+5A+z=C)qnbBTtB z;uTkv+Mk(BeBnR;`ZcrdNtFNQ|rsx@R2rK4{}p1H74@v-G!h7u-mn{4ZO=|Fcec)I$ztaD0e0sy*)Xj1?H literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_water_flowing_animated.png b/mods/default/textures/default_water_flowing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..070d79718eb0d1de20147a6184729de6d9a6bf3a GIT binary patch literal 1607 zcmeAS@N?(olHy`uVBq!ia0vp^0t^g{3>?frR&Nhm4Un=4@Ck8M>wKou`&_Q|nbCyj zW|Ll6O?lxssmwCE4hD02Wxf;oL+kl7V!b7#Jt*X!emFuRaXP)j? zDPnS}bZ*c%zVO}7Fxy33504af2rPb9;vo~CzHF8wr_g@uc!}Nvk38yB^8T{SR%Ndg zG-e8)qU7{Kqq`;2G-{cd+tRqmjxPC-z38VWs%Y!1CaGCytH_iJ4*%{&wn#JRvo@`i&`vOrWBw_@6*o64an)0QY`yY9?a zFwGG7;h4R34x@P1!%5lkUzNN+oKaLiG<)6}2A(xfk8-SGb!hAQLg`-R{!y58D}nJ_ik_h@a@BVcauG~S=BbnJSuuFKL7gl!g1#9?1^Vfsypt= zWyhvH3~ZUm@Z_yw-1@?5iwVVZKQ50`zq61pT)4oc#OWpTk}3HL)yyY(r(AmYpYb7c ziW8$s*R?!_jx7wICVgSt#Qs9azl`~2(go%#)(Z;{tdaJRQ&@44xy9}k8&`}r* z-zJ(I`=(*v|Er=v_J4&(#g(^?Rn<$@x7*99#MM-bMDDQN6uH+nWo_v8_H%ZJnnMb! zReH9!tMl`}`FT^$WTJ^pQ@-!dk+o;_v=aSc1JapDfsg_@F5$hzl zidDB^&-&h5)u~JNUXxLkEEKu0CPp$~DXY*XTKhm?QbUcATF=fg*fC5+Zrx3?GEmQ(uq zu^?gF2ZlGV3yUgF99Lde9n$*5Ex&*BcNsY+2A$TNvpx*J0~eLNXWO1rU$w@W30OL? zC4TX*-5P#i!;WU>M}5{U))r6RJ(vLGyyN5Rw6;(Ia(2TwV425!4?!~T1R%=D(!ooGRf63L_XWt|5M^MiDiq#*xQk00L+WRdSUC`328}gZVspl(lUF?ju|4hb7zpggUJa~2TW41jk zhx}B#mhwx!=$!cHiidIeua`L~&a>CcEj@96`!`$Kbd<Q$#L zJYoO4p=H`^!AhI*UmssRFl;_`dB26=)aRR?=WCyT=eH-h|KkRK_BWp4!O!&)&M!5Z zUw-1Ti1Y8Cb8O@Hwrx!G|8K_6^XY_izK%)dy25YI_k4=jp7%7+Pvcberz_=Ab?a<) z+FEPgFpijcFrnkd`}iZW-L|*q)#puK9-H<^_C#=f0Q>nE%iWV~Hn$qh)vew%)ozuI z_y3c^f4Gr%`l$o=K(8H;+#p>HlqZPD_8Sem-+!-KPwmu#UsO3S}&gf0$f* zet*~#Nd@8BZ(o#MKZ`93)tdD^ft&w`VC9^h>ugNqDqnHVJkfkfIhgw+Z{@lN6V-iA z2rF{DtKC?8&Gkp_+NYIyhfJPt>latuTb9#Qu6&EJI%(>)lfn0= zZp(c3zH#x|OPl}8RW+6!o~Kt~USs@W?XhFLmFG&k^N!8SbF#jrpmB1s%%?m3TWW$Q zEswsjT=~-s2_Dm1(=8T8yVline&2of^Q6jtn-=<5d?@0_~4;J)^GHr}K25_!4aoQ#vR>5u=A{QLf5^u*2w}s2ReL??RhFz{9uV>>Fx zwzl1IV>;VLAo+avbIEE6k?L!Q<=E!V3xAUs07e&n+V$T!yx^;W#y1pnqIzxm`=bkh zQa2v&Ewkt8vgLVI^{(BP$Lf3W@4e|Dv)|T9Oj&CT)_0@k&BmV~wTBnH?RI<(GW)`} zb0F^58-J>RwnEVsu%nL3+1}ng@9kVikh@?=zWzq?=Z)#MFo!{$2O}?vRGR>;JUZ{^ z8K@CJ_T|q%{>E=OJ{u%~6XlClOH8?)7_bfKoXv6wPwrRh#KwblhfLsT5E68_X&*nfp0Cn;O>0+g2E=;=~y#kh144$rj JF6*2UngCodfr|hD literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_wood.png b/mods/default/textures/default_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..af56d6cd451fbd742626e9d1e013c568634b368d GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYZOyb<*60=PtXh{~5M-~s zu+F0~*?4ZHYiG7?vbR=yw(ZwzhqeM0mw383hHzYWJ!QznWGKS+u(9FDx&0A2s&5#T z_-!3dur_HVsdiK_aq~Zr%&~p7&v$dYHS=n5k`LtNrDVJvzTJw_e=XEaktaqG>+gSsq? z3=S7P%cLb_-()2uOV4ONa&Rj1x~zi0hLsMB7&+5rGS20gI6V6H@AZS{{Esd23}+V_ z>fEh9t5_@1-&fw8y7j)?q3yfBu1t-Zn{zBtvaTv~=ZtT+Rcp5I`~R!;{Pq16mA~xQ z*MFKl?e@bInZEM$&Cl{~=|6n^Ir4MCZmX92XXcoj{;733Y`@I+;gmzBt=U}HMb>G? z1n*c@;QMeEnF1d^yq+1n=kbQ~T1x*E5JT7l+M@58do$zn=9N=)@bnn?JlE zt*Tkl7}(!$V({wYL^ii=$6I;#Si4ERn922J#{|Y`*W(<_w!xAOa^Y#7?2;S12x6(KX=xICUC1D{_C?OAt6%?vvZSZ0pUXO@ GgeCy_1gjVT literal 0 HcmV?d00001 diff --git a/mods/default/textures/gui_furnace_arrow_bg.png b/mods/default/textures/gui_furnace_arrow_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..046d8cda098534b25bc2dfa550ca3e705a29acf2 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzs3?v&j#pnYm^#Gp`S0GIgL`6lFUygqcRL4^i z1nwZs?dFV>hg_f193psmo7Gj+uHYL+^95}4hjoTS3j3^P6^StyP{hGr3|NFN++$3=5{P*~d z=(mEQ+xDE#kgAM3l5Y4|+@xMH!zo#Cr2tRtWi5V3WvQ+eTn9Jk=5{G%IMfQJDoSix z9;?$-bwyOL`@th+*;7sd?YETneX;xJvwW4nl|{=s_WbxTRd1!hl?A&v;x{U}bOfKP}kkOqSPFyN&AdNYvE zS`y?JT+C1%W8ZRBr3xsp-P6S}q~g}wI|q3k92i^zFCJ`Ta$$F3Ui5z+OZhjY*`D|2 z{C_EG5WDfzLZ{HWg;v+T=em9g=>2@X>|$LoZ}9hhb%MGp0v0+=6H| z!YQZ~vLZm$1uP*zxx_5jb^BH+vlnfh812O0cRgV1ZO#p^ygze3YugX#+Vv9$fYdtvkTqP)$8Nhv~-X1p*s=uRJCqdiY&{LtXQ^j9K&H4 z(lpExNR}0(nuj3_=X4Gs{yJ_@qm+&dsm5j7_481kKK`64Ey@VIB5}^G$ufrN&~@Dq z?$1e3w?LJK{)Z$Dw<3w6jQ%;ygeWk6(bol&tp-5 z7`@!hB^y*Q%q#KKEn3|zU$e~{w`AG=2$Jsc=?H4AigO2I90(=a(yb6`<)FmqVaOb0 zeMM138uxPLg@(Sotx=Lhc?rpHuLK4};oU?3HdbHqvK2}T*;G~pkb2Teo7xB^rPOsB z7@9}uwUkpE2e?=(MG#{iYpn&UQEKZryM9AOx#p--Lffj5S_rLxZyGCYQ=KcTje*LG zttzX`gbIjN#1qou$x2T!!6ZM>oH`Mk$!Kc<1(k4B)!62It{PnjW`as8B|S@cDBXi4 zl!f?qs!pE!m^PIxlPvo4YXP+_`cInuvutEpj0*?UT#EjYd#IK9IHbRa3Q=E*>$9Zp z6Lfw)e-E7|K)Y*stkYY1zw<(+)wi@~fC@mD>j9O*&DSUMn5y~}4p)xZC+I!jp+S^h zd!{jc?(0Lu>Pf)-}_Zw#LL5)BJ!gcb?gwJd|~!0x_Zc&jVU=K}DMk9(p!x&`Hn> zU$R1LA%fT39Z;s(pR^95c_3(IxR#Vq9(p0@G_gWcf}XXAd7xTjOhe!OFWOH#j)PAs zKryC2J3qs5V&S`iv_oYbrCs-XXk#^?&zuzsm(fJnrC7T!t4c-Jha;#`ZIX5jP|;Kx z(Bm{^f*K|3#i zwJ*-yJ(tru+!>&g68_*jEPb&+g+6?#WA=x~gU3J3j@Oj7R(z*2L67eH)y2_$Bg_w! zPV2sBIZfmLpidqs_1Q!B;++8sXX1dK$>=A?><2~!*?X6Y3qW~1l;pZws&ouK%j|2~ zP~P3gm@>IN=?*of1)t?LCFt&-0{Ti>py~}hPZOXlZ(tUx0>9$)cUg?$P+{YP0&?ANta(F0OD%w!?V3%Zq z3WCBx+h>1rOi+2ak_0vD%n?J;jh)_O$^}(TBVI$lTdHcju|12^tKmW92b5>=TR@|( zKcH9$9GkSXwoVSHRybKWKF*Ys_0PfAQVivBO_4Du5M19VjGrXVMOoq~Hhx1SokH#- zDvEGK^naw7|4a?G1r;0O`IkvHjdqCkcD_fRj+cFprb6}NkjpwXU7N$VX zGg%5M*;>|QY1Dl~0}Su;Ixh(SBW)0YRV1r(C?S2ZEg9uh!d)`x$#ndQk`&Z4)Z!ZD z7o#=#Is~mIVM^*K)IQ16BE5hBJtc2)h+Ex$i69R8z)S|Ig3^JHKbALlL!m^%XEO0R zrh5=Uh#Is@YhXXdrBS9fT3TzB2}nQ@S^xx|vbG_ik6X%67~)fjG67mou`AjWrH;@7 zU}IGCMbb#rO3=Z#N>eUETAwlyV%ML~N18%tEhbX~P0v*j-O7_sa#d$9)z@DyUv%^J vzB%qt@`BP);o(0T-{Y?bTTvoI00000NkvXXu0mjfh=~t@ literal 0 HcmV?d00001 diff --git a/mods/default/textures/heart.png b/mods/default/textures/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4e228930dd00bcff09f16a30e2873ce1c7feb3 GIT binary patch literal 14830 zcmeI3TWl0n7{^ar0a-$AF%fG5OsB2X%kEsdTiS7#UUmz+%FxoTp^b{2&Yta#?9Plc zvvgZA78(*suqZqTL?cFHObkR+u3BkGkl+(R6Q%JI69n~zMq-rufM;gg-Ij}TLP&f# zo9u1QZ@%-L-~8vi&DOTnE9bi&Z~*}3N5Y|Y^j%`V@1Bi5mt4Lop|81mxXT1!-o5s_ z0PK0=egNvKm1w8cDXtP^E#;A7S`YMOQaYjm@Hb?1NnQ^vst5KeYJk4<>2aD;VgY)s zPh>?s2op+pzyR?P~#M7Blp@tC6bF`?%lz9I&bWN14N08v-ucc8CW0ED^3Lle&xMrjzq*zHwy^zt>UT50eH57tc zQZrBosMDIMjzm$2sHP>UGK_=*G+L2IQDQ=!%*FY-9^PHUOOo5md%bQc4taNvkFBk( zW8*b4FHb8G(&V%qu&EL;{1UB(f^J_ad0VCI7zn5mYDKc|sQ}G6T{_1*?O-L-+2hN2 z7QGnG{>&p?|Bd8{CshT>=AE~{`jw~Y??eD+`VZ&Gpg3yN~?F+q~EYn1Iw!s+Jv8Zs%&} zs`MowlKby@&%ve^xB4UlHua+Ga%*=NGr3sC-V~=+>u0X>;dg*(yC^y@dkpQ)Xq#tp z`~0LY)YP4POCg~!&unb_qBwa)omH{l7q>JdnGJpk>bP-)x2C!g~ zE}{#|02WNrMRZ{qz=BD-h%PJxSTIQ!(S>CI3nu9zy08pj!6aQo7nT7mn52v7!ZLsb zlXMYXSO&0Qk}jeP%K#Sqe@K@r|M(wN(KCMrdbkh%kop=u7)Z(Cb`gMqDgXwD0Jw4$ zeg6tTng!suZUBT`04&sYJbQ8l00oVaP*XHB_Sw#n$BWjKY&l+9es1tw_cm9-$rE23 zK5(#PRmGa|s*RhXV=wRBa&Sz6TJLLL(%gdJ*~-$F^rBPrvL`lNmP^M+N8yo+-yJpM zs}_9RJzT~uX?=Rv>A_mPvTXFgZllrlZTe`*juX|J3WH6>Bl|1UhmO75ai-|~d9KE) zGwi9^fg|3pibvy%`L6JLiO)w~{pFAG4@7<6MB)Cy7uQDqnpJQfG|ao=3;+En6MuW% z(DnyEnfTMcutH4UQ@qY~wyg6<&`>m&sccREG^hIT;HB2grRIZ$-xqtID{U@IY%|LX zqJ#TREq#4_;{3&d(B8tzrAI%UbF5(2a@Tzm&ny{!s;&G&bEt7a%b7**oPVK>Te0{N zYU@x_Rgl?UvGM{nym|MbH%Go1?cZ3qC^^P2+7lT)eb?`A6<+=5mE%R=v7J9tYZDKj Qw4ca~w5$&8Z|>gw51Z)1CIA2c literal 0 HcmV?d00001 diff --git a/mods/default/textures/player.png b/mods/default/textures/player.png new file mode 100644 index 0000000000000000000000000000000000000000..6d61c4342f39fd8da8330e97117c68a3709483fd GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3QlXwMjv*C{Z>MhLa!}-9{{8ab z&TEibqWl!w& rU}f~-R;g-O%k1_*>%@MOhihZx0?vo`Z!=Z~TEO7x>gTe~DWM4fSl%(n literal 0 HcmV?d00001 diff --git a/mods/default/textures/player_back.png b/mods/default/textures/player_back.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9ef05420e51ddd7ad33c13a58e21b1bb86a60a GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5$P6SE-Lv|E6kC8#h%1n0XkeK4M6m_PU@Qsp z3ubV5b|VeQG4XV94B@z*%)oSvjqMmS&l!G+8}= 2 then + if data[vi_1] == c_air or data[vi_1] == c_ignore then + data[vi_1] = c_jungletree + elseif data[vi_2] == c_air or data[vi_2] == c_ignore then + data[vi_2] = c_jungletree + end + end + vi_1 = vi_1 + 1 + vi_2 = vi_2 + 1 + end + end + + vm:set_data(data) + vm:write_to_map() + vm:update_map() +end + + +-- Pine tree from mg mapgen mod, design by sfan5, pointy top added by paramat + +local function add_pine_needles(data, vi, c_air, c_ignore, c_snow, c_pine_needles) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or node_id == c_snow then + data[vi] = c_pine_needles + end +end + +local function add_snow(data, vi, c_air, c_ignore, c_snow) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore then + data[vi] = c_snow + end +end + +function default.grow_pine_tree(pos, snow) + local x, y, z = pos.x, pos.y, pos.z + local maxy = y + random(9, 13) -- Trunk top + + local c_air = minetest.get_content_id("air") + local c_ignore = minetest.get_content_id("ignore") + local c_pine_tree = minetest.get_content_id("default:pine_tree") + local c_pine_needles = minetest.get_content_id("default:pine_needles") + local c_snow = minetest.get_content_id("default:snow") + + local vm = minetest.get_voxel_manip() + local minp, maxp = vm:read_from_map( + {x = x - 3, y = y, z = z - 3}, + {x = x + 3, y = maxy + 3, z = z + 3} + ) + local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + local data = vm:get_data() + + -- Upper branches layer + local dev = 3 + for yy = maxy - 1, maxy + 1 do + for zz = z - dev, z + dev do + local vi = a:index(x - dev, yy, zz) + local via = a:index(x - dev, yy + 1, zz) + for xx = x - dev, x + dev do + if random() < 0.95 - dev * 0.05 then + add_pine_needles(data, vi, c_air, c_ignore, c_snow, + c_pine_needles) + if snow then + add_snow(data, via, c_air, c_ignore, c_snow) + end + end + vi = vi + 1 + via = via + 1 + end + end + dev = dev - 1 + end + + -- Centre top nodes + add_pine_needles(data, a:index(x, maxy + 1, z), c_air, c_ignore, c_snow, + c_pine_needles) + add_pine_needles(data, a:index(x, maxy + 2, z), c_air, c_ignore, c_snow, + c_pine_needles) -- Paramat added a pointy top node + if snow then + add_snow(data, a:index(x, maxy + 3, z), c_air, c_ignore, c_snow) + end + + -- Lower branches layer + local my = 0 + for i = 1, 20 do -- Random 2x2 squares of needles + local xi = x + random(-3, 2) + local yy = maxy + random(-6, -5) + local zi = z + random(-3, 2) + if yy > my then + my = yy + end + for zz = zi, zi+1 do + local vi = a:index(xi, yy, zz) + local via = a:index(xi, yy + 1, zz) + for xx = xi, xi + 1 do + add_pine_needles(data, vi, c_air, c_ignore, c_snow, + c_pine_needles) + if snow then + add_snow(data, via, c_air, c_ignore, c_snow) + end + vi = vi + 1 + via = via + 1 + end + end + end + + dev = 2 + for yy = my + 1, my + 2 do + for zz = z - dev, z + dev do + local vi = a:index(x - dev, yy, zz) + local via = a:index(x - dev, yy + 1, zz) + for xx = x - dev, x + dev do + if random() < 0.95 - dev * 0.05 then + add_pine_needles(data, vi, c_air, c_ignore, c_snow, + c_pine_needles) + if snow then + add_snow(data, via, c_air, c_ignore, c_snow) + end + end + vi = vi + 1 + via = via + 1 + end + end + dev = dev - 1 + end + + -- Trunk + -- Force-place lowest trunk node to replace sapling + data[a:index(x, y, z)] = c_pine_tree + for yy = y + 1, maxy do + local vi = a:index(x, yy, z) + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or + node_id == c_pine_needles or node_id == c_snow then + data[vi] = c_pine_tree + end + end + + vm:set_data(data) + vm:write_to_map() + vm:update_map() +end + + +-- New apple tree + +function default.grow_new_apple_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/apple_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "0", nil, false) +end + + +-- New jungle tree + +function default.grow_new_jungle_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/jungle_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "random", nil, false) +end + + +-- New pine tree + +function default.grow_new_pine_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/pine_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "0", nil, false) +end + + +-- New snowy pine tree + +function default.grow_new_snowy_pine_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/snowy_pine_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "random", nil, false) +end + + +-- New acacia tree + +function default.grow_new_acacia_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/acacia_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4}, + path, "random", nil, false) +end + + +-- New aspen tree + +function default.grow_new_aspen_tree(pos) + local path = minetest.get_modpath("default") .. + "/schematics/aspen_tree_from_sapling.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "0", nil, false) +end + + +-- +-- Sapling 'on place' function to check protection of node and resulting tree volume +-- + +function default.sapling_on_place(itemstack, placer, pointed_thing, + sapling_name, minp_relative, maxp_relative, interval) + -- Position of sapling + local pos = pointed_thing.under + local node = minetest.get_node_or_nil(pos) + local pdef = node and minetest.registered_nodes[node.name] + + if pdef and pdef.on_rightclick and not placer:get_player_control().sneak then + return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing) + end + + if not pdef or not pdef.buildable_to then + pos = pointed_thing.above + node = minetest.get_node_or_nil(pos) + pdef = node and minetest.registered_nodes[node.name] + if not pdef or not pdef.buildable_to then + return itemstack + end + end + + local player_name = placer:get_player_name() + -- Check sapling position for protection + if minetest.is_protected(pos, player_name) then + minetest.record_protection_violation(pos, player_name) + return itemstack + end + -- Check tree volume for protection + if not default.intersects_protection( + vector.add(pos, minp_relative), + vector.add(pos, maxp_relative), + player_name, + interval) then + minetest.set_node(pos, {name = sapling_name}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + else + minetest.record_protection_violation(pos, player_name) + -- Print extra information to explain + minetest.chat_send_player(player_name, "Tree will intersect protection") + end + + return itemstack +end diff --git a/mods/doors/README.txt b/mods/doors/README.txt new file mode 100644 index 0000000..9ad7093 --- /dev/null +++ b/mods/doors/README.txt @@ -0,0 +1,84 @@ +Minetest Game mod: doors +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) + +Modified by BlockMen (MIT): Added sounds, glass doors (glass, obsidian glass) and trapdoor. + +Modified by sofar (sofar@foo-projects.org) (MIT): +Added Steel trapdoor. +Re-implemented most of the door algorithms, added meshes, UV wrapped texture. +Added doors API to facilitate coding mods accessing and operating doors. +Added Fence Gate model, code, and sounds. + +Various Minetest developers and contributors (MIT) + + +Authors of media (textures) +--------------------------- +Following textures created by Fernando Zapata (CC BY-SA 3.0): + door_wood.png + door_wood_a.png + door_wood_a_r.png + door_wood_b.png + door_wood_b_r.png + +Following textures created by BlockMen (CC BY-SA 3.0): + door_trapdoor.png + door_obsidian_glass_side.png + +Following textures created by celeron55 (CC BY-SA 3.0): + door_glass_a.png + door_glass_b.png + +Following textures created by PenguinDad (CC BY-SA 4.0): + door_glass.png + door_obsidian_glass.png + +Following textures created by sofar (CC-BY-SA-3.0): + doors_trapdoor_steel.png + doors_trapdoor_steel_side.png + door_trapdoor_side.png + +Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0): + door_obsidian_glass.png + +Glass door textures by red-001 based on textures by celeron55 (CC BY-SA 3.0): + door_glass.png + +All other textures (created by PilzAdam) (CC BY-SA 3.0): + +Door textures were converted to the new texture map by sofar, paramat and +red-001, under the same license as the originals. + + +Authors of media (models) +------------------------- +Door 3d models by sofar (CC-BY-SA-3.0) + - door_a.obj + - door_b.obj +Fence gate models by sofar (CC-BY-SA-3.0) + - fencegate_open.obj + - fencegate_closed.obj + + +Authors of media (sounds) +------------------------- +Opening-Sound created by CGEffex (CC BY 3.0), modified by BlockMen + door_open.ogg +Closing-Sound created by bennstir (CC BY 3.0) + door_close.ogg +fencegate_open.ogg: + http://www.freesound.org/people/mhtaylor67/sounds/126041/ - (CC0 1.0) +fencegate_close.ogg: + http://www.freesound.org/people/BarkersPinhead/sounds/274807/ - (CC-BY-3.0) + http://www.freesound.org/people/rivernile7/sounds/249573/ - (CC-BY-3.0) +Steel door sounds open & close (CC-BY-3.0) by HazMatt + - http://www.freesound.org/people/HazMattt/sounds/187283/ + doors_steel_door_open.ogg + doors_steel_door_close.ogg +doors_glass_door_open.ogg, doors_glass_door_close.ogg: + https://www.freesound.org/people/SkeetMasterFunk69/sounds/235546/ (CC0 1.0) diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt new file mode 100644 index 0000000..5e28bee --- /dev/null +++ b/mods/doors/depends.txt @@ -0,0 +1,2 @@ +default +screwdriver? diff --git a/mods/doors/init.lua b/mods/doors/init.lua new file mode 100644 index 0000000..7a8006c --- /dev/null +++ b/mods/doors/init.lua @@ -0,0 +1,747 @@ +-- our API object +doors = {} + +-- private data +local _doors = {} +_doors.registered_doors = {} +_doors.registered_trapdoors = {} + +-- returns an object to a door object or nil +function doors.get(pos) + local node_name = minetest.get_node(pos).name + if _doors.registered_doors[node_name] then + -- A normal upright door + return { + pos = pos, + open = function(self, player) + if self:state() then + return false + end + return _doors.door_toggle(self.pos, nil, player) + end, + close = function(self, player) + if not self:state() then + return false + end + return _doors.door_toggle(self.pos, nil, player) + end, + toggle = function(self, player) + return _doors.door_toggle(self.pos, nil, player) + end, + state = function(self) + local state = minetest.get_meta(self.pos):get_int("state") + return state %2 == 1 + end + } + elseif _doors.registered_trapdoors[node_name] then + -- A trapdoor + return { + pos = pos, + open = function(self, player) + if self:state() then + return false + end + return _doors.trapdoor_toggle(self.pos, nil, player) + end, + close = function(self, player) + if not self:state() then + return false + end + return _doors.trapdoor_toggle(self.pos, nil, player) + end, + toggle = function(self, player) + return _doors.trapdoor_toggle(self.pos, nil, player) + end, + state = function(self) + return minetest.get_node(self.pos).name:sub(-5) == "_open" + end + } + else + return nil + end +end + +-- this hidden node is placed on top of the bottom, and prevents +-- nodes from being placed in the top half of the door. +minetest.register_node("doors:hidden", { + description = "Hidden Door Segment", + -- can't use airlike otherwise falling nodes will turn to entities + -- and will be forever stuck until door is removed. + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + -- has to be walkable for falling nodes to stop falling. + walkable = true, + pointable = false, + diggable = false, + buildable_to = false, + floodable = false, + drop = "", + groups = {not_in_creative_inventory = 1}, + on_blast = function() end, + tiles = {"doors_blank.png"}, + -- 1px transparent block inside door hinge near node top. + nodebox = { + type = "fixed", + fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, + }, + -- collision_box needed otherise selection box would be full node size + collision_box = { + type = "fixed", + fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, + }, +}) + +-- table used to aid door opening/closing +local transform = { + { + {v = "_a", param2 = 3}, + {v = "_a", param2 = 0}, + {v = "_a", param2 = 1}, + {v = "_a", param2 = 2}, + }, + { + {v = "_b", param2 = 1}, + {v = "_b", param2 = 2}, + {v = "_b", param2 = 3}, + {v = "_b", param2 = 0}, + }, + { + {v = "_b", param2 = 1}, + {v = "_b", param2 = 2}, + {v = "_b", param2 = 3}, + {v = "_b", param2 = 0}, + }, + { + {v = "_a", param2 = 3}, + {v = "_a", param2 = 0}, + {v = "_a", param2 = 1}, + {v = "_a", param2 = 2}, + }, +} + +function _doors.door_toggle(pos, node, clicker) + local meta = minetest.get_meta(pos) + node = node or minetest.get_node(pos) + local def = minetest.registered_nodes[node.name] + local name = def.door.name + + local state = meta:get_string("state") + if state == "" then + -- fix up lvm-placed right-hinged doors, default closed + if node.name:sub(-2) == "_b" then + state = 2 + else + state = 0 + end + else + state = tonumber(state) + end + + if clicker and not minetest.check_player_privs(clicker, "protection_bypass") then + local owner = meta:get_string("doors_owner") + if owner ~= "" then + if clicker:get_player_name() ~= owner then + return false + end + end + end + + -- until Lua-5.2 we have no bitwise operators :( + if state % 2 == 1 then + state = state - 1 + else + state = state + 1 + end + + local dir = node.param2 + if state % 2 == 0 then + minetest.sound_play(def.door.sounds[1], + {pos = pos, gain = 0.3, max_hear_distance = 10}) + else + minetest.sound_play(def.door.sounds[2], + {pos = pos, gain = 0.3, max_hear_distance = 10}) + end + + minetest.swap_node(pos, { + name = name .. transform[state + 1][dir+1].v, + param2 = transform[state + 1][dir+1].param2 + }) + meta:set_int("state", state) + + return true +end + + +local function on_place_node(place_to, newnode, + placer, oldnode, itemstack, pointed_thing) + -- Run script hook + for _, callback in ipairs(minetest.registered_on_placenodes) do + -- Deepcopy pos, node and pointed_thing because callback can modify them + local place_to_copy = {x = place_to.x, y = place_to.y, z = place_to.z} + local newnode_copy = + {name = newnode.name, param1 = newnode.param1, param2 = newnode.param2} + local oldnode_copy = + {name = oldnode.name, param1 = oldnode.param1, param2 = oldnode.param2} + local pointed_thing_copy = { + type = pointed_thing.type, + above = vector.new(pointed_thing.above), + under = vector.new(pointed_thing.under), + ref = pointed_thing.ref, + } + callback(place_to_copy, newnode_copy, placer, + oldnode_copy, itemstack, pointed_thing_copy) + end +end + +local function can_dig_door(pos, digger) + local digger_name = digger and digger:get_player_name() + if digger_name and minetest.get_player_privs(digger_name).protection_bypass then + return true + end + return minetest.get_meta(pos):get_string("doors_owner") == digger_name +end + +function doors.register(name, def) + if not name:find(":") then + name = "doors:" .. name + end + + -- replace old doors of this type automatically + minetest.register_lbm({ + name = ":doors:replace_" .. name:gsub(":", "_"), + nodenames = {name.."_b_1", name.."_b_2"}, + action = function(pos, node) + local l = tonumber(node.name:sub(-1)) + local meta = minetest.get_meta(pos) + local h = meta:get_int("right") + 1 + local p2 = node.param2 + local replace = { + {{type = "a", state = 0}, {type = "a", state = 3}}, + {{type = "b", state = 1}, {type = "b", state = 2}} + } + local new = replace[l][h] + -- retain infotext and doors_owner fields + minetest.swap_node(pos, {name = name .. "_" .. new.type, param2 = p2}) + meta:set_int("state", new.state) + -- properly place doors:hidden at the right spot + local p3 = p2 + if new.state >= 2 then + p3 = (p3 + 3) % 4 + end + if new.state % 2 == 1 then + if new.state >= 2 then + p3 = (p3 + 1) % 4 + else + p3 = (p3 + 3) % 4 + end + end + -- wipe meta on top node as it's unused + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, + {name = "doors:hidden", param2 = p3}) + end + }) + + minetest.register_craftitem(":" .. name, { + description = def.description, + inventory_image = def.inventory_image, + + on_place = function(itemstack, placer, pointed_thing) + local pos + + if not pointed_thing.type == "node" then + return itemstack + end + + local node = minetest.get_node(pointed_thing.under) + local pdef = minetest.registered_nodes[node.name] + if pdef and pdef.on_rightclick then + return pdef.on_rightclick(pointed_thing.under, + node, placer, itemstack, pointed_thing) + end + + if pdef and pdef.buildable_to then + pos = pointed_thing.under + else + pos = pointed_thing.above + node = minetest.get_node(pos) + pdef = minetest.registered_nodes[node.name] + if not pdef or not pdef.buildable_to then + return itemstack + end + end + + local above = {x = pos.x, y = pos.y + 1, z = pos.z} + local top_node = minetest.get_node_or_nil(above) + local topdef = top_node and minetest.registered_nodes[top_node.name] + + if not topdef or not topdef.buildable_to then + return itemstack + end + + local pn = placer:get_player_name() + if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) then + return itemstack + end + + local dir = minetest.dir_to_facedir(placer:get_look_dir()) + + local ref = { + {x = -1, y = 0, z = 0}, + {x = 0, y = 0, z = 1}, + {x = 1, y = 0, z = 0}, + {x = 0, y = 0, z = -1}, + } + + local aside = { + x = pos.x + ref[dir + 1].x, + y = pos.y + ref[dir + 1].y, + z = pos.z + ref[dir + 1].z, + } + + local state = 0 + if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then + state = state + 2 + minetest.set_node(pos, {name = name .. "_b", param2 = dir}) + minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4}) + else + minetest.set_node(pos, {name = name .. "_a", param2 = dir}) + minetest.set_node(above, {name = "doors:hidden", param2 = dir}) + end + + local meta = minetest.get_meta(pos) + meta:set_int("state", state) + + if def.protected then + meta:set_string("doors_owner", pn) + meta:set_string("infotext", "Owned by " .. pn) + end + + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + + on_place_node(pos, minetest.get_node(pos), + placer, node, itemstack, pointed_thing) + + return itemstack + end + }) + def.inventory_image = nil + + if def.recipe then + minetest.register_craft({ + output = name, + recipe = def.recipe, + }) + end + def.recipe = nil + + if not def.sounds then + def.sounds = default.node_sound_wood_defaults() + end + + if not def.sound_open then + def.sound_open = "doors_door_open" + end + + if not def.sound_close then + def.sound_close = "doors_door_close" + end + + def.groups.not_in_creative_inventory = 1 + def.groups.door = 1 + def.drop = name + def.door = { + name = name, + sounds = { def.sound_close, def.sound_open }, + } + + def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + _doors.door_toggle(pos, node, clicker) + return itemstack + end + def.after_dig_node = function(pos, node, meta, digger) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + nodeupdate({x = pos.x, y = pos.y + 1, z = pos.z}) + end + def.on_rotate = false + + if def.protected then + def.can_dig = can_dig_door + def.on_blast = function() end + else + def.on_blast = function(pos, intensity) + minetest.remove_node(pos) + -- hidden node doesn't get blasted away. + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + return {name} + end + end + + def.on_destruct = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + end + + def.drawtype = "mesh" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.sunlight_propagates = true + def.walkable = true + def.is_ground_content = false + def.buildable_to = false + def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} + def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} + + def.mesh = "door_a.obj" + minetest.register_node(":" .. name .. "_a", def) + + def.mesh = "door_b.obj" + minetest.register_node(":" .. name .. "_b", def) + + _doors.registered_doors[name .. "_a"] = true + _doors.registered_doors[name .. "_b"] = true +end + +doors.register("door_wood", { + tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, + description = "Wooden Door", + inventory_image = "doors_item_wood.png", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + recipe = { + {"group:wood", "group:wood"}, + {"group:wood", "group:wood"}, + {"group:wood", "group:wood"}, + } +}) + +doors.register("door_steel", { + tiles = {{name = "doors_door_steel.png", backface_culling = true}}, + description = "Steel Door", + inventory_image = "doors_item_steel.png", + protected = true, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_stone_defaults(), + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + recipe = { + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot"}, + } +}) + +doors.register("door_glass", { + tiles = {"doors_door_glass.png"}, + description = "Glass Door", + inventory_image = "doors_item_glass.png", + groups = {cracky=3, oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"default:glass", "default:glass"}, + {"default:glass", "default:glass"}, + {"default:glass", "default:glass"}, + } +}) + +doors.register("door_obsidian_glass", { + tiles = {"doors_door_obsidian_glass.png"}, + description = "Obsidian Glass Door", + inventory_image = "doors_item_obsidian_glass.png", + groups = {cracky=3}, + sounds = default.node_sound_glass_defaults(), + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass"}, + {"default:obsidian_glass", "default:obsidian_glass"}, + }, +}) + +-- Capture mods using the old API as best as possible. +function doors.register_door(name, def) + if def.only_placer_can_open then + def.protected = true + end + def.only_placer_can_open = nil + + local i = name:find(":") + local modname = name:sub(1, i - 1) + if not def.tiles then + if def.protected then + def.tiles = {{name = "doors_door_steel.png", backface_culling = true}} + else + def.tiles = {{name = "doors_door_wood.png", backface_culling = true}} + end + minetest.log("warning", modname .. " registered door \"" .. name .. "\" " .. + "using deprecated API method \"doors.register_door()\" but " .. + "did not provide the \"tiles\" parameter. A fallback tiledef " .. + "will be used instead.") + end + + doors.register(name, def) +end + +----trapdoor---- + +function _doors.trapdoor_toggle(pos, node, clicker) + node = node or minetest.get_node(pos) + if clicker and not minetest.check_player_privs(clicker, "protection_bypass") then + local meta = minetest.get_meta(pos) + local owner = meta:get_string("doors_owner") + if owner ~= "" then + if clicker:get_player_name() ~= owner then + return false + end + end + end + + local def = minetest.registered_nodes[node.name] + + if string.sub(node.name, -5) == "_open" then + minetest.sound_play(def.sound_close, + {pos = pos, gain = 0.3, max_hear_distance = 10}) + minetest.swap_node(pos, {name = string.sub(node.name, 1, + string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) + else + minetest.sound_play(def.sound_open, + {pos = pos, gain = 0.3, max_hear_distance = 10}) + minetest.swap_node(pos, {name = node.name .. "_open", + param1 = node.param1, param2 = node.param2}) + end +end + +function doors.register_trapdoor(name, def) + if not name:find(":") then + name = "doors:" .. name + end + + local name_closed = name + local name_opened = name.."_open" + + def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + _doors.trapdoor_toggle(pos, node, clicker) + return itemstack + end + + -- Common trapdoor configuration + def.drawtype = "nodebox" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.is_ground_content = false + + if def.protected then + def.can_dig = can_dig_door + def.after_place_node = function(pos, placer, itemstack, pointed_thing) + local pn = placer:get_player_name() + local meta = minetest.get_meta(pos) + meta:set_string("doors_owner", pn) + meta:set_string("infotext", "Owned by "..pn) + + return minetest.setting_getbool("creative_mode") + end + + def.on_blast = function() end + else + def.on_blast = function(pos, intensity) + minetest.remove_node(pos) + return {name} + end + end + + if not def.sounds then + def.sounds = default.node_sound_wood_defaults() + end + + if not def.sound_open then + def.sound_open = "doors_door_open" + end + + if not def.sound_close then + def.sound_close = "doors_door_close" + end + + local def_opened = table.copy(def) + local def_closed = table.copy(def) + + def_closed.node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} + } + def_closed.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} + } + def_closed.tiles = {def.tile_front, + def.tile_front .. '^[transformFY', + def.tile_side, def.tile_side, + def.tile_side, def.tile_side} + + def_opened.node_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} + } + def_opened.tiles = {def.tile_side, def.tile_side, + def.tile_side .. '^[transform3', + def.tile_side .. '^[transform1', + def.tile_front .. '^[transform46', + def.tile_front .. '^[transform6'} + + def_opened.drop = name_closed + def_opened.groups.not_in_creative_inventory = 1 + + minetest.register_node(name_opened, def_opened) + minetest.register_node(name_closed, def_closed) + + _doors.registered_trapdoors[name_opened] = true + _doors.registered_trapdoors[name_closed] = true +end + +doors.register_trapdoor("doors:trapdoor", { + description = "Trapdoor", + inventory_image = "doors_trapdoor.png", + wield_image = "doors_trapdoor.png", + tile_front = "doors_trapdoor.png", + tile_side = "doors_trapdoor_side.png", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1}, +}) + +doors.register_trapdoor("doors:trapdoor_steel", { + description = "Steel Trapdoor", + inventory_image = "doors_trapdoor_steel.png", + wield_image = "doors_trapdoor_steel.png", + tile_front = "doors_trapdoor_steel.png", + tile_side = "doors_trapdoor_steel_side.png", + protected = true, + sounds = default.node_sound_stone_defaults(), + sound_open = "doors_steel_door_open", + sound_close = "doors_steel_door_close", + groups = {cracky = 1, level = 2, door = 1}, +}) + +minetest.register_craft({ + output = 'doors:trapdoor 2', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', '', ''}, + } +}) + +minetest.register_craft({ + output = 'doors:trapdoor_steel', + recipe = { + {'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot'}, + } +}) + + +----fence gate---- + +function doors.register_fencegate(name, def) + local fence = { + description = def.description, + drawtype = "mesh", + tiles = {def.texture}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + is_ground_content = false, + drop = name .. "_closed", + connect_sides = {"left", "right"}, + groups = def.groups, + sounds = def.sounds, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local node_def = minetest.registered_nodes[node.name] + minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) + minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, + max_hear_distance = 8}) + return itemstack + end, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + }, + } + + if not fence.sounds then + fence.sounds = default.node_sound_wood_defaults() + end + + fence.groups.fence = 1 + + local fence_closed = table.copy(fence) + fence_closed.mesh = "doors_fencegate_closed.obj" + fence_closed.gate = name .. "_open" + fence_closed.sound = "doors_fencegate_open" + fence_closed.collision_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + } + + local fence_open = table.copy(fence) + fence_open.mesh = "doors_fencegate_open.obj" + fence_open.gate = name .. "_closed" + fence_open.sound = "doors_fencegate_close" + fence_open.groups.not_in_creative_inventory = 1 + fence_open.collision_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/4, -3/8, 1/2, 1/4}, + {-1/2, -3/8, -1/2, -3/8, 3/8, 0}}, + } + + minetest.register_node(":" .. name .. "_closed", fence_closed) + minetest.register_node(":" .. name .. "_open", fence_open) + + minetest.register_craft({ + output = name .. "_closed", + recipe = { + {"default:stick", def.material, "default:stick"}, + {"default:stick", def.material, "default:stick"} + } + }) +end + +doors.register_fencegate("doors:gate_wood", { + description = "Wooden Fence Gate", + texture = "default_wood.png", + material = "default:wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_acacia_wood", { + description = "Acacia Fence Gate", + texture = "default_acacia_wood.png", + material = "default:acacia_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_junglewood", { + description = "Junglewood Fence Gate", + texture = "default_junglewood.png", + material = "default:junglewood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("doors:gate_pine_wood", { + description = "Pine Fence Gate", + texture = "default_pine_wood.png", + material = "default:pine_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} +}) + +doors.register_fencegate("doors:gate_aspen_wood", { + description = "Aspen Fence Gate", + texture = "default_aspen_wood.png", + material = "default:aspen_wood", + groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} +}) diff --git a/mods/doors/license.txt b/mods/doors/license.txt new file mode 100644 index 0000000..8ce73c4 --- /dev/null +++ b/mods/doors/license.txt @@ -0,0 +1,164 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2015-2016 sofar (sofar@foo-projects.org) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2011-2016 Fernando Zapata +Copyright (C) 2014-2016 celeron55 +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2015-2016 sofar +Copyright (C) 2016 red-001 +Copyright (C) 2016 paramat + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) +Copyright (C) 2014-2016 PenguinDad + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/4.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2014 CGEffex +Copyright (C) 2014 bennstir +Copyright (C) 2016 BarkersPinhead +Copyright (C) 2016 rivernile7 +Copyright (C) 2016 HazMatt + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ + +----------------------- + +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication +mhtaylor67 +SkeetMasterFunk69 + +No Copyright + +The person who associated a work with this deed has dedicated the work to the public +domain by waiving all of his or her rights to the work worldwide under copyright law, +including all related and neighboring rights, to the extent allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial purposes, all +without asking permission. See Other Information below. + +Other Information + +In no way are the patent or trademark rights of any person affected by CC0, nor are the +rights that other persons may have in the work or in how the work is used, such as +publicity or privacy rights. +Unless expressly stated otherwise, the person who associated a work with this deed makes +no warranties about the work, and disclaims liability for all uses of the work, to the +fullest extent permitted by applicable law. +When using or citing the work, you should not imply endorsement by the author or the +affirmer. + +For more details: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/mods/doors/sounds/doors_door_close.ogg b/mods/doors/sounds/doors_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fede4af323d1b4322180c4a2a0734a60077b4121 GIT binary patch literal 6161 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 O0Eh=DnBoC8$o~L@cublA literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_fencegate_open.ogg b/mods/doors/sounds/doors_fencegate_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f6dfd1d9778240796820c052213903889e7e2896 GIT binary patch literal 8942 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 literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_glass_door_close.ogg b/mods/doors/sounds/doors_glass_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b3c135598e8a7c7a56d54e05c3ed7ceb006004ca GIT binary patch literal 7289 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 N#BKh$-tEoM{{YSn#=8Ij literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_glass_door_open.ogg b/mods/doors/sounds/doors_glass_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..66e6812d1877340c2f12ddeae02eae1f7c0e1cb1 GIT binary patch literal 7288 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 JtvWFX`X7uryYB!1 literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_steel_door_close.ogg b/mods/doors/sounds/doors_steel_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aea7be670b0763259c269521e035966fa1a8d4e6 GIT binary patch literal 8574 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 H?j`ykI$Eli literal 0 HcmV?d00001 diff --git a/mods/doors/sounds/doors_steel_door_open.ogg b/mods/doors/sounds/doors_steel_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..de87477018cc1186834fa91ef930e45e5018f54c GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_door_glass.png b/mods/doors/textures/doors_door_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..f597299bdfaa2389d40c5179069ccd5685b937f9 GIT binary patch literal 3064 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 R{`>#{002ovPDHLkV1fb(6QckC literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_door_wood.png b/mods/doors/textures/doors_door_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..7b18203eb37b72e44275281e4510e1e33b6290be GIT binary patch literal 1662 zcmV-^27&pBP)000I>NklgA6DB0fqwyP6Rvl z0|Fd6rO4eKfza;qVRB}=yIu~ur>A?TXJr>KsP3M+Rkv=Pd+sUq*~cFw+GaFlR?u3} zZ!tDQoR6dw36areG$^I9q5($dshuC#Utd0Fv8tI(vOzD-1?uHB0GTMfF{6w65C-qH zPh7n&0l0goAQOda|62ia%RIGjHkwV}<3EdvA~RdPSZhEOm#?a3*G8k2BBsP`?cRQY zHBDrux$y0)^2P`^cw5gI+Hf82=U8hfGK2GRs~0gEZ4Jg~zWnN&LF~Wy^usitU-0L@ zUktwg=GPykxO%}={2l;5D3-kc=sv&w!#@V&e)ZGibaZsg@BaAD!S`Q2ewcD=&_b0Q30;CnqNZ+5m8iOXgQA0FLfXu(QJr&|8`~KR@T_=y>qm z8qIuu&Vz#~UiNwN_0!Q!N$otYc2q9%@KRX*;;OVoo zZk!c^F^$u!%8`=a8Eq-60JW#AJb(Sy^8t!K|KxF+&o8#J_47|2C%3r5^_cSL=$POC z>8q{m8~gtApFBvb%0LSEkPxG`dMR>4N(L+2gqUZB+{)JXy@{m?mUpIE!()XdpV(0> z<(V15o*}mel^dpo9cTW`3Pg()KML*LPL5G(xWluv zGfq!WyW+hLK>6m9Z?2oHeE8mk;+?~epVq~EZF`ec&(ANKk~BNy?CcCH8t3Dn7o$O2 z!|DAQ)Gx6jy`6cE52sLFqW~G;$8^V(TZ5`!HpkiNAL|x77T=bnF&tgRI{^G}vKmnl+jf8XcVsqu7l5CAe?`nJ&PU#z z(8Fuv{*iNqa=Pu4k3ISqCGFMQlq_=s0hqCRzuh-m0(D>6B&ZFe;1! zf3d2OviA7O^P_{8Z~&P#l$Gi^mIkcvdmw)}dDD{Rq?e&Xk*L&W{6~)xwF^MSssb^7 zw;o#?UA}Jhn7+OKZJ0ktM0d`7+v>URY9Y3I>`o4_TaOi);Jje8#@-DAjCvWvBO798?4-PuJ3qE zpxMS?2(g{FH9iu%gL&q`T(2elJz+sj3?1BenN9 zA3L3{wL+=w)vOJKn7RxLG2wl{jnvhYQb#pbG^s5+i?W8>^qBJjUo{Subr`7B?`qyh z{-5T2B*f-|vZ_2{ZqZ{_3?>t-1Tt&7<5D;H%=X?@VKKq7*XprJVaWGrH+NZs>bk=D_R)m;D{>1tpHkheGS%^ZdpHb+|I zLeOe=R*D#W-QcQpe(Msg{RY4xG?GN?hOL^;=Mf!KFWdF;F)=_Hfc%c*|^m~V!C*X4CuG>*MqxGkH$-OWqzx}6+kJN4Lq0R|)a2UrsT+W-In07*qo IM6N<$f(<`F?*IS* literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_glass.png b/mods/doors/textures/doors_item_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..791a58ab1c11dbf866fda5e5f94d6a4d81771e30 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|YHDf+4m^JN@MA;G zd7v-@V@Z%-FoVOh8)+a;lDE4HLkFv@2av;A;1OBOz`!jG!i)^F=12eq*-JcqUD+Qn z^YO@u?8;lm4ir-Nba4#fxSpI4v9+tQabY8;he>lso3p|p4v#Mjx_lE4E$7o=G~r_S XH<4%7CZ`0DV;DSL{an^LB{Ts5LH{yb literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_obsidian_glass.png b/mods/doors/textures/doors_item_obsidian_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..1026d43722be449b6b9068ccfd11896448b7cbef GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|0s;c^YKHsv?NfAD z^#Y1BmIV0)GdMiEkp|)W#5_CPos1n9JJ;PzD!wT=-6rk2V WwrH^(7I%PJ7(8A5T-G@yGywo68Z1cw literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_steel.png b/mods/doors/textures/doors_item_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..dd99e1361acd2121343c0be743638e54c554ca8e GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|U0q#^7A-n@^yt*; z-C96##*!evUa01s>&fZOswwi7XK(SBJ86 cUI<`kNP8-Mb^dev*+3l(p00i_>zopr0H_KpvH$=8 literal 0 HcmV?d00001 diff --git a/mods/doors/textures/doors_item_wood.png b/mods/doors/textures/doors_item_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a62ab156db2d81442bcef039fed5148d09e9bd GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YyCl{4Hyt~5}p(1ZCf zkk42WAdr&KH*Mz;w$(pxq3fu6{1-oD!M`3J^VYMRXaT?Nax=@_ssX=Hnqa_XYr_Gh*wKa><16T%-gwQTwA^t4!`_wpWw zj4ZqLrc4H_MSInr_o(mrFrof~cBAC)Z_j?tSd*dC@i(v2Hk6Yg_MPt=Rh1&ujrSSK X4r`y5J-E>X=mG{$S3j3^P6ljy?ggsL_^Ji xg5sVojv*Y^lM@&k0~8V>SXl&^&Zzn`G3?nZ{*uYv`T|f1gQu&X%Q~loCIHdY8#e#| literal 0 HcmV?d00001 diff --git a/mods/dye/README.txt b/mods/dye/README.txt new file mode 100644 index 0000000..a2fbdd2 --- /dev/null +++ b/mods/dye/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: dye +====================== +See license.txt for license information. +See init.lua for documentation. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Perttu Ahola (celeron55) (CC BY-SA 3.0) diff --git a/mods/dye/depends.txt b/mods/dye/depends.txt new file mode 100644 index 0000000..e69de29 diff --git a/mods/dye/init.lua b/mods/dye/init.lua new file mode 100644 index 0000000..d414d77 --- /dev/null +++ b/mods/dye/init.lua @@ -0,0 +1,109 @@ +-- Other mods can use these for looping through available colors + +dye = {} +dye.basecolors = {"white", "grey", "black", "red", "yellow", "green", "cyan", "blue", "magenta"} +dye.excolors = {"white", "lightgrey", "grey", "darkgrey", "black", "red", "orange", "yellow", + "lime", "green", "aqua", "cyan", "sky_blue", "blue", "violet", "magenta", "red_violet"} + +-- Make dye names and descriptions available globally + +dye.dyes = { + {"white", "White"}, + {"grey", "Grey"}, + {"dark_grey", "Dark grey"}, + {"black", "Black"}, + {"violet", "Violet"}, + {"blue", "Blue"}, + {"cyan", "Cyan"}, + {"dark_green", "Dark green"}, + {"green", "Green"}, + {"yellow", "Yellow"}, + {"brown", "Brown"}, + {"orange", "Orange"}, + {"red", "Red"}, + {"magenta", "Magenta"}, + {"pink", "Pink"}, +} + +-- This collection of colors is partly a historic thing, partly something else + +local dyes = { + {"white", "White dye", {dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1}}, + {"grey", "Grey dye", {dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1}}, + {"dark_grey", "Dark grey dye", {dye=1, basecolor_grey=1, excolor_darkgrey=1, unicolor_darkgrey=1}}, + {"black", "Black dye", {dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1}}, + {"violet", "Violet dye", {dye=1, basecolor_magenta=1, excolor_violet=1, unicolor_violet=1}}, + {"blue", "Blue dye", {dye=1, basecolor_blue=1, excolor_blue=1, unicolor_blue=1}}, + {"cyan", "Cyan dye", {dye=1, basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1}}, + {"dark_green", "Dark green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, + {"green", "Green dye", {dye=1, basecolor_green=1, excolor_green=1, unicolor_green=1}}, + {"yellow", "Yellow dye", {dye=1, basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}}, + {"brown", "Brown dye", {dye=1, basecolor_brown=1, excolor_orange=1, unicolor_dark_orange=1}}, + {"orange", "Orange dye", {dye=1, basecolor_orange=1, excolor_orange=1, unicolor_orange=1}}, + {"red", "Red dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_red=1}}, + {"magenta", "Magenta dye", {dye=1, basecolor_magenta=1, excolor_red_violet=1, unicolor_red_violet=1}}, + {"pink", "Pink dye", {dye=1, basecolor_red=1, excolor_red=1, unicolor_light_red=1}}, +} + +-- Define items + +for _, row in ipairs(dyes) do + local name = row[1] + local description = row[2] + local groups = row[3] + local item_name = "dye:" .. name + local item_image = "dye_" .. name .. ".png" + minetest.register_craftitem(item_name, { + inventory_image = item_image, + description = description, + groups = groups + }) + minetest.register_craft({ + type = "shapeless", + output = item_name .. " 4", + recipe = {"group:flower,color_" .. name}, + }) +end + +-- Manually add coal->black dye + +minetest.register_craft({ + type = "shapeless", + output = "dye:black 4", + recipe = {"group:coal"}, +}) + +-- Mix recipes +-- Just mix everything to everything somehow sanely + +local mixbases = {"pink", "magenta", "red", "orange", "brown", "yellow", "green", "dark_green", "cyan", "blue", "violet", "black", "dark_grey", "grey", "white"} + +local mixes = { + -- pink, magenta, red, orange, brown, yellow, green, dark_green, cyan, blue, violet, black, dark_grey, grey, white + white = {"pink", "pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet","grey", "grey", "grey","white"}, + grey = {"pink", "pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet","dark_grey","grey", "grey"}, + dark_grey = {"brown", "brown", "brown", "brown", "brown", "brown", "dark_green","dark_green","blue", "blue", "violet","black", "dark_grey"}, + black = {"black", "black", "black", "black", "black", "black", "black", "black", "black","black", "black", "black"}, + violet = {"magenta","magenta","magenta","red", "brown", "red", "cyan", "brown", "blue", "violet","violet"}, + blue = {"violet", "violet", "magenta","brown", "brown", "dark_green","cyan", "cyan", "cyan", "blue"}, + cyan = {"brown", "blue", "brown", "dark_green","dark_grey", "green", "cyan", "dark_green","cyan"}, + dark_green = {"brown", "brown", "brown", "brown", "brown", "green", "green", "dark_green"}, + green = {"yellow", "brown", "yellow", "yellow", "dark_green","green", "green"}, + yellow = {"orange", "red", "orange", "yellow", "orange", "yellow"}, + brown = {"brown", "brown", "brown", "orange", "brown"}, + orange = {"orange", "red", "orange", "orange"}, + red = {"pink", "magenta","red"}, + magenta = {"magenta","magenta"}, + pink = {"pink"}, +} + +for one, results in pairs(mixes) do + for i, result in ipairs(results) do + local another = mixbases[i] + minetest.register_craft({ + type = "shapeless", + output = 'dye:' .. result .. ' 2', + recipe = {'dye:' .. one, 'dye:' .. another}, + }) + end +end diff --git a/mods/dye/license.txt b/mods/dye/license.txt new file mode 100644 index 0000000..bf9d350 --- /dev/null +++ b/mods/dye/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/dye/textures/dye_black.png b/mods/dye/textures/dye_black.png new file mode 100644 index 0000000000000000000000000000000000000000..1055b6c22a683977c0842fcd201e13e733a41f11 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78C&YHo=Z8JtcEP7)YeG0C9)-E9b+jt zdt%$+9~{#keB<&v`{Gf+^hZ~HE(q|5Ke*JQ#x zEqmD3W_R!ARe?-S96P&O+fBc)%GS?GW&dY;>N48~?Gwq2l~dPzW;nChr|8bg K=d#Wzp$P!nK|S~Y literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_brown.png b/mods/dye/textures/dye_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..77d475cdfccb7caae035ab8802e27a161dfb55ab GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*{w`wwz91n@Xpw`W&e zG`w?o^KFaO{{om)1zrd0*!<$%6Y#iy^W4tgc~5^bRA|pEXI(PwjW@%ywLUMSma}}i zp>t^Wbk6QIYg|K_qKvlv7gf(b=Pmzqn~Q$Iq-S@on!3)bu#Wq4>CWEm^;+CahrR=? OW$<+Mb6Mw<&;$TuB|%jH literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_cyan.png b/mods/dye/textures/dye_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..239d66cea231a2c228b4fb4340c21b3888382280 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr*|t5`78N PTFl_->gTe~DWM4fxNtb7 literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_dark_green.png b/mods/dye/textures/dye_dark_green.png new file mode 100644 index 0000000000000000000000000000000000000000..9606ccf4561bd576c31a4e4a47a09adf161ffb98 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*|t5`78W%FK#?ErQ*LL P&}s%xS3j3^P6i&Yb16rY)sW?s+8W8WM7G4NV=M({ zPi#B Ssct~K89ZJ6T-G@yGywoZaXLHz literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_green.png b/mods/dye/textures/dye_green.png new file mode 100644 index 0000000000000000000000000000000000000000..0d99ee1c112676370725369996e5038d75de7608 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``JOJ0Ar*|t5`78jm(9%GJRW3`5C zw{5b=+;^~S4=>1a6K~%ovOcY;Enx@4bTyMgi{2%omld35ym0AUSQx;>5Y4+&@63(l QP@vrmp00i_>zopr0Ku6!MgRZ+ literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_magenta.png b/mods/dye/textures/dye_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..c84df62c13b117d784e4c6930356b9091b361580 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78{K;H>3an literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_pink.png b/mods/dye/textures/dye_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..c3dec22a56d2f9e602b45f33009eebd0f6b670cf GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78+tB|M(D=V+v=d1qnDO5J2LX1#FCpqTuB^Ld?So`4)Ywk(!=>+ z*2LWQkAiv!--^zeb@Avzy`!sVE>M)vJFt|~SH@2{^QcLOfSOfcQijYF28LNOy<2)W S=J^5bX7F_Nb6Mw<&;$Tncse)$ literal 0 HcmV?d00001 diff --git a/mods/dye/textures/dye_violet.png b/mods/dye/textures/dye_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..600cbb4452dbb5e6dc39f47bbd5474ca39fa89f4 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr*|t5`78e%E5@$Hhm}STq zW4!6Df!!h19ebOCjdxjGSz2K#Y{GJwb%)8q&cm51YiF7CQ6f!XS(*>S z^`0E-p8f*Py!8*R^yu-GYQ~*q;XPQusOOvUs6fh7dzoX4!NpD?=f?|J7-kq=zoOpe R$q%%f!PC{xWt~$(698CGIoSXJ literal 0 HcmV?d00001 diff --git a/mods/farming/README.txt b/mods/farming/README.txt new file mode 100644 index 0000000..3ccd8c3 --- /dev/null +++ b/mods/farming/README.txt @@ -0,0 +1,37 @@ +Minetest Game mod: farming +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +webdesigner97 (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Created by PilzAdam (CC BY 3.0): + farming_bread.png + farming_soil.png + farming_soil_wet.png + farming_soil_wet_side.png + farming_string.png + +Created by BlockMen (CC BY 3.0): + farming_tool_diamondhoe.png + farming_tool_mesehoe.png + farming_tool_bronzehoe.png + farming_tool_steelhoe.png + farming_tool_stonehoe.png + farming_tool_woodhoe.png + +Created by MasterGollum (CC BY 3.0): + farming_straw.png + +Created by Gambit (CC BY 3.0): + farming_wheat.png + farming_wheat_*.png + farming_cotton_*.png + farming_flour.png + farming_cotton_seed.png + farming_wheat_seed.png diff --git a/mods/farming/api.lua b/mods/farming/api.lua new file mode 100644 index 0000000..71c5a67 --- /dev/null +++ b/mods/farming/api.lua @@ -0,0 +1,368 @@ + +-- Wear out hoes, place soil +-- TODO Ignore group:flower +farming.registered_plants = {} + +farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return + end + if pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local p = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z} + local above = minetest.get_node(p) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return + end + if not minetest.registered_nodes[above.name] then + return + end + + -- check if the node above the pointed thing is air + if above.name ~= "air" then + return + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") ~= 1 then + return + end + + -- check if (wet) soil defined + local regN = minetest.registered_nodes + if regN[under.name].soil == nil or regN[under.name].soil.wet == nil or regN[under.name].soil.dry == nil then + return + end + + if minetest.is_protected(pt.under, user:get_player_name()) then + minetest.record_protection_violation(pt.under, user:get_player_name()) + return + end + if minetest.is_protected(pt.above, user:get_player_name()) then + minetest.record_protection_violation(pt.above, user:get_player_name()) + return + end + + -- turn the node into soil, wear out item and play sound + minetest.set_node(pt.under, {name = regN[under.name].soil.dry}) + minetest.sound_play("default_dig_crumbly", { + pos = pt.under, + gain = 0.5, + }) + + if not minetest.setting_getbool("creative_mode") then + itemstack:add_wear(65535/(uses-1)) + end + return itemstack +end + +-- Register new hoes +farming.register_hoe = function(name, def) + -- Check for : prefix (register new hoes in your mod's namespace) + if name:sub(1,1) ~= ":" then + name = ":" .. name + end + -- Check def table + if def.description == nil then + def.description = "Hoe" + end + if def.inventory_image == nil then + def.inventory_image = "unknown_item.png" + end + if def.recipe == nil then + def.recipe = { + {"air","air",""}, + {"","group:stick",""}, + {"","group:stick",""} + } + end + if def.max_uses == nil then + def.max_uses = 30 + end + -- Register the tool + minetest.register_tool(name, { + description = def.description, + inventory_image = def.inventory_image, + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses) + end + }) + -- Register its recipe + if def.material == nil then + minetest.register_craft({ + output = name:sub(2), + recipe = def.recipe + }) + else + minetest.register_craft({ + output = name:sub(2), + recipe = { + {def.material, def.material, ""}, + {"", "group:stick", ""}, + {"", "group:stick", ""} + } + }) + -- Reverse Recipe + minetest.register_craft({ + output = name:sub(2), + recipe = { + {"", def.material, def.material}, + {"", "group:stick", ""}, + {"", "group:stick", ""} + } + }) + end +end + +-- how often node timers for plants will tick, +/- some random value +local function tick(pos) + minetest.get_node_timer(pos):start(math.random(166, 286)) +end +-- how often a growth failure tick is retried (e.g. too dark) +local function tick_again(pos) + minetest.get_node_timer(pos):start(math.random(40, 80)) +end + +-- Seed placement +farming.place_seed = function(itemstack, placer, pointed_thing, plantname) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return itemstack + end + if pt.type ~= "node" then + return itemstack + end + + local under = minetest.get_node(pt.under) + local above = minetest.get_node(pt.above) + + if minetest.is_protected(pt.under, placer:get_player_name()) then + minetest.record_protection_violation(pt.under, placer:get_player_name()) + return + end + if minetest.is_protected(pt.above, placer:get_player_name()) then + minetest.record_protection_violation(pt.above, placer:get_player_name()) + return + end + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return itemstack + end + if not minetest.registered_nodes[above.name] then + return itemstack + end + + -- check if pointing at the top of the node + if pt.above.y ~= pt.under.y+1 then + return itemstack + end + + -- check if you can replace the node above the pointed node + if not minetest.registered_nodes[above.name].buildable_to then + return itemstack + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") < 2 then + return itemstack + end + + -- add the node and remove 1 item from the itemstack + minetest.add_node(pt.above, {name = plantname, param2 = 1}) + tick(pt.above) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack +end + +farming.grow_plant = function(pos, elapsed) + local node = minetest.get_node(pos) + local name = node.name + local def = minetest.registered_nodes[name] + + if not def.next_plant then + -- disable timer for fully grown plant + return + end + + -- grow seed + if minetest.get_item_group(node.name, "seed") and def.fertility then + local soil_node = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z}) + if not soil_node then + tick_again(pos) + return + end + -- omitted is a check for light, we assume seeds can germinate in the dark. + for _, v in pairs(def.fertility) do + if minetest.get_item_group(soil_node.name, v) ~= 0 then + minetest.swap_node(pos, {name = def.next_plant}) + if minetest.registered_nodes[def.next_plant].next_plant then + tick(pos) + return + end + end + end + + return + end + + -- check if on wet soil + local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z}) + if minetest.get_item_group(below.name, "soil") < 3 then + tick_again(pos) + return + end + + -- check light + local light = minetest.get_node_light(pos) + if not light or light < def.minlight or light > def.maxlight then + tick_again(pos) + return + end + + -- grow + minetest.swap_node(pos, {name = def.next_plant}) + + -- new timer needed? + if minetest.registered_nodes[def.next_plant].next_plant then + tick(pos) + end + return +end + +-- Register plants +farming.register_plant = function(name, def) + local mname = name:split(":")[1] + local pname = name:split(":")[2] + + -- Check def table + if not def.description then + def.description = "Seed" + end + if not def.inventory_image then + def.inventory_image = "unknown_item.png" + end + if not def.steps then + return nil + end + if not def.minlight then + def.minlight = 1 + end + if not def.maxlight then + def.maxlight = 14 + end + if not def.fertility then + def.fertility = {} + end + + farming.registered_plants[pname] = def + + -- Register seed + local lbm_nodes = {mname .. ":seed_" .. pname} + local g = {seed = 1, snappy = 3, attached_node = 1} + for k, v in pairs(def.fertility) do + g[v] = 1 + end + minetest.register_node(":" .. mname .. ":seed_" .. pname, { + description = def.description, + tiles = {def.inventory_image}, + inventory_image = def.inventory_image, + wield_image = def.inventory_image, + drawtype = "signlike", + groups = g, + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + fertility = def.fertility, + sounds = default.node_sound_dirt_defaults({ + dug = {name = "default_grass_footstep", gain = 0.2}, + place = {name = "default_place_node", gain = 0.25}, + }), + + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":seed_" .. pname) + end, + next_plant = mname .. ":" .. pname .. "_1", + on_timer = farming.grow_plant, + minlight = def.minlight, + maxlight = def.maxlight, + }) + + -- Register harvest + minetest.register_craftitem(":" .. mname .. ":" .. pname, { + description = pname:gsub("^%l", string.upper), + inventory_image = mname .. "_" .. pname .. ".png", + }) + + -- Register growing steps + for i = 1, def.steps do + local drop = { + items = { + {items = {mname .. ":" .. pname}, rarity = 9 - i}, + {items = {mname .. ":" .. pname}, rarity= 18 - i * 2}, + {items = {mname .. ":seed_" .. pname}, rarity = 9 - i}, + {items = {mname .. ":seed_" .. pname}, rarity = 18 - i * 2}, + } + } + local nodegroups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1} + nodegroups[pname] = i + + local next_plant = nil + + if i < def.steps then + next_plant = mname .. ":" .. pname .. "_" .. (i + 1) + lbm_nodes[#lbm_nodes + 1] = mname .. ":" .. pname .. "_" .. i + end + + minetest.register_node(mname .. ":" .. pname .. "_" .. i, { + drawtype = "plantlike", + waving = 1, + tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, + paramtype = "light", + walkable = false, + buildable_to = true, + drop = drop, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + groups = nodegroups, + sounds = default.node_sound_leaves_defaults(), + next_plant = next_plant, + on_timer = farming.grow_plant, + minlight = def.minlight, + maxlight = def.maxlight, + }) + end + + -- replacement LBM for pre-nodetimer plants + minetest.register_lbm({ + name = ":" .. mname .. ":start_nodetimer_" .. pname, + nodenames = lbm_nodes, + action = function(pos, node) + tick_again(pos) + end, + }) + + -- Return + local r = { + seed = mname .. ":seed_" .. pname, + harvest = mname .. ":" .. pname + } + return r +end diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/mods/farming/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/mods/farming/hoes.lua b/mods/farming/hoes.lua new file mode 100644 index 0000000..31da19f --- /dev/null +++ b/mods/farming/hoes.lua @@ -0,0 +1,41 @@ +farming.register_hoe(":farming:hoe_wood", { + description = "Wooden Hoe", + inventory_image = "farming_tool_woodhoe.png", + max_uses = 30, + material = "group:wood" +}) + +farming.register_hoe(":farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_tool_stonehoe.png", + max_uses = 90, + material = "group:stone" +}) + +farming.register_hoe(":farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_tool_steelhoe.png", + max_uses = 200, + material = "default:steel_ingot" +}) + +farming.register_hoe(":farming:hoe_bronze", { + description = "Bronze Hoe", + inventory_image = "farming_tool_bronzehoe.png", + max_uses = 220, + material = "default:bronze_ingot" +}) + +farming.register_hoe(":farming:hoe_mese", { + description = "Mese Hoe", + inventory_image = "farming_tool_mesehoe.png", + max_uses = 350, + material = "default:mese_crystal" +}) + +farming.register_hoe(":farming:hoe_diamond", { + description = "Diamond Hoe", + inventory_image = "farming_tool_diamondhoe.png", + max_uses = 500, + material = "default:diamond" +}) diff --git a/mods/farming/init.lua b/mods/farming/init.lua new file mode 100644 index 0000000..45370e7 --- /dev/null +++ b/mods/farming/init.lua @@ -0,0 +1,78 @@ +-- Global farming namespace +farming = {} +farming.path = minetest.get_modpath("farming") + +-- Load files +dofile(farming.path .. "/api.lua") +dofile(farming.path .. "/nodes.lua") +dofile(farming.path .. "/hoes.lua") + +-- WHEAT +farming.register_plant("farming:wheat", { + description = "Wheat seed", + inventory_image = "farming_wheat_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland"} +}) +minetest.register_craftitem("farming:flour", { + description = "Flour", + inventory_image = "farming_flour.png", +}) + +minetest.register_craftitem("farming:bread", { + description = "Bread", + inventory_image = "farming_bread.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat"} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 15, + output = "farming:bread", + recipe = "farming:flour" +}) + +-- Cotton +farming.register_plant("farming:cotton", { + description = "Cotton seed", + inventory_image = "farming_cotton_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland", "desert"} +}) + +minetest.register_alias("farming:string", "farming:cotton") + +minetest.register_craft({ + output = "wool:white", + recipe = { + {"farming:cotton", "farming:cotton"}, + {"farming:cotton", "farming:cotton"}, + } +}) + +-- Straw +minetest.register_craft({ + output = "farming:straw 3", + recipe = { + {"farming:wheat", "farming:wheat", "farming:wheat"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + } +}) + +minetest.register_craft({ + output = "farming:wheat 3", + recipe = { + {"farming:straw"}, + } +}) diff --git a/mods/farming/license.txt b/mods/farming/license.txt new file mode 100644 index 0000000..8cbb63a --- /dev/null +++ b/mods/farming/license.txt @@ -0,0 +1,61 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 webdesigner97 +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +License of media (textures) +--------------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2015-2016 MasterGollum +Copyright (C) 2015-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ diff --git a/mods/farming/nodes.lua b/mods/farming/nodes.lua new file mode 100644 index 0000000..c75e1e5 --- /dev/null +++ b/mods/farming/nodes.lua @@ -0,0 +1,163 @@ +minetest.override_item("default:dirt", { + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_grass", { + soil = { + base = "default:dirt_with_grass", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_dry_grass", { + soil = { + base = "default:dirt_with_dry_grass", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.register_node("farming:soil", { + description = "Soil", + tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.register_node("farming:soil_wet", { + description = "Wet Soil", + tiles = {"default_dirt.png^farming_soil_wet.png", "default_dirt.png^farming_soil_wet_side.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:desert_sand", { + groups = {crumbly=3, falling_node=1, sand=1, soil = 1}, + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) +minetest.register_node("farming:desert_sand_soil", { + description = "Desert Sand Soil", + drop = "default:desert_sand", + tiles = {"farming_desert_sand_soil.png", "default_desert_sand.png"}, + groups = {crumbly=3, not_in_creative_inventory = 1, falling_node=1, sand=1, soil = 2, desert = 1, field = 1}, + sounds = default.node_sound_sand_defaults(), + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) + +minetest.register_node("farming:desert_sand_soil_wet", { + description = "Wet Desert Sand Soil", + drop = "default:desert_sand", + tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, + groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1, soil=3, wet = 1, desert = 1, field = 1}, + sounds = default.node_sound_sand_defaults(), + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) + +minetest.register_node("farming:straw", { + description = "Straw", + tiles = {"farming_straw.png"}, + is_ground_content = false, + groups = {snappy=3, flammable=4, fall_damage_add_percent=-30}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_abm({ + label = "Farming soil", + nodenames = {"group:field"}, + interval = 15, + chance = 4, + action = function(pos, node) + local n_def = minetest.registered_nodes[node.name] or nil + local wet = n_def.soil.wet or nil + local base = n_def.soil.base or nil + local dry = n_def.soil.dry or nil + if not n_def or not n_def.soil or not wet or not base or not dry then + return + end + + pos.y = pos.y + 1 + local nn = minetest.get_node_or_nil(pos) + if not nn or not nn.name then + return + end + local nn_def = minetest.registered_nodes[nn.name] or nil + pos.y = pos.y - 1 + + if nn_def and nn_def.walkable and minetest.get_item_group(nn.name, "plant") == 0 then + minetest.set_node(pos, {name = base}) + return + end + -- check if there is water nearby + local wet_lvl = minetest.get_item_group(node.name, "wet") + if minetest.find_node_near(pos, 3, {"group:water"}) then + -- if it is dry soil and not base node, turn it into wet soil + if wet_lvl == 0 then + minetest.set_node(pos, {name = wet}) + end + else + -- only turn back if there are no unloaded blocks (and therefore + -- possible water sources) nearby + if not minetest.find_node_near(pos, 3, {"ignore"}) then + -- turn it back into base if it is already dry + if wet_lvl == 0 then + -- only turn it back if there is no plant/seed on top of it + if minetest.get_item_group(nn.name, "plant") == 0 and minetest.get_item_group(nn.name, "seed") == 0 then + minetest.set_node(pos, {name = base}) + end + + -- if its wet turn it back into dry soil + elseif wet_lvl == 1 then + minetest.set_node(pos, {name = dry}) + end + end + end + end, +}) + + +for i = 1, 5 do + minetest.override_item("default:grass_"..i, {drop = { + max_items = 1, + items = { + {items = {'farming:seed_wheat'},rarity = 5}, + {items = {'default:grass_1'}}, + } + }}) +end + +minetest.override_item("default:junglegrass", {drop = { + max_items = 1, + items = { + {items = {'farming:seed_cotton'},rarity = 8}, + {items = {'default:junglegrass'}}, + } +}}) diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png new file mode 100644 index 0000000000000000000000000000000000000000..0c25678ce995d71809c5938be9c1b06bfa590321 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfx&WULS0Ftjm2p}aLxwTKtW=gt zOQviyrWr|$1!jz8W(>Mc_|#N z9<0+6nP&ttH+V94J2DkpG4)0;PV!^uHf1O>V%Xncvaw!sU$N@OG?h&SN~=;8H>OK2 zO_f|2DLErqs6Rlk(NSPQBJZLMp2>kc6Fqr~9eL{Qcv_uV8y%TC9GGhDn5INBO!a1% z>cWs?#2``l1>_~hk|4ie28U-i(tw;!PZ!4!iOX~QU4@to8CW{ir4#S6mY4tgZ#b#x z5u^3?cZaW>S&)B@!?W^NGT-4f8d;^&N2yKBYck5fN2iyvte;>cYqG40Qb zrAw4%FMGQ}xOC?(j(^Wo+IMYMVtM@|%}2W@Eg;(PkV5lWX1n+v#s^XAfs+yr7;N~- kJM-s1yC|ROw)wRTJMM9^%}vYk0y>Jp)78&qol`;+0AGWMWdHyG literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton.png b/mods/farming/textures/farming_cotton.png new file mode 100644 index 0000000000000000000000000000000000000000..e2bbfd7af486b64c658bcc7c6101b22ca95ab7e7 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAm`Z~Df*BafCZDwc^5Q*R977}| zSr0DcZ7^V9IdHq4Ni2b@Yl)oJL=T}^0;}d*gS0ZNc)pv#?FO^M1yu&Vn1`<#1mxd1 zsLOFAD19%^&t2!R;b0Y$+r@xA4H4-)+zAIn7@l~rgS35MzHe`kJ%8G{#~_}ktDnm{ Hr-UW|pV=_A literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_1.png b/mods/farming/textures/farming_cotton_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc218078722b9634503146a0fb0d3353c3e5859 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0ENCG36TW*{TIiIzRq! z3jxI$OM?7@862M7NCWBcba4!+U`$>hl)xgG#>vCLxQk&%%X!6lKsg3aS3j3^P6N1~t zT7lw>B|(0{3=Yq3qyafno-U3d6^zLXSPYCdFr0Mfa%j5C=_!@pqwneB7{YNqd4UMW0SP{XHb$ow$z^Sx4T37?j~qC$fI-YC mC8cFmP*}r-9yd1!AqL+pCe=^OGu(k%89ZJ6T-G@yGywoue<@V} literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_4.png b/mods/farming/textures/farming_cotton_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f314b07b7e1968592fb8bf3f9fb592f4a6467010 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=7hmI;G_XzVTY!9oC1Y zup|P77)yfuf*Bm1-ADs+Og&v3LpZJ{EAVbOAi-zQ#?;oq5F)ymnOS)P%j(3i1g4Y5 q%sbf$~F!A+hX*qB)6klZKoY&;i1vH7l)78&qol`;+0Mzd* A1ONa4 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_6.png b/mods/farming/textures/farming_cotton_6.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bd4fb346ec9ee2a71696d9337723d2be7de8dd GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW^~o%3Ot#4jH=kbW9_ejT z5o;-L`KAjf%UBZR7tG-B>_!@pn!GVY2Kz8F^Aq7W=<|h7su7+0_ z%;(jgy1^6crYhviImc{Ej=$HGy^A(l>lC<3yg$co;R#@=OgfrXJV)k$6JL*(mP0PX<{vDId%2_RfQB-7 My85}Sb4q9e07KF(tpET3 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_8.png b/mods/farming/textures/farming_cotton_8.png new file mode 100644 index 0000000000000000000000000000000000000000..f835ba5b3f6f2c4d0e6c3f730be01e599dab7b6e GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=1BEstJygSFT*~H50Ya z6g2nMH80Iv29#hd3GxeOaCmkj4akZ0ba4#fxSrd&k+;Es=fIpT2I&tPJ~#^SGX#C- zlbP^;{Q{w$icL9n8i96(^{U|s@{S!nx`{Fen{H}v4KbMfXl0lD=7OY*ggmJ~bxxfl+I4L|LH_AoGby85}Sb4q9e09F4!`v3p{ literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_cotton_seed.png b/mods/farming/textures/farming_cotton_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d5b8ab714e2f074b8136aac0d8dab88c0acc2a GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b^~o&sbXJcEvo6REsH=<@ zI$@IslwvFi@(X5gcy=QV$T9VFaSW+oOg_LkL)2l3Fmv-nh7LuY0}32s=^+P}PGejn t#^aEscx$0U1mmeR5eCVl4VN|87&b3ts&DABf<~Ev zM3{a-k$F9gcRh}FI?}9T&!%C@reD6ASEz|hrie?Ofkl#fL6LkuiE}-Ob~}o8I)!pL ziE%iDa5mDZVZobOvy@V>jZvwKN~DEJjd?(odOwYIKFX$E$emrooLj+{Tez85y_r_D zkyNUVOrU^Bk$XUcZ8yZ5UdNR2b7G&V_-5Fc1L1 z1%gLNa6L!Q^}YYHKH(~u0W^7z7Ic?^uhyO`FpL(sx+q%Oc!r&f2&}~pG;zB!u{D>+ zdk5Us!Qs`Z549Coj|-HcrmveSe?(4V9PkxTW$Lb7l41|K5e+GvN%XOarwj$==fdcH z$k=wX)9UZEUmjzde8D|XKF?2;{L};iwv_*uKh?*=8PHJrG3|uYHhWmPO{SSpcoM0#U3W>qSlfJ%&S zL703;mw85xb3ux6KZk8Te`h#-WjJkKE}MKwifur5VKsnjIfG+6e??2S0002GNklctStLLU@VQkp*kluu_SY z*YUA|(c;17CcuxqS;2&D9^I}RapNFCnM)q}kYtfP6;Q&YiO{!niiS%EsFSsf%WO)C zC&$Jp#qCj^x4-Yl@I1Fhva@gY&-B=Iq1xH6o}a^GYesOR?@Z#Do_@o;{SrT~=lSB_ xuW|1fV?iSas?Np4*w*1WrepMF(mG5J&p-Pc3xv*T0crpM002ovPDHLkV1lrul%W6s literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_desert_sand_soil_wet_side.png b/mods/farming/textures/farming_desert_sand_soil_wet_side.png new file mode 100644 index 0000000000000000000000000000000000000000..41e5a04a36f76537ad5153b3360fc929dd905a3f GIT binary patch literal 272 zcmV+r0q_2aP)WvN|$y>po31Gdr6XUMWBOAm2^g#c}Ss!O`w5FqK8k6YC)TMNR4ntJ*s2)0001+ zNklYz~^4HgN(6gQT6MII~5cDTAG(%!x*qKqm%67ZLL_!bh4I0$m)uG^b3q zU=R{1n8rLw)P%vbiY;5I#L0<4X?ffBsx^m{8G`m*tXgwMEQvvIuKMybi|z+9#C@!0 z;O^CSV7Rv2EMrFY>M(|<)0()-cQfZQ072F1$GKM-7$YsB_T5c=z`z=tz}(x)tqlM) Ww=vDlXsW0H0000MaIl#*FCAl<2 z*jzM4Ty?~h`4}A)c{PPt?KMP{c^Kt*n1q=bRCrk=xEU0986`OxWVslmco^k*nT44c z#Mwdm`4||0?gk==lYqvmax=(sFz88e+o=nSF))N!Dw)c0i7+sj$_sdC3VG;?gI%2B*-tAL5ssp zg-ugQ=JU=uj`9Nk{{8*_^zOAo%NAzE^8Wkr>FulM&mKK`aOcLA%jZt--?L|7TSI-Y zt)cF}e?Ncx`2PLeVafjvYCCXwRlio7S(M+S^r<9N}ZCe)ikpO+brY zd%8G=NL=n)e-CV|fjjVi!YBt~8j4oBq$NwtYo?c(at-|KQ;Z)*ex=iq0{<>owioXsq z1ik!ouD*J@sM%aW-=!Po+i&^w^w-O$1utxSnvFerlGdfq=U>%&>050@iqkdj*>7K8 zJlePNw(E6UM$dR}myBgQQ(tAd;k@w1$+=w<)GdgYQ#>vo>l>7bDJ MboFyt=akR{09AqB)&Kwi literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_soil_wet.png b/mods/farming/textures/farming_soil_wet.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4487d8a2460c3d06a49560ca5c5905fba69f30 GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47zG1-LR^7dWWa>P5ny3}a5aQk zlzAD&I2c(N7(8_)M41?z)kK^$g=k&_1z9AS7;Myp6}cH@xEVEsScI4u6nU5>SQz9v8BG<0gupt1 zRs)eLH-jt(gNgvFtqQNLnozKXqA&x4u^hh=Ka(O4g9sx-u(`aRB&P;HqZAW^hk>lM zs-U?nueJzhxSgh{s(_IUzpav(z67Tv50eNVv$>LpFgt@N2LlHK13xPxC@dJEPBoO| zc2*a*m*WYkKbr#-k0=T93--^>2ncORO^Q697xMSp<(hy0etmua=>DBkhxYAWKC!1L z=-=Nzzu&!k`}+0E7tfzOzItWP>gkpLfP%k%e);tA!@F0{pFey2=+VQwH*Q?Jc>dJU z1KT#NTRwkg+w`@aM}T&`_H=O!k+^Jn*0t!cgNWZBPMTc0`OG>O8!?2L;U3OjqcUv+ABv;?~9#d{o(b^nay(07R%SGXNIn&nK znOvFwJ}Nf1EPC0^J6hQZUuDye%goDK+%3E|dFq1YmQz){p2r*YUS{8(#M)%2n9=H@ zmn6v&AfenM{N*640LzLG3TIy2d9bs`we7(TyUla%{dlG4ndTo^!uzW1_O!k{@#e$l z;x^diH(34tvgh~rmvwuu<@&2lSCIU~ZJK2JIP)RHaRQ}yRgy`n?5nmy2^F!kBLd>=TPO& zP{^rJ{_9TDx=y>6PW9nUv64)^pGw@tN!Ywev5iT&l}Pm1M$))O(XU3vs7CeQMbflI zwVXq^l|%5?LeslK$*DrUok69CLEX4O&#XY})IQ$BKHA2H|54R^4>PHk2cAvG|i(l)weUcl{2`LGoE@g!J{#-jWM;EFTj^5=FMpS^=9nN zV&unS=GI`yuwLH5TP}HPXVSNZh|j|KUfvn@8EQME~+b-Nr-PyhFyZL&B*;!J|XUxS{hpNzjy=7BT<#fYq}?m*m2V-%980)Q;K zB(|(j6zR9{xIQ`y%q#>3r%cWzEX|5I%Mms(A`!#ZTORQQjWnvqhy!qB(5^eSv}>H9 z8YIrNe+LI7Y);FWj{V};Zj?&t;uc GLK6Urr%G`E literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_tool_diamondhoe.png b/mods/farming/textures/farming_tool_diamondhoe.png new file mode 100644 index 0000000000000000000000000000000000000000..66f1042a425f5098f7001213ac9192150ce855e0 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4|*GC7{Y)~W)+<)tQy z{DE6Gb-jJvMlvi}hqW?e*j3q&S!3+-1ZlnP@7M?DS zAsp9}9U7*@W(J6z{uCpzdecXSmZyP<42cHsOBxK$wK`RifU*#Rp3qg zhlWXO9tVhdyID>-dbhBUspaXmTMUO1%8DBd(%Kv{+(K6*DKf8UFk)nE5xd5~7Q(;~ XwUFcR0ow#Qpdk#Nu6{1-oD!M<)DJvd literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_tool_steelhoe.png b/mods/farming/textures/farming_tool_steelhoe.png new file mode 100644 index 0000000000000000000000000000000000000000..d057af24c30b9a1bcfac890da03d4e3ff87e1fd6 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=4%>?hUk*$?+7nRuwpN z=8TCV|KrDx|NsC0@#9AqJ+bfKzdw8S%-@uECU4IZplZgFAirP+hi5m^fE-It7sn8e z>&Xrchh8~obboZwoO0AkIfJo9)#57Sp#(wk27_yAP8n*(E0R*#S2S=kGPa0qV_^$n aV37F1F?GVB^bJ5m7(8A5T-G@yGywqiay`-j literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_tool_stonehoe.png b/mods/farming/textures/farming_tool_stonehoe.png new file mode 100644 index 0000000000000000000000000000000000000000..55d8123f8b9eaed4410989827adb5fade27d4651 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4|*GC7{Y)~W(2DJc~d z74`M?xw*M!N&+r=Vutd(MMXsg1qIfcBL1ela~uMf0yQv}1o;IsI6S+N2IN?Ix;Tb# zTu*jjxVEW8quch2#gwB$X%>u!if$$`Bz{>;7#+*Z=EaM zw?66EcHjN$UFP>Vu3EMD;^DZZlbjwsdT{x8)Akkdd)7v7THv>8y4&_8*2j(=oHc9m z$z9o7wY5`$rZAQS`2{mLJiCzwlo8NZu>H-brP(K~|(phXOxu6{1-oD!M<;EG@u literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_1.png b/mods/farming/textures/farming_wheat_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c16ad94ba4e9989dd795c452559376ea2137d78b GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=9Yr1Ue5HHSX6f+M=Q~ zYo{boh_NKdFPOpM*^M+HN8HoJF@)oKvP8xM1|=4W84^4a5|S(;3~VV3TOtB)Z38M{ N@O1TaS?83{1OQMF9ZdiL literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_2.png b/mods/farming/textures/farming_wheat_2.png new file mode 100644 index 0000000000000000000000000000000000000000..baddb4c544c6ea55d23c5dec5462e351c0f80c54 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=3wxO(*WOis%vDe8I1J zrB3l;b^H6RpMVmKB|(0{3=Yq3qyahVo-U3d9M_W<=yNa#vhn!vF!7w>VdLV_abQz! jW}J`^;*pRTP{6<-pT?xP*61c5Pz!^ntDnm{r-UW|z&Rvh literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png new file mode 100644 index 0000000000000000000000000000000000000000..36ebb1929de7851303f7b7da7a46fe831765608f GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=7oRg-u%NdiX-lntjog zlXa)B_1J%|{C~fqJ5Y|XB*-tA!Qt7BG$6;x)5S4_<9hM}Mh^x-Mjjm=CZ07sjC?$2 z9N3hd873r@1SF&t7$gX!gm@&B2n3{Pr0E1ChzWS42qXmt1cU?xurVyGV&j}_c4jru OGzL#sKbLh*2~7aHK`<)- literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_4.png b/mods/farming/textures/farming_wheat_4.png new file mode 100644 index 0000000000000000000000000000000000000000..735ed7772e5ed4e8ecf29004ce2fc92fc3001247 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=8yeCePUzxb3x$}4MW-^nS{=7dR2o)#&6-Tm*+8s;xLd_unYEgOKA OF?hQAxvX9s(+5ED7=pW^j0RBMrzY^mK6y;kcfx zz^0S%ASuBkAtC7j!z70^W@heYh6$G+95`@J@4(R$7ZeUWIPqe^fpZT64k?^iG2y@q zg#{-J<`yTY8L2jYFgCPWYsLW_)yD%7EVQ;MLk?xjf`9ed6rv>PMO`bP0l+XkKd0|`D literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_7.png b/mods/farming/textures/farming_wheat_7.png new file mode 100644 index 0000000000000000000000000000000000000000..cc26ca96990f96f8fe71d5c3eed9d0eea3bb7c2e GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=42^r0?G1yl-9Ds>LRk zj^=EhYw_T6>gAKMhqp$qS!#Crc>12re#f@OT}v_e094Ib666=m;PC858j#cI>Eal| zaXqzTBQKMoi1Xix@0<#cx*IU@hS*8nQV|kjb-khBePQ`x+dQTzflFvXs>=mhV;2emCjG1i2d=>Yi4QG+X_?w&uF`J&|NjKx2-V2i> z8I~wss2>uhpfH0;Q;cQ6mTSUj*^G3scIec@IkN4fjwkQ5J3rKu+S3!)(;3JQS_PpA z-;0E(n_uCPBcg(a93^6ni1$PrHQeA-jcoLXQ_goZLEjMb50^^>=YLuCB>(^b07*qo IM6N<$f*<&P1^@s6 literal 0 HcmV?d00001 diff --git a/mods/farming/textures/farming_wheat_seed.png b/mods/farming/textures/farming_wheat_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..a9031fba979d5fd323ce9f5200f6ede53b2e733f GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ^~o&Uwme~4v(x#*or@>< z%7V@L&K@&PuV1Rg~;HfM?GGmNJaLK%Y3 kFmc!!9azVD)2D`kVexq;Szopr0Jyg)f&c&j literal 0 HcmV?d00001 diff --git a/mods/fire/README.txt b/mods/fire/README.txt new file mode 100644 index 0000000..a0f298c --- /dev/null +++ b/mods/fire/README.txt @@ -0,0 +1,25 @@ +Minetest Game mod: fire +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (LGPL 2.1) +Various Minetest developers and contributors (LGPL 2.1) + +Authors of media (textures and sounds) +-------------------------------------- +Everything not listed in here: +Copyright (C) 2012 Perttu Ahola (celeron55) (CC BY-SA 3.0) + +fire_basic_flame_animated.png: + Muadtralk (CC BY-SA 3.0) + +fire_flint_steel.png + Gambit (CC BY-SA 3.0) + +fire_small.ogg sampled from: + http://www.freesound.org/people/dobroide/sounds/4211/ (CC BY 3.0) + +fire_large.ogg sampled from: + http://www.freesound.org/people/Dynamicell/sounds/17548/ (CC BY 3.0) diff --git a/mods/fire/depends.txt b/mods/fire/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/fire/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/fire/init.lua b/mods/fire/init.lua new file mode 100644 index 0000000..6543cee --- /dev/null +++ b/mods/fire/init.lua @@ -0,0 +1,340 @@ +-- minetest/fire/init.lua + +-- Global namespace for functions + +fire = {} + + +-- Register flame nodes + +minetest.register_node("fire:basic_flame", { + drawtype = "firelike", + tiles = { + { + name = "fire_basic_flame_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1 + }, + }, + }, + inventory_image = "fire_basic_flame.png", + paramtype = "light", + light_source = 14, + walkable = false, + buildable_to = true, + sunlight_propagates = true, + damage_per_second = 4, + groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, + on_timer = function(pos) + local f = minetest.find_node_near(pos, 1, {"group:flammable"}) + if not f then + minetest.remove_node(pos) + return + end + -- restart timer + return true + end, + drop = "", + + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(30, 60)) + minetest.after(0, fire.update_sounds_around, pos) + end, + + on_destruct = function(pos) + minetest.after(0, fire.update_sounds_around, pos) + end, + + on_blast = function() + end, -- unaffected by explosions +}) + +minetest.register_node("fire:permanent_flame", { + description = "Permanent Flame", + drawtype = "firelike", + tiles = { + { + name = "fire_basic_flame_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1 + }, + }, + }, + inventory_image = "fire_basic_flame.png", + paramtype = "light", + light_source = 14, + walkable = false, + buildable_to = true, + sunlight_propagates = true, + damage_per_second = 4, + groups = {igniter = 2, dig_immediate = 3}, + drop = "", + + on_blast = function() + end, +}) + + +-- Flint and steel + +minetest.register_tool("fire:flint_and_steel", { + description = "Flint and Steel", + inventory_image = "fire_flint_steel.png", + on_use = function(itemstack, user, pointed_thing) + itemstack:add_wear(1000) + local pt = pointed_thing + if pt.type == "node" then + local node_under = minetest.get_node(pt.under).name + local is_coalblock = node_under == "default:coalblock" + local is_tnt = node_under == "tnt:tnt" + local is_gunpowder = node_under == "tnt:gunpowder" + if minetest.get_item_group(node_under, "flammable") >= 1 or + is_coalblock or is_tnt or is_gunpowder then + local flame_pos = pt.above + if is_coalblock then + flame_pos = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z} + elseif is_tnt or is_gunpowder then + flame_pos = pt.under + end + if minetest.get_node(flame_pos).name == "air" or + is_tnt or is_gunpowder then + local player_name = user:get_player_name() + if not minetest.is_protected(flame_pos, player_name) then + if is_coalblock then + minetest.set_node(flame_pos, + {name = "fire:permanent_flame"}) + elseif is_tnt then + minetest.set_node(flame_pos, + {name = "tnt:tnt_burning"}) + elseif is_gunpowder then + minetest.set_node(flame_pos, + {name = "tnt:gunpowder_burning"}) + else + minetest.set_node(flame_pos, + {name = "fire:basic_flame"}) + end + else + minetest.chat_send_player(player_name, "This area is protected") + end + end + end + end + if not minetest.setting_getbool("creative_mode") then + return itemstack + end + end +}) + +minetest.register_craft({ + output = "fire:flint_and_steel", + recipe = { + {"default:flint", "default:steel_ingot"} + } +}) + + +-- Override coalblock to enable permanent flame above +-- Coalblock is non-flammable to avoid unwanted basic_flame nodes + +minetest.override_item("default:coalblock", { + after_destruct = function(pos, oldnode) + pos.y = pos.y + 1 + if minetest.get_node(pos).name == "fire:permanent_flame" then + minetest.remove_node(pos) + end + end, +}) + + +-- Get sound area of position + +fire.D = 6 -- size of sound areas + +function fire.get_area_p0p1(pos) + local p0 = { + x = math.floor(pos.x / fire.D) * fire.D, + y = math.floor(pos.y / fire.D) * fire.D, + z = math.floor(pos.z / fire.D) * fire.D, + } + local p1 = { + x = p0.x + fire.D - 1, + y = p0.y + fire.D - 1, + z = p0.z + fire.D - 1 + } + return p0, p1 +end + + +-- Fire sounds table +-- key: position hash of low corner of area +-- value: {handle=sound handle, name=sound name} +fire.sounds = {} + + +-- Update fire sounds in sound area of position + +function fire.update_sounds_around(pos) + local p0, p1 = fire.get_area_p0p1(pos) + local cp = {x = (p0.x + p1.x) / 2, y = (p0.y + p1.y) / 2, z = (p0.z + p1.z) / 2} + local flames_p = minetest.find_nodes_in_area(p0, p1, {"fire:basic_flame"}) + --print("number of flames at "..minetest.pos_to_string(p0).."/" + -- ..minetest.pos_to_string(p1)..": "..#flames_p) + local should_have_sound = (#flames_p > 0) + local wanted_sound = nil + if #flames_p >= 9 then + wanted_sound = {name = "fire_large", gain = 0.7} + elseif #flames_p > 0 then + wanted_sound = {name = "fire_small", gain = 0.9} + end + local p0_hash = minetest.hash_node_position(p0) + local sound = fire.sounds[p0_hash] + if not sound then + if should_have_sound then + fire.sounds[p0_hash] = { + handle = minetest.sound_play(wanted_sound, + {pos = cp, max_hear_distance = 16, loop = true}), + name = wanted_sound.name, + } + end + else + if not wanted_sound then + minetest.sound_stop(sound.handle) + fire.sounds[p0_hash] = nil + elseif sound.name ~= wanted_sound.name then + minetest.sound_stop(sound.handle) + fire.sounds[p0_hash] = { + handle = minetest.sound_play(wanted_sound, + {pos = cp, max_hear_distance = 16, loop = true}), + name = wanted_sound.name, + } + end + end +end + + +-- Extinguish all flames quickly with water, snow, ice + +minetest.register_abm({ + label = "Extinguish flame", + nodenames = {"fire:basic_flame", "fire:permanent_flame"}, + neighbors = {"group:puts_out_fire"}, + interval = 3, + chance = 1, + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + minetest.remove_node(pos) + minetest.sound_play("fire_extinguish_flame", + {pos = pos, max_hear_distance = 16, gain = 0.25}) + end, +}) + + +-- Enable the following ABMs according to 'enable fire' setting + +local fire_enabled = minetest.setting_getbool("enable_fire") +if fire_enabled == nil then + -- New setting not specified, check for old setting. + -- If old setting is also not specified, 'not nil' is true. + fire_enabled = not minetest.setting_getbool("disable_fire") +end + +if not fire_enabled then + + -- Remove basic flames only + + minetest.register_abm({ + label = "Remove disabled fire", + nodenames = {"fire:basic_flame"}, + interval = 7, + chance = 1, + catch_up = false, + action = minetest.remove_node, + }) + +else -- Fire enabled + + -- Ignite neighboring nodes, add basic flames + + minetest.register_abm({ + label = "Ignite flame", + nodenames = {"group:flammable"}, + neighbors = {"group:igniter"}, + interval = 7, + chance = 12, + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + -- If there is water or stuff like that around node, don't ignite + if minetest.find_node_near(pos, 1, {"group:puts_out_fire"}) then + return + end + local p = minetest.find_node_near(pos, 1, {"air"}) + if p then + minetest.set_node(p, {name = "fire:basic_flame"}) + end + end, + }) + + -- Remove flammable nodes + + minetest.register_abm({ + label = "Remove flammable nodes", + nodenames = {"fire:basic_flame"}, + neighbors = "group:flammable", + interval = 5, + chance = 18, + catch_up = false, + action = function(pos, node, active_object_count, active_object_count_wider) + local p = minetest.find_node_near(pos, 1, {"group:flammable"}) + if p then + -- remove flammable nodes around flame + local flammable_node = minetest.get_node(p) + local def = minetest.registered_nodes[flammable_node.name] + if def.on_burn then + def.on_burn(p) + else + minetest.remove_node(p) + nodeupdate(p) + end + end + end, + }) + +end + + +-- Rarely ignite things from far + +--[[ Currently disabled to reduce the chance of uncontrollable spreading + fires that disrupt servers. Also for less lua processing load. + +minetest.register_abm({ + nodenames = {"group:igniter"}, + neighbors = {"air"}, + interval = 5, + chance = 10, + action = function(pos, node, active_object_count, active_object_count_wider) + local reg = minetest.registered_nodes[node.name] + if not reg or not reg.groups.igniter or reg.groups.igniter < 2 then + return + end + local d = reg.groups.igniter + local p = minetest.find_node_near(pos, d, {"group:flammable"}) + if p then + -- If there is water or stuff like that around flame, don't ignite + if fire.flame_should_extinguish(p) then + return + end + local p2 = fire.find_pos_for_flame_around(p) + if p2 then + minetest.set_node(p2, {name = "fire:basic_flame"}) + end + end + end, +}) +--]] diff --git a/mods/fire/license.txt b/mods/fire/license.txt new file mode 100644 index 0000000..87ade6b --- /dev/null +++ b/mods/fire/license.txt @@ -0,0 +1,83 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2012-2016 celeron55, Perttu Ahola +Copyright (C) 2012-2016 Various Minetest developers and contributors + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Muadtralk +Copyright (C) 2013-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) +Copyright (C) 2005 dobroide +Copyright (C) 2006 Dynamicell + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ diff --git a/mods/fire/sounds/fire_extinguish_flame.1.ogg b/mods/fire/sounds/fire_extinguish_flame.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..42506ddffa2cfa4d3177bf13ce1e49b6785ac4b8 GIT binary patch literal 9583 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
F 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 nW~$6=@x>`Ovb9>9M97n055 literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_large.ogg b/mods/fire/sounds/fire_large.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fe78e6253134818b33cd8c3fd2a87d0edfb0757e GIT binary patch literal 62808 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 literal 0 HcmV?d00001 diff --git a/mods/fire/sounds/fire_small.ogg b/mods/fire/sounds/fire_small.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5aac595b94264e8d7c7f74b1894ca4e90b4950db GIT binary patch literal 50004 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

;_waAvZwXMX45f8r^0Q=`HLo- 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 vjY?~YZU4+* z|L9-&+h70hUH{!$|H@YX;7JJV_q99!!8-AzI{(%=__R6rkU9T^IqOw2^?fnANTYnyz-iILYdLYtDAo6q{%#|MbY#r=s9NSVH z^k^I9gcejDgg7tuZpMiB|HBM7G@0RPEG@U=DaT_Ds# z58h1<{@+9Tk~`~FGXH`w>ANTTaVPm~9r0ru;Z78L84q?A2>-!E|JFJ7hAi=UAM|J& z?5Y^!UlrFz6>k~}e;Nr)2>}26ZU5Ip|ENCrwL132G4+}+{CX_^hARJZCG2V(qA3)| zH4wx%4A80xhYiRF-Tu}& zgPBCZvIISIpqK&3Z2(^!Sfmec0Bp9iKcVF{ux`fTTKOw5m(jZjD6d-Xsvi`W1XT)C z_W`iGYzSt`Xd!r)f*s9BxP;pEcL1Jboe#sepI*VoKm&m7W^cv1vlqI}E5q#t0P`;K zC60XYx%X{r%ZUomJQ)C=#KLJm_u~>N6`ccMwf=Hn=n8Tiq8EVG^61?-Uw;4g^Dz=< zru^#eJMPi+?5%)=H$hJYj~k|Gbk?%`td?^1l&*R-cgrP_5v^We!NqOf|! zq1T zN@;r=6p`oSJH`FmVL&0EN@f1WYPIeZ&{u|APA5?5bU;9s-UfLHPN?V%V4>8P1)(d; zI8#-eVAt#A&Z#+;kr3JaVEdPSKoq!098tp&Ni0T9_W%Fm_eRT)(eh)o{2;gd006Ba V(oINT7W@DJ002ovPDHLkV1l%J`riNm literal 0 HcmV?d00001 diff --git a/mods/fire/textures/fire_flint_steel.png b/mods/fire/textures/fire_flint_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..624f5565dd3029b7f3fc0ce0de374bb8977e301d GIT binary patch literal 3108 zcmV+<4BPXGP)uJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%ARI+y?e7jKeZ#YO-C0clA@K~#90V*LOAKLaHIAb^-C(hURv z0mK4hSeob|1UdQt|M~ur5yU=z<`P~500IcZ1t87xQX*iQ7#9Ep5Q+gHO}ZM2VD^n0 zH;B>C01!Yd=mLCv{0t8tJOs13_(d6zg7u;r$UqOC`ss}3ug#*w~uoyr9!NUOPXU0<(uKkBO9cD9 3 then + return + end + + local seedling = minetest.find_nodes_in_area_under_air(pos0, pos1, + {"default:dirt_with_grass", "default:dirt_with_dry_grass"}) + if #seedling > 0 then + seedling = seedling[math.random(#seedling)] + seedling.y = seedling.y + 1 + light = minetest.get_node_light(seedling) + if not light or light < 13 then + return + end + minetest.set_node(seedling, {name = node.name}) + end +end + +minetest.register_abm({ + label = "Flower spread", + nodenames = {"group:flora"}, + neighbors = {"default:dirt_with_grass", "default:dirt_with_dry_grass", + "default:desert_sand"}, + interval = 13, + chance = 96, + action = function(...) + flowers.flower_spread(...) + end, +}) + + +-- +-- Mushrooms +-- + +minetest.register_node("flowers:mushroom_red", { + description = "Red Mushroom", + tiles = {"flowers_mushroom_red.png"}, + inventory_image = "flowers_mushroom_red.png", + wield_image = "flowers_mushroom_red.png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(-5), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + } +}) + +minetest.register_node("flowers:mushroom_brown", { + description = "Brown Mushroom", + tiles = {"flowers_mushroom_brown.png"}, + inventory_image = "flowers_mushroom_brown.png", + wield_image = "flowers_mushroom_brown.png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(1), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + } +}) + + +-- Mushroom spread and death + +minetest.register_abm({ + label = "Mushroom spread", + nodenames = {"flowers:mushroom_brown", "flowers:mushroom_red"}, + interval = 11, + chance = 50, + action = function(pos, node) + if minetest.get_node_light(pos, nil) == 15 then + minetest.remove_node(pos) + return + end + local random = { + x = pos.x + math.random(-2, 2), + y = pos.y + math.random(-1, 1), + z = pos.z + math.random(-2, 2) + } + local random_node = minetest.get_node_or_nil(random) + if not random_node or random_node.name ~= "air" then + return + end + local node_under = minetest.get_node_or_nil({x = random.x, + y = random.y - 1, z = random.z}) + if not node_under then + return + end + + if (minetest.get_item_group(node_under.name, "soil") ~= 0 or + minetest.get_item_group(node_under.name, "tree") ~= 0) and + minetest.get_node_light(pos, 0.5) <= 3 and + minetest.get_node_light(random, 0.5) <= 3 then + minetest.set_node(random, {name = node.name}) + end + end +}) + + +-- These old mushroom related nodes can be simplified now + +minetest.register_alias("flowers:mushroom_spores_brown", "flowers:mushroom_brown") +minetest.register_alias("flowers:mushroom_spores_red", "flowers:mushroom_red") +minetest.register_alias("flowers:mushroom_fertile_brown", "flowers:mushroom_brown") +minetest.register_alias("flowers:mushroom_fertile_red", "flowers:mushroom_red") +minetest.register_alias("mushroom:brown_natural", "flowers:mushroom_brown") +minetest.register_alias("mushroom:red_natural", "flowers:mushroom_red") + + +-- +-- Waterlily +-- + +minetest.register_node("flowers:waterlily", { + description = "Waterlily", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = {"flowers_waterlily.png", "flowers_waterlily_bottom.png"}, + inventory_image = "flowers_waterlily.png", + wield_image = "flowers_waterlily.png", + liquids_pointable = true, + walkable = false, + buildable_to = true, + sunlight_propagates = true, + floodable = true, + groups = {snappy = 3, flower = 1}, + sounds = default.node_sound_leaves_defaults(), + node_placement_prediction = "", + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.46875, 0.5} + }, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5} + }, + + on_place = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.above + local node = minetest.get_node(pointed_thing.under).name + local def = minetest.registered_nodes[node] + local player_name = placer:get_player_name() + + if def and def.liquidtype == "source" and + minetest.get_item_group(node, "water") > 0 then + if not minetest.is_protected(pos, player_name) then + minetest.set_node(pos, {name = "flowers:waterlily", + param2 = math.random(0, 3)}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + else + minetest.chat_send_player(player_name, "Node is protected") + minetest.record_protection_violation(pos, player_name) + end + end + + return itemstack + end +}) diff --git a/mods/flowers/license.txt b/mods/flowers/license.txt new file mode 100644 index 0000000..d301162 --- /dev/null +++ b/mods/flowers/license.txt @@ -0,0 +1,62 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Ironzorg, VanessaE +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 RHRhino +Copyright (C) 2015-2016 Gambit +Copyright (C) 2016 yyt16384 + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua new file mode 100644 index 0000000..162b11d --- /dev/null +++ b/mods/flowers/mapgen.lua @@ -0,0 +1,173 @@ +-- +-- Mgv6 +-- + +local function register_mgv6_flower(name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.006, + spread = {x = 100, y = 100, z = 100}, + seed = 436, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 30, + decoration = "flowers:"..name, + }) +end + +local function register_mgv6_mushroom(name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.04, + spread = {x = 100, y = 100, z = 100}, + seed = 7133, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 30, + decoration = "flowers:"..name, + spawn_by = "default:tree", + num_spawn_by = 1, + }) +end + +local function register_mgv6_waterlily() + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.12, + scale = 0.3, + spread = {x = 100, y = 100, z = 100}, + seed = 33, + octaves = 3, + persist = 0.7 + }, + y_min = 0, + y_max = 0, + schematic = minetest.get_modpath("flowers").."/schematics/waterlily.mts", + rotation = "random", + }) +end + +function flowers.register_mgv6_decorations() + register_mgv6_flower("rose") + register_mgv6_flower("tulip") + register_mgv6_flower("dandelion_yellow") + register_mgv6_flower("geranium") + register_mgv6_flower("viola") + register_mgv6_flower("dandelion_white") + + register_mgv6_mushroom("mushroom_brown") + register_mgv6_mushroom("mushroom_red") + + register_mgv6_waterlily() +end + + +-- +-- All other biome API mapgens +-- + +local function register_flower(seed, name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.015, + scale = 0.025, + spread = {x = 200, y = 200, z = 200}, + seed = seed, + octaves = 3, + persist = 0.6 + }, + biomes = {"stone_grassland", "sandstone_grassland", + "deciduous_forest", "coniferous_forest"}, + y_min = 1, + y_max = 31000, + decoration = "flowers:"..name, + }) +end + +local function register_mushroom(name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.006, + spread = {x = 200, y = 200, z = 200}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest", "coniferous_forest"}, + y_min = 1, + y_max = 31000, + decoration = "flowers:"..name, + }) +end + +local function register_waterlily() + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt"}, + sidelen = 16, + noise_params = { + offset = -0.12, + scale = 0.3, + spread = {x = 200, y = 200, z = 200}, + seed = 33, + octaves = 3, + persist = 0.7 + }, + biomes = {"rainforest_swamp", "savanna_swamp", "deciduous_forest_swamp"}, + y_min = 0, + y_max = 0, + schematic = minetest.get_modpath("flowers").."/schematics/waterlily.mts", + rotation = "random", + }) +end + +function flowers.register_decorations() + register_flower(436, "rose") + register_flower(19822, "tulip") + register_flower(1220999, "dandelion_yellow") + register_flower(36662, "geranium") + register_flower(1133, "viola") + register_flower(73133, "dandelion_white") + + register_mushroom("mushroom_brown") + register_mushroom("mushroom_red") + + register_waterlily() +end + + +-- +-- Detect mapgen to select functions +-- + +-- Mods using singlenode mapgen can call these functions to enable +-- the use of minetest.generate_ores or minetest.generate_decorations + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" then + flowers.register_mgv6_decorations() +elseif mg_name ~= "singlenode" then + flowers.register_decorations() +end diff --git a/mods/flowers/schematics/waterlily.mts b/mods/flowers/schematics/waterlily.mts new file mode 100644 index 0000000000000000000000000000000000000000..876310cce9110775b10b9cef15ae36e7a5b2d800 GIT binary patch literal 92 zcmeYb3HD`RVPIrnW?-zZuLn{*DXD3Rr8y;5DVaqj3?eXId16UwQG9WJX;E@2gJ4=t letBw9u@zV}Co`wAVoq{GLPAQyulV@$2M#bWa7|%i1OWYj9~=Mx literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_dandelion_white.png b/mods/flowers/textures/flowers_dandelion_white.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc02fb51d7b7a590b7dc83d670bea5f97d815f3 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW1=9cj|MyI=3dy(nKa;`2 zSJSz|Y&lSru_VYZn8D%MjWi%f%hSa%gyVYh0@VbO1|t`lhe|yOQ3pC4SyWE0IgoPT k1cMNFLTZ9hLJ|XmDnH}?85{iCfVvnwUHx3vIVCg!07}d#{Qv*} literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_dandelion_yellow.png b/mods/flowers/textures/flowers_dandelion_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..ec11c1c80990a5e142f3cb9bc3d7da59b6bcce63 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=9b|FnA_d{h!GYl5fSG z%(x#Y#8?vK7tG-B>_!@pqvGk}7{YNqSwV<{%OS%p+1Y~Gx2utJ*$vL-gDmM52?haI a7#KRIG0EP2;+_gr&*16m=d#Wzp$PyT>?1z_ literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_geranium.png b/mods/flowers/textures/flowers_geranium.png new file mode 100644 index 0000000000000000000000000000000000000000..88de1d7f21b0403a33413a7c76f27f3324ca8e82 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=6m87Y!WG_(yHjv7Qx@ zZ|0F?(A<8`!dH9O?gz@3CVd5}U@Qsp3ubV5b|VeQG4^zE4B@z*tRQY6Z6w_wspF&- zpm9^5rO_cV_T~j) z0XYF4hqi5AIdj^AzK-tlLawm0AjOO&L4Lsu4$p3+0XZ6;E{-7_*OM2hCYYL;G8mt6 wVVQi8$KBE0-N2cXL!rw;%pr8MKZ6iMZVdDH!i{b3fqED`UHx3vIVCg!05N7O^#A|> literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_mushroom_red.png b/mods/flowers/textures/flowers_mushroom_red.png new file mode 100644 index 0000000000000000000000000000000000000000..a68f5d50ad3f85a7dab7d3bc4ffd80452d536a9e GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=0r{93}|}d?+Y*wQt`l z4UJ#t&K=se`PSOCD`!qy(AUvjUg*z!vI(e;u_VYZn8D%MjWi&~(9^{+gyVYh0#*a# zwhPCani9mi7cA&lz&zogh?0iJDh8pTprEWKjYoGFt{&aT;K9I9+rm<`{NknGK+O!E Lu6{1-oD!ME6m-&O jOz0MzaxjS@xq*Yh!H}_2cb}jdP#c4%tDnm{r-UW|%lsz4 literal 0 HcmV?d00001 diff --git a/mods/flowers/textures/flowers_viola.png b/mods/flowers/textures/flowers_viola.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2d750efff69f79a02a3a2e24bc220525d8ebd4 GIT binary patch literal 153 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 W?$`EJrLTalWbkzLb6Mw<&;$Sw9)Sn| literal 0 HcmV?d00001 diff --git a/mods/minefixnodes/README.md b/mods/minefixnodes/README.md new file mode 100644 index 0000000..8963eb4 --- /dev/null +++ b/mods/minefixnodes/README.md @@ -0,0 +1,17 @@ +# Minefixnodes + +This mod adds missing items and blocks from Minecraft to Minetest + +## Installation notes + +Before running this mod, you have to add your own textures. For legal reasons we can't offer existing textures from Minecraft, and we're not yet offering our own. +Place all your textures in `textures/`. + +The following is a list of required textures and their file names: + +* minefixnodes_andesite.png +* minefixnodes_andesite_polished.png +* minefixnodes_diorite.png +* minefixnodes_diorite_polished.png +* minefixnodes_granite.png +* minefixnodes_granite_polished.png diff --git a/mods/minefixnodes/blocks.lua b/mods/minefixnodes/blocks.lua new file mode 100644 index 0000000..c9709e6 --- /dev/null +++ b/mods/minefixnodes/blocks.lua @@ -0,0 +1,41 @@ +minetest.register_node("minefixnodes:andesite", { + description = "Andesite", + tiles = {"minefixnodes_andesite.png"}, + is_ground_content = true, + groups = {cracky = 3} +}) + +minetest.register_node("minefixnodes:andesite_polished", { + description = "Polished Andesite", + tiles = {"minefixnodes_andesite_polished.png"}, + is_ground_content = false, + groups = {cracky = 3} +}) + +minetest.register_node("minefixnodes:diorite", { + description = "Diorite", + tiles = {"minefixnodes_diorite.png"}, + is_ground_content = true, + groups = {cracky = 3} +}) + +minetest.register_node("minefixnodes:diorite_polished", { + description = "Polished Diorite", + tiles = {"minefixnodes_diorite_polished.png"}, + is_ground_content = false, + groups = {cracky = 3} +}) + +minetest.register_node("minefixnodes:granite", { + description = "Granite", + tiles = {"minefixnodes_granite.png"}, + is_ground_content = true, + groups = {cracky = 3} +}) + +minetest.register_node("minefixnodes:granite_polished", { + description = "Polished Granite", + tiles = {"minefixnodes_granite_polished.png"}, + is_ground_content = false, + groups = {cracky = 3} +}) diff --git a/mods/minefixnodes/crafting.lua b/mods/minefixnodes/crafting.lua new file mode 100644 index 0000000..b021875 --- /dev/null +++ b/mods/minefixnodes/crafting.lua @@ -0,0 +1,29 @@ +minetest.register_craft({ + type = "shapeless", + output = "minefixnodes:andesite 2", + recipe = {"minefixnodes:diorite", "default:cobble"} +}) + +minetest.register_craft({ + output = "minefixnodes:andesite_polished 4", + recipe = { + {"minefixnodes:andesite", "minefixnodes:andesite"}, + {"minefixnodes:andesite", "minefixnodes:andesite"} + } +}) + +minetest.register_craft({ + output = "minefixnodes:diorite_polished 4", + recipe = { + {"minefixnodes:diorite", "minefixnodes:diorite"}, + {"minefixnodes:diorite", "minefixnodes:diorite"} + } +}) + +minetest.register_craft({ + output = "minefixnodes:granite_polished 4", + recipe = { + {"minefixnodes:granite", "minefixnodes:granite"}, + {"minefixnodes:granite", "minefixnodes:granite"} + } +}) diff --git a/mods/minefixnodes/depends.txt b/mods/minefixnodes/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/minefixnodes/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/minefixnodes/init.lua b/mods/minefixnodes/init.lua new file mode 100644 index 0000000..a640cf6 --- /dev/null +++ b/mods/minefixnodes/init.lua @@ -0,0 +1,3 @@ +dofile(minetest.get_modpath("minefixnodes") .. "/blocks.lua") +dofile(minetest.get_modpath("minefixnodes") .. "/items.lua") +dofile(minetest.get_modpath("minefixnodes") .. "/crafting.lua") diff --git a/mods/minefixnodes/items.lua b/mods/minefixnodes/items.lua new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/mods/minefixnodes/items.lua @@ -0,0 +1 @@ + diff --git a/mods/stairs/README.txt b/mods/stairs/README.txt new file mode 100644 index 0000000..d32cd71 --- /dev/null +++ b/mods/stairs/README.txt @@ -0,0 +1,16 @@ +Minetest Game mod: stairs +========================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Kahrl (LGPL 2.1) and +celeron55, Perttu Ahola (LGPL 2.1) +Various Minetest developers and contributors (LGPL 2.1) + +Authors of media (models) +------------------------- +Jean-Patrick G. (kilbith) (CC BY-SA 3.0): + stairs_stair.obj + + diff --git a/mods/stairs/depends.txt b/mods/stairs/depends.txt new file mode 100644 index 0000000..d77ba25 --- /dev/null +++ b/mods/stairs/depends.txt @@ -0,0 +1,2 @@ +default +farming diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua new file mode 100644 index 0000000..132c0e6 --- /dev/null +++ b/mods/stairs/init.lua @@ -0,0 +1,507 @@ +-- Minetest 0.4 mod: stairs +-- See README.txt for licensing and other information. + + +-- Global namespace for functions + +stairs = {} + + +-- Register aliases for new pine node names + +minetest.register_alias("stairs:stair_pinewood", "stairs:stair_pine_wood") +minetest.register_alias("stairs:slab_pinewood", "stairs:slab_pine_wood") + + +-- Get setting for replace ABM + +local replace = minetest.setting_getbool("enable_stairs_replace_abm") + + +-- Register stairs. +-- Node will be called stairs:stair_ + +function stairs.register_stair(subname, recipeitem, groups, images, description, sounds) + groups.stair = 1 + minetest.register_node(":stairs:stair_" .. subname, { + description = description, + drawtype = "mesh", + mesh = "stairs_stair.obj", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = groups, + sounds = sounds, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local param2 = 0 + + local placer_pos = placer:getpos() + if placer_pos then + local dir = { + x = p1.x - placer_pos.x, + y = p1.y - placer_pos.y, + z = p1.z - placer_pos.z + } + param2 = minetest.dir_to_facedir(dir) + end + + if p0.y - 1 == p1.y then + param2 = param2 + 20 + if param2 == 21 then + param2 = 23 + elseif param2 == 23 then + param2 = 21 + end + end + + return minetest.item_place(itemstack, placer, pointed_thing, param2) + end, + }) + + -- for replace ABM + if replace then + minetest.register_node(":stairs:stair_" .. subname .. "upside_down", { + replace_name = "stairs:stair_" .. subname, + groups = {slabs_replace = 1}, + }) + end + + if recipeitem then + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 8', + recipe = { + {recipeitem, "", ""}, + {recipeitem, recipeitem, ""}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + -- Flipped recipe for the silly minecrafters + minetest.register_craft({ + output = 'stairs:stair_' .. subname .. ' 8', + recipe = { + {"", "", recipeitem}, + {"", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + end +end + + +-- Slab facedir to placement 6d matching table +local slab_trans_dir = {[0] = 8, 0, 2, 1, 3, 4} +-- Slab facedir when placing initial slab against other surface +local slab_trans_dir_place = {[0] = 0, 20, 12, 16, 4, 8} + +-- Register slabs. +-- Node will be called stairs:slab_ + +function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) + groups.slab = 1 + minetest.register_node(":stairs:slab_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = groups, + sounds = sounds, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + on_place = function(itemstack, placer, pointed_thing) + local under = minetest.get_node(pointed_thing.under) + local wield_item = itemstack:get_name() + + if under and wield_item == under.name then + -- place slab using under node orientation + local dir = minetest.dir_to_facedir(vector.subtract( + pointed_thing.above, pointed_thing.under), true) + + local p2 = under.param2 + + -- combine two slabs if possible + if slab_trans_dir[math.floor(p2 / 4)] == dir then + if not recipeitem then + return itemstack + end + local player_name = placer:get_player_name() + if minetest.is_protected(pointed_thing.under, player_name) and not + minetest.check_player_privs(placer, "protection_bypass") then + minetest.record_protection_violation(pointed_thing.under, + player_name) + return + end + minetest.set_node(pointed_thing.under, {name = recipeitem, param2 = p2}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end + + -- Placing a slab on an upside down slab should make it right-side up. + if p2 >= 20 and dir == 8 then + p2 = p2 - 20 + -- same for the opposite case: slab below normal slab + elseif p2 <= 3 and dir == 4 then + p2 = p2 + 20 + end + + -- else attempt to place node with proper param2 + minetest.item_place_node(ItemStack(wield_item), placer, pointed_thing, p2) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + else + -- place slab using look direction of player + local dir = minetest.dir_to_wallmounted(vector.subtract( + pointed_thing.above, pointed_thing.under), true) + + local rot = slab_trans_dir_place[dir] + if rot == 0 or rot == 20 then + rot = rot + minetest.dir_to_facedir(placer:get_look_dir()) + end + + return minetest.item_place(itemstack, placer, pointed_thing, rot) + end + end, + }) + + -- for replace ABM + if replace then + minetest.register_node(":stairs:slab_" .. subname .. "upside_down", { + replace_name = "stairs:slab_".. subname, + groups = {slabs_replace = 1}, + }) + end + + if recipeitem then + minetest.register_craft({ + output = 'stairs:slab_' .. subname .. ' 6', + recipe = { + {recipeitem, recipeitem, recipeitem}, + }, + }) + end +end + + +-- Optionally replace old "upside_down" nodes with new param2 versions. +-- Disabled by default. + +if replace then + minetest.register_abm({ + label = "Slab replace", + nodenames = {"group:slabs_replace"}, + interval = 16, + chance = 1, + action = function(pos, node) + node.name = minetest.registered_nodes[node.name].replace_name + node.param2 = node.param2 + 20 + if node.param2 == 21 then + node.param2 = 23 + elseif node.param2 == 23 then + node.param2 = 21 + end + minetest.set_node(pos, node) + end, + }) +end + + +-- Stair/slab registration function. +-- Nodes will be called stairs:{stair,slab}_ + +function stairs.register_stair_and_slab(subname, recipeitem, + groups, images, desc_stair, desc_slab, sounds) + stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds) + stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds) +end + + +-- Register default stairs and slabs + +stairs.register_stair_and_slab( + "wood", + "default:wood", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"default_wood.png"}, + "Wooden Stair", + "Wooden Slab", + default.node_sound_wood_defaults() +) + +stairs.register_stair_and_slab( + "junglewood", + "default:junglewood", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"default_junglewood.png"}, + "Jungle Wood Stair", + "Jungle Wood Slab", + default.node_sound_wood_defaults() +) + +stairs.register_stair_and_slab( + "pine_wood", + "default:pine_wood", + {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_pine_wood.png"}, + "Pine Wood Stair", + "Pine Wood Slab", + default.node_sound_wood_defaults() +) + +stairs.register_stair_and_slab( + "acacia_wood", + "default:acacia_wood", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + {"default_acacia_wood.png"}, + "Acacia Wood Stair", + "Acacia Wood Slab", + default.node_sound_wood_defaults() +) + +stairs.register_stair_and_slab( + "aspen_wood", + "default:aspen_wood", + {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_aspen_wood.png"}, + "Aspen Wood Stair", + "Aspen Wood Slab", + default.node_sound_wood_defaults() +) + +stairs.register_stair_and_slab( + "stone", + "default:stone", + {cracky = 3}, + {"default_stone.png"}, + "Stone Stair", + "Stone Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "cobble", + "default:cobble", + {cracky = 3}, + {"default_cobble.png"}, + "Cobblestone Stair", + "Cobblestone Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "mossycobble", + nil, + {cracky = 3}, + {"default_mossycobble.png"}, + "Mossy Cobblestone Stair", + "Mossy Cobblestone Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "stonebrick", + "default:stonebrick", + {cracky = 2}, + {"default_stone_brick.png"}, + "Stone Brick Stair", + "Stone Brick Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "stone_block", + "default:stone_block", + {cracky = 2}, + {"default_stone_block.png"}, + "Stone Block Stair", + "Stone Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "desert_stone", + "default:desert_stone", + {cracky = 3}, + {"default_desert_stone.png"}, + "Desert Stone Stair", + "Desert Stone Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "desert_cobble", + "default:desert_cobble", + {cracky = 3}, + {"default_desert_cobble.png"}, + "Desert Cobblestone Stair", + "Desert Cobblestone Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "desert_stonebrick", + "default:desert_stonebrick", + {cracky = 2}, + {"default_desert_stone_brick.png"}, + "Desert Stone Brick Stair", + "Desert Stone Brick Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "desert_stone_block", + "default:desert_stone_block", + {cracky = 2}, + {"default_desert_stone_block.png"}, + "Desert Stone Block Stair", + "Desert Stone Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "sandstone", + "default:sandstone", + {crumbly = 1, cracky = 3}, + {"default_sandstone.png"}, + "Sandstone Stair", + "Sandstone Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "sandstonebrick", + "default:sandstonebrick", + {cracky = 2}, + {"default_sandstone_brick.png"}, + "Sandstone Brick Stair", + "Sandstone Brick Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "sandstone_block", + "default:sandstone_block", + {cracky = 2}, + {"default_sandstone_block.png"}, + "Sandstone Block Stair", + "Sandstone Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "obsidian", + "default:obsidian", + {cracky = 1, level = 2}, + {"default_obsidian.png"}, + "Obsidian Stair", + "Obsidian Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "obsidianbrick", + "default:obsidianbrick", + {cracky = 1, level = 2}, + {"default_obsidian_brick.png"}, + "Obsidian Brick Stair", + "Obsidian Brick Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "obsidian_block", + "default:obsidian_block", + {cracky = 1, level = 2}, + {"default_obsidian_block.png"}, + "Obsidian Block Stair", + "Obsidian Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "brick", + "default:brick", + {cracky = 3}, + {"default_brick.png"}, + "Brick Stair", + "Brick Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "straw", + "farming:straw", + {snappy = 3, flammable = 4}, + {"farming_straw.png"}, + "Straw Stair", + "Straw Slab", + default.node_sound_leaves_defaults() +) + +stairs.register_stair_and_slab( + "steelblock", + "default:steelblock", + {cracky = 1, level = 2}, + {"default_steel_block.png"}, + "Steel Block Stair", + "Steel Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "copperblock", + "default:copperblock", + {cracky = 1, level = 2}, + {"default_copper_block.png"}, + "Copper Block Stair", + "Copper Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "bronzeblock", + "default:bronzeblock", + {cracky = 1, level = 2}, + {"default_bronze_block.png"}, + "Bronze Block Stair", + "Bronze Block Slab", + default.node_sound_stone_defaults() +) + +stairs.register_stair_and_slab( + "goldblock", + "default:goldblock", + {cracky = 1}, + {"default_gold_block.png"}, + "Gold Block Stair", + "Gold Block Slab", + default.node_sound_stone_defaults() +) diff --git a/mods/stairs/license.txt b/mods/stairs/license.txt new file mode 100644 index 0000000..8f16bbd --- /dev/null +++ b/mods/stairs/license.txt @@ -0,0 +1,51 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2016 Kahrl +Copyright (C) 2011-2016 celeron55, Perttu Ahola +Copyright (C) 2012-2016 Various Minetest developers and contributors + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (models) +-------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2015-2016 Jean-Patrick G. (kilbith) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/tnt/README.txt b/mods/tnt/README.txt new file mode 100644 index 0000000..c1ca88d --- /dev/null +++ b/mods/tnt/README.txt @@ -0,0 +1,41 @@ +Minetest Game mod: tnt +====================== +See license.txt for license information. + +Authors of source code +---------------------- +PilzAdam (MIT) +ShadowNinja (MIT) +sofar (sofar@foo-projects.org) (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +BlockMen (CC BY-SA 3.0): +All textures not mentioned below. + +ShadowNinja (CC BY-SA 3.0): +tnt_smoke.png + +Wuzzy (CC BY-SA 3.0): +All gunpowder textures except tnt_gunpowder_inventory.png. + +sofar (sofar@foo-projects.org) (CC BY-SA 3.0): +tnt_blast.png + +Introduction +------------ +This mod adds TNT to Minetest. TNT is a tool to help the player +in mining. + +How to use the mod: +Craft gunpowder by placing coal and gravel in the crafting area. +The gunpowder can be used to craft TNT or as fuse for TNT. +To craft TNT surround gunpowder with 4 wood in a + shape. + +There are different ways to blow up TNT: + 1. Hit it with a torch. + 2. Hit a gunpowder fuse that leads to a TNT block with a torch or flint-and-steel. + 3. Activate it with mesecons (fastest way). + +Be aware of the damage radius of 6 blocks! diff --git a/mods/tnt/depends.txt b/mods/tnt/depends.txt new file mode 100644 index 0000000..5ff216f --- /dev/null +++ b/mods/tnt/depends.txt @@ -0,0 +1,3 @@ +default +fire + diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua new file mode 100644 index 0000000..1138e1c --- /dev/null +++ b/mods/tnt/init.lua @@ -0,0 +1,597 @@ +tnt = {} + +-- Default to enabled when in singleplayer +local enable_tnt = minetest.setting_getbool("enable_tnt") +if enable_tnt == nil then + enable_tnt = minetest.is_singleplayer() +end + +-- loss probabilities array (one in X will be lost) +local loss_prob = {} + +loss_prob["default:cobble"] = 3 +loss_prob["default:dirt"] = 4 + +local tnt_radius = tonumber(minetest.setting_get("tnt_radius") or 3) + +-- Fill a list with data for content IDs, after all nodes are registered +local cid_data = {} +minetest.after(0, function() + for name, def in pairs(minetest.registered_nodes) do + cid_data[minetest.get_content_id(name)] = { + name = name, + drops = def.drops, + flammable = def.groups.flammable, + on_blast = def.on_blast, + } + end +end) + +local function rand_pos(center, pos, radius) + local def + local reg_nodes = minetest.registered_nodes + local i = 0 + repeat + -- Give up and use the center if this takes too long + if i > 4 then + pos.x, pos.z = center.x, center.z + break + end + pos.x = center.x + math.random(-radius, radius) + pos.z = center.z + math.random(-radius, radius) + def = reg_nodes[minetest.get_node(pos).name] + i = i + 1 + until def and not def.walkable +end + +local function eject_drops(drops, pos, radius) + local drop_pos = vector.new(pos) + for _, item in pairs(drops) do + local count = math.min(item:get_count(), item:get_stack_max()) + while count > 0 do + local take = math.max(1,math.min(radius * radius, + count, + item:get_stack_max())) + rand_pos(pos, drop_pos, radius) + local dropitem = ItemStack(item) + dropitem:set_count(take) + local obj = minetest.add_item(drop_pos, dropitem) + if obj then + obj:get_luaentity().collect = true + obj:setacceleration({x = 0, y = -10, z = 0}) + obj:setvelocity({x = math.random(-3, 3), + y = math.random(0, 10), + z = math.random(-3, 3)}) + end + count = count - take + end + end +end + +local function add_drop(drops, item) + item = ItemStack(item) + local name = item:get_name() + if loss_prob[name] ~= nil and math.random(1, loss_prob[name]) == 1 then + return + end + + local drop = drops[name] + if drop == nil then + drops[name] = item + else + drop:set_count(drop:get_count() + item:get_count()) + end +end + +local function destroy(drops, npos, cid, c_air, c_fire, on_blast_queue, ignore_protection, ignore_on_blast) + if not ignore_protection and minetest.is_protected(npos, "") then + return cid + end + + local def = cid_data[cid] + + if not def then + return c_air + elseif not ignore_on_blast and def.on_blast then + on_blast_queue[#on_blast_queue + 1] = {pos = vector.new(npos), on_blast = def.on_blast} + return cid + elseif def.flammable then + return c_fire + else + local node_drops = minetest.get_node_drops(def.name, "") + for _, item in pairs(node_drops) do + add_drop(drops, item) + end + return c_air + end +end + +local function calc_velocity(pos1, pos2, old_vel, power) + -- Avoid errors caused by a vector of zero length + if vector.equals(pos1, pos2) then + return old_vel + end + + local vel = vector.direction(pos1, pos2) + vel = vector.normalize(vel) + vel = vector.multiply(vel, power) + + -- Divide by distance + local dist = vector.distance(pos1, pos2) + dist = math.max(dist, 1) + vel = vector.divide(vel, dist) + + -- Add old velocity + vel = vector.add(vel, old_vel) + + -- randomize it a bit + vel = vector.add(vel, { + x = math.random() - 0.5, + y = math.random() - 0.5, + z = math.random() - 0.5, + }) + + -- Limit to terminal velocity + dist = vector.length(vel) + if dist > 250 then + vel = vector.divide(vel, dist / 250) + end + return vel +end + +local function entity_physics(pos, radius, drops) + local objs = minetest.get_objects_inside_radius(pos, radius) + for _, obj in pairs(objs) do + local obj_pos = obj:getpos() + local dist = math.max(1, vector.distance(pos, obj_pos)) + + local damage = (4 / dist) * radius + if obj:is_player() then + -- currently the engine has no method to set + -- player velocity. See #2960 + -- instead, we knock the player back 1.0 node, and slightly upwards + local dir = vector.normalize(vector.subtract(obj_pos, pos)) + local moveoff = vector.multiply(dir, dist + 1.0) + local newpos = vector.add(pos, moveoff) + newpos = vector.add(newpos, {x = 0, y = 0.2, z = 0}) + obj:setpos(newpos) + + obj:set_hp(obj:get_hp() - damage) + else + local do_damage = true + local do_knockback = true + local entity_drops = {} + local luaobj = obj:get_luaentity() + local objdef = minetest.registered_entities[luaobj.name] + + if objdef and objdef.on_blast then + do_damage, do_knockback, entity_drops = objdef.on_blast(luaobj, damage) + end + + if do_knockback then + local obj_vel = obj:getvelocity() + obj:setvelocity(calc_velocity(pos, obj_pos, + obj_vel, radius * 10)) + end + if do_damage then + if not obj:get_armor_groups().immortal then + obj:punch(obj, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = damage}, + }, nil) + end + end + for _, item in pairs(entity_drops) do + add_drop(drops, item) + end + end + end +end + +local function add_effects(pos, radius, drops) + minetest.add_particle({ + pos = pos, + velocity = vector.new(), + acceleration = vector.new(), + expirationtime = 0.4, + size = radius * 10, + collisiondetection = false, + vertical = false, + texture = "tnt_boom.png", + }) + minetest.add_particlespawner({ + amount = 64, + time = 0.5, + minpos = vector.subtract(pos, radius / 2), + maxpos = vector.add(pos, radius / 2), + minvel = {x = -10, y = -10, z = -10}, + maxvel = {x = 10, y = 10, z = 10}, + minacc = vector.new(), + maxacc = vector.new(), + minexptime = 1, + maxexptime = 2.5, + minsize = radius * 3, + maxsize = radius * 5, + texture = "tnt_smoke.png", + }) + + -- we just dropped some items. Look at the items entities and pick + -- one of them to use as texture + local texture = "tnt_blast.png" --fallback texture + local most = 0 + for name, stack in pairs(drops) do + local count = stack:get_count() + if count > most then + most = count + local def = minetest.registered_nodes[name] + if def and def.tiles and def.tiles[1] then + texture = def.tiles[1] + end + end + end + + minetest.add_particlespawner({ + amount = 64, + time = 0.1, + minpos = vector.subtract(pos, radius / 2), + maxpos = vector.add(pos, radius / 2), + minvel = {x = -3, y = 0, z = -3}, + maxvel = {x = 3, y = 5, z = 3}, + minacc = {x = 0, y = -10, z = 0}, + maxacc = {x = 0, y = -10, z = 0}, + minexptime = 0.8, + maxexptime = 2.0, + minsize = radius * 0.66, + maxsize = radius * 2, + texture = texture, + collisiondetection = true, + }) +end + +function tnt.burn(pos, nodename) + local name = nodename or minetest.get_node(pos).name + local group = minetest.get_item_group(name, "tnt") + if group > 0 then + minetest.sound_play("tnt_ignite", {pos = pos}) + minetest.set_node(pos, {name = name .. "_burning"}) + minetest.get_node_timer(pos):start(1) + elseif name == "tnt:gunpowder" then + minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) + end +end + +local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast) + pos = vector.round(pos) + -- scan for adjacent TNT nodes first, and enlarge the explosion + local vm1 = VoxelManip() + local p1 = vector.subtract(pos, 2) + local p2 = vector.add(pos, 2) + local minp, maxp = vm1:read_from_map(p1, p2) + local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + local data = vm1:get_data() + local count = 0 + local c_tnt = minetest.get_content_id("tnt:tnt") + local c_tnt_burning = minetest.get_content_id("tnt:tnt_burning") + local c_tnt_boom = minetest.get_content_id("tnt:boom") + local c_air = minetest.get_content_id("air") + + for z = pos.z - 2, pos.z + 2 do + for y = pos.y - 2, pos.y + 2 do + local vi = a:index(pos.x - 2, y, z) + for x = pos.x - 2, pos.x + 2 do + local cid = data[vi] + if cid == c_tnt or cid == c_tnt_boom or cid == c_tnt_burning then + count = count + 1 + data[vi] = c_air + end + vi = vi + 1 + end + end + end + + vm1:set_data(data) + vm1:write_to_map() + + -- recalculate new radius + radius = math.floor(radius * math.pow(count, 1/3)) + + -- perform the explosion + local vm = VoxelManip() + local pr = PseudoRandom(os.time()) + p1 = vector.subtract(pos, radius) + p2 = vector.add(pos, radius) + minp, maxp = vm:read_from_map(p1, p2) + a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) + data = vm:get_data() + + local drops = {} + local on_blast_queue = {} + + local c_fire = minetest.get_content_id("fire:basic_flame") + for z = -radius, radius do + for y = -radius, radius do + local vi = a:index(pos.x + (-radius), pos.y + y, pos.z + z) + for x = -radius, radius do + local r = vector.length(vector.new(x, y, z)) + if (radius * radius) / (r * r) >= (pr:next(80, 125) / 100) then + local cid = data[vi] + local p = {x = pos.x + x, y = pos.y + y, z = pos.z + z} + if cid ~= c_air then + data[vi] = destroy(drops, p, cid, c_air, c_fire, + on_blast_queue, ignore_protection, + ignore_on_blast) + end + end + vi = vi + 1 + end + end + end + + vm:set_data(data) + vm:write_to_map() + vm:update_map() + vm:update_liquids() + + -- call nodeupdate for everything within 1.5x blast radius + for y = -radius * 1.5, radius * 1.5 do + for z = -radius * 1.5, radius * 1.5 do + for x = -radius * 1.5, radius * 1.5 do + local rad = {x = x, y = y, z = z} + local s = vector.add(pos, rad) + local r = vector.length(rad) + if r / radius < 1.4 then + nodeupdate_single(s) + end + end + end + end + + for _, queued_data in pairs(on_blast_queue) do + local dist = math.max(1, vector.distance(queued_data.pos, pos)) + local intensity = (radius * radius) / (dist * dist) + local node_drops = queued_data.on_blast(queued_data.pos, intensity) + if node_drops then + for _, item in pairs(node_drops) do + add_drop(drops, item) + end + end + end + + return drops, radius +end + +function tnt.boom(pos, def) + minetest.sound_play("tnt_explode", {pos = pos, gain = 1.5, max_hear_distance = 2*64}) + minetest.set_node(pos, {name = "tnt:boom"}) + local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection, + def.ignore_on_blast) + -- append entity drops + local damage_radius = (radius / def.radius) * def.damage_radius + entity_physics(pos, damage_radius, drops) + if not def.disable_drops then + eject_drops(drops, pos, radius) + end + add_effects(pos, radius, drops) +end + +minetest.register_node("tnt:boom", { + drawtype = "airlike", + light_source = default.LIGHT_MAX, + walkable = false, + drop = "", + groups = {dig_immediate = 3}, + on_construct = function(pos) + minetest.get_node_timer(pos):start(0.4) + end, + on_timer = function(pos, elapsed) + minetest.remove_node(pos) + end, + -- unaffected by explosions + on_blast = function() end, +}) + +minetest.register_node("tnt:gunpowder", { + description = "Gun Powder", + drawtype = "raillike", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + walkable = false, + tiles = {"tnt_gunpowder_straight.png", "tnt_gunpowder_curved.png", "tnt_gunpowder_t_junction.png", "tnt_gunpowder_crossing.png"}, + inventory_image = "tnt_gunpowder_inventory.png", + wield_image = "tnt_gunpowder_inventory.png", + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {dig_immediate = 2, attached_node = 1, connect_to_raillike = minetest.raillike_group("gunpowder")}, + sounds = default.node_sound_leaves_defaults(), + + on_punch = function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "default:torch" then + tnt.burn(pos, node.name) + end + end, + on_blast = function(pos, intensity) + tnt.burn(pos, "tnt:gunpowder") + end, +}) + +minetest.register_node("tnt:gunpowder_burning", { + drawtype = "raillike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + light_source = 5, + tiles = {{ + name = "tnt_gunpowder_burning_straight_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + { + name = "tnt_gunpowder_burning_curved_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + { + name = "tnt_gunpowder_burning_t_junction_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + { + name = "tnt_gunpowder_burning_crossing_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }}, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + drop = "", + groups = {dig_immediate = 2, attached_node = 1, connect_to_raillike = minetest.raillike_group("gunpowder")}, + sounds = default.node_sound_leaves_defaults(), + on_timer = function(pos, elapsed) + for dx = -1, 1 do + for dz = -1, 1 do + for dy = -1, 1 do + if not (dx == 0 and dz == 0) then + tnt.burn({ + x = pos.x + dx, + y = pos.y + dy, + z = pos.z + dz, + }) + end + end + end + end + minetest.remove_node(pos) + end, + -- unaffected by explosions + on_blast = function() end, + on_construct = function(pos) + minetest.sound_play("tnt_gunpowder_burning", {pos = pos, gain = 2}) + minetest.get_node_timer(pos):start(1) + end, +}) + +minetest.register_craft({ + output = "tnt:gunpowder", + type = "shapeless", + recipe = {"default:coal_lump", "default:gravel"} +}) + +if enable_tnt then + minetest.register_craft({ + output = "tnt:tnt", + recipe = { + {"", "group:wood", ""}, + {"group:wood", "tnt:gunpowder", "group:wood"}, + {"", "group:wood", ""} + } + }) + + minetest.register_abm({ + label = "TNT ignition", + nodenames = {"group:tnt", "tnt:gunpowder"}, + neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"}, + interval = 4, + chance = 1, + action = function(pos, node) + tnt.burn(pos, node.name) + end, + }) +end + +function tnt.register_tnt(def) + local name + if not def.name:find(':') then + name = "tnt:" .. def.name + else + name = def.name + def.name = def.name:match(":([%w_]+)") + end + if not def.tiles then def.tiles = {} end + local tnt_top = def.tiles.top or def.name .. "_top.png" + local tnt_bottom = def.tiles.bottom or def.name .. "_bottom.png" + local tnt_side = def.tiles.side or def.name .. "_side.png" + local tnt_burning = def.tiles.burning or def.name .. "_top_burning_animated.png" + if not def.damage_radius then def.damage_radius = def.radius * 2 end + + if enable_tnt then + minetest.register_node(":" .. name, { + description = def.description, + tiles = {tnt_top, tnt_bottom, tnt_side}, + is_ground_content = false, + groups = {dig_immediate = 2, mesecon = 2, tnt = 1}, + sounds = default.node_sound_wood_defaults(), + on_punch = function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "default:torch" then + minetest.set_node(pos, {name = name .. "_burning"}) + end + end, + on_blast = function(pos, intensity) + minetest.after(0.1, function() + tnt.boom(pos, def) + end) + end, + mesecons = {effector = + {action_on = + function(pos) + tnt.boom(pos, def) + end + } + }, + }) + end + + minetest.register_node(":" .. name .. "_burning", { + tiles = { + { + name = tnt_burning, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + tnt_bottom, tnt_side + }, + light_source = 5, + drop = "", + sounds = default.node_sound_wood_defaults(), + groups = {falling_node = 1}, + on_timer = function(pos, elapsed) + tnt.boom(pos, def) + end, + -- unaffected by explosions + on_blast = function() end, + on_construct = function(pos) + minetest.sound_play("tnt_ignite", {pos = pos}) + minetest.get_node_timer(pos):start(4) + nodeupdate(pos) + end, + }) +end + +tnt.register_tnt({ + name = "tnt:tnt", + description = "TNT", + radius = tnt_radius, +}) diff --git a/mods/tnt/license.txt b/mods/tnt/license.txt new file mode 100644 index 0000000..210f2bd --- /dev/null +++ b/mods/tnt/license.txt @@ -0,0 +1,65 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 PilzAdam +Copyright (C) 2014-2016 ShadowNinja +Copyright (C) 2016 sofar (sofar@foo-projects.org) +Copyright (C) 2014-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2014-2016 ShadowNinja +Copyright (C) 2015-2016 Wuzzy +Copyright (C) 2016 sofar (sofar@foo-projects.org) + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/tnt/sounds/tnt_explode.ogg b/mods/tnt/sounds/tnt_explode.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a414ea046bf76298f6f1406d574f15741c515248 GIT binary patch literal 12808 zcmaia2RNKh*Z1m#AbMFs)K#LFB}xQgwOCdSqL7vNOQc$R+#B` zkGGr7Uy*k+H&$6>voI%8WQ(|6FBko+V^fYo2M=s>=JnxN;=B=VIceU;#W?~E!39IC_u-}z+J)Rhpxu1Z?@u0sPH@Q3lTV&5;A^&cfXwz^9UMj!sAZ=T7|JoSp#XxwCXnoZ`Td zBEi3$aO-vuNRkKK=>YBltO4g7brjHa5}R~VngmR7Ymxu?d3%Q!KoRv^pW*$L1PlntTA@oBPB|Qa;-{=;7LlZmehpPmWvMSpO1<--^&sUk;7dqv za%X1paEjBQJYGuP-T455zDbhXh=beZ`asQ1HV zVbW`1GQxm7=)VK&zaj?&1WmwQOvV|7^L$J5SC+#0>)?MyjswZJXmC$7qe2y<(g?@E z0l&&2|94^;RemKkQoZk_E~8|oYJz&B0;Zz~({WeRsajLr&tBTK{{+n6uvwUN`H#rC z4UtFC$Yr@0^nXWACTrx9a3q6#45M}ovqyq?Xi8CX#%59Wz5fmiY> zp$V3uDaG~K*1hH14gYKTugH1s$Osf5a%3DC|08l*dBD$rXsY5+I{d4n*muC7&NAfx z=>QO@H40DRZXZ#FbB@CW#^Ia@b+P|BVgTwmztSi_VAyyNh!O;10Gu2^80HuyWhYxZHAmqb?-hbpA^^`@dE(Y3;clZ;|N-C}BAHgIPNq4_3|E2t@FgCF5 zp@URGAYYzto(>AfLHV9c=|LWx^tf&)OJ3}VJcKiWf)B!!Ph`BDmNO#XlN(2&5SE@x zWE@%sOafs6KisV0C{h$j5)jA;4}K347zZDOtVO|lc~-%27_=ZwZ4io06VS_pneI;r z$pfnmLcW0m`k$_*`42y31%c>VQGlNmE5C^hh>!*J)1GlCmS2H{Nr6~qh{SY~SZOkz ze}G>=RUOesj2Kr(%#bM|YMGRXm6VRu5yUbGQp9M25~9Xth~IQd9Wh6S7_T**A@kNu za9Q9}(gt290IJJmf|tRBjb73}tdvOZSP3E~YXwxD5vmANZFPjUtEu)WLUY1P0idcW zO_3rHwTP)>8$^QFqBBBI({$<-p-twkI~llm;Pa|SzxtHv9!uA zEKXr9E-osrwJ9zy)6L!}&Mxk)GA}MK?XCJ)Qf|EsP|FL8t2l~_IZCQZFN-<0YYU4T z%6h9RQp-!WYxi*5Ikp?@i_6PPs&;Ov4Q1P14%-dfZ}K61`6XKoMGXzM+YJu=wKm|K z;;k08zP5_qs=e(7u4)&0RfNl2oZhk~pofitTZZmwV3m#Nm$J)VfWgQabjS`|4@~=H zOAYjO9kNRp3PZ!g`JQbl;_#hWe&>1mVOE(k^HPDW%GZ#A&> zwE%*6X1nabjoe_p89{)MUR8$cW!!y=GlZP!a<~*(K5@zUh==p-J%A0ATWk>bN@mfs zqxuS?fH3LTNz@40I_aDV;ahaM>O7eAPRg)OaNG-+6@A$^tV@A7lxnwX)&bSdBtD>$ko$v?7guLsyCWG=gdDXWBfYo|tF1{2j zFPB6C#;MT{06Aymsa#Pmk(zu_4ZtcdmrMc1Q%j<2%QFE6X5!tZ3PCdC1)lKo>~u(J3Vcz;^#Ei3;>m^`F52BrwC3I?kTgzH%IOr*iB1%Oon ztYTo+oLxG)iZw2TI=FYMDyz{zT9tJH!kO|Y6kwG#WJp_{H7b~8*{$%RPBPs{K)4!G zAb-N@mY{1RHj&~4E1MXDM*sw4o96Kp&%J+XZe+#THDOeCE1az|J_ZoJHmws5jT5i_4x@_03ikbu4Zl8$y(rKOsDi#h63<~aC%>VtO4vgzGxsxUmVlS+b!fa zY@dd}2jwjZ9s8kdI8yykmLf+*DF_77{}h|4W)KR2bWT9AnexaK*f={ikPrx<1t*Yq z+=VTsQfMd2z5CiYAZZ|qyXb&@2a__7!he_|m&BOxQ62^0mpl?+@gm^@P+kkZ}*1NofwaGVwxSkT{n58VLs z13M!)0H3WZ%^zP1n-o|E@U7~H0u`YYKmhW+EPtTNiyOHmz+szoKp!N}`IZm|zXt-b z*#j9-g{p~@Uvwt0XQF~UZud+W6e}xE7Scr*7Xt^x0V)+a;sLhn)VL+Y>Fm$}(6AP8 zB?MsArSl9{)~SUor_Y-(DixRnKwPtyf`kDCd@+sz9Tb5oDpjVdFQsQ^J=H zFk?7R5Q$M3&wAQ3Y)EGkkmKZ2+@>DDNA@=V2nPtjYZpL(u7hu@G^faaCno=H;rxG; zC<5}V2O7ZFx{HDu`)^h*OLX^YZ2eD?p7i(iKXUeeXYc=0OBY!NK<+;)kmQ$pSfCp$ zYK`Z@5Gq`bTOA4Ufkdx830N^EO+XN2BR2qWPu4RSl$8lU2?PSb2Z-o69aypx9L~m+ zmvFmvjOoBQ0p3_lc@uCeK#B-K>wg8{Eb;Q~Q$U`Xc=qf(yS z5jYT^6vm}M0O=rsr6V~ZH4{eRHGutr9b&@hoxp?+F6gJNJ;+zC!XYR=_fy;VpLf2d z2a;{6J8Rz_4B&t-GH=mBFAW1wb&C=D0Kg4@`vRi=tB+7*{V%itK&}5B7xzNy4qDh* zKp%t#02%9DiwS7q{7vBQz!*RTq;hcp=f8b%M1YLD^ezs5i%7sUw}d;W-nDS(Z_RZ# znEvnF+guQUDBA5V%&@_j)BDJpf3Xeig+(_EBcag_R=^F7;CiOh+}DuYd>&?q{9Yr6Vmg& zl|&(-=mrD@phG~J6|KWOFVWFghu?AeMlz?NtCZYv90^keU-YeI3hB6__8KB%O{CvCu0uXiqK0YCSekd;wAK(1g*xbaA z*@@-FpUX2FjGj-?;YNPi?a4ZJT)DU{JvWz&8Uk0F@?&v}0S;@J(D1DoD7wrjNIWlA+X|E$RpP1S{d zl7&6`YnGa%83oVDFi#JzukUJJ4hmoC`_rSNI(3L9r(ovhlj4<2863ZJPM|oCvSSsU zn#L60y#M|N>>FWZ?t!YW%{9^J7D-pJ3w~G|U;Jl|ic71H#W6#$N5AglL-&t8pdGWC zae?d~GtcbOlTo?}yXptn2M~I(#cKX3T*)lj^s8H8zrOq-tnD5#?J+bR_gT$BNz=g9 z{E1n4W_ja@+T9W4_rP;*d3(;ogo7|hECcnIh%#vlw5ke;a?o@DEs%J!l!D@{;igRF zptclnM9L+(N%~k~qi5xMiv|8}NOxcBqqugeTl}@~9D1ssE4ep{^z&H{xZ0Iqsm41$ zSuZsnvpKZ7)_lS)ANAp(gXz=E#Wkn=y^lSc{(!)vYdUzJ8T(>`*Z#!=?6N6SX#3(CL#7f((dV{Z1dM zXYjV^sg{T4G#Xvcu2{PX9w-It8N?zv9FkAERy%8+gI3IHn6Ei3dB+Vpp>%TJ4iY0Y zVoh>Z-d{(APbggk1anog-*fU7ZvU{csr^#Vp&Klpi??DH*dYsF!7bY>v%&6O`Gkd! z^kG)v{Zg$Qd-K`@V2 z2Ip%S+a~Qj^qwtP=*Sy0ekBgeI0kQT*Lu_HjvV=Q_UaiOp&pslV6O1u**>I74(sVO zxZd2$O%HqTMX=?v5eg-I*!hW(I2##j8N&2-*R{wX1q|x2!ex7rfOc$;CAaS6t5Fke ztec_nPOZZnx7(-hPYZX#wzhWLAXUqhuBoK~4ZfY`An3@k6SLnntznKM6ir|_ADRJ zq)HBi|Ms6GYpc!5v+WEDNyvWStO}$oK^P_0*4f#*cEl0*`$75#UldPZ{7Pl*4Njh) zd23x(hC-Ctqm;UT&XBWJMdOX54L<8tV7eS6DX2FM#!Nu^36m6JvuC^T3GtxN&aVDu zBESRfS=%|;J7*q@vOx-xYD_zXTdoFe6!f7!;*0E0dxz}8etDC%x zCwTVQPjY`>$W;?@RA+o-QU^<03DLM4XO*!)pB_;05k zSXqMn5#)T#31bO(;@_RIh_m$;)GW6Bmm94I@(Otd&2bk9wI8!O4ShV0J;9Fk3W&!6 z{n?f=qW%o%RM};l0@}+I(tzj1AE%pDCQqVWSG}fHJ2P9i)Gxt+9-IgUDwzR~~h3-#(jSD9J zP#T=Cx%)&bb`eR*N7J;*Y{u$nf@e$Oz-@fZN#4)i&$}5u#-I{SmaX{NVl&9=T{<6I zQ^kF)YDXG1a}86sEl5dwg>&ea{R6mLcJhjD%GTiNMI?qmJ$iEB1*WB~PVH8c6CZwI z#o*Rr9bN+0?#zh$Vs+7Yf58jfcT@Bf#*>jwE0tinhf(lRGyLQ-PI3)A`y%VhXTB%p zc^}rmgi4)}%|rdRS(!;pNjTp9GQZ}*grF8;(VA5CxAJwxL`+(qVObA_4r~@rF3z0K z?BXjQ@TzfUR9`d%b5_Cl6s_&W%ir%MiKJVY;xAU^D%d-I0nJ}%ZZCU3H+cuf^ealG z#lQfri$61P_ANlB=y_j%<=pY0hy)9TsOwH_qWA9;V5?cQDAy*&yS!+zPN)Gp0 z?moLTLM;g)Hu`E}J*4V`lk82@;cIIXl#Hv+U*CUWgJzvdm{DI*m8&bu6$JE?=${(Y zS9%K{4do?D;CNWt&6lUDrE22Lyy7{XY%Jo`+G%#Jm5pBQ8ji&HTJfA3RU-xQpmqGimr^s4VBWySNgjC^PHm?`iY<%+v4e^_sx;rmkinPa5ngUW`1&8Nf5*HHf zC`#q_lpl^N9OA3`Y0vQTZ?lQDgck_nMfgO+grLGbi4wflU8Sf#zgsLq2hJFR)TxsM z)>^~47)0Tou1G&-Mq$ZsQ8ypIx`U0nG&dzkT@ytsQ8IQqf2lsE0R5V38qoTHMNwdh zkYOn;fW$anh*0kmFyBCr&N|n|*MFx|@c%fa-BU8vEHbSotdW*H9F+9`(&40n986UH z{4rYbE2kj4C_mly>oDTdI!TJ?ifSB8nV+3jYI7)D*)dF%7BN%{atsDz%ha<9lu@y5Pp2p+|2R@ap;SQ+Y) zwEwKR*(ri9=OLMy8C*X=kv;@|sKwl8mUNT$y1k#0=@C!J3~T$UfIIg`Xgj)onv8X< z;Q?x^o6s9v*?w9={L67OWR_NiUxqd>ZN}x*HM_S(xq887(uAy&8~oBOr7`RW^SkLWQ6`o;=37FR}?!yWvff=3!zh z63pSbl2`pbIYEsd1Pjpdz0b6ohQ2l`SJ#E#?^M z%$6=*r=fXx1qXtxbGJb?yb53COP#Jz`^%xjXtD=}hH}vDkKPcpk#Y>C7_i#s`6@THIpdF8cpc9n6K!fnTRdJcv?AI*pg@wx6E~0(! zUtj%nfNUqq1F5S?dy%t424N^~UCw=x|ATYX+N<=!BD}_SRHlicb&p?P>bu@7G^BR0 zI<;kL`vLNv&HMELOBFP4+}Nmu4Hl#&tczm8I?gG29XG<+Jx(_@qO}x7sntb5LQ}gpTnZjs8TEJ=} z2a(nX&2H<}F{fOpN5_(LZlTxF3^fH=B%wH#m+8mXCaX(rGat>q3;SO9YNztYQwmmn z=VvUhha<5bcw%~&urz4MZs{l4E4DY2P6P`qsXvQc-rDAj!&iI(^6n2@y8rGWXnv~B z&L$;j0N+^H!8?9J6?soA&ugOut3|HK=7XoD5UrOXIhI#+jNi2*x)mw;`}q!UXHfo1 z&4bhj-nxbyn<1!(w#y~6>)k9GXRTs20;C}VZ@bat{cB@3zUH(;C&Ob4op{)J&@m>= zvsd73D{tdEaeV%3;vQ}V`b8s~dC)GO<6Qnyr6x+;D>oCh=&x(Zdmj~Kh}ac0xf73n zzdw;fr*F5Wyol<-)ez-CUh`kbXv092Z(#!Ze_qn>mp+Go zle(wq_p9ownp4>hrzky+D0#taw|{{Py{>zqNjOfVavKco8A~dX0)Q9WeS8qc=?$>StC(G4bIwtkcSJwri0B%$a%; z?q#XF)b>x%O(f$h9|smQ(!G}c#C@rN`(?ZSW<<;`@O5k!c;_j_M@PZpHOh!*yx|t# zN6FmJXnD%r=OqJ#8z@($7=grHyk<`shcW?S4ru`#0^^&??^ zHqcr_$i7tQH)a*Pwss+h_|4I1;oA2!t?!sL!KqSZar8a$a^@8;-`A+> z_q2Kx@YeFHAZo#?PLV%@E1SZE`kToPp!jmUyI zO$W+lz6I!3H?%N)oKh5JMSpd(XmfwHa!}}x2yPQ~r0Bu$D`DoYZw%96R76iZ$%`!$ z6mrjhv$|H0IVXnCBtykzI^)Xih^sQ`S_qIAC=QCyCi*DmP(%NXIGKy z&KuNSybmzPkcm3t?W&g?JCOzQT&As0s%xjxCvCm$J#e}_e#m2!Cp?nHwcdS4qx(6mm-%(M zvaG_eueM=nz`(Qbpnq-~!tX8{?rs~s#Ba`{&+G z@kcm)5+5uamDI?al<7dQXsFF085$$+pS! za7VK}`mHyrYG(DtYtNw2ut zYbmvYD9Y)@hDOc?mS8<$-;i24k_e4rZb2SGa+K>n@u)&BZ3tntYWTb#BiNv#|91s; z(yLFc2gZUXB%hytt@ZIIIa-}hep|}FGb|XAyOrjnM>p%A#rk${Mw5jD93Pq$J)f8= z&sw5^+Yr|bsr>$+Thb)kOVsZIj|KxIzB7I_{}=!^q=sUCIHz5!vMs`Jia0Er>wKxP z{-ciSyJHo;>kA5Ju&Xdn6-X%38BbA!O9U)+EH zGRu>sCiS;3bZ+MkW5w~M)>Oz5Q(o85ng+W4)YN=8uQ06*__ zpW{~3g(rN*Lffq`DZzhMzFam8_%b=g^aV;EFpEmIy0snDhV$rbxh|%y4Z8A;EMNt6 z79bwts~Akm-ZZ?tN=orsZW*s8b+3-lYot!Pu`x5;4Xn!*M2yxcNfr=R#yjlJBOj#> zJLZ`9`)`c|ZJu<$?;dPSizTjQ%`grcl9}sLL>Z#feof?E@G6bUlAeB7XMn~yARwXz>AsDo zwDx0N{AY$G>~7xEWG^=Mo5ZPK8WD$U|6p5dzu!Yi(Eo%w6Pw|qOLPA^%wBEnfZPP6$E%} zCt;orG<&$+-g|)6C6CyucIf415PI{cCO5zaOWCV$Y@(;+&%wK)=lVUz$B0d_^?`C* z6nDXep8HbjH{o^*q4B?cov4b?T(F)Px0X>iA1z+`kngw}u#VOXd#ydgJ>g6`*ihF5 zC&=sL6MdI0AFV!9NK5ZvJxe*LwB%WBdEQyZ8qRcSx@*d&x$|s)w4X>R)UgwL1`$bg zf|{$d|Km8GZ+|jz+oB}&;K4~cZ81~(Jx%$h>7O3^?w*AanEmb;^}8P<=M^MO-nYy& zMl>T)-z0;)bvs|-ev$zF9$b4b{`xy@wc5f*X=quxMz<2?!1`R3gvGduNA2Fhjp)>c zt&@+_XFkttc&u@qT#?gB=4%LbnR*kgyce}NwFG1OxYaM=XOHyQz&7qX4VAU^V{Qu8 zxb&6Jhr-V1^X4w}^=!`!aS5~c2l<;B4t=|xd>L0|S%Y;dYVe%nR}^5~YbK*4;}$kh zG3*}kn&^LPbShPw7OdJOWIx62i0M!cLuJW;ueaB)*#@ZUl*!H~A#8F_SG)3YqeUNz zQE07&Zg%+FnvTO8x4V~L9t zs_k$7ZJvDj>v_;X?RkU!p~{v0%!N8f)`PCqI>K|?`uP{5INAxefp6SZma-wo&M@B@ z>AtB&Nwb+|6N%{xNi`Pz&;aOYMdwZ5oQ3pv|jz-dlSF{^CV_UQxVkzo+bTi<{ zhK%6sZl!dcpFcx$3@`K!Hb=G;2SH5Z)8>L@|J*`LELGpaLQ=gG< z$3%JWU(J(NJ*ger%-_N_&YD!LhlB)n7J! zhTU=SXo-(HE0cJejR;c>b^n^=g#_0 zqe~P{tJra*DZXS~+nrymL73qgVe!1Y4&|q)m%FZ-#Vc@*CaJ;+XVI(G6aB8*I5b^v zvCnB@mp82gYp#pevaXLV`?fS{l?MpjyDxM)ju^7cCOq8;gvfGJZTa};@oidYxYZWF zB*-92BO)KVFvOlaRp%lXa&11@bXM7qQS_w;-IQh|y=buNF@1=Arh%6qp@+jKXs^mO zAMQ{soYF%u(EmD!Q<%T5Nlnj((!SRMpG{d%W%NP z7~bS+6Jha>Bn3CLRQ*NuK)HK^M)=j4AKVspqIXZtoQFl9@a%98f&Ofn*kkBm`Fc&S zP0aA47&D>FF~VjnNM?d_)V_!Zq^A3%i@VYB_;7rvZsxCY$QglC=lTwHBwSB)wB(4w zgM-{>7%yI$w^a4#zHnG$aE-d3Tx#{_SF0!eb(_ey{=*if9|OsMip&IEG$*(<>sXTv z-XEMpmJBp>M9*8lt5(xCV&m%C-H z!y>^_I=ir5I7drh*)SSg{GIYP}g4tx)q&D~>(fKmK$q&>s2l zJp60(E(9WqRZ!Yl8R62TNwUEE(_iex*{at-0LLwzjo@Xng z_~?1_zTfhIsR{c9BfQNHXbVG z`BR9*$WM$s30L09Jwa(0A>cFTO$hQ*qy?piqG?^i*g68zs(Z2de(4T;(x z9$Sla&rw{No+AQWlLKIeLX~Y)khlXHtnjj<-QZ| znS;{oUr;zkF0ayf@N^{hTc!GhdYn;5O54>?<*p7LBA;h^8Pzy7w3cGXJ%ifCB6t-y z>1W3Kk+@Oc%Cc&cWuv&jyq?#N)}Q8(Tm-Y{Z}xTJw(ouBX%92EHG-_^?5Z}a)J`m4u7H2Q>zIrA&oZF4Vcd{ifN zWW12u$_2W)DW4`P`#q}vT)q%#^GCn#uxqch>DK-s-{c$e^jmftACt@FQ27|FN?waLkKf@>^wZOGY-tH)CYdEUSI{O|+ciM|h$ z!zb~yrz5sLH&=}#<}P|pEq=0TN2*G0qMs|Oem>Q?B6%W^->rqYjMTCz8HzrYYgozz9rE4kg?V$hf2M@%XI9onsEGv{j(rf6w*!^F+MRD{ zQ3dl%5(`80zIr_1B7U*IMRs61+uSHa>BRm5vh`wtzSjX_e7{aB7iQ)WL(JvxEkoX- z+V%8_$qC)Gwb3c3*B-4o_3q%o>P}^tMAbVl3k9VY@tO;4EL|_iK!1u&R!}{0L3Qh4 zYG%r>O2ZuE9b}OMCyP!uZcg*DJ~!vdYaV-31`k_4&c@@4q?0PGCA+n8i)g{C-=0pz zICpfMBEh*AmUwz_B*xyaAL~$`ZQV>Z&O@jUf|rN=HUF6bKz#6SpwQ6*iDY*R}pz1cqFcL9%~R6a=Q_`JJb=xO6`g`Kx&|gmKB2mZUOxh z*h~v6M#;-Q5ZDoQLlCCERfkD1@CW3VR$rV?G6>W=8RbnA8CR2n_Y1DmHBV_3V<7}e z*B{)Dw2D2iNeMw!j&UmQF^+yfIpTjiBdgAN-3|n z8$?oNwc=gIa)wwi6J>?{?n~Mn7_77kG+g2w*(bB$XT!s$wxeoZF;u13dnK~>Jo(Es z?1hlA%<6}6q&aGWeOl!`WZ1q}SnHD?gglz!d~oyk=}eZ&TP8h zs87zDtA7};)15d5NE$XYSxXoTer%PCk=AarfNfIAM29I#Mov@?)Wp9zpWS;SHw`z z6YEnJ{G}y6ZECe27rMKAD6>#uYgnNY--%UcYGTHgf83JVD;uLpnw7JZ5t%W;p!5ZU zneG^gnyhUCX<7im#2c*`MmG%&$Kx%iBO538rve59DFRb+PA+r! zDTg&g2AmyGV=H?%3}f1&sBbl41dB!pb5*V-kN$S5uvJ!V!?9SzyY!D7U`88Lh#|68 zvE;Og1BW0Xf*vQU$9OwvMj6HwL|qy0m=~{jg}&o#s{MF5G-qB_Of)|o^_k<5l+h#H z+&nLS?V3w{Xw+MIgZxQmEP@=q%ZdQE?_WOo%DiDvb!p_w-06+@VVt40ODCG{GN2tv zENZfgdGvUoZuX2&%D}6;R&!WHX7C5jsWSSUTe4sNL*p$N&MVZrYZ3I;sDEFJ-2OSE zL3rf`larmDRgnMXBb-Bf2)bl<8kN1jdu@v@LD7#$4_QZc*Uz&=(VEmV>E9W%5?1CH z`!FA(1n^d3z+FIm8EC@#SNb)WBHQtO5?xPT8UArP2>l>HzWY({Ek_tnN|8IJHSGgP zbdME`YWV~ETjj7IYKD!{$DG;Ep9K=-o7?3x&1FbCE(-m4nbL}B!uB1cj>We23q?5l zN7VBKlhUz|B2+a-mRAEM;+0SyXX!Wbf|PLogygGAT1@abi)$T3JB6jcQ3t!l(3W_C7nxy(k&ee z>~n(Gb^q@7dEd|T{PUil@nmL>V~&|4zB6+UBg*FHYM@)7f1X+YU)I;zZCjI%7}OZ9 z_D;r@(CZ3}S0&d!Kp?Kd+c!VIVJKg>{LgdU5(6mBk$ft8B!>QfK4Z84N@52X-dZ|X za40*O)7n@XYu?DGm8Iq80&{_ZM9ZWGu`qHmGqrOuH#c==z7~&h_itlX$(NcKAZ(xp ztU%lTVK7Pq1i}Y_44*OM#+b=6!(y|T+!JGEu5;~N!HKcK?WB+}aL2zdT3!=k5auNsz9 z0FP-xN*gity`cRGXXd;_CqUF+wP-;f05w6a-Z3%%?)}i_F%$^DK!?w zHMTup*?PX>+^~Q!0G8_~(=s{l|CP+N<4ynX>4ilX3+M%4%T7niPRD0bs?R!|*syLa z+yw%B`a+eh-HBHk%G(JQ1(LM$tL|8ZzC#7Pf1Pmcb`aGFIW_TcEA>VDd^q9TAWVj!j{#u2cUj@1L+Je3#n)UFa9kB6upry6&Dn zkUKL;-RZk`UH89-&kMkBMiZnRX@0cc5tznAba`|!)XtH(F`3{l=3MIVh}Uw3{%=&t z7-7zSH=5IeKmqtSQT*@gCY1k1ac*=7%TK1tUhW>Y>sLuzzwl;x8~#fiFc8ITd_WY3 zSFfZ)ONC^tVb$Y0tgu*BIcC^jL;+5vHHnhIB)b7gV4~Ac=6nDZ|LwRx&jub*4gFUd z*rQY-pa;?rH@g~-n1;HBmaDCHg3EO6C;bVRd8GF|GTh*C;Qt<2|3MB208PLRCS#4m zz@4f7N|N{fI{07YI1+V!q3r(hO#bUL#bLI-eO~1Q-XTIM6<$R(V*Mdvmk|eZ4UI{{My?i;(=pko?aftDhs7g5xcNlZ)!IZGM(+*8gAAe~=^X^bAM< za-^J|{TFgtz?3fmG<{`LJou}l*brb)XQ{{k?Eny{B??FWW*$*dWgk=J8&hT1P#60@ zBL<+3@hXn+0)~wPfyh9hwRXVj_|ZA>I`~amKZTh1PTqmdhK`SH?Mie}E)Yyu-W?ZM_rt{qE&aVlw>`)~+EV{UU z31*-LFc#DPYf-}zOt9Qx9a&iQ8##G;*tjG!yn5VNp|F}CDbZWRvhpoH`Z!H6JM z%pIdTVeB=OkP<$(8_h|8QB?y3_71=#H=|+)S}4HV$>nZD0iBQQgu|=J)#LyLtrQA@ zrL?!YniLAOxbCBx6cE)(Y7MOChAkK%+Li$BHx^xTAlm!D;*3exk;;S3+)f(MK?@`G z$7gO&gyKJekwS4LJAj;A_jQh$DuCeHFZgoI%)qkzW&v2s4gK?e{04mrEV%=cyagf+ zh&ApNTBQYi5D=vrCbUW!psE^zuNnegP4#~xCl{xx0A9JSvno`T19#li6`F=!*Wm+_ ztAV9I)gNDynYnr#XzL9027^rq18spW0ekBJ@&G;Xl0bY-$2y0W)+^zLW#33<(2b8mL>1 zRRvT|gaR*0V7&nLJ%IHnA-#aPpb>yAfV$3W!fGny?`m=n1Y&Uj7Tvj3$?MUCfG& zmBa>?3BYon0E5F~)pb~405f1J&A)cFf`dSR?qGp3Z&7GU3o?^GV7t)~1JnXwSpt&| za=kMO0A9d2Nw3Grm4!n@{*?eE1MJFh0R6E5blt?3oGkNoR9r{Ob*NoC|DU2YFqZ2g zsmKl08XWky2*J4?xHWiO=Z0$CTm4VbS`I**HJooX7J&A+4z&L+h?Z9n^nq%kT)0(s z=&fNE9V^BMQ4mOm`DSAYpzGS`*WUPdp9#+UPws!}ZgMOC5PGkj6DG7mdEGV@ssx1p z$J?M6AHtuc5Qg0$zSa>NaCMl`P54L2<;30?I8Kusmg-M%9nru9MGpfapS`A6h?zMK zP=(!<04M@MT2cYbT-JrvB#>|_U^WY3?;wY61EvA=0pb&w1SbHN@#L4x*DQdddO$OP z&{w^BZ4e*_ugkxdGOh>R6}y&Fy^`t)m?2SA5cGn6La!b2H7@^QA-E1KRpGy3@^?@2SJX|!smk5^%XhO`i6yum0t^rUjOs4|=;+_vwGqcDFfE6hsykmCk}Bmm;t z5+M;1i~x*vtP}m-NUr7P4$Ik8@X1MB8%q^{$vF2~L2R^~9K4+b5|-qzs>%Y)pul`M zjw>n0UQMDKTCt*Ijg^%P%%Il+R@&$vC1(v^CWVv>txicWF;`C*hw&kGJaG%F00Gs< zde(hHpMe=3JWdYn<2#v=2P7w3m-1m{K=Jcn6IS7TtEry&!l$D;;dLw2&Vv%G)Xs8n zU={2a!=m&0Q&;`gx{q&l&L2-0d)}%T2yE+Jv6FOvJ1`K*gWs=NB)*Ya4+x!52H*;x zQsaQS!W}>_^thsm;0d4z=9SAOh5sDePSH)7wZ27X5b@%K@ix0 zzx`g?J6sh0J5Omp8}C-e;G>i;bP1~97($82(Kn%ShC!MR{*OQ0ENH-24*qArBG3r@ z*m2|SI(0cAtBTcFI=|GaRQYZk2_+qCc9Sk9MsN)gcK}hxJ(~{|+Ajp`;4+2Si?!^!O z+)fM5B4=XByZxd4ZlD*aYj8pa@$Cc0ZN0&EeJn|ANqoPzlrJ#u2@3uSWSsjGK#`iM zroM6A&-Hip0$_zn(39+>q{X#Ar=WX}$mp2CLK3nnz;p~ew4hU964dJhYvTrFM#)l4}XsfS_p5dK-b3w*NpnebVDjvCkJO+M^}42 zGY2Rdy=LU(;9%njbws15&}dVfzBiBV;78$cUJ9H$IUFHt5zD@3U(QV3*sdytH*c@v z*~ylnlr7#N`nH=(E^4?}_EtRhR?NigEyGZ4zM?T4toya5IrN#+GA`{EC*%v5>%Tcn zZSM5T>nbD}+*5cEv!2KN{^=7H@yG5cKW-z!%LZLwU^w075tEUi7Y43A5|j}pW#8%w zQ^Bak8Y|~i1Q;5wga#!0%JDJAV)2?GkMNur#NNFsowKNE) z@0H3N9~oEnuc5PuO$jf-V(8B4@7Bk-GhSD9N^YLD_Gc3AXW@$j>!{`(_=N%uu4w*# zL4Nvh)}?FEG`P+{L;m*i@g+%XF6%Q{t6eVCC6!M{Yxq!Ah9d5;?BZU#q!U*T7-Wk<_p&i}{(_S$+eL^=|96b+43o+~g1Aj8uD$@fji%xk1w#>?`w?^G_nPG4n;b zs@w=MLv6|frPfGFf_DalJo_@ok&HPyAl|Xel`07tV09_^#dY4YJmLU<&=z0J>80z$ z-0e{A)7rf%Cyk%`*`+Z!pP44nG9j90WmQt$SO?-Owqd)TZzm$`!pflYcyw1 zNq+}^h9rVBekKT(j_^^RN}1Ngk)qXW;nYGt3GbHQdC-rZxO?XeB$fDx)B*i;s%+5lf_|3$@=t5GLtz=*X4XfX=iUz<8B9b!d_iqk&B8bDwW*2Rv97GNQtFG};+N+xoNA$o7#VPj^m6jQ z2*oLm@09_VJpNP@{HlI%;!{=V)p^-7<68d&R31)3%b&_4#X1}%L zfvbIiDr>Td++V5P-A`Da%U?Z1NX<=Jw<3$@M4nfA&4uqArtsOEZf=@;{ONDQTWMdO z(S_Q556r5SypW1bb{X+PRFnq}Of&B^+F1CT26;kRL->+-COtVZaE?TWf0R2#5g!=X zCAhmlSlm0otl|yx-d9;}>1A_!4aq38cg;!jxmOnmgxvt)?*8nY<5EwCYs{xfp_yca zqQXn2gh9g3hQduO9uE?}%iHd=1|`e%$I#{2MiQ8BM?rB6FD$Pl5==kjjs#U-jxP%7%*m|>T|(rW&r6=oibfu#X3XUeh>MvT zjBK6^7#Iuq&a*d*+TzXp?$Q%{JKt0?Um@l=Usn5g!?CWn)@P%^#(p-vwDx5)NrE`F zPw`OIncBS4YeduBJjy#kJY)5gXJ3k~FFeghb2l9dCCU7Tnr;XWzJXZZaEPA-ee^aTC_aX;5mO{?#K7Uez_c-2SV6z~!^SHkC_2eR}D} z@$!z@b6v&0;Lf&D%`VKbPj9C%Jt&X+_6!3LB_gn2*cZx`GemtrU^x*@D?O2ZYEa9U zZ%OpwtYcjd^i%ZDccX=Z;emjc;-dqVIJzaRzikap+X|c|9t1oVe>p}ZHB+L!UUj*P z=VNvL3p#L{su{Wyc=G4|yqB?>&qda}*&+7XRlt+-KP!*^D0siPI_jO3ppMg);ya1Z zYG7;nt|%`!m#Wx*(gjXDl@(B88M`xsU|(GJcR6Be7C1$Y6qZ5M?V~!>(n6Rk#iubS|u4RN1MDj zD(wU+F*ni6=`W|IopvBb#qAo^13ZSsMH-Bf<90YXU)=;dCw~=6I*9Uwc$(Gq>J}@A zJ3f#`rj(KPd7Mio|UyN)$m zJA1`BkfSBL8Y3`Gi8pW#M^!N^zLN3bN&jX*#PytuYl2N#XcDrQF)KU~SIXt#Hb5>~ zIsLX;rsKq1>10TP#8FR(xa$e%+1;a9Q4scr@dTQVG}Iq6j%Jua&zlBLA1V8wzOsE{ zRI}KrvB$To{3CJi4H#AP)wWe@@|(ad&rEup8SD$)nfZg-j=D@Cwom8qQh<$BMhI(ld`u_mZ}oq5wmBeU;Lg8}*ldVPD_hV!gcWV^9?dhrLX!vwkcrOK(g z8_v)4C88&z6+I#6weWYrV9b%sw{xy|3qH_Z%v?5|`GF?PgP zm7CE=HF{0xwHQW`V%P(U^>Em!{LGlzjLO^MH8MPIc&2#6cU|k9hPs`o{>3i^|48b8s0f?|}1cnsw2` zjW7Dj!-+7L%I=7$pMhqpX0?b0{hN0@zDekw)f?LE2I*jw7aN-d^IVKK`Ult1XyUG) zx)BU95hv&Vi0F~Z_ZK62Psm5F-litZy(@34aPv&7?HA7z*Dpd0&j~AG#iwtkaMLti zCFtun%VO0cPOONiU5-Y#o(WWwCTeSJ&xarQJZEW@ULkN)mcf*($J~9$UW1@5`&^Qy zx#pItGVu}`tYWo;^g8!jRA-!mR59O%VYHm`Mj67QcojOFHN80B6Oge}7 zQgw=3e13w<-iU68Os98QjX~M&lQ?ft*ui-`YDE;sbffS+*W>)nUx!|k?9J3y&ZT|f zFhtOL+a+r2YpwX}iuYQZb{>ZfrA>J_8I|Km`54y?fhk)G#qn7YIWg)6$E(ocHmzJN2|p_4fC+;`qJ#Sxy~({WvddE~ozTUk)Gc z%-+~{;#wKSa;ZAR*8H_hH$ev4a_#5MWFtjdTC)8FtPRqZ#ZOiIZ!Iot7ZejVEr zMPfrBOr{569LU`Fn2%_m4&1j{pdS#{;J+B%>C&j2+Z;gE*Tr<^t#o`|i3rh1T%0RK z#IA`<_3^c#(Mc^H+4zh_Bh%*2U39J?I<1H>SnP@6%)-ejE>bp6q;0amzEH`;Ayh1z zFycsK4*uLtS21OnV4b#_Gmfz*!RSG8QneP73ymG?XA=~}!v^+7Y%rxEs5zMV7n``f z>qO~j5p|?2OQGLlnD$JElR_DV0BOP_(v}$;espvoEyFbPFKTJH-j{&kkkCh&DF9*l z?kmgdSEY)trQsJdLZb-^0@Qk=3yGTdl81=+d}G)<><2_WuC((m*$y*<9nf#`e;@m$@z4bO3BbqHHHd>2Ew zv=l(jMi4OKle^8n*+SS2AAe#bjp{aIbp#7ae_V;D=i}>%FzTRmw%d(Y<|dKz;GUc% zADyst!uNK6OQBq8m)jPT7RKqeu%h zeTo+E`Hb}^<3zKE>1>Pn6c6;K_gq=O9OZQT9|w;ZK}FLj3n*pnGr@t2StjRl6O(vZ zaR_c++lGn)>c?R;yt71gczm*QIYfB68v^@fE-1GmcrBM&=-F5%PkmlvEjZK7lSKx` zu9r{v#)Q$O>G_|u-cD9y;h%wysVBQ-uI8VB4H18|wy*uS?4sCCGEJWSjADLzZdd(S zm*=>4jG`&#QBK4dBx9Emhdum|gwMOt(rw@E+pJV-?=AjOZgp1a_@+=ayyIfHD$+Nh z&5G74o|({_4III68_s;V#2baSVcndVz`$=2O{MJRZC=^6Q`k7QN=tZ|F_+FQw4=qK zxg*Z8Vy#9izp?y)X>(BSidc#-)um=2K~SAh?noRNSkE{>WnS+u^*|IsXl@v#Rhjdw2#+ONt*;;LkZwE< zy_1H!bZ&`D4Oz3meeE~i{j+~@!ej8D{Cs$c*V)7hcbvz7kgfE!%RwE)X*9J~WIG9| z#)F&O2Tq&wGNtbSR`(boOw+!%^;OI7#Mrjm#6r-)=FS z6}MvY!*#$aOl|E~Q(>r#59+@5%d|0!L;4Zha^e%GlNmX;J zZ~GM|=BY69O#A5V@B@guY{LuqR^Qa%?L7a&P$P$}+!vQN%KXqMNeo zk7&qUKJFnbx3H$^0t&^0hVk9|IU_PJT^3D;)PF>Z=D`b@MKk#XHuKZUUOvdUrEq19LgH$Ih_z-)eXY+HUU^IpZeVW1wEsZu z{305BVqO1Ouk3vy@t1JUNadUlM3@Q;5u;To>Eig-L4I z(pNU}Zei!o)V$3B&wTm&uniC=K|ES{G@n$)pLqzwT67{?aWv9Zr zuG^q=msr2sNy>U8luVKb!Xz_gx=>j@X=%pE;;4>LSzD`7pZ4$|efM)HvT(wsWW-BsJ1~fGs_3xmvW#R!wVo{1aM+9RU2nyC z+{gz+kFRDHe54+Rs>cvh;znBtPob8AOYFtbz6XXY2Lk4ntB3nOVcCjEF2YA* zMKc;Ph?V9tsm1-hgpJyP{DD{@4UQ95UpKMM=25jTBbMUHB8IwW&eUQbH;7v&yZWo1 zH9I^&Oi%T&`Q*4v=&7$pc~1x_A0CiFtA0-wFY*kksf67-sjR3++Tf~nIb5bmy(hEn zUeqpKu2zV2z8@Vl=w>(gXP}{r)W$%#Bw)GitG{Q0+H~VAvd=fzO@X>!=`92xnaB*)wZ|g6&0au=)D?VvTtkbbp{r zxM)WAo4iR|Rn!lUmEI}eONWy2zK&MS*3zr3{iJSpYaX$kPS5e&j+&ldYn@;Al)Bzp z!DPSraMx0AXvaE-x4 zt3?D6Hg#Po4|42ZyV8>*N)GN^CQj7B|$! zU&~IKBb3pcXyBnz{=W68U#jOl<=c7iVk6;~-+AZdno4J*zxSV)LLpA3=R}1IG3L9h z%`rYZ5)0)bEP7={PMvFD+_ltrCG#NpQIeX=a^2{@Ur5AiI)Q0^P0=PXJK@^a>Bt4e z24r`d>QxB%=WL@3r!V71!*a1>+LLpY7eOSal*{P-4GqQAwi9z(eL{y~!$qdc@akmhJeH0^ge301!o z_N=#A;Z$bQRuVH_2S4BarpU@#IJa{mzA~7Yj@_vB;4!t?P>@~{%)+*GURRg1i66?S zxSSc$vA!PaMBC3y0V*15aRl9e^2R@`f`d<>XZ82aq6e_tdFtAUypN?5XXF_t8REtkGM#YOk;+u&FaX|dffO9gYhaY~qOhlp&VRp+w&4^7ZPxQnUSPZo|##tcT zi)S6G{K@NUdLyE8MQl4|HCfzb)^*Fn)21h#<~XE!a5B&Q(vk$xIY*P82QhDOe;8exqci`!VF?yo(Yi0yPeJhcO zt;XlP>oM=O_ok1&KeF_QZa1$nKWp3BGZ>y2Yp7%*TQ5a?oumlmF1zn$?^CDj7K-vl zBR!7GXqGvBbJ+2)hSQIi*IODK$A?`H{xq8noz>|kl}bZhJazh2m8Z9BcT;YAR?UWO zDjdX`L(! zD5q1;^P$X9Z;%0ArvI{2){W*7tO%lnT0J}%gmiNPf#?kMq&mJwVEW8k~2$FukF0j`!;a~`F-)xCq zQFeJ(DH{a`Bgha`wI-!k(;+9LeMfUg`k(9)LO#|abDTy_MNXp{NAFMmz6w&vaZbh4 zmi+U^y*U0>Fh&@+zTQGdvmJyHDL`IgYhWnB=Xq?^5y#xp!miy{kEroh`LY7<6KU#f z;+NOHAa*8ludzU|s2!r-H~Abivh!bd^OZTk6DbO3=cXKfhx|b8Zu9Wi>QTBQM3-!Z zWsXeacj2%1u5{-e_Lvlle9lEdbBz7l$A@^Tw#%Q4OyS$q|IA2)l#CXh#p zYq*=6Ro3m2Hpm(dCS4S>C?+=VALBClX)u|P(B?E*bD(e#1Xnwf;Y|+zKo@t?vx>u;GT%5Bm!49 zhP5YUG7>*Ba{fa8DTwH9s0FPyceaveCpxJ)&3>wGbnF31oL;#DMAJ-3uZaRPr%f^T_4qaV$xa&zDVk zH3I65HxDpd&2u}%e)4Je4x_7sj$hVcMsj-1BEI^B*F_N3*LT_gzqmeBdJK;-1@Yb$ z^V1o{z8&i0CcghGGMz!Q3JbX?@5#s7GdEXq_U+{TtnP!wUq8L6p}lIkS@PeTpYm@; z3=bGbo}Bq4hk>37zx_$B*%kY>F2X@AtoKt&mtYpzbU0mHTAK2o&45&lJNM+X0_h(+ zKl>oo?bts5ZcX59X}_)_Ks;k@e=VWb(q!FUIb6dR2l4jdB(z9EFnJYs^WAFhHGfRCQ2NGu$LA|X`4`zR|Gvd>$AlnV>n;0IoI4Lgnbp6)O%B{S z>qGFHFGh1BTz|);r8Xy_*JJC&17q?N3i)du%PMd)^eyhZufJzviE#ma#ro(%-Vf!N zLiyc7$|uaJYcK9%V}8|PGU6`cVM#-pNd8g&_wRq|$BAzP=VrX+Y-Il9G|i}O(ddx@ zN4NJUFE4r!js2^ubK>vjyc2T}M81o~yU3KG?Y-liovMrX)62+#+$u`DCrb75b}0j1 zJ72%R&G~cg{hU-SYuB~L5g~B{uN+}rghA)n&K?w+>4YVfA2we_3z&dxh#Lv+;A2DC z%d|u%caK9Z)5Rz_d}lX)WuOb+9t(J}J9`Xol+CU^?wOw7cTpL(PuW+Y32n_` zMvnNTIO}TbE)l3Q^D`XCA$vPgHgIDtab(ndA?oT4K}42Uq{nw3Kg#!fIesVQ&(bQN zhR-KsagfK$UJ%Y35Z8sBnCDiXv*(Wp(Jkl3V70oS;ctW6Gmit9o*&Hjj(T`&o!Sm$ zLp^mG6jqmqM|kp%2T{!ftW(JMBJ<0hYO8(U!R+h&V_?N~^~bA?EtA!U>&l^xG&Tc@ zu8T1>efQPo4z6Mv^+kyutF6Ybb57SjeX>c%p{L!TM*hk6i|>V#!CPTF2(mkav82<< zq;ZEOExL72HUi}d@0l5wpB!j(o|#Wy-h7#ta<*5o`E}XT?UTE=-lXn%sqeA;ZpLc< zERnK~2S@CHZ8&`YG~Y6G8wlP(+5JtA+R_1b{tnX+%m;RfrceM)tW2aPQ65lvech}qJS(RFk3%8A8s1rv% zDxSYjAJ=4v)jr~z)#CLi@Wr`n^?U1bdXdj{)#dy4JyCeyt2TE5wa<)-8%pA}Z^E(k z#C$hJ?WHxjZ60fhU2w#xY0H&Fs7Q_mD&&%>oLlS_ExE?B`a_C7r}b6~ePjC7r($a(v}LW?O1RwFdT8kO;fq+W zvUjz8$UPtBRA<{ywVy}N9tF=EY453>Mpi6N+o5-S!X`opT;(?3#*0Oe)Hfn4Uov2M zrn^oih1%%Lk|yYme`u)en^ASLw6i1CP{Mis!>zaYa$d&Gk~2G`GL$Z5FDPX-&oLOU zX!+BLwN`!Y`1A5d5swCrpPYI!LOw_4j3M)LySsc!d>b?Q&e2~O`%%>pO(eYr^QSi* zDh`npASmK@DxT|J22NlTlj)sCeC>n!KgWNHlxzkU2QEUSIG`tDJBq`EVUC)qFD$e< zV$<-aDc}5POG)f&KiQ!cPkse5Mn63#v{zlqZ*|5~=)m=Htn!w2+g5)9``mgPxP|o3 zk%`Rz9GL)DZ$QRUzj}yo&P#03Xdpq*XyDq&$Lr$~`lUN})<9e(mn!1rRGPigm*K-k zV>j(*Ao2z$lb!i4u0tS!}pzBmuu}jec(Lub{5+{QGxx! zS&{yMWVLrAUKt5OQYq|q{3Hp+bo3?li90ppu5Pv&HcL30FZ0dXL)inD`?}9FsY0L| zWs822bV@%JquGynd*pB~5tr>7?v7e4UQze_dgMYa8%1nmG{%{ghpn^u!e3`kgsoD& z$%nfP^>)MsglIj~_F(xVUN%YYTO#is6utNixwKDY0}43;_gRUnxuicnOvShJAc{SMfh*mH zhmwe@+}2H>)uOPe05prJF#qKn34_hAyH_TSQqZOZH&;|9EDpDd%8r65*%4FMZ`9Qc zW?INBlwBBqGP<+dg>7%3|2qryh%6?#8~n8~V+lX6xozt3xd949e`l0tJo-|r1MAc$ zfQdFrNKt~9fhtDRg32&??Wy@N@3ob+18+oInoer&$`35v+0nO^bB*=9;KRTH>rOY6V!qBzSkW{0X7DWtzsfXgBXkRzR08b9|kt2Z5uASbdO#oF_o zm1=!5hlVEpk)op-XZxxLyrZc<#%;Q|v(_zN@0Sll(>POk%OA2SvIeOV`gJ=mJ}r!) zf-{|flb*J_5T3B%gPdhM)ZY85B8c643%5M=jM#p7 zZ}(Wt%{HysJ@`UOkWs{As<)t<+OwosFB#60szLGw$3tw^5T-`$7^}|!!Qd%VO39jI z2d7C3B)9TgKP5TVmeSh2YVy5{TH*QS4Yh_I*AwSG^|_)*lUmqQ`>ub_JL%Pl#_aj5 z=FbPkj=ro2AKb{AlneGE^4ViskDWL_DgS}#aefGGyezibkmr|W`Q<$d<*2VO z*6S?v`Qj-dICq*(-hL!d5ehn}YLNaJ(unB1T&A)v4lIiEkM?7}=aEc;)&PC5lJ|9V z^ipqbYbu;IJp9O&e{pd&JP#56gX$Wi%;^Mfg3s|*VchA(z#we9H>rIoQz+&3hc&K! z{I?UU!ak)kC$($DoOeWbj8`@9oWr~UoS#GAPF80}i$AmpkH-C=h}E^G2|L2HS0)iR zXwl1rJjOVcw>78dcID>VDPfEAnw{}FSF_WlXMxi-D-M)rFEM-84eQa*j=|XW1n77B zJWeO7o@S87yYbL5%lJ^Op-O{5Ez)2SkGT?tk4$~=?m2~OHgDVrXQrWYKL4~7fl-ki z$cXD~OvKZ%(Xt?VgHaDp@t|=xf&3h1uy27cW zktkD-GgvkI=$8I?{(~HXA0j%tt9?&N9#YtlKiz3Xt((fMs%&>PN<|=&$?vatuIa;z zJP+%krd^J_o=@v@v*>9e;%;iA*Oj*ulzjxOU00BMwI|swL^-ABtupR+AG|13=~()# zko41q-_1K@v-%8FAh`?fP@wUuEh8f(|r*&j_TZW$O{Q@Bna z>M+D`E7UW$rh~|(sPHvvgK3Y2sP8a^K4#|%zeMbpCDc2e_pAIy<{z8iopwUbki4Sm z^~asqp`b&Nd@1>&dfR+!_(%@r7LIN>SkXGj`_;IW%M-3n(kQzskv$_Hgi4sYbkE0w zJlOXoDk3v0OdhliKM2w}SYkO=XDQ;Xyqy8uV>LQB?rAyWTu{oGN*D?xZ}yYixEsjS zVR)h(PStpzprmi<_E_o5mr+LXeNCDeg;Qs_z;`hPU6%Fc7u=^y1hrNIsZD2bSoZN! zy0~eR#>34@13Cw|5la<~ojumRc-z_@Je)Z1@*z{cUtD)w#(b$LJ*|{wv`!B$YgGIF zM5uPP=3j66lh>t$i!aWB3#h9|(oNs*YCL49=-TISxtOqMLVWba-t(QKJaOMCK7H}6 zRJyq5ZdsVq-28bm`^GejkpQA6Z1#I0%b4HzoVISx^L(@=VW&%OBZ60{y{kpPx01t6 z|2g=lmG7It44j3acwQ#pZtpDDS<3$O^p!gr^fC3oP(3q=CRI(4q+n(*6KaDwToW(* zXiyF#c!uNbK1QYj2;^h3gaP`B_sa0y^mrs8LWZ2fvWAQoD*kpLt8|2NwvL45g!Jf4 z?%;fQ-Lf;01OBngvH*<7T4O$y*yLTqk%#2)C-l?LL18^#k$&8EMyK04ZvM2-u>I|G zub;v34PF!6S6m0vG3Q79hp&1A`JcKE(b(b*c+gxyc*Xdfz2$blvZufn_Yk@f@VMSXodd(}ONM*P0AMNiCvGNSAFMUQk7_I!sg2g#RB?@|B zmx-}SPI7-w%6A``E~Vil+GS@9UAKv_sRhsU$`9Lb%zRuPKhLp);bIAu?<7-t4sNSx zhONhRXE8c@4ZEj?_eq-KYJ6+u`yIkzs~_+46*Z&3l>JpRsvjVuZTgYD2Q>u@ii9V8{5-rA`wwuCi}#@visvyKNv<&Aw7N7>yL&BuN0<=OQSZ^eH=PTQ*=h}K0kiac=!XJtL5u( z>>11s?fgiMh@kYX#q@0NnLjd&ZmgMmt;M+HcycvJsai$;?hJV{{k!O>mg@N9tB3O5 ztGT`zJuGI56?+K=NlW>doy^?g5A`a>eYr9wS>z`u8jFYsqw%f7n ze?upl&*!P?lcQL`nZuv%ZVSPUl!QWZ7PEF7azWO;883)Od>#gFSI|c%Vv1gh&CDCn zy{F)5DfRrh&iy=Y=VS%iMJD7k<9ru`cBeVzUX2tKTW^qW<$&g6KRjvqcL2%#HKmMY z1mRm=P_Fy*6D1i;R*VJUKKzyXv%8?4aP0e)kqS*4d}6d|Z31`_!pMPl$GX1^Cw8rB zy#g6$<9f3TFJ1G-c?ZVZ^YXSDw&uf$21E<_BI^q#b82Ls_rZm)<%D2Dl@ zWLx5;&R!l1j_UAKOf@m$jX0mDynzOKtIC!JTPJd#38&Vi#EM>BW?4gG1c%v_q!~_9 zmkFsc%@n4p&sjF-4*y2mYP7G z@>F0S+`#3lf5|I|rkh`!r};JVg@cB`tLf2?SK`g~2E?C>o` zQ*98ToOIkzm?|l`yy`?9lZM3=GUk~JdnI@@5gUk$(ai3vu~Yn7K04AsFTSrto$6a^_-?)&GVu*H+?EJZGSD)#|R+@E|rD1D`i}$YBvuxpLe*Dr zjD*v1AG5#xjFoN|!S6^XQXggI@$~(d6JuPOybf2z-Blxb1YA?k+^cT&$j%FP7V@ES zDS_-m!{YP1$G%=KDN}nn9JbHvT+cnHKr zL|ujdUf7x&h@pdRJ(TBqih}Hm*tlOQC>h7&W0`>UY&Cx>V)g#aS>`1bN7l5xs~N_1 z4tE}MGsIEZO{nG_p5V|=s>QoFfoBB@K)@P7}o?rgqRPDCYyGzY)rb2})U~lT3 zFzy`WUHoy;v9YoOjQ2M6F@%jgAmD0ov=`zwwUt;i@O<0$@js=#psY`y{g4SEja%y>p^H&-vKX+xL*cyVB;WicWoe?e2 z#eC*13WdX-ooF_?>t>0r{>1IzLk^tSdOT-)9P}O{f_~pT;5AnS zsQKzr^c9{4h`S!;TYZAkfJcrE(bS~>S#PdBIQIJXy7{Z%EArWj)o1crWNuYNI#nOQ zZ2VJS42_i90qw}9{!wLtf=lhJa!r8MUDiwiF8ORwI5R|*@!={KXT4U+U?&t zZEezJobHb7uw$iu?3`fR|7f|NU(_`@cH zI17hy45jz$DVwKOgCXAc`I<}+O+l+&tODE`RdCwbNI<1@Hvufs5QE;nE8m=K8iS zpHcswZP)+R(^*DE)xP0=5EPM8QRz?+P`VogrBjgZZia3c5do1>x)G3)7<#B7q@+8C zp?er==wW6K@BgfGo-cdtPqWwB&t7vs*L`2Vt5MUX72RuWoFviS2ov1e@!moDdG}|g zC*(W#U%x$AJNI@j{uuE511@>c_)331P?mfa_vBaH@jIB#JN4^kV6#(K*Bo^>bW8yB zbsBu90}?!eewzhQFX6ELFrXPo%LNFEKf7uzG1t`8>;S83mdKxgJ3w`};&2e!5u;41 zpT}KQvSHi5xaO+#*ngyLexKuB6{OCvKwzffZadGsX8q%(#r~U6BdoUvmZ%?&qAdq8NqEaX2_&r2~59Rchor%Ex!LmN8tPdey`em>aqiani?%BlsONalmSX#CuobV$6vdP zAECroOiWxEvu5fXdrcvdd0WWGJh+gwlqnA>TvI3%hQS86qeQ@uz(5exkOp}grt8a? zThi)hr`a^oZn8fo7PJk$sJt8-@j?04GFT(W=;IidpCrw{nDsIQ)sTr`Ls7&W?pir7eSuG+Bhg`KC6GCsP5xj9}w7ZD6S zm0IUWJ^LW@%(ukOVoc@jxMuI}tdUDr8+4uszmg3B74#Sk)FClw_%Xb&l@=;U?}M!v zwwN^=eoX^#yYkcfgMwZ)rk!m+<2^v}ap}cUwAm`drU7bp%_9H~8oVB=q;hzUDrEZs3Fv%uEni zSi~@KfI@?VbK;&@PQz~hP@yR6g!=Unpq#E6tO}G{RJ0|p@0aX37&{|nU0&GDG$O2~ z(Iq@M;|#$)qn!V&cS!q>bxTniMLm+&DYT`aC)?(-f}gr65-0Zo6hKF}NUBsGh1Fwn zJT90Ns90a*+_en>1$^f|shx~j{%SA*N`Ru6(N0`q!?w?>ywR)Scf$8oKQ(fs?V8Wj zOy81pzn{{gj;xfKv+X0tzPJ+i5Pqp~8fruOtZRoP!x#S0fskK;Rd=QRg+%DvrGdA{ z0WCh9(=m^E_b0VLHfO)RyV$A>9@MKi*S&ss$~qFJ##&0&EOaKsLPwGI0Z`rfk?1$l zXfw$g&`wYfAUGi4?W-3CdcPS!mpK+!fp>p+J1q_s?WOCKd}zr!*L|TrxX%3}(|iAX z&-bo?XK>AN5qX{=#TfThSQzmGcPv_hsOY&SdhtWpqglr^R;7k4+y zeAQ=VC8OBk?6RottFiSA-C_&dnNARU=_*;~G1XW&i|uh3ud&I>OdWhvg?8BOAF)^p zK^ST9N7Azm>Fs|V6Vk>9HX0ENZL7ykS1s+#MB+0FQWg^^s&jOmDaA)E7IK-o(O+_* zt;6McmkMT4%4{WW!TM_S4CI1KLb2eedsFIf=?=d%r#6bI^SDslp)4@}JXolbq(@-X z6jWXmKaD;LWS;QbVGd4&@-Me6H7IbDHMO{J%$4`6IT$xed%1TBy^_+gEc1Jx^!O!E zrZ+ho_B=j`Xn2#yzVRHB`X0~Gzh%Ez^M%2V88&I#95Z-bU){}_=7keAYo(@76}0do zf}z)Jmp>39DB#HD!XV?N{l*r3f=n<>*`DKeAak&MW9wHG{wJ<_`N%al@%|k7ri}F7 zXV=j6*h)7NX}f#vhOLREm!0i$!d-aqZjI=pH`Z`@pC>hBBJDxFrsYYs?Yc|*CR^?@ z(@&`RI+kwiGh7HRmKI9OpY`z5sf{cndwcHa1^x zua8g9OR0(dle7k;qKNO`cL4C>_V;G$0|H(G z!Gs&Y;*-nPqbgsm*uODLd!hEGGOFe{r_7bxpT%``zgwqAQCpFFXF)rTpUgK5vtzv5 zakQA^#c~8vek5V)q_#>^a+VLtwKEnqWD1hc8KO+pIX5D2XOIb4M|zdZjQ^f-Mi~W% zmQ_n+HC<5^&SqWuEEvx9eq=k@ZDbHSJ;*Z_hKJrBdNy#G`5~Qg)vYr_kcqhYR%jEt zDX2<2o$049(}QJSI`?_w#_Cm3#mH?yOxu^fUrf%@xe<8!#KGg z(1(xz>&@btvdEBMOi<`+Wu(=Uwx0K_TMClutFZr_xz?%4l37#HEH=4=4p<^bx6Sh4 zk2I!I0y>!&55&HZV-ce@LS&&W|8$#$+xAM1G-4DU{K5TAI&B>d587%>=^T#Fc@aN& zoAcA`Y{_+)9b;d4`r~nmwcmQ`l#C90T9}g88J^zR9!t|9gZ^ppu>F~8)X0ShbG90E zDJXP~tP1L>yFHAAbcp6`LDoR}(pev|SJS?yWhb1tjr<@_(C1FMEfMd5i~}^96`Z+C zl@<J{~c$iu(3hU25i~-*CcAw8Mi$a+Mr7izI{^Eme1H zwRpAswzNCJF?>l%3<|Xm^*o*U%ejhHhff6G(d@%D`f93lzUN8@uH0}&2;Bmct4 zyeW35m~@!Nai_frAPWt<(aKqR06_Bo8ch;eH;uMn}#SVx|mGTiNfUs`UP zvJ?`&>!iotV6Uh%d!T_IP+`@5WVZ&375MNr>8#tJNUQbZhh53%p7B;j@1Qk$ZZNJ( zNjJ_2a9>{Fm6oJ=FPF@{vtyMH76Sr~`8NsWILxJ8`4C^i!A+9hT>qB9Xv}3ycT?*d z&7QTc<(S4Nx$XPnIoCzNt;mUvO@ymf{u69sB?a77{P~ZVI?sA*+hks$%S?@?vxWp(7EFfB4p8Y1Cm}#c>FZ_89E(dTd8%|3G7GJrLk)Yv z-%fv@(~1y4N2J;$@F(oiA~^=m#zPK#PCS%gx`I8le0%P)Wer>j9Z}tX3vYTGd!Sj` ztLt48jj)J_WoIk3&M=2_6KpK}$n7MBK@C@;P)Vck|Tz0S|%FO(Vc zxxGqDAZbu~mr(BA_bFr7aX5Ek}x!RD#0DT0dCWI(|>=5vIM96U4R5;9A$wiT{G zxTjP|v|rw1P^jY~geMLIAN;w;Xhe?k{#k@&R+-D&wRV~ZxxNwHI30N@6T8x@2BS2( zeIp{}5){9br$XNiP+bY~-96aL+>>?!WTJ@i?yKQ{UK1k2BKlQA;ASdNF`M2E4!u@i zfgE$5jGK#RJB1|&M}>O@ns<#8z8pWx(!CWP`<<$(5uSuCh`9u+?&cI;U?*~PStq|H z4m7JhyrpiPgU^BJ(%O-kXUTplIhv&lsSV{vbZ9BRC_nDjAErqDJd-r>qdJzAsyY{N z=qRMF_S`Z6d`@1G&BC()nqSyKR5^zV=XuA%L~_VcEt}$QU@XdfuudSZ?*`7E}WQX@I$IKr@~d6)8AO9qrHzS_neCcKaQ5Z3n9HMqam6 z+g6Qn^jDcmw_jRZcDX_QAm%>dxX2_J$;OeEmsr#^+eUx``tL<$yuY2RIG>xLeuqS3 zx|<6Yqb(q)u3XU`4=*wu2y>3A*YGZ>)HV+1DAydWy*T&Yv9ae2q0^i^w{)5})DN~y zYN<;7G*2gN@L5^qocY4n%Qr$B5LkRW#?aQ*5Srm40lz*AR{)KR_L)}>dY||XGNF@$ z%`2yNB)cm&%{1@*%)IuISe;0AUxC|D&%SKWDcpRhsjGecr2Q zTje4NxpjdiyYCD-pebT3PC>jscJ<>neg}lWM^pya@k8PV^KOfsUby`}S1!>Zgk-F| zTMYF|`Fx^w-|>Km%_Tv0 ze$iP5Y{Ngw3HW^H^(|d{avi7iuEnvzx_Lbc_Tnn%_d~jSgd%JsCeF2kB0`ov~2V!jm~&R&cp5y$YEivA^{62(Ek3}2n7 ztgZpaFScI!uLQgQ=w-*#GpFcwBiZaOPZIAlYVfq$EoD8C8}v#n(1=4i+t>UFI?yaU z-b!(4s0Gn)R^yS;A`FRB8=@*nX-{BAXomPKXn6VTN1ePE%8J$p*#k7j5hCHbh4FnV zRK{h8N$z?3d&{vfzt*GMd;Hdd_P=@d#@JAffiCqx;xDU4qPaTZR~x_K8j_EW4LdO@ zZ+YWyO*&~>@_Tb)xt#I!kDlStk*kzqdk=d z$v$r!(*$1n_YsL%uxmeNFH7Z@dvN=w#BI5wiam|HitLl;vbz9ukR*H}J-A~pU^OR1 z8{PG0cz;f^VZiJqU;P56*HlHCoy%jmF6RWp3+McPf0#0<$Ic`UryQ;^52aBfc9s1UHm(np*VQBA1=;R znsgbbTcy-DW13U2aBBUbWv9?gIdqzahCaAOD1md{Tg~Nse$7C~r`?`EeP@%`^>QaO z<<~^F?LRAO$V?^)$Sd}B7S%lW(GT&5zNYk&5ha(>8qyM0Qk>MY*UwAL<6JqJqsFPC zEaw^IezeS(Y>iK1e)YQKM)kCrviWAN9**h;TI(_|?Dwo%aB572OGk_l^|to=#-5!! zknq@PuB2|hoRXZd92ASZV64g-`NS^WvyltiquBfV4vD@4an1 zakq+8FhjPHv9}u11x6D-pUJA0DHquDP;QN>W`q6s=k0x8b@jZ?^6fa69#200gH|Eq zwv$yihg#!F;)zB1*WCBJPQL?^_vn|9FYX$snoFsW7+zvdI8~jAGOF>ysPi|}wJ$$u z`tf>^<9;zT+Db6?jgEE)?w#}|_=0}R=xXi4Z5FP>^gl}cqa}8`LN>*}Z zFB#aZkK_OHBpPZ&kx+0|K5{g!n1bKdP2*;xBy2opkCPS4C2W6!xo3?!T=c4%r52M2 zHBJnb_xvzO7>Fx`U#Aj_d70dpmybWXw&-EZI;Bo(c*|m0*fP5Iy00AAh?%n}@1WlZ z+7Zr5s<{u~)qjhH*zSF91dJ0ft$k}FWC8%1Jf5UHkZew#UuPT=z4!dc!vQicd+*&P zC#Sy~tWLQi*IeeElrx@MA!+V3F)zW896ptlbrPileOXn>r|4cSb`o{dJapk~o!~z> ze99ED2mUkTR}$*>O~GK}rp+5GYvyDnUO!HDt-o?obiDqUhHlp{O3+0;XUqU$wJJ{B zObsfO0#Dfu9kjN#jw}gBeA(5IZ~6Ba%>3GWktJcf*Gbn9!tE&? zS62dS3F3PWt8-M#Q9zamF@8Z#myHoc`W?1)2j&)CUx?*VW_E4ucInGhakWoA%KOdg z>&Kx2JnLLB@H0GWDJNfSu1twGNTZ11{TcvMBCPb+$UHkme3q}Ha*azqn@#!ovP_oU zU0<1$(;l?wVC#ITE20|iX!4gwF_lc=anH}{J>i%h(ttWQs!drz4FX9&s}7Tps$a>k z6g|EK>WDe11=m(lKr5Q-C5Wg-R>}uYQ_BQk#OHIv>d)D_MIgoOZY3EF>Pfvv``ux~ zyoSbTM?xT96bM~#V5onLiw%vM*}$2yWcrl#hFsoB3<6P|xQ%-|t8R+LQwL)8?~eK~ zTo+I`ryH>x-=!?0;Q8s?m(ZsLbuh&c8QKOb^FUD?*%b43nT&9EMvfRH@S)6XCYWV4 zzWT6}5tN^(wX=08g;zm&p*1yU;=tNkHY3;UFe#yR4japNLyb?y0WPJ5<0}T94DTH7 zJ_v|R+n5G}6eDymGWVG3Lm3vIX1T1oRZ`sm#My28!6om0giJM{o(wnOY2hh92HdwG z)qljhNJ^*`CR4f(5Gu&Vu~jm!`H{)ZfXZk7df4ps6J#$pcU)WAMF8a~@M1YH5^MmW zn{{}AVFDuJZX$XN)ghT2H*=IcuL+Ga*>XaKI3-Ku?Ui|1lFwb=`nh03#-kC787`oU zEuR4=ZGS%!K4ZH-U>KhiD#>rP>CEgzRfeV{Qde4W%*hmHN(|j|yV-wVx)|Xwy5D={caNfk;g&acTOs<$@MS0U`q<*J z?5O9$(1?biSuU>+oVr*>^2w|nBE3}kcMgA^xzEe&$|g|Kd>^OZS1r!q=6XQ7D7hIZvS^n7=#P2y z+;=$@k~Pm@uI$8Xe}Y?tzZ}IyHTSpn{>0iEON*?7*HED(np~L8>>ruuqK$oeUAnnZ z=CVvO3M!wrwAijjQ?Q$7#1=eLE83&4J9S{oT6$w|hH7%ud`H_0zI(oRc#Z$L4@E3J zhI>kd;Y?qvoRb*vg*noDakw_R$eEX4Op>W;o_hNAKaxfonbCcdIO@?g99nBQU%grp zdxQCFqc0Hb(<0`fOuN8&B}y57K_U1}8!A@{c&EZ2k_>q8_&+kcpxTSy2G1shKcbiJ zJurQ`Tfdg$OE&w$KYyYyY;<3i^Y{YujD9ngFKF~$G}lk3F+70TbRFJ*E_`LR8j9?4 z*;yS((#3*Ke-;sW+=kwc#SYfsR?RS^B(2%i#NWoqev*N!UE0d^K@?$3K>l9v9A~d> z09--h*Rsoc05pH9v7uW!WYHxjSu-3Vaeh4as-Cx>h7l?q(Cz}c(8zB367boy|1bk; zX6b_JlMLP}HU`3`Ye$o!Q`)NN{*Dll!ONwLcq28_4pCN(+doAozju{w$;Jm>kjGo5 zN0Ri``+i!MF!rY*X8rV&!xr zVKZ@d*Izk5k60g+br|BUXfqt@wujArKfPp^e-T#YA|=_^8o>H{(!5mc%lX9RK4r7= zM_c%mkbkk?g^n5_!X0U?5<(-9sLm*l&CuQ$1K?rP3zPp`W`6$zA(~Ma*DvR5Ka1R` z)*)T>fEHHce+ue&GOsmrmJ)Kd1Kb(3aSJ7Hk=a&XP5W{r3O+EIVIc)pn7%8I|I}h4 z{aN_9@McMT%~Y1XS54_j@$=C9R9cZmTr2Zayim+M5P+-Vs@inas&$!P>5ss93qhMX zw5=j;A1z)W(>v?(3!^ui-U~Oc1;|T z=b!^49QrCkzbioV0Lz>2lfT*kfAIC}e!7`Yq=S4w&HS=F^iHf>5wS`)K1Ib%NJ^${ z&}%o0oFz+R7pKZNSX26KemYwUEKep!my+bwDmTTF5w`VW!>APumb+JhW*kUGv;$W zsBnrHe(i;>moYYM%>L)0YNi&+S(fCQMr&I)pM5~3SM4?$iJ#hSNkXiHp!G=7^Oq>8 za?$jh$ceAC=6vshdSAydl-1iUuid|Sy!g)|RRx5pKVA44y(i+Pq1P+t11(b#T6)X z$UAVdd4_Lpm?Lqk+SnRNv{H`&?TyYDu>UyguIOhx5%=h?9 zvQivHXUlJ^*XDf3Cs5rgj{_>l)4x!Zd;PZbi^DRn0u$wC@r4yB6&>1JI zEcqI+sZ2(p7_VY?bm5w@z0=J_0vfp5HG3mDJ7L)|lDYcSB*s*2{JW~ik@swPTeaaM zUs^W8Ixf*bOrWm+a%fJIZ(T_3!ZBHtYisHV85EP&C z^gUte>lcfd)?$m=$m`O}l2=pxvTwHc0v_ERZ_2EKvmk0b7gf*UThSZW zQ8wikb?Gj;M+um>s^bAv&~^?!VUY~#B+FN9z8{DUx0JoR{Qkr*e@|;Rys<(zKZtS_E1k7SexXtnSfktsEs zo3-}TLs#-%Nn-Sg5~B12nG|UBM*LYvDDXVKjo<6BZ9i8ixiy7LWF|hoZqbqmJ^g9l zPZVlM>?|P`Lz;zL;ri@Bn22~ry{Y-KHD-d-aK7VYg+asdGk=(LfaN^+7w{ zyY`_U#G^UCP#*waEdSj9@`S&udY(P3y3tE!boU(-K(=Li`pM@Sy&PvE#rf_3=ZZ=D zzkBXKS>uit4X7C*w!V`!OmH}F91e)X+5J!7xKlao&Cc!$wvsx$Bs7MX5pF?lmS$S;T+^Q@2N%}@)d}sCKM~sc~#e@I4rxw&1>xM zSB2yqgNtEToc+=hZI!{&^^t}2#;S8)3d@Qab)5Ov>U#Zu=N-n*7eR(pgNgwNJMXy_k;Y_vxkvbo5{bAdd~v1& z_lp`w#m=31A*jaQc!kPy9n?GGpl!9L#N!Elg*Ti2kTXn_AcZaWXoPh&Y7u6d$h-ss ziN$@}?=qxsK;SF7Wxb;DZ_VGuV*&9>*8O$QMICreh)R*z_eejE>;LoHeot@6tbmTk zNhUE<(s-kIb>LLut(jzU_Kd?oBkeIc-@+a7ZdUI!P9-~&;SqRM@*Y4>j(JZe{V_T) zPJ>X7;~Uz9-K!<6StQ8JW1QlJKnPBEiQqAR^ysrBWrP_|i)MVNCd#tXuR@ofKi4Un zqQbm>!R7v#5Nmdf=y^$F#7Xd06-9s z@H4*f=lgGoEDF|LHwE})h_oW|TiQ7BBtG(*Rbe?zor9*-!3R3yM4fgvZL3997ab`9 zWW5wCK4WE!XKts0b7&f$svDj7oDs?7_ik0I4RuQNiF$1NUOvoDLmh8gpLKnpyIvY0 z%~ZSrjZuykZ~<4&HFV#6rcHYfhgxaPv1UG`w*8W)VHy%Toz_&hF{iY_c0T|5^Qg!W z^v`rxvGfLSz3HY)V7KtA6?;En)onxuc5OpGtt{wBQE)tmCZ30)spAfhybDYAYTyYk zg9~4}F3{sg1D)gOn?ZIRCVI*+k=<1vyl;c?M=ShXjM^2)4aWb%Y3a<7! z-#}=$sKS@@vO53&8aepih$g`Gjpa|X{m&=Td!G5lS$GTS*+E{vh$*~?{<5qQrnOfw z8m_U;G~9v*2t6YP5cJ?bvWwjCg(>t8BFg<;yr2)5`&}kCTnChrf?Py@7IuHNyj-;m zP;=UJ2ok3@^6@TnX)uk{VM`fmD0%<1ou4ROEt?g=^>!C=wBcA=;^w zbTnkF@>QqocO??{zkKE!uWoIlkFGL}`j|B3x_8*B54+J8Dd~2MSrcrO^zdo4X-QGc z^z)@BiqMK}41V%Zxt6~m;b+UgGQ0h3X}E1w`GX18xv3?77q&>>TE-;4MR9pp(&@)i zMZ;-b@ir=!c&_-#{*U}wxWfh!JOJPKFLKgBh#r~WH1;^9c5Tj{m=BzBzet- zv1cMB!Pw%p*A*tD@VPvxm}XFXR83y+Ou2tN`&;9Qagn~sYG6@41$8z%kYTM^Wz;Ou zy*IbsGiLkHu-Rr*!V@BJ3?Q)Z!&aX!p^&+_1pA)o__S>Z_m^yJ=URAlyqo#+zCpC~ z79M{5?}Lhqx<80ivulx5%&)4S}yA2Yg2qMwr*(Euw2EnGjAdCvT2 zGX(&0H#gqkRpWOC2P2sW>}~3UTz5&~h&~wn>m@igJvtIRrF?4Gimh7!HdI3B?KIW> z+!PWrKRMh7`UQw_KjUnewPY7@F0tY87js|rk10YW?bC=ojpR~sdA*gh{};-YI%b25Cd^>Q?IK*9B+vJ*!sqBf(${1j^(p7M z*H0JcE*QyX{Gy7!T%}bE1KRyE@9VReS8-1^>3qt5PtbcZSLur50H#qTXN2qR)Zt+{L`&C~W?ON52)Xs!FbB%rr9qa8*$HXpj53lN(nWb_Y^mReQ z@ExkB1kVR9s48N$(vXL>kWl@tAOrlrV#{>p19^m+z0(4Y?({y+3_>$gq0*tLYH016?-giB%|1F04p}WX2vPZmhxXUw> zb*epimzV-$S51QmV12;B@%EC{{*LnQmt(wgTyh`5xbJ_FtJNB+9i>VCy;}er9X#CpeQDL7&F7Jd2EQ*UNolaps zw=z=KImn6CBM#1jLd+H9dweEXmX6!DmkWaWY=#$5A{3juHZ`3PYhT>=OpL-470KwSp*it8a=XD^3l z9z+;(lg3yXhsR&y{JWApQqGOhE#&$>%*UDyL8vzYzuENc$MH-RA-Zso*P&HIx%Ip5 zAwPm3{G`%su#%~_aFoDaJ4s4q(CWiuEFtE^j;d}z|LaCcxR6G*cfHEBOjcNW(q3$k zdzI`lu%^ft71gMnc;0YcSisPa(Cm?6o@w3kZIG(@3PS*KS>bXA8K1Z5*yyN+U=biu z>p;~=ONEywf~EJvv_+Kw7J_lM8Iw=6Neu^H&)D(Ny-VSz;JmLmL#WPfB=itaZP z`HHX|ZDzc^SKAclA(=cnrLytoab*3;@*z_&EQ6u2kzPW%oqD*e%#uDbjR#hw+pk`4 zk|l9CHW)!NC2IyW(**fH6>s!zD#-*^V1ju?HlXJo(w!HR)Cm1Z+dsx@ZEX_y>IvEi zC!^MctV4N8b51VdGPlyy=6!Fkj%hyCUB_daq+H1oj~Il#TT5JHr0(L^lGLx8p*AvJ zK8FmmOg~tKelRmHXCHV2XE}O&UauJl!-!QgI9v=`$%obqd<_lJ9j;{dWOPemcaZ7H z-Ja?3ha5Y@-Zo1&n8dxzA63}9e6MHm6oVHrKBfez)6Vu+(#^%n2?*1Sv0N8~Rn_>o z9jF%_)c9ZzJg3t$@NUiEb8YW~&)pA%XGz^V?=^+QEZwNOT@`KIXNzC>=128XX@Y(+C}N1I2Dk5`{^=v~Jkw z>nu~ePw<%(z)ZqC&j|3OjI#&>vV9))&7Pt=7Pe^n=AG zdFM9;BWYxA@vea`iW;I^moZEYEHAS~k`#i1oUO*(Mg21^t~Y&g-*=QI|6O&zlWrXA zDxLXbVlKYsE=ms&NWJdRx7N>^TEFPN++d?}yB`9x({V+^Mz)X`)K9^132(ARpF@4l z&`6yuX4T7YpLVCkU-Su0x$pZ>Cq(hWH~k4XZQ2Yjm?9e! zy^tYW4+5n?QbIeg2Y-x3;?VG@y)FOvV>^V{ow$M-O}aT!Z9 z;mN7t8x~HdWa#7`s+56u$Xu&WDXmYbYd)u ze;8u!w%IQwU5&O|xpDi&;2V*zwOe&7ygl8(Vi>QgOJg&92TfgNvMkmnin}xKm3n^; z@}hHAPOJ|KJ*Qdg+B^~n#h-o}asOWZpwiawC^6a(#DGp6_5Y3sck6!?5CYYz|9khJ z-toUb&wg)jS{%+1hwHL1w=}nOb9Xm&b941{$Kn22nY;P4cMkzbc=0|TYTsFHy9a$U{nivgxNODjg7gUFnSI_cf&88S`LuD*uWMb0RF z<-Gw6xx&9`0j`FH7A236RlyC$g-Zj58~R>Iw^YgJN5wv}3F4R+ZMpKvH+#7U|y zB>mHT{go3{{f9|4%Zb?`!SCqvuedYIzd?;6l=v#ZL#MdLJoTTiYI<3ilgwG$Vd8rg zbzqt$A%zM`#9B|N9!#A*xNRy>QV?Tfs42v3AA2}2^)Sxo)bZ~>GDqhOM=$q6NM@uX z-FzGL1qH=!Ni;*|M!FI=GPF+MRjT-0r9#I;Nmjy^rP2vVY-@M-q*7{q8M1l88<{?J z(;Ynh9{3|y(quHizg}Qs+S)_pPif_hUe&M;=Z$NKl~NGf{Mh`y5h{|G}s_5SAQVPylBm_;XPFw5Ti(;xTr zikgPaoF*^h*229&V%e?n+a)!b^K|AF4aN>o$Xa6d7 zU-~G41C9>0JZg*zRJ)20aGH%&RSJ`xeq!;M=>edUjY+W&u=@C~NAOpzc*fkJ6>B-I z5;0n4mUSa9R4m`K`VaT5NNYhVcS)AN*gXMybvjf8YJ_)FbM#k8w`+v?WKlW@y^_UK z#5h_=GB;&Lb+azFcF-Ww2s*EhYxlY|{k<)!*}Rj{DkYOwB6TB4pD}uT?AeMj;HPJ} zOoM+v9RuqacNlZ>xCNxKRq3>tBxFhkJBm+?Fe2f|GLb5VV%GW-s;MQ0-0XlmAm8+! zdg@JoBj-Z*>#STpb)KBdAU`k?;_WkJJ0bG|){+7*w;IfZ1j1Ft9VKi`SM0%Q@B8Lm zUxQn^Yn!F|f5EoS+y@J??h5Ji6}ALgEw2FseVvI4gXOO-GcZB>`hb7$QLTTbS7RSB*N!y>}@ic3z)Pt{xw)UHsaF ze){~1BM0GOt#??eG~S}Os-gDhRG}Qs+p~HxkdT{k6yXkUjoC777Hl~L9S^j`FvNrU zTvzyiDv#s{p3tIwlP3@;5=E1atdU!GMnn+mG*VxnlU>GDFEYmJlb*C1NaYC?df8+xpa~is-IQ|e0 z*)AB{q*$S3T-3g$5tzjzXfs7bVEN^0w{PusG=3szyQ=4x5-(n!E2fm7r zD~l0)f!ABPcwT}m=?u?$LLNG2R1p*QO8@#|RUdY4 zpvC2=Usw{5l&Wd6C2A`Y-4kl$!!G{wpEZbr2-fR~;%N%L_;hTR!SYJZpRDr}`CUNL z(%JVnEi8`7G1yRyN8!%i(xPk5_T{zb;$lcaxxyHM{Q==z|ByZ}}+f1v&M~DR%9lU3}XuzFu*_1y#IJMj!{scV$)i4!y0xpJ@?#U^}s#YC2 zC;#iwr)E-fhx)k>#>g;EIaN}NMr>xH(E*Jn$Xb#cE8<%bjm|jFSLG!~L2DhA>5U!* zQ_D0prG1t;=ZmLw%Sv`JQtLKX2YlNmF6wUyFt?>|OtZYTur=f8+q9`=LErQBjf|@w z-t95H?lY5%T8jR>M^lE+oz%&ZPLUy048QpGOHCd^%-6p^9KN(~?oZB0c;ou(uWfli zgOSYN-*;ao{&m0;C>nC-}=^T=S=6owyI^*wycp09>Tukd3lMv zHo_7CjJNTAbjM4J=`Y(>W;{O*4L?55TOUK15p4H1tMf#ACYpi{>$c3k^*sK~rwW2K zAO|OnwBLFWvqs(}cR%@1iPp)q*L*C%Z746#_ zPownr&wXrn0^Izz$gvkYGogN+GE}>)s>E3wLX79r!nsR)6L-1HH5pco=^xNVe5D@B zA4LA8UVA9UNrBMRKt-B{sr#Fcp`U+zUS7p|1>e!-&}ptS=WMp|m_zLHUd; zD?sIERr^kUWh~6TE+!`X?<2>j^&PR7jCcnG7`4X=&z5kFA*V(Cz-Ou*fmaA@k@3YT zBxrFbw|^7@9*j9M!Ldgi_~5p~(p-8Z$AG!tLx`oQy+>u4!5C-rj<)?T1l6J;Xl(JO z?d;xFW-Jj@WBJR))wEIB)BxybWe z^*c=|bLlyCr~|<|$hCagM_kK(#;WJxIZX(OnyCfuEGnVHsAEVp6w$!Zjw)%LxRmk@ z^uDur3RkkWdZd8N-+~SfARyh9Kwo8I?BJb~T8kSOC3-y7K;|t#eUW##!LPw+1uhxg z4PUIAAA~{lzIs;A2oEexN2C-U^to?CmmO|N5FRb>Nirwes#J*evstM9sfhK7k9in#!Gq!PWJpKH?>tcCy4q#8AmB^ zFIVt<1}0lL6g$keGgI1nu(`JdmQ+GfBu^;wcJmyvP>6z1}} ze-wG!&m$vxeDOW2w_P)faRL~6mNs?1mEN)!0u5NY8B^Ab-k47Xuzy&Mw3|IkT}-B& z;bkV&t^LwwIpH^^XN096{A(3@-Ro5O2rU~9X^s<rrVYCPX9z{WsA%zg6nGwGMa=Y=I3SbDNCCwiUN{WHtLpO~ommk2d1cl^Sj{ zK;#g=<{VE_$Df)b&MWX4a25A4S!HtBn&qzvfvxa^xc+|T%s~&JR*5ixgvjRuBa1t4 z$GK)zuJn!C-Z{ctsv`hfKRk20HF62Qy!#$(wzm4apjw*Ek{z2sVT%)hIC zJE80iH4f`Nc|7wCy+RocnP`B6QjHp8{zw2v3Q?59xEXs~$s$Tp&Ot=8Fcsc~yl5E7V zUNy_Ll5=4apYb3A<$atCmJpemnO25!zS!AVz`C^zejn>CF&E$X0Ygpdm_gp}uTb%z zgJRBR?WK{r6}IwMFBS%j8bQRLq;U*!d6QRT>%x|1eNhbVDd(dw6PqXz+6QGd!68ObfqNYSnI=1` zBz*?Zj5LCK;(?0`p+K>{1O^_$a$mAP^R`ZsXsvYljMU5 zRhwY6p|F`QQNbO@Y`I6;)xPBG(<^b6Z4*dh(4|QG{qMss*4)}W_xBa%tba(Wk`~Mk zFiexqf5+ftKmFhFtZ^z$3v@dwt7R#FY~J85!2{$pO#Bd(GIOiMh#lf> z$2xY%K&kQ63UFt0rspYB7gk)cOuiG%R(HLe(T_ZJ=4RuBEA0I;NF9L^q972H1Hn^PR zG>12$g{@z1;#Bfk2k+hO{J)a zt6v&+_ezup9J3d!^mj{s{}pY`KPz9IFYhr~oH>Y%R{+_-w;eC;#D9@qnzBETtTS ziQ|y1gZbZuCuIySqw| z0-8%JE1s!t^!iOk0RaFM03fT3E5U29{eIoczep0pEBKw-DU+P^ z3~mNdXYGY}ULzo$Gcmgc zVpm0u1onww5w)NIppFoNB?-V#ks=BFuY@K)$vBjzAjx=`rjWpSlx2YUI}-0fUaXP` z98I2*3~g~BdV215b8dEX33dzWe+hLv ztp>Z5{~iCTP7DUfBIAi6qlqDb0hs~B^S1dEWA zqU4l=;tcq|ML>fH`TjP5%`c(*Um`3#V*aKng;psA|6ik!d?*g-)EonBm(e;}5B0-a-G zhJ6fOUYT8f=Kn)f#qj@YFCaxo(#;dB{b1RmjQ)0uA4n`tHmoSZzm`A+g0p`Ur%a|? zkMSU->}C~Xq|W>bQA?$2E>22y9_QIlvmM9XNpl{j8BXrYN}fz{9+yT)$^S=rpryi; z7f*wDxcg~H{kTS;a#qtRFvUxnpt@Rtbu|4HEfnvW1@+>91+`qRG=`$Rw+V~`Y(#1gqgBE@F0 z4ASHgg-1xp6n|Gz!KKP~`Sw?HVgMij<$qc+Nf3^4FiByW6FhBEUQ8(MFm>%H>j?dO zQr0uhdtB9nB8tFLH!VZYF{f@4UcZ;&T)`t{lV3ltO_vWcaGLyohyo2Nv1ybrH11z~ z1SL6vP?7Zw{(lbK1^EOj;ne?#6PE-aWBzB)e~lTa;by0m=(^GvsJH04vEZ|@5N?1S zWTutyzv4gDL7D*G;q(`damHaR18LtCMBx4n@PCja>4-59O)wNqE?Yw`KTSV&#jbeG zK7}q0G8a`$y(vuB87wnZPQ4ipvl*b-oSWHFgPBgFk5+@v#{K_@3$FhYIUv}O@$N>Qc6vb7@#s3#_x>yKALEx#Om%sj}qrensc5o5L{+|N?0CYtm$i7b{9^uJi!H%F#69=Gx=1!dN1fruP`)PR!D!;&O?(P09w1i2|z#k01#9l0gm7Rq=8F*=@~KQ zX?EosxhYqHDHlEI897ySap0VoGEiQl-fl|GOlO*XW)}3wp{xc}=CE5*1Fqc3%_PV# z%-JaeU3D7ljK0{d+zZUqfgbJFT=aC@?UwG%bQZ!T|BBK8iE@?Kn6p!LwbMfvU%&)v zB#6(&n`tDt8pNBeEr?CIiqFOADZ85K#OrOinQ7h2FWkBU69PfGTaB)IIQAP{8K8y? zK)D)bOW5{noW3jfffj$?Y6{3PrKUFnbOp7$GXE}0quva}S&FyY(9m1D<4|_dn*y3? zxd64)&6e)OF`r-1-0$d`#-i3?2eEil6!~!%9kyOHScCX-B%NKD1u1b}+@ct~}VS zS*&(MUhX{iN87A)vm7@#uXa?>cV4sknrV6#SgjNsKeimUbTA#au&j1eVgTnBfI6H( zbMb*YSiU=pK3m)p|J{($qR++`U!yM>3k~60cRs_m#}XgCGp|Nl!cU+2ot}92-6O^? z5a2)t^==!?*$5bTHKc%Gbbuj>6A}v)i3$Q}KFCKBkwG;*|E@G|pQi=J#s;Ydoy} z4(Gjb99dcpPz^hdyJh1tp85nE>*_r$lZpD>d7JU}!g*`?>fL4IQGq=i)3Ih4WD$^p zSfVs64fED^EPDk1X`E&rB#L2v8IYLb!4~c>Yy+tKZ~~x7`qN@3iF=crRcQOuzDLRQB{`$W z45xipl95RUQPMPVF)}jcfhsaG#q}WA!oS1Tb}~+rAnSe75uye7{c@xqxfWCAFk7l7 zpFkI%0in|EoioJ_oNHkC#{n7eJ4X#T=jytK{_YqpfGq$1Zy8q*9OP$Q-Z?9GJ~QmV z1y?iBJa6Rsmosl?qWR8QYOvGev0nor0z1ekX}RU>se=h&;6e@p(1lI_@PoJ2B;3lg zq_6t>R?q-|5rPObNg#p<$SaH!k)ojh01Ugp0K{DZtV))HG5}(br%BwaZBq_fERBmn z35W`k`TO|)mi%2+|9>Z#fCG&!z~-A_&k-z@xQTyYP#Gkk8{~PLfNYfakUVdec^4-@ zMMXM4UV>$xI4(v-rW`mfEtQ`?ul=*yNdYtp^;kM#AY;_FX6VN;IRROzwhar2qR!99 zF)3r2*A|s7uE#M6<5OZ{fI2G1^Jc>9a5Jcb0fp{`Q|LVSX8llU7cr^L%^4@c4@3pF#(2hyB7*V_rFR*H|P@}(1MiN(p<$((&_$}h6q|>81blwRDO-%pJL(=)Nq_ivz zE$y;oN0|;)`;#;dajZ+;svD5GXUdodsM)~&Mkrj^r!%ByurE(NmE+?wtos;GozeMI zfN}-EN-0LPO^t`Z>?8MQ?#IxVueSt&I82G7a)iG`fVQ-rx60BL4>7pyk%qFJs&Cz_8;o;L;19q^yI4{rFQ#f90Ps@9KF(dyA#AMQFfA00OE zhad-ff@Yc%VoHhn{0rL+JY>$zzCWf)Mf@r{^6CMnViiv7CghBswpv*4!dG0RgiKc8 zrSq!ITf375d_kX#++g)RSg<+0|}4|I-p{`Rb!+Pk`PEt>r8Ym^UgS zlFi4%^{3O2ARzz|`M#Qnx}jmJCZ)}?LS|L$c>+c;zy;21IPM!nlRK9ymk=>vrcwYd z^mAiS!)4HI%naX}e-KnKAPu!T?+8`u>3j}A1z7O2x8AlADg*` zW_n{j&X~1+%IjU;Xh_^pJ+Nc=iLv;~35_P+%XJlA0N3d z8#K)qW8=5&F6pGT7map7yWqn0D+#qgyAtPs@TQSRN6UI^Fm|06MKB8z4)`#}B zzQqV{JXPyViA7CyQ$7vEd(?MHaWFxelnxgG#`!4cY3?p#+l1K_z8T4SsbWovL4Ac& z%YpD#cIStbr)ad6)3hlEMD0h|EZQv$jl`2i2UuJ|& zNhklAHQTdsmneWzh$@St%4vD&`)6^H^qTC4L{2EWw}S(u3ioa#jO{(SUwAS@XqrxK)xW|{)GmA}`-@M~$sMU6t8bP!2z z>BX|`o_%8JJi>ol=d#r4EZH{;95C#7+<90u8{g6fi{s>pS`2Xuz@pqBe{@^E26Z zBxew74T$X1b_$2-|J*v?8Y#EF@|n#nNt@p22Oa+A=BY z?v?+#Sk~RV>1yGkJP#QrEbwa)5d-GQ0W1dWsxH-R^)YPQqM7Asm1wv1IkAV6LoD~Dk-9;SXH>;L-V~Ckf@BxX%ze_J=qJkEJ&r<5G^Y~6H zTKvG=yXERMo@_Cv1f*~UhAQ!ISgG_h{`<_c$RikA)+|G9NO$pY1ut@MmjN#Lvr*t1 zh*|0-o{>#H(*3(YUx%VEp*O8TKRWJsm2TS~vX14k_k~-*?(lqP`84k3czY0hRQEm3 z*FutE3ONjyr^)k#clrfu(IDH-E%~{Bb-=_G{w7W{$jsqxY|R6YdS+UA}Wi_&!V#X3nv;;6gh z&EZZGdx5|b%G<#{0bi@mup(C{UU3CvfM!40=RKPA~FjLr*5{gS@=HRzQplFcuq`I)>L`m3<{A8 zsLQQda+Ime^FPG|aOI@R3^>e8B%W*A1Y3-4|%~z^5W!1RzUi#&K z!07GP0plpT&kS=518!iofc230bxan{3%=FDP|RDS4|n;Ej}Do^j(_fsVKsjJ;SU_& zsAQpKaIxK&ky@j=p7n}EY+swW@4laB^}ZHExf#Ja-KrUVVati-jb(9UPZv*m?M11I zk5Q)a#_1+z<>9J5D5rj&wDadbQozP=lS;1a{h?9`Vm_9X#&)BSS;r6^Vz*iPd&_T(XCH6K3`unqag?2QUu#UcwXvJN#ja{|G|MUTL4^U((-|k0*EVftr#9+o5g&inVvg* zHma>=p4+7`;M{SS6QYE-`M#PPa{F;v6dX`@+46)fC9gB`n5h&Ax2G|I>4Kqum(!^Z zn!@)Z_Ji6y?Te;0SxM;hQKnT^%b1d43062$5s~rc35RER5qdRn4bQ_R-bkd$OcbTJ zDG&Uxz2_w3?RC8BCDG!}cfahWwqk25KJZCQi1x|s2721>`Khqo>oUIdZK-~F^F?Q( zz2dSYQbp%sB-m%%E|&x>K-%4uSmKaT+VB4ghrY@q6pyk z<^y`{x`11!?)L5m%{QK*L5qzy0s9k8g`-?c#SdwEt@O4!qMJK6Qu268PH?`7Y-I!b zCQY1qi(EwA8pE!1z>rQa{OH+o)L$^mP;0Qn04Ts0aBNI+c`t1D?$}KkNC-2?9P~GIk;4TnLfzW zeXL#o{4}l2-iEDE(4kabVPefepKoFZ&eSIXin0rpdPWjLABzy2+z;Sql;~_*zJA7C zmZPJ?vW%nd`k)^o&u$}##a3%~oZn&A*U7QoG-FX2doz$_9qZx%!D(j9cU4hVNF6f! zb_QDdu8ES+C+`;U@#!8YZpg2}CK*4__w-P6ov9R$HH7hLlKndgTbAGrbS4IC8)>#J)B$^+P$2u0mU-M=6sphd%f8%Rs>L}xJ)@1GV_bzV&@Bi8xujbjL@OYM0orGhQH$?Qcv74 z^aC^4G@zijU`QVn3%EC55K`9SF25ffNsa8O(ol!RZ$kp^yhLh#mV9&AI?eF$2kj;8#vzT+^g%iRUzwqV$gMikiWj?4KuYzL2>1lhDM64Wha7KiS-0CMlCS zr@diVLfq1X4WC#vVTK~BACpHP776c0EbZN%%%F`LLHcNI!F2QkQ_XQ3)&xugR! z+zFxIzgwQC@g0AP2$K+VCKjd#2PicUQ<~+i3eAXehNlWwWsJ(n<1kV17?_TwjubmCQ0^R0 zX!3NiH((1icq3ez*!St_2Iq@wY`cUNc#4^u$tPV4y!37^S`Mt-1Rf$m)sQV07(zv0 z`UGba{ASg2Nl3hnteDIV(kvE<(_xQ zmp`-o^BW^aDaX5NQtzq}E!DTw&hgyH2*b*%H%miVmn#nyOUD$_5R5qOBpud}%X|?? zm>`Iy>X9qqw)JU-Yza+Ml9-TPFE$yMh2)ARKoW`Tm}%#~y`5x0Rj1CpOD&(o@k5;P zSUiWuKP!wk=FQX_$_)0uVaf{6 z4ZzKrF(h?k^2$w9YAOY2ONX zR9Sl_PauLVSxJ?K{y4{tO=-Hbm`{Oq+Q?C1?CKK48_$>d%OiHRLoJK)bm#<~(jI|w zV`C}mx0b!TRC3;{7HlR-#IQ1S|0Jb?1SJ*}J4l=D#Yi!#UaTh^2cE#IJ}Tq^sB^{~ zl%=^>d<8GJnj=E=bQa@gXUAsGt7Klh_*y}MK^Hb`mtxJB4x_aeZ(8R1UNh$PWd#ws z7<5Vs(!Mk8J5er5c=b!OqES>@Xf>|-dWS@mK^1cNowKtBDrHqX?_<)+#P4I4>z2EO z$Z!C^wdna2K0-QAptufDUs_>XFNa<>xW7XF_Ev94I8V%`Xs43JAjQ6N$;-iC#m;?y3gfQg@oQ=HkS0gBA@J1)0CW2!cv=Z;uHe*C}FN3BkW5^W9 zlFX-VeuJ-n0TKc}1OryNZ;nW6$wb98>j6$20t@;*(q^xh$ozZzn}L2o za{bQV))q5({$*_gz#0*BE$mt3Z1Q_H<kaG<8I5zF1Z2m_Ztj)X<~M^Xts{SD0k8 z%L7JbeRaobvsuMGi|03nxXg<0yWNPh9g3V46z4x2^}I^0ZaM9Opq!$vywUA&>2+J0rSQX`=X4K=LP!f%LCMA>&L1g)U!2)1-?<0I%q?4NK zNdc@jjw5%l2xuKR&D?M(nAi({>zF7$=xLnzv)sN!+|`rw>DOtu%!&lT9eY<{ZR&@Q z_;SVY{Ou4H^PG)!QsT;!_;Jg7k|)Zgsi;`{&Jt)PuV6ll^qyZgybo_iKlLoC2&6{E zly@^bj3sKvi>Cb{`Vm2ZDjKH7*G_jxg_(ZPMh62}x8#TA6fU z_b4Bnz+I?2E9SC^Z*^g!aqQF!*Q#g@DYqe>%k+Ig_JlPUbSm6IgNGVrqXB#UF$RVP zCL#o0K!_h8+F-BOZX5;Mx6s zmw|sW&f9=jomCv@q{5(*Kn$NmAUe>UZsN0t;&2Kp-@w$#$V|;|b;%6LhCq*>GpWVL z72lG3t1&i4RHL` z0DRrYP~dTdpf=NU&1OlD>Iry6*`vJ9KwqfwhYlZNuoKc|yz~`gh>kR|`wH3z#8Wjw zgIdIM^gbQNatlzG*J~mDxZnPg-a~T9vP4}fELe1vT6Q>iUEI_8^`e)Ndriac$PyQ- zhLlzK@(I%Ck*JKnDLmyvfOWT{h0x3EY?_QZerH35gPSOSnmucJ7}iB*A<7Vt+auM% z?OQQU_`@XZMGiERwIj5f)%d}7Yg*pDICO%xEvXuB=63q@o%`8=g7IeC*Yyp>qi2!M zS{8U!oaYnQln){s#N+#&-V_ltX@DuPb@wrF&@uC-o$Aa|=>q=@mXJ!k8t{)0?N`S# zN&bnWspHIkpAZYK#{?HsaYm-y^Qj}rsXkM)H$_tMw&_`*w8;#u=Wj!pqRZ*>1u+CH zEsmB)q-|w}GBFY>rPV=%?VE1ZX^dK=xj)dKUmO|xzV-0*Ci(t$7Bx;@ zY6$R0vE*kDJe9!3Ffkt1hZQ$ssD>6@Pxn;w1n67VBfxM2x_GRj2S~-xJP0%q*Y-kz z^IkL*1CHu%>O2w79aO5*OrBCTCk}l`d~pfwZhDz1^oK7Q=%(qpu|%*4J4vZa(KI3Q zkC034s*FG7+EwHB5r#wcW2=@4zFuan4zDh;F zh+Ipp411^TwMbE;Qw)lDiaHtslQ9b2qPKUyE=5aCenBkzVi9yZKlUtU^tww})pp_( zeJv9ylJ#9AF)uoPMxaqfZVBFGp8j;o93}yy20acNaU9TLfe49=1zOyPVc9AW)TQ!J z4%$m>`z+P2bYFElkJ!p9h-#kKW4*?-J6B{L|NQ=q?-7#clz5Boj(EVmF*RmWKRA88 zX&ss3)-%}L_697_+8P@am=X&wLAPj6&RkI3_cKSlrFTz`FxKaOILM_-<6&#G`-NRl z-oL_rq*b6fZ@W`4e7n6{=33}X47)Ho<(tr+P`=dcU}vQ8Ihp*jdj9@0>6r0ry_pbY zol!&S0n=z!sZ1{&3iDy(DJP$6O@eCq*i0rh72b99h-IP%(IXz%DnOqK5fKa);OA~z z*psGivA4=Vj<;NbQ)=vC#=5^`ApPe8$JN-_bE7VjxlZA9B9Y`=hoPngToM_$nC9}z zTB5cP+WGoXqW9nf`DNnZgHO_o07i1cnZW@s5A-cs7$CmxB)fXscLgs3bf9`biS#AX zHY24qBnDmTr9nzSIpxcns7#Vt9UIrem7YcX#SV>TBHpn4L+=T;Y&$9aEEZY69RAO4 zPXPL(a$<<2#kqWV@6ryD0{i%=8NtpLPLuuREig5pNe~b4L7PD_=Eg3Aa!d#c9+nBv zFne?oJQ$5X=gct`egwQKd4oM{FRnNFBe`dEE!cZpSiNvBVaKt2tMX`nAN|b4$h+Et zcZXWgiX55WbO$sq$YauwbTYBrB&OX)KcnEJAK49dguc?(U4bFklWGA7II}+gB3Z|% zTXXw}-9}lTEaT!`T==s$l#~IM&^l`J6}IK$7WHJMuN-+qaJvE2M4L8mvyGVyvLZ*k zx;g3Gr-GZ{3Z>-ANCkyMlR(YBJnzj=}t3fHii>&*+u{n_81Q6^U@~% zx7|fD%1{;6czFftwLBfopN*{xmqMw)%UxK zfRB=5i#_zDI{kN};56!^oa##IGOr6{9fWQPZ)Gpx(Px{TI5xb}EqIkym#KK`%MpEV zoiHak^_}iIbd|s$r-VAq1(C@1h`!P6_(5bp@bT^f^vRK{y zMgln&40BT)P=KhkHiGkPftD zO2O2hybShi;)*KMyB{?w>fSMLCo}6Nk)7uVr*kbs%=)7`J}r zwgdk(PXG=H8mW~#mK$y1kL@KT;2b5xxeQ*>b{ty-WO^|dIJW&wP+MDfBg>tSJt^D^ z+2#4eu3Zi3CNIZN+b?TwY`IV3p4*B#sM_rU9y-H@msv!^8@9*j!#}=9dJU8jIOQL6 zI}Ol~Xw^m(0O9pvpR4gosP^{ZrbC<7zkkO@YczFjLEe_LvWoi@gVFPI2z~hAG-8qR zh-aqH^DaGDDmxA{N_pcnX0&eS464)arCQ0rvtiIZ>T94>?QRPu5LJDkUS?V`M<%hJ z6*rgQ6!Mtw2bypHC=L+_QIALD5IQ4WS6wm9o_)O%boov%B=V&i8f4X9C9wZU&XxGA zyE1MJmKwy;RhJ97(hzex*0h_07N#Ptk7g2vu~2T^$Pp5L+#;=D`tyqkp6vsU%vg}gyqSqp=mFPYm20H zP`goZWiki4(i1AkL#=UP>n&? zIzjSS#|zH6uvhbn(oP*>sGu5dkRmDGx;v!ZY{p8<14Qme(!7?LZIz~cSr?_+@^gEA zJhvkivEG51h_jgRt>i|{9XCGNswxt?! z`VyGyccWjBoB)6hPVi(F2TRBgh<3L%oCy*W{7)W1HP-X}{E4%*^UNb0Ltd8arynT? z%edlq`nvsRmcQGPT}QXuI`d1{g-5Q}$e-;5g4_1`Z>OlwhnU(fK#vKVTf{zoevEY1 z%%tHwH4vydP{$2z-*TyCg&+WucaNiP-vr1-CnaNAyA9V;V(DL?GcaL7&FaR#h+0a0 z|2#M30gIvMw1@2e+ubOD?L#ND*oo;BnZ{YP2I_BX))SY}EOPF7vldFk*7*c|DvX#e zE3l5eQ8@6=0KZa=sChKKMKYAAo1-;#of2A}=bwZl{REW0oUf_ciR&poc-?r9&6onb zH=w&uP-b`jaWWIK(_1QQOl{2m_dZQ z*fUGkC2*<oKrcEH6A!mB#VUWZOL;&eb6Ne&r!w?j$Z{WHxt^} zPa!%1&%ve?iC``qlf#Mp=G}_e^CP+DDteVtjNM2ppLL&ZY4V=V^pV*J2E2Jluz%E3 zntE8}z4{KuQ2a!~@ZnRlo=}F0_p9v5aBj3&mCs19qn`Hfz;c`~#S59i5x}n36H~I{ zqiOtre8q0Q?=@Er(e!c|GDL{^}cHa0N!tTyx##K zi>0){SX!7{8=jpVn;M?pot>MTnwlK?m60&Yjm8QWnFuGHl$X3dCWooha` zmb94~H{W4-WE<}3Da;&MsN|*geVgOfsy%a6kNB)+Z~p~D@=$A>p3>Kh;T8@fpzD6&o z?ww6)3O;n1$$!k7MeY~Oe~2&oMAe0fY8YVhW9k8NnFT0=qcU^4jzYJryc>aRYvMuel~e&O)X0gnX7 zd`ZFZkJSt*u6gRui{Xc?n5~6}hqej%jab7+4LWo8gU@u|K5?RJL-$Rm3)G_6-V<^c zjQ^V49oW`L`?NY9dRD`jC%D@5J1Rg>ie>_BcY|EPr=I#bRAVQsJlQk)TarpFlG$*p zM#0!jNa*fOuupljNE~Tf!cVXY2$~34ELwpfdP_+&?-1!~T=dfEkL_TfHJh27JPzR3 zC}4|>--9#IO`c^{BJ;hbpp8`^dTs(W;@ak|akPtl$1|0pu~F~bCJw>o*Abu5SH~Sm z#twETyQ*?k0>Ls89WXr|owz>uft7P{Xc%wuljsSZz^T$-M=mkQsiqgNLW5UcJhGoF z2XaeAriVNlGzzYojp!8$PK~qKWxv$!yfxx=HiL^2)E5Zhx^V zv2#wD4a6axac5mF;w)>RH_pjZNcXL+@I$nVW69$gPj_2cR3m4(%n$ellsxzYN0c!7 z0UX5-Z~-yZ?v_DzB_sxzRCm>>ruB>;(Vd=4Q+bK4Re@M?+Bn1WGR@Gem* zlx+MpSep>Ur}!~eiNF=z2a}*ONz*HEMt37*O@5a2gC4yTm%>?n!;EW(>lyl~&rw^B zo)5<5PDTFbHk$>h=_$A?#9p(T;jb&5zn?aX%_1r{G1vE0Hq0MpU4ixHaW}I+7<0jV zM^hwQ`<{^s_k+<5a;=O7+)u{vIg)NA#y`|&@)%!+iKZ;A8aD)`hBG+1;xw|ze1^T= zKKT5I-RyM5a}3aTLlA%ioy4WK?)TF7Da+FMi$@A07?%~r@Q4XU=087QPpVFvd+XWR zSk9hw9GldJ*B4nTnV21S6PSE;06PIQ$`X@TAt6FcfZpDsj$$%YU*=ABMZT%VDu3l_#c)&z%RXtt zkVU3qhS~i)Nk-iTN^ZIMo&_cci+CIjmoA#UeXY66f{Ldi=@2h|i_@X3V-Jpu^DzvZ z6{#^aoW40o6M!G8uDPAP7L~l)1TR+B{XuMrj2gv6`;kYRO+(nEPSW|vdAh9b{1L6| zX1UqwL7Zut@PQnM;F~mT0dHw029*}YV-lb3lO7J*vq+C#^4Bh{T(3QIw>+%1CO_Tq z>hqdZ`Y5Tk*EN@87Ozmq0YXC=8%et2<_CrvaPg|I+c5KORNu6`_4&#i1w;E@S4(?) z9mxh(KfQ9xT!hQoph^7*B`slYnP@@HMY=>!A8NrGq>e``kIDxmA}lAABb?I0A}AGV z?c!9#hQ49|dXY*%6EjJuSIUf~g(wV+j#G zo++;7R_u6FX`^I^HrR0VuHw)*(XqZ}o(N{VQH!c|x2j}!1Rs>Fd)W9RRpXk^`QW~p zp8MG5#mcrKNUIaC_0>NJB)c@Ru;AOcT08sL3#@QuWy1^ZtPw}`6IN6ArHF~AbbSJ< z;AmtH-PKSTLYpe``t~EV!RLYjn$~Q?i}pS2a)e8Y^?_z|QNskcPrP@!2!}W2Q+WM2 zmhI66MG?q%#j`{mhjeygZuze0If(hmVdSxPEwvdPYnP5la*s(3#yWI$1E*d^mb!AA z)26c7z}28E(J0WWbpA=ff=kdcu`0uq zC%8U*mW(4#oNisp$8;L5Dr;+DGGQchl3B_eTeI=EQ{)) zDHQMsXs*hN1-#A?6i9ZE!i zPW}M0(VBUS~VrwPopF>CSVUG5>hTP<+0~T8XS3~o+}-)ajH>^n{h=A7I^WVYV<)M zZr|p)a6PdP_0!`no}* ztOFXUvOJYq7XP(n5X5cC;?`^iaKU_en_gGAv$CDpriA%NsRgs7y1f#0g>^blOm(3s zvbVfmo_zKw_k?v4Z++LvZq96LC6fsAG&k zqnA8tb*7#)3a1Z+BQEg`-jYpIV;G^Q3lhiaj{b=8t@8TrMqvzNA{W*7O_b3pRC$fh zJ(W2YFdhAMVNlQ)0L+J~bi;if?yc%BV-bk1S@y{+Ppxx?;=G1@2?7c(j)bpA(euX7 z{hO>BeX?k5aI_;#yTX<1_!(CB>sd7jK6m096x6e6ErfA9^{l(!v@`V>B)m#%qxB0z ze}qph?Prrg121PvM0{s{@fImadcFHRM%i09f#Nbb*?VRjD}H5Bo=VM#eof~YfAlkyDcEf zt0GhzkHUH9hB@|4@rEmdVtv*E&-KvNdHKc)v%gQmJSHSVc=^(I^)Lt9`JiPWV|PI`R>XEw>jsIEtjCo{c2GBC9}@6 z2mhh#u(+(3^i_aeF`_l!ZfK{VZ)mGKi9rfs-EZ^|So3`%%tRjnB5$UWfTVWz-j<-^ zYIwr9?A|RKr#HVI1!;7Nq!hX-YCSGrA_C@G1A8#zp7U=%U_eS)6S3d`{AN%|7MZWq zj%+9WkATu>xi)cHqde}ZJcF+T?lP~ZR-U?8U-T>%i<`d8%Ch6KP8&k}a-ih(QgMbf zli+}lt@X}ANtde+u_^4h_WCJbjO@8x*qW3$6ozt~CyHAR_fi<3*8?eHuVlEE&KC)v z9F`fZ*~iJz32a+#Xq0u&qs-ngzjd^9l`XAH=^8|gG`S$WW-y!|1&z%ojNFa3%tj0h5t)5n!6L+rCM}gOKtnNKK0<)e^fb<1)=!CyC z)jPh2B5yGQiQjI#6e_GH?esc9{<3i|`x;p{UM@M&St${HhqcnF$Dj-k^Rd?asxL%d zj=v=I*X7f=lqAv=o8794>S)HY=U}0PuZWEyGUC0Bf{6;p6bcIq^->?b@!j> zb6N@Tac%=^`=VH5^7+CzLK(~1#%&mCB*a5_5qyF=6J;NAf7Cz9XkuHftAGb&)`rvO z0{W^nF!c4fA!TJMJcoOd>1i4lTm{BBfWim?bbTXuy{6~3J;ycmGZ+BSDB%(bfgx;q zCbXiK@5Xo$ESVyyoMVcWAC$xqj78^px$^DLn94T}RVPzg-9By$i> zS%UL84t(xBlh9W+hFW~s4y|pxvLyT|Z%lG}b<&``D;ECX!98A;aLxC7?N9OC`42K^ z+gJG7b&c<qb=dtyQ=ct-sjgWrcY?TA!^H-qFM?_qId5v!8H}+yb;!*ls zsfli{F`^A#@&v;^R#MXuwbpNrj+Mk>&4FPtxKcV4!kD=XvfJA@dm^onul1{d3qJ%U zzb$p7yTP-5H%LpY_F)Mf<#1Mw?Z8D0-BwDG%$w`6eDFPct>+-!-_P>u?m zj^u(Ha2jc5`kjLd+--lZkc`Mr)0ZW@F~Jo*5@85nmaD&IIZq1eK7{g2Nz5gORfk`r z2#bGV#rWl)ZW=YcEvb1NbNO%uxaH(v3ATsNpSU2yBH_1Nt%#2OwVGZEIRHa;Y1pig zvq<#WH6#s8% z6oCD#pTb3QsBaH(@he(qNWSgP%vh-rh z+yrJv$&;Q^X2o#hay-e)2EP3Vy}jplWk;`UiLt-*ZFN2Njk)7tFT?Lp#Q z%QYwYwq80cuO@A7zcw?w>bOvMKBaYYl)Q{mS2eFct2kvqUwVafpsmky4nFTyT&4x2 zq!WW?^xk#x;zSx?yyt5DcrA8bjrqO#^A_D%s7>UsBP;u;}L)PU23dt+52+8?XIueh$b8ZEa_${IJN>{b_In7{5GqA}QX;FygoF#H&Z&3>J(cmO*) ziw|Y(ojHTJlhTXzJa^9sGN9=L---EtBC?Y@X1kP)p~*Mghk1|)FAOFH#TIZAEvA>O zrmy8m4fv!!YC{wQY3g^p1pSKwMjBG;pjjinG=rj+J^c5|DZv|VhquFEMnpp{i!sKA zq}PHx1NOzuC7qG)?=UeoY^1wiLzib|hbCh;@Y3|{^UDktP0iD5suaWPBgkU$++NdP zi~jKM7Qo9)LAqmy6%?An)l$1x{VAI1D5P^@<129W)%y`|>Pwsf12a@8J7pTy(sCB%H$_*RR1_0q_VcjG>AP9St=tj8h{yRa>W1)Y*5Jv* zQ|PWypZy{M=w^K+HEaB7n};0tJMuJ2=jL%qM<#svIfXmtd%>qI_LpC7vt?9d0iX3* zwjKSh=nXrUog^I@JNqLB72PT9Ak#t%Djm(m)U5a#!|Wt~2bVA0MrsA0wg?4pXu_LF z!1Ixi7Hlg$E*n!|-ACS>-7g5w-8u+DM3Ir<;r0DNpfQ7`cK_SVzok>3-ATUM~Xg2ixcJqbNw%y5B(SG`TNp9k9QpsuE zDfZ)H!eJ9tv4}&5#vl$i8olK=U5d7CNZ>T zbcx;4&j$2o4jx=Vuucxlrix$9#Hb9i?s#vWl-LgV3ViieNQ#_v3YzBxmeYsC>g-NvE2~XA617&T!r6-FwzKv$O?nS_bVu=(9_~1mWdS;>4F8^DOlmJ4s51WvpNF#^)p$Fzz*4 zn~xhsvU{eleswW*&OLd>MP_Eq861M_?qp;^A*ngYIW=DM?h|eWA-@g?Bj(AuiPS<} z9Ad;``rK7p%u2S0@F2Wg)s~|novvBNc}WWFVQ)Sq-$?vl0iZ2k(qpdZ$Yev&w*VfN z9F!#FI03+P$8L~hWXfzoLkmV#Y1u@j8jd835Bc(AIcX+Y>fgx?MizZrMAxqs;_gc# zVaheJ&N8|+;zJJ>SEfxoqMhe~34A|VU>d=2g*%Twybpt{1Dmuuz=m54ikdj}J40$# zWc%iUh^S?j8F$W&*Po@EU?LwsxL%JR?K+OZA9HFl4QUjHrM1UjtICNPH*qF0n9sAm zjAZA4Qzb4Htt9ETXmE;vR0f+<+o`^V z9sm}G97sI(1_yxY`n%IN;{D~kyh%4hoemOK(0f&B;KNcSFY9Mbt5Y6(JwvtHJLWM< zjzxbX=LbjV$DBJBt0wjt$g~B}siawcTw+Wf#swR1U10Psc~Oea!*mS0?TZrF9fE+( z-!1Y9G(M&j(mi|7asF?OI!VfKgcu_)9^wZmGHbh!wfxy%{|=N9p4zD?%H&CJ7stv2 zDgmZ0hM0_}%G0Aj&87$a?lu!faDXw#9Fp1QFPaGPOv!u@;XCOh$A>v5o29%om3z$_ z9xFU;Oe_FgDR(8327^V4uUj|+Q^*4XAmhCTQ*9F6@39j zDfdkj3!Vs#8>hEpcdoO8nAt;XJ!r3erQ6v+(V?`r1YAjlmP+MvhggUPtkX)GSdDpi5n~1i-%lHnw=324&(gN`9NNuhJPnED22ZH5^}`DAfX5w) zxZ|H<(RmeSePvK>ILYiBV&Z*og(50fRSVF7@L6KdA3&mDdmdjwFx}DY6 z_9cGoJ)24P+@@*xxjU)TSSpN^0yPuAkQo`DawSJe%nh1|ey?qBe3DtLTG6EsC9L5X0-AAT+OOOR^?js2{*Slko%xW+JKwOw4Vs)}c?@ z3WVy?n|?+*H5if3`KN2031>Vr<0aS8VG6p)UuuZ&9YPs6NNJqhDm?ngc) zE`R)8b}l2I-t?I3<~?&w74x&j%B+O^L7AL+733nsN!Q=9?jsQWtD<#z^N5V>YB3~G zEf10|*?4D$sq+abXDEZ9d39K;Q}mA80S~w27Y8*=)eiS{o9a7SiBJ6zWu;9WhT11G z#xqJ3FM1Tqu634S6-_=Il=|*mT__P9ZYdO}C5agIe0bVJPrLlBuw}aFx-mo`QK6*R z)I%&fwK`-~mC9Jj%e z$U;h6YvBu0?&WKfIg0LYL+lEW(yyaw+j=2-&A?kYbTXnVflOF6MZZYCdwz-^v1waQ zv>_%Qz<2G3LYcdK62E2&_HE5UV3%5=E|!zr=pC0j+sAj)9WooE9TgOf=J%A=Hapvy z)0LuLRlD(G8tV?r!+r}{wW7tk(n-_+g-F6BbalwXiGPGRV7|6DVbT1s$(u$Bk#9!uBNADN1jnj zoq0TOO?7(+P3_Dp3!rOgIM3{toY=U%`YJ^r%-V$b4{=0OcEw8K*M&qrZXb?v;XB>y z-XISy%%z~5Z*|=1-`@)sbg19J4=+r0g&F4X?Ji`!3_~qCqHPV;CXS@1K3$fCFYjal z6_4E4q1$3$S}cyD*}DrJ4&`QJWVrsFx9zE#tdSB^jCur%F3r&Yjo)BxhscCNv zE+Iw;$A}w`tQMe(jwsw~zX$x+cw&hH9~@|Fihou!um>hs4I>6gg!h8P$^|v;GxcbO zqqb+g(99B(btiEgNT`&|-^R*H@=_C5MdOQOYw8_?(Zzu-0uTWHH5`&0AOQj3wgqfQ zs_ojau!&wlmGP>QN!B$DGP?0au9`n2c@6zvlMjiWy`$gsRpYrb6PF;mqvQJ%+78ak z5y5xaGXF9Y#N2LPl$>Sfd2tCT?8sO-CMKK<)77O`m)quF%**7ihh9kv3eym9qH_{`~*dtA#MnC7<(Z{l|hSW(*P*GuOwiQ9yR1L%vqeY(cGKuae#Xy;$Wwf5<$)|jYtTm(} zYp)KyrR&T$=dUPB^celyD$?33uXg>U${?^NV}j1L4eL$0F|_gc{jM)Ct<^BH?0j;n zvlBfT(rd*c>Bk-+|0F3*Q;}gTzS6Q1CXLDYSz*B79V;{XI={n77#hT_G+-&sA1Uw% ziDX^^PiJRS006*#0RR91004et000I6003#ZKO7y?$;i>c)WOU0#?jIxBPJy)FV`g_ zD=RD2-rCdGK32>*o{lJxFa&q(kwdI(Iu8jpN%R`VhRbMFl6{2kEu_cM(`0K8)se-f zHVLWdWefiQ^4iGQi*BUjp9h%gRGojP-krtxc0@clFPh~Z2wS+%c$Di}rZ~DhY;;jh zj1kWl@ac`mDfsWm2D;*w)W^nb?Hb`s(=249z6j@-(6qlf_~?@8Y#Y22gK*cW$c^R| zmOmyqM_d(2H4xtXP?512*J=&NUCJFjKnmNL@x-ni(Q(on?lhbir`<0D|#c_Gwc2i{q-tu7hO#v>6=JR%} z{lljMyWEE@bX~fLDnnwnhWN}fNwQ2(T;NdUf_o4UTSmtnuY+@>{8a@)(w-?h(FdNR zHcZ;!b`k!M#6!*j!>(Q_4a%Q95Hm$nIgYDDu494IH|nXQE>J&`lSV#m>67&rcEbK4 zCE5iF-ZdPO8~^~o#Sql=sw3O>EG=}ZDqBHRqmnt;;j7qFHA!C20`@@^ggDTW|WYK4(a}4RDo&n9yT2C zfDQlvml?*+V#hXFO9`lHt14IdKs~b{Th2Y(8P=_vnVP1bevNzMukuwQ(7j{m|Jo)<=Y$NF@B&Z*8BzJaqyo#4ipZAld zKa+0g8)1DW;H*mu!wzB7?x;gi?T-_kzH?;v1wIIwT=z>AQg8J4*~DT#Z&c+}f1SA8 zoW8tod?~s73ecJ{dW(=D4!=@Vmo}Lg{U-03H_1 zc#Z-<0twC|cS(ELOhcj&w;(fBxFpJ8~?6fF7dN>)k%P z^JGnDriOU%NHjpYO1z6q$F^?=5cX#cqWgyMG$Wp!WHwnz!GW%cI8h1Kj)R0{1{?ed zFkqmqXUv`jz&?$p{-9q(ruGvmlcyvFDCT4-qNJ<4bD-?Wq;g|Z3X))Rj#9>Zy%MBA z6OFeMCyR=7?*>l^JyFHYHbOe6gX?3K(_$CS+rI0dDVW|h%tQq&-~wehGJEOmHR_l( zGk~5)*{T>-GW*@eW?$Oy%HiE!amd|m1abK#h6GV|vt$@n9Lh0`wayDulw>rn1M%p! zW71CSesQ0g%C z6Lt=3Da>9!AeBN5g?l6{mM>&*4I+JLESP@CWuT(-WR{*Z_?{@DCW>-|W6E)% z1XwSi#ulBlrg>bjN^53;QZgz!gb4utRU9xR4FG`YB4=^1a<)ApjYA(qjaa@aaLRfm zS^7M-25D1SyZu8gwk76FTJP-%jtA30LZV0OJ&n#$l5@Cl8^auRPsSXXSnR8_Gj@rs z`w__7gk#ZW)uM@GNHx7}3&!s5XJWpcTz?zHgHp{MgJIV0%8YEdhF?~km09&9Br<{c z6y3-JBHOc=3HBfXq+*Iz^i6<_ie&48ZLuvkYN7&CfLR*$9i6ZsKwj+jBF(X7@*m1z zRw)4nu@R_y%Y8C}p{J*Tp8&p9%xeG%kU<$PSFFg|5l1bp$R_Bd^5`SisHl=-ZM)di ze%G#Q(s-KHX1b6ozCjJY_#Z(_xf^QS$e~RDAN=MM|3jkV99{Cgr}9A8)q9X1m!4`I zhU>oBwSF;g#Lw-XXC|ErcRlys%jCq@S^K!f*=?WhONzTzJ7g^k^~Kq`s(ScboX_Rd z!C~!;`-}S|9O!swW#c`xzCt+mHDvTMF>e5-*(B{2?>Az;9*c7Ky|sFipvaZT>IZUa zO%EB8Q>8yZXBl3RufneJ2FO^Sf_GvP4 zr~NQzmc@BaWr+(7pK3YuoZkzFxmcxBI7O$E75 z^^hT9z4pDt%hFmeMU`c%IF#>#HEvYh}izi)M>ZVY2~X73zY{hZwzF-tBSKST#=i`>vYF^?h;_NpLoO zbR&T$u2mAl&Xt3zNF;g#YbJMo3SSDKmRL-cmJHNsz4XV_Tt)8#?Mna_HVhljJE8!< zjgMXJ9vhX{O~#ycQwM=Y?-jjCN>wtKCgb*(t^K|;i6hs)+O)NwGG`C5X`k8(ba!@z zWEX+9BC0bvN@({;BdB7kDNU|*VYL_qy~pLwK0oqu~RMc-3f%L#KrD&?To)t+Yc$+#{YjZf6+8Uz(TVGxH2 z&fJf&DG&m1HOE(}u;K13MMkEg^^@Q=Hs(knKXptY_ZXxG#MLh~5D6*TU2E(xH z$co@Djn`+Btl^Dx{oPsIdnOJ#mIQ+>Qr48T*qKiysqu`fh;79nl$nrY5wKmv3va#- zJKZE=os8wVvwSR_V>{tw-+QE}T@y~}xd#Eu!%gqmCZX%cI=&P(+KUiw^Ut6T!}zF) za-XC_Jq{UhBrxnk(1s|~w3A94Z)%Lw3}F^q05l=TKHFLXM0au%1i}OGALk_BxN?)n z9+^Dv@i~*#FEBUZW=Sk1-wNmrtZUUyMgk##`^6#o&14~B$4=wh+ZcmB*=dVhpO__JHul_~i4L5xqKvJN;(zK7_$i%m zc)$68`XEY#=L|CEnv+4Qi8jif2`5cnkh#_)l$D_%MUQFw@*tni(de#@d9*igTb-A& zC2H)N>Pb+a4{SuF@p=xb1+??Qk(g{-yUI0V$!k!&Cm_qlsvhoJRn@zyZ~o;uEc79j z1bH8oCN|s~8PQ?+0=f?$KhfE3Nuw9Y#mxksCgcmr3l0!I?$&k6dc|(cg z_KHnRDyGLI&3}8F$o;F|ocw`CqbdI8-Do3r&UsB;sda!%ithR68|>F7D6MMZ&8hg1 zx0xLU=O5>jTag%y50jOd+aiRzJ+Cf!py4Rv)b>0voP!UiFp0B@jzzKI8*RpE0GLyV z`XK``m`b2(0+WzYi7D(!;PRY|q7Ai{lcxt|RVcju~?b;x&TvgEcy8L)iT6!$S_s)Z%oN4_`RM^FS_ zMa(%4a&;1bd#Q$~ZRGC40W`YpF;*F?>ixavJwr0o+T2){)Jo0=)5yN*k1O+GEZ~zq zBqi#3Fl(O}HmPQz>fv1<7tcczO9F#jpfq3dsy+41EPLEpwQ#AL8j^(obA31Igj3rk z)6#+ht#^?>0%rV$1UN5X0qH9z<{Z5Tx3hg<=FD5mz&0=G-5yzrw0NC6)v9hUztXnE zQryQM4r@rH(ANi5+d@}5m|e7u`0+o8l&Wr0q!3h@_HC)p*abh{FWqiG(Bb7bO83CkvVvm_ap6C7*qV_G_vym&H6e ztYqp@E^G?9a7|JuAUAX-ml~TzJMA@Me??cAqPjt{%a}Tx4?F1&&XmTuL^47&Z@lG8 zoK`#AAF!7=0Z(UVQvd+K&H(@b0001fV*mgL0001lu_uHS(a+P@-p$U@&Dhb;(#q1t z)xg2Eeil>;$3Xxhp~0;K^u}Ui$OIY-Z2_RNjW!81N|L9JXZt?Vo+O!LIr8W8J431Z zP;u8}dvi^jc1NW2?(5?2EY-~kd#T#Xlwr8bS$Z%o617^FcE)z4u(oGpKliJQsKw^% zpBq8q!M$|^*lx;7U|LJHR^>q7bSWy~MDf~Pi`_L3--{G#)%LgPe@(!>_^6*B3G%zrE#KDnQn!3mRTW>&Hh&qHu_dHEo(kRjspnD+ zA2tumLC~jk&XDD}{nEmAUV@0nECTZww>>*Bug+m`<|_@v?k)|%yj+5T=?p)v09B+l zzp_zrij=D$N!!^qM5{(KTqwnaXE5!j3k|V!w)d9^C#pnFAS%{|+e|&Ri&eio)2P5v zij(Io!OxxI3TBNGGpVVmXtdiTp00qNJ4u&nA5~X!Q-@U5TJ!#j#6`;V1-S&amCSoIF~nqzss#y7q} ziT_PYt7TR@vnKXa1E!FRgLpJ+ymhz9*_$ecc25lHFdk`2&H0iP6-P0#q^51M?>t~% zjb3!6&jB$~zcMGDv0aMC3t2K@wqrsfF{g8^O0jV;^dJVn`WlYgiD_tW1x~HSRM=7< z^DC!K#(SvH@8}rhVu4b@?QWYZk%Ydnx0&B$biYg04_HT?VoLt9R2*toBo={wWOC`* zpX;(P5M~aZ76hZhYpuWqp<+JSVvX1%q9cbnf(GQS6|3A*$t1rg)hm5R64;+4f906& zJ_{VyB*&=G3dE%=k~KE|>f7 z!)LspJ}DYo!2pxf6_i!u@Q~EsLj&1Oku!55@Ygql?X!|d^w>#A#0}vdniT>W*41RX z2(FvVfS5@iPn+tN?Eb!HAMAK~Hpl$D1!p(_i5YyrQKQY5Os$Nb=tw(a5B4@UP6n42 z^W4joeRO7wOKC6)X*s?nv?9j@#R|&oi|yQnx|aLcZ2;8hRaO(%tID#qNStn#V17;V z@|77!l6Y@@CW)^QOaW`Fx#QYsBbu?pOD%3I*fmoWiHECt7_KWk*1FF1itlx^z0}WJ zWKE##an45(9p0zTBRnMSwA986Jn38Q5vA9bv_7K?L0Hql?>vQEsaDUz70?Q=^CjO) zcTgWq*C#GJjy6GZc^)ABIw{ zlTGPEf?G13x{@!yk~mO9!@GjZ1(L;v@z65>o+Y#kPut)Cus4yV)wCRuOO#!Wsw&l? z$G>Dz=JJfp7+(k1-_9yUylS4s#rrJT9nNv42}rb7Yg)7FI9>Y+Qi-aR#ci!N_l$1; zLoEeH+WTIb_Er_yq9u(xbA^^}!W2M@WpUkl#e6Lms6KDxiTu)OE;7?*t)4kF-GA@m zkO%Jw9b>7E?RA{%nXi{jKDH?u*QDU(t7Pw5C1%YPp|mTR%)ZiAzn#8kPc?+Pvt-{6 z2qP+5New~mx6-tZtEZ4ucZjFo4p@l*0Nxc;lEQ7R;sOQi)0w%ML%p^K96+Ea6_hwe zRgz?Uzl6M+uSLpS&G*a6e_KtgDC6x=?iRqa0&fS~V)tG5nZ&8L({`J?wz&8nqfEjC zT`{iUbFsYQEP`;`L2Ok)GyHB=+X4g~=3!U{4Y*)UrP96?pZDqGS!s{DFY z&t_WE%-oX7oGLrU5ZzSztx#!Iu#9R zbgV(h`H}dn?#_|Y7AqBc8uFRr&e~)X<;3%Hq$lr}BC_k<4TXd(-pc7iaInTI{K7(m zV!J^H90@BWcCD!8DwE88qv9DlB$YL zVL$V~Ytj~%P=_qizAW0^+Y+8dyFVAsP9nnQIZO!Rb8ARwSXYDYH{sEQQDa768mPTc04&)3qRv?*)%pLc%6C6YZP zZkf%ByHh@DBsK13ar@hIwLsgVd^aXZWE*+s2P7%Cq^l<_8YE{ue#1Y^pbSLD2y4^n z;Q^<2M%^NCJncawj4Xu<+nD`yR6a&T3*v_k0!F;E!!8k5pjkmTne?Prbz5DfIxIs* zkE%A-Igig;k<>27dsmVsb&8`nl)Otbtc$1ze%d4+Nx)VieLSt59-bbz)S2`$>$*0` z1Sz;|KXH|GK{6JrN{Ll?k%F8BUB-m*pRUu6XJLOmdjwLU6Gwu&4CD@x`%k=JVp5!1^!he7r_FOTEz@83I-KZ+h}?7upSvZ8~^VB>RakIPP}VxQeFqrQx;^-7&m zI7-RlXady|vAmANtLN3IKB`{u3RvN7Y5dv8)cy29M943?z=*tX;bBQ z^UD!W-QB*Gh*Q;2KfXP)(}HDJPRC_(E^F=%8VUYIBqzuN4FJB=CR5V0J$etCSQ^@j zwvtj+RY|mBL}c-Iyz$*-aeayPr1W3EEHJ1(ZZ=vjD+_#JWtWR($U6~7of$-;@xIZl zxOUNp%IirqRrWRZ7M=P2%iZXmIwA)!sTAPp?bNk6BbPE6CRUs-;)a2c(23|UA0Ca2 z&PvqQom4(2!1{M3NXOXY_{#8h#m0nNVmvVwh__7QthHN|UvIhu5T*P`OP#V;oWZgR zh3m}~{Z*{KLEw7fRyMJ4zG2;RLA>`E2>_l8bqli zm-xHqXy1~PzU=m&=iL8nJ&Z?OZd-0>$zUrgsE}lj$6wwUuVto`On~ylmiVlV3;j#M zXDaUaUoEC42P`?zqqR2Tvd_??n&A^CdW}YjE4foo&@3uWI~=8ou}e@i`+>MtZVolWO>1zO4+>CNgPAw>{v$+Tj8IWdtMSfdc^lSvBp*=!|*~Apseh ziZ*a_Hic97p;jiOCI2o0)~Q7t3>?nZ9vBaV z;QJ9@msxBsdSs?_yDHvV;FTg(eL9supxF^eP|mU$&9kW?jA8mMtp zN`m>8x-*{`#{9CsLyn6QQQy?dB*{gz>tfMJa+*6CiCSgT!b^~M9MYDonX zS{_(ph{h_Wc~mBz1rRwCyPNIkEP2;7Noi}*cgM_D?TOh_XDQ!yr(~e~nA*m2x``K+ ziTu%k!I)N8&dxF<+zk@BEt5BSW-N%&h3bv!?I7eJ zbqy89I4z*2CvucEh~F-s!W?SIz3VeV*9Mbc%Ulw40RDCKSAr+cK3o9*A)_;N+7TIK08qUuMjK02N@6^|^p3+u z?Z*fS;qPBxs!9@R#9yHNk{$u4BF zxS`1u%Ucw;idnHk)Vyl&HCW-iRRiTq~&TOy`Bu3S|#PVYa} zS|OQ*G#~YtD*!Wn(T5UguJRDa69E2obXUxi%Nqc?1K3y_5otRCNzYZ*ma6egq0Av% zo%s%uYYj(Qe6gaJ5wAoa1e0Cy+MOQF5G|RrCNqPc4VoC`FHEutkkg$o8@6U@_|TTG zj%Ste(RhWGc&Icl#t;$WsS%E0{;?(VNTgM@98sM^Yl-FPy!j!G-qR=`FY#@>CAniIC*S#I#1 zDmsLp(E$E+9IxPmWdH;20a$X*&ZJ?bu%H1zuOM36cv6`{l_^2&dVEP6v8}hBX6=(Y zGK(6Ecqgbos;i|E-4R05D2Lv5Zj1qGZgY=8i>Xe1LZAmJWLGsd_!MCHFl7E>38qU) zyeB#(I;*4MC4pRKK`UN9J-#8Q6{6WjuyIKQ(*f{tK@Q(|aB-5vP1JhGPg1iOY;bow zR+BsTYPVRv(@t2s=T`Bev~9?te5uZs9=6MWkuc5CC6UV+v)28h00{s-ro3O}H&PNF zpaLV?veCw9R4D)e#K`&9o&74tn0wNWtEkm#^jZ>SJP!74EEBU-F0SihuX3Ls`c>`{pYM;V{Pz0=Ql$KI zE%7{$!T1g-raXT7f}f5uUcEjC;P5cS7b}D@hO3*5uwod^oqJMMX4tk(Q4}cSVbTe2 zFC(OsoSuYet(im{?9=a>+^$^SfB1kD|FYXYA_x|I)2i`#D(IiI$wiI9a7ef5a2Z9s zxlp`(9x{z3Vl)HWEbd8mF~@aXF0Z%qt#hB&QdCxkQ_ zlOzdOHyQojmR`0J9yJVFYwR>l8IBX;IA$-%c>MGQCY>-C4*6^hLI~;%u`HK&S1a;l z%AN7JU2e}O@;oO}4pO9i8Y?>WjM+-iZ8``ca9x+BaNR;#h&s;xo4 z7w}FsING;)_4*tsC6`e|w;k}H?vt1*A3x5xT}(Oq@foAJ!|45=DB~fzO^3ff#Rwr7 z{TBi7?4XR4lIy#SNwh(0&FM*ql#;iX5hk6Wj7L!v*roDATCIdM8nRRYhle4PwdUpX z5XBC09McFk{PEWplu|tTHsI3;}TUTrW0;A2k5r9 heHdfdt!UP{&;J-adc&TrL81Tv002ovPDHLkV1k_x;TbZF!r8y>HgM! z^>o4ClYMGi1OuZPI9w+*7>To1sI3vZ_gnf%+s{C5rjmw*SJ^IA9O#gaJWy`_-kkBm U+X>QYKtmZkUHx3vIVCg!0PsFO;Q#;t literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_bottom.png b/mods/tnt/textures/tnt_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..95f66cb90fa1a27b8a6417fe621b7938194c3a65 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uDci*E-)~>VqkcY^lBDR vP}I}KF@!@lIp*Yn0|#z!s5?38a2;WYxX&Rd&U~pDsDQ!K)z4*}Q$iB}9RL{A literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..a901f7bdc200ac079018060d4267d2c12dcd398b GIT binary patch literal 612 zcmV-q0-ODbP)AI z5d?s8T8>pFTW!Da>12)bUc@n5uNExh*x0M0qynWPImXH`N7;N;HQ*uxy*GYaOH50(eT4ZNIz z8W(&pv6=XgAlNUn7;#?a|>qPN1CcPuTiHA-%`+rA)s z@__b6s~&YF7epKwrqMJ4=gZ@}`T*l-tfG+w=riy4^FZc-b1t!FafK(gZJW(H{*D!Q zUH1s_rfF!NXG|mT@oDk>^@HnN2jzs2x7LEUj2a*ZZM3&VlUR-TW2tg%sH4n4`yQ@FY zs&WzwT;AKZrNiNnEb!h_-}lLXv1`)^O3HX#3o|W_w1gl{)-qB{X}%4Ux&IfCh;Q?p zXR7*xKjFdd{y^r!W*%tayom=<8@NyY>K_cFVmN3U7rx4>T9#Q>dyQ#4w2y ytExYc4=k~0od=SUn|bh7e-OW&-r~VpfA9;n;PF(;jD(y30000J!^tCfh^ z`rlh?+3WS%IT(+}&2#VUQFu^3>rfsnb0}jBCzA<)4`{9V`TliTvE6R}@IYGnE<6aX zQ2DsbgJ5x)2Uo+bx>@qJ))D}cBx&v>j^p+nDfzeNfp_3wFz9&jJQhV!<$mxIS`UZA zLCK&!olZrksyfj!hx*}xsw(H#w=}Gjy#u2tDtIuP&BFV`7*mY*|F|E-aZHKiCZKd} z^z{2dqxXXFAW4$z6Z*XVWlqYd%k%ttk)7`cz%L&j;JqNB-h~G@wKGt^AG`!O!SQ&! ai2rZc8DC!3*65S~0000P{(@P~opePCsLL^z=i4(nHq{rv- z;wg8w&5zgbupSuOxvDA_BjAe0b@^aSN6ZJJKG5-j#8DU@%qLOgKodIqIN&n}jFGU7 zKdz?_L>=g(4~#V!h5^CLMITsU?7GgmAGG=)gq5B3fhh$7fUox-r%OoN1FP|Y7zHBY z&$n(FzWXpSGns1RHO}>M1wIfB*7B|3Wjxmhw|_5$sP*voLXbuRfH;o1ZNOQU$%=S; zJ~*9D7x^HvU8;TG(_HSrWx90DbRH=3<^zrK`ugA(1j$ky!mGjH00000NkvXXu0mjf D@G;Vr literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..a556072c01baa3ad0c0dce4719974cbac8fc7063 GIT binary patch literal 672 zcmV;R0$=@!P)DbJt>;JPk}2=WZ%IF1@no`I4ip*(|r z6vEjw%@SZd9ybFMp>xg!k)+IlAn{lVwYMW2Ju2IikVHInjhl7r1=W9%Z?vqL>#HTjo~BYrQJOGBv+<_lid!?6R}GUwz)3qL;>h_BdQ zL~q`u0Dd5jW4RvOTo=`f+~Z@u;HZAr)&rx40urYlav-c-cLUE~yXg1($g^Lx10m_b zRXq^XNemgSat_1ryvYOrzVGXSG?|MGXIc|U(*tl_mnz-(czPhUPN#F3{XnLTCplp3 z!6)Nb#hwKC^8WXIv$XHq#j>n2nlw%6=DI)}$0SX`aU9As&}cNOD)V7#&GkT3rt*HE ze2psm0Xybg6ooNgaD4ytSJVS~y)eh>tK)bT%^-`Qouqhc5U0000eyp|f0$G^M#AJ-Xhs78PfcVE!N`?GdKstPm;I+{% z=6NOnarXzgU_Q;=d6|D$g9H5QqV^K61`{CwU$~g{;Ai7vbC5*0tErzOrEm00000NkvXXu0mjfvjA$o literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_curved.png b/mods/tnt/textures/tnt_gunpowder_curved.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8b4eacff8135621086125e0034f0f01de77f86 GIT binary patch literal 268 zcmV+n0rUQeP)cU|G%*jJ0%Df7Vnzdt##MgCUU01|$jA@!smL=#_t(20T za|pu_%d)_Gk2FmYMG>TwnCF>(yxkbXT5BH1k=wRq04R!r-+H`h8dgfN)|%_O=8sml z)-nN7~!b)01xe-HUk;uT=ucLYIzBuVfq01@FlPaMbbbnP!1b3Q(f Sv?!tg0000_8x5 z%nsx%3S%q^<1LS3Xi8$}$zqt8%Q7)n?*IS)Dc7&40j*&y3GxeOaCmkj4ah0=ba4!+ zxK(=QqF9rHfNNmD^QgpS9+_^B{@16TwqEEzZ+YVSM4sZF#db@#Y@6aU;nXIt1>6lH zx7i+u$eC}r_E)j)_shHf>wnx)TxPmVm6?xWA)81;)czlWXYPNOuKV|+(!%!DF`l_i lnN3a^J!P&5J7&m89G6#lz%4UF?XNV**PgC^F6*2UngEQ!VbA~o literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_gunpowder_straight.png b/mods/tnt/textures/tnt_gunpowder_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab0e3c8b118ab5a2bd1eae47b1a6a070e601b7d GIT binary patch literal 225 zcmV<703QE|P)ZBLLe6pzW?KSQTTe%Qf!UJ4umWuVJDjnMCiIsfMR=GY_TlMJ=9@- zW0CW}GTSYKq9_EI_x^6OZ@l-4m|U}2e2!#P*R=pm)AY-v9WZ&ekM&kuA^2G&|a z2){?BMF7`DkaOnweBzwrd_GfEm3r^VIkQ@=*zI<#*K4(XHma&ZL`W&oGz~dtZnqnk z%Y~E@`~AK@hxvT2fG(FyO)05}=yto+qA0Z0R|~W&gWlmMpvU7ujFA{4MNx1(9?hH7 zbY4M3^m@G-fEXjzTD2xyp`<>ZrHoVR$C0#5Q ay^Ak!rCtr@ct0-y0000L^B%H{MZ=` X4>LJVxOGq&sE@(Z)z4*}Q$iB}^57uD literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_smoke.png b/mods/tnt/textures/tnt_smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..488b50fe958d33fa4cd50fa383a4685db045def5 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^Fw4`$F~s6@a>4>ti^@+=>QiQE7$hEQ`G3RY@DXvHh=$u6+S=Ge zd|6pp|9|XU+`ubsmaui^1PiVPOaAGbFCN{bP0l+XkK@H9k* literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_top.png b/mods/tnt/textures/tnt_top.png new file mode 100644 index 0000000000000000000000000000000000000000..31b807cb6a8af7552054e756c51c2b9fa6f00ece GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0VPh1H%OdhF1&>aW72H z0Qt_IE{-7_vaAOUc^e!USPtr*xbCsQjpb1succ^+MnkBx-kA&ARxEO!l)K!PuY_mM tddFuxe>L`X|5!80cwug!>r|DWjAtI|q_o$YOaU6l;OXk;vd$@?2>`HcEsX#G literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_top_burning.png b/mods/tnt/textures/tnt_top_burning.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0d4905f628b501963c2c6fc3e0df6b159639cb GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE0EsBz;JgTe~DWM4f D`zSFl literal 0 HcmV?d00001 diff --git a/mods/tnt/textures/tnt_top_burning_animated.png b/mods/tnt/textures/tnt_top_burning_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..18a270fb9a453bb62cd9d087169ddd71f6db30ab GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!3-o-7PBt_Qv3lvA+A7r7X!lu28MfQ7+x_j zq?TA60t(IYba4!+U_3kdBG(}U0hZ@^pZ?#^X)%lGvss}KCBfCGcRTU0gtB%|$C@?F zJNZ6Ud8F(MZxha9^VwrOqoW|*Lv8Y;#)P+m0$1dOBC4j?>HqUito`lCwvA^uf1lk7 zJAvu^XSV!gxKS%{O->-7`UkiC^V$>Ezdvvu_*8grxzopr0NK%5q5uE@ literal 0 HcmV?d00001 diff --git a/mods/walls/README.txt b/mods/walls/README.txt new file mode 100644 index 0000000..0389174 --- /dev/null +++ b/mods/walls/README.txt @@ -0,0 +1,7 @@ +Minetest Game mod: walls +======================== +See license.txt for license information. + +Authors of source code +---------------------- +Auke Kok (LGPL 2.1) diff --git a/mods/walls/depends.txt b/mods/walls/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/walls/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/walls/init.lua b/mods/walls/init.lua new file mode 100644 index 0000000..bee8e46 --- /dev/null +++ b/mods/walls/init.lua @@ -0,0 +1,46 @@ +walls = {} + +walls.register = function(wall_name, wall_desc, wall_texture, wall_mat, wall_sounds) + -- inventory node, and pole-type wall start item + minetest.register_node(wall_name, { + description = wall_desc, + drawtype = "nodebox", + node_box = { + type = "connected", + fixed = {{-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}}, + -- connect_bottom = + connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}}, + connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}}, + connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}}, + connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}}, + }, + connects_to = { "group:wall", "group:stone" }, + paramtype = "light", + is_ground_content = false, + tiles = { wall_texture, }, + walkable = true, + groups = { cracky = 3, wall = 1, stone = 2 }, + sounds = wall_sounds, + }) + + -- crafting recipe + minetest.register_craft({ + output = wall_name .. " 6", + recipe = { + { '', '', '' }, + { wall_mat, wall_mat, wall_mat}, + { wall_mat, wall_mat, wall_mat}, + } + }) + +end + +walls.register("walls:cobble", "Cobblestone Wall", "default_cobble.png", + "default:cobble", default.node_sound_stone_defaults()) + +walls.register("walls:mossycobble", "Mossy Cobblestone Wall", "default_mossycobble.png", + "default:mossycobble", default.node_sound_stone_defaults()) + +walls.register("walls:desertcobble", "Desert Cobblestone Wall", "default_desert_cobble.png", + "default:desert_cobble", default.node_sound_stone_defaults()) + diff --git a/mods/walls/license.txt b/mods/walls/license.txt new file mode 100644 index 0000000..ccfaf1c --- /dev/null +++ b/mods/walls/license.txt @@ -0,0 +1,14 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2015 Auke Kok + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html diff --git a/mods/wool/README.txt b/mods/wool/README.txt new file mode 100644 index 0000000..a66677d --- /dev/null +++ b/mods/wool/README.txt @@ -0,0 +1,16 @@ +Minetest Game mod: wool +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by Perttu Ahola (celeron55) (MIT) +Various Minetest developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Cisoun (CC BY-SA 3.0): + wool_black.png wool_brown.png wool_dark_green.png wool_green.png + wool_magenta.png wool_pink.png wool_violet.png wool_yellow.png + wool_blue.png wool_cyan.png wool_dark_grey.png wool_grey.png + wool_orange.png wool_red.png wool_white.png diff --git a/mods/wool/depends.txt b/mods/wool/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/mods/wool/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/wool/init.lua b/mods/wool/init.lua new file mode 100644 index 0000000..a36e4dd --- /dev/null +++ b/mods/wool/init.lua @@ -0,0 +1,47 @@ +-- This uses a trick: you can first define the recipes using all of the base +-- colors, and then some recipes using more specific colors for a few non-base +-- colors available. When crafting, the last recipes will be checked first. + +local dyes = { + {"white", "White", "basecolor_white"}, + {"grey", "Grey", "basecolor_grey"}, + {"black", "Black", "basecolor_black"}, + {"red", "Red", "basecolor_red"}, + {"yellow", "Yellow", "basecolor_yellow"}, + {"green", "Green", "basecolor_green"}, + {"cyan", "Cyan", "basecolor_cyan"}, + {"blue", "Blue", "basecolor_blue"}, + {"magenta", "Magenta", "basecolor_magenta"}, + {"orange", "Orange", "excolor_orange"}, + {"violet", "Violet", "excolor_violet"}, + {"brown", "Brown", "unicolor_dark_orange"}, + {"pink", "Pink", "unicolor_light_red"}, + {"dark_grey", "Dark Grey", "unicolor_darkgrey"}, + {"dark_green", "Dark Green", "unicolor_dark_green"}, +} + +for i = 1, #dyes do + local name, desc, craft_color_group = unpack(dyes[i]) + + minetest.register_node("wool:" .. name, { + description = desc .. " Wool", + tiles = {"wool_" .. name .. ".png"}, + is_ground_content = false, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, + flammable = 3, wool = 1}, + sounds = default.node_sound_defaults(), + }) + + minetest.register_craft{ + type = "shapeless", + output = "wool:" .. name, + recipe = {"group:dye," .. craft_color_group, "group:wool"}, + } +end + + +-- legacy + +-- Backwards compatibility with jordach's 16-color wool mod +minetest.register_alias("wool:dark_blue", "wool:blue") +minetest.register_alias("wool:gold", "wool:yellow") diff --git a/mods/wool/license.txt b/mods/wool/license.txt new file mode 100644 index 0000000..9310163 --- /dev/null +++ b/mods/wool/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Cisoun + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/wool/textures/wool_black.png b/mods/wool/textures/wool_black.png new file mode 100644 index 0000000000000000000000000000000000000000..700d439dca261455e623c41db9b409d1f6afc46c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUm6es%*47pg5s{admynPU z5D-vTS65V2^j~5q1yobw>Eal|AN<$1EjD}1Z}m+A=U z*f=d)v*PHFEmK$7Z|O_lej@wV8pe-XJAK$czBv8b;{Q?>k$)8q(#wJNGkCiCxvX}xi1bA-H_l0C0T#wF)SFaKem{`}qRd;3jzKUKZkk$LwCuY{`Qv1>sIes0GwG)6>Nq=dwg z^5q{y3@wZzW_;x;;}G>vEa0A-mMHOS#ms}9(G#pYqxo03Wi%=^t6q0*+wD48)K|St z%W#U>@>VM;Zdaov^UUmmPrTjK^|0Y|o+Fzen<$(2@@MMDI%TUE*3_scJulYT3v?ud Mr>mdKI;Vst0I=6r;Q#;t literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_cyan.png b/mods/wool/textures/wool_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..395b6ac77404f2c244ee34a9dfe5d89f452acddf GIT binary patch literal 302 zcmV+}0nz@6P)@!$1%NF#GTsl63!7D`D_n#%qN>ziNR| z_Z|rd8;Sy0cyvJoU;s(Xs=RN|C+qbRs3Sb;oGjrg_Cm&je1Hm;2mmyR-i2*P0VwcW z<@{97(Gva;lsT)|&-KhK*T8}j^jzUPk+CWf2+<12}RljVgLXD07*qoM6N<$f?h*% A9RL6T literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_dark_green.png b/mods/wool/textures/wool_dark_green.png new file mode 100644 index 0000000000000000000000000000000000000000..0e73999eae3a20fae94b07c477625f09178da6ea GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!dVo)et5ODoPCbKEG=o+ZgGvsA zLK=f?0)s>tgGwHQSO9~tHv^v|gIX!WO14}}pq5FVE{-7;jJl`2`&OF7;xjbpc3s^@fHJbBs<*0dSflQZ3B^2!{nZIz03-5C5*W?PEAk=T`{ zKaR(3PTPK5|4k_};`_nBiU)Tsex-hH<__MC8HugGdo16r;k~1>+4J7&iEXWO<}LiC zwRyJe#angve(gK;b;ifsKlRTTg$hkqbbn9!$Dm!nqWtf^>{+1e7(8A5T-G@yGywq1 CM_$JO literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_dark_grey.png b/mods/wool/textures/wool_dark_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..7253696edc72e9024268b46c95b2e445f0400cf2 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!R)9~4tF^VYt*x!Sy}h2Eo{x`@ zxw*NQmzR-|k(!#Cv9YncyStyCpPZbWqoZS5uU$P**Hljz$B+s}*)yD6E`~fz0jA!U zp5FhzYcgNRltbJ{@{XBq)S1S*<=eD72TKxvJvmf(CS^zW2BzP~7}n{rs+nH1@V&um zqQG|G{DB(%Z*0Zw_smym|6;n!ubVVy?FPMBwOP!j9Cix9_urf;5A#_6^f~i8-nByP zeA7Nyq!lsUoVE9I*87J1Pcm;*KFePScF|q+Iyv&ewteym@+^})<_4b!I*`HB)z4*} HQ$iB}LS0<` literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_green.png b/mods/wool/textures/wool_green.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb663bee440af80bc0677c6024182bf79bd2ba5 GIT binary patch literal 304 zcmV-00nh%4P)KVc;B7#2j$_9Buj>XY(9lz>%rb$FWR2Ufr!G!?>K@7k!hmPr~`;S@)(Q``rLW)0k zjfB)OWI`?tF#wi<8EAs3>}qOGe>l7MFX z)cgIJy{}60RZx3&z2oP)_a!G#p=YDtLZ26nh6#u@e8H9ZzBHFljlFEgoTPX?TSUnb zCQ-3x^zboOrmF&@Y3W^+W`!mNuSH(J)Z@0_Pp&_l*9RUjlT&K|0000bVBp&4TR{ z7IFWSy3jOlit`j_cYRhFuGP~e{BQI$95w6?Ka^|JfAD((i;v0cGns4W99(G566Q5u zSJUq4=_@Qe+eObmdHtugdw;k34x2B1pG|kJI~d*hZD;t(C1++`T@x0O-MzK@>RaFM wa$@`ieL3uR8n25V;=IV0_SflljONGh?B@!b8{hAr@(tuAPgg&ebxsLQ05|hwNdN!< literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_magenta.png b/mods/wool/textures/wool_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2c4a7aff3462660939b3d68562ae2fe9402ae1 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!eSlAh>r>VVXPJvGGMArV&N;=L z|A3`?Cv)U}=EU>NrMsD9wlRfnW(r!zNTgQ%gG(3JYH>?{}-e>=_hop%oHegN$Ps^JILtBtrcdwIP&5b-m>0ms=e3g_cyWX<%dpM sZk$_U-Yosl$t5*XvFF>HIiG$rSL(6NkC?!;0q9-^Pgg&ebxsLQ00w<=#Q*>R literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_orange.png b/mods/wool/textures/wool_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..a059f3646f4043897ef1315584cf8e3e9cdb540f GIT binary patch literal 284 zcmV+%0ptFOP)TVy=OcUZ_8^=Bm!8QxEBnI7F z8F!tAn*aa+o=HSOR2Ufr!G{3@ArJ#F+t=vu*?-tb0OrL0x*^7Hy?}NOj7&I9Bo><% zGf8aHfDyv{3Ng@TSRqic+ZeD4>3&EoYLiN?6bZV@J>h2?2_a_W`=s||6$K#2XxV4z z4YSz+qf7KOy8Y;I3X3LZ6qgC#S5{%_uW4K}?E50~UZ{8BHsn3tEal|ADwBME zY4PN=HyYc2KH#+6^gQrHYE;Ufnul?A23v3Be(znGXKM7w$yF~RW6q-f`p|mexC06- RGl5QE@O1TaS?83{1OWA}T;Koz literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_red.png b/mods/wool/textures/wool_red.png new file mode 100644 index 0000000000000000000000000000000000000000..da12ecffd13a8896de8fed61dd2e929e3a556322 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJ>uE{JwZg(1MMRbh3a%Cs zIw~PCg_n1Wh{zm%{%O3t3;FqbxVX+qN!7EnPvqg*Cnna$$yvtAn#Ihlm)P42G-Q#d zi(`m{Bx42C=$0?NugD;}vHH#VoczgMN-I8pwTQn_t$Cl3 zbsd{L)A^ReiJKJIToRW)`o4ONhxPimXMK8hI+yyrvQ*o=@bj~`_Hc5!D2g0Ty1(q-@B8Ji z8dSAZ0=`d*cP{xg!+66q3+}Z~v!y<1{naU3@ou`P?;VAYhu-OJz9L^$7d7GK#=fFs zCq3_d7v5^0`F|-(^}BDqx1{re*G#k#X192qdNFche@*($KuSZ4p;8h13HVr)78&qol`;+0CON=GXMYp literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_white.png b/mods/wool/textures/wool_white.png new file mode 100644 index 0000000000000000000000000000000000000000..88f1e2f55f521a97de29454eefa196df88f68efd GIT binary patch literal 243 zcmVSNKwqS;qV@o47IOAv?nNCywVEljk`K5~6QI>a99?+v`KN3%M_ zQA+K4o4;koqvF8?m_2sRA5(H84g;H3c_!q#+N?HR--@Dh%BQb&s1B$ivWJ5-n|9oH{Qm1F+#XMBX}bUb002ovPDHLkV1j#RYIOhr literal 0 HcmV?d00001 diff --git a/mods/wool/textures/wool_yellow.png b/mods/wool/textures/wool_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0f04897e264960f4d4e59aa04d0c786afd4c00 GIT binary patch literal 255 zcmV_X?85mcu< z2}SL#tmqFMA+92jB{$bf@{+V5BIkv36lscN)9tskw|yFUEC^ZOe 0 +end + +local function connects_dir(pos, name, dir) + local aside = vector.add(pos, minetest.facedir_to_dir(dir)) + if is_pane(aside) then + return true + end + + local connects_to = minetest.registered_nodes[name].connects_to + if not connects_to then + return false + end + local list = minetest.find_nodes_in_area(aside, aside, connects_to) + + if #list > 0 then + return true + end + + return false +end + +local function swap(pos, node, name, param2) + if node.name == name and node.param2 == param2 then + return + end + + minetest.set_node(pos, {name = name, param2 = param2}) +end + +local function update_pane(pos) + if not is_pane(pos) then + return + end + local node = minetest.get_node(pos) + local name = node.name + if name:sub(-5) == "_flat" then + name = name:sub(1, -6) + end + + local any = node.param2 + local c = {} + local count = 0 + for dir = 0, 3 do + c[dir] = connects_dir(pos, name, dir) + if c[dir] then + any = dir + count = count + 1 + end + end + + if count == 0 then + swap(pos, node, name .. "_flat", any) + elseif count == 1 then + swap(pos, node, name .. "_flat", (any + 1) % 4) + elseif count == 2 then + if (c[0] and c[2]) or (c[1] and c[3]) then + swap(pos, node, name .. "_flat", (any + 1) % 4) + else + swap(pos, node, name, 0) + end + else + swap(pos, node, name, 0) + end +end + +minetest.register_on_placenode(function(pos, node) + if minetest.get_item_group(node, "pane") then + update_pane(pos) + end + for i = 0, 3 do + local dir = minetest.facedir_to_dir(i) + update_pane(vector.add(pos, dir)) + end +end) + +minetest.register_on_dignode(function(pos) + for i = 0, 3 do + local dir = minetest.facedir_to_dir(i) + update_pane(vector.add(pos, dir)) + end +end) + +xpanes = {} +function xpanes.register_pane(name, def) + for i = 1, 15 do + minetest.register_alias("xpanes:" .. name .. "_" .. i, "xpanes:" .. name .. "_flat") + end + + local flatgroups = table.copy(def.groups) + flatgroups.pane = 1 + minetest.register_node(":xpanes:" .. name .. "_flat", { + description = def.description, + drawtype = "nodebox", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + inventory_image = def.inventory_image, + wield_image = def.wield_image, + paramtype2 = "facedir", + tiles = {def.textures[3], def.textures[3], def.textures[1]}, + groups = flatgroups, + drop = "xpanes:" .. name .. "_flat", + sounds = def.sounds, + node_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, + }, + selection_box = { + type = "fixed", + fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, + }, + connect_sides = { "left", "right" }, + }) + + local groups = table.copy(def.groups) + groups.pane = 1 + groups.not_in_creative_inventory = 1 + minetest.register_node(":xpanes:" .. name, { + drawtype = "nodebox", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + description = def.description, + tiles = {def.textures[3], def.textures[3], def.textures[1]}, + groups = groups, + drop = "xpanes:" .. name .. "_flat", + sounds = def.sounds, + node_box = { + type = "connected", + fixed = {{-1/32, -1/2, -1/32, 1/32, 1/2, 1/32}}, + connect_front = {{-1/32, -1/2, -1/2, 1/32, 1/2, -1/32}}, + connect_left = {{-1/2, -1/2, -1/32, -1/32, 1/2, 1/32}}, + connect_back = {{-1/32, -1/2, 1/32, 1/32, 1/2, 1/2}}, + connect_right = {{1/32, -1/2, -1/32, 1/2, 1/2, 1/32}}, + }, + connects_to = {"group:pane", "group:stone", "group:glass", "group:wood", "group:tree"}, + }) + + minetest.register_craft({ + output = "xpanes:" .. name .. "_flat 16", + recipe = def.recipe + }) +end + +xpanes.register_pane("pane", { + description = "Glass Pane", + textures = {"default_glass.png","xpanes_pane_half.png","xpanes_white.png"}, + inventory_image = "default_glass.png", + wield_image = "default_glass.png", + sounds = default.node_sound_glass_defaults(), + groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3}, + recipe = { + {"default:glass", "default:glass", "default:glass"}, + {"default:glass", "default:glass", "default:glass"} + } +}) + +xpanes.register_pane("bar", { + description = "Iron bar", + textures = {"xpanes_bar.png","xpanes_bar.png","xpanes_space.png"}, + inventory_image = "xpanes_bar.png", + wield_image = "xpanes_bar.png", + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults(), + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"} + } +}) + +minetest.register_lbm({ + name = "xpanes:gen2", + nodenames = {"group:pane"}, + action = function(pos, node) + update_pane(pos) + for i = 0, 3 do + local dir = minetest.facedir_to_dir(i) + update_pane(vector.add(pos, dir)) + end + end +}) diff --git a/mods/xpanes/license.txt b/mods/xpanes/license.txt new file mode 100644 index 0000000..66c6fbf --- /dev/null +++ b/mods/xpanes/license.txt @@ -0,0 +1,63 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 xyz +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2016 Auke Kok +Copyright (C) 2014-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 xyz +Copyright (C) 2013-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/xpanes/textures/xpanes_bar.png b/mods/xpanes/textures/xpanes_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..4d17ceb855793cd0cd05229e774968fd017cbfe4 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=5ozPcAMlUa(+6R#sMJ zWo1-UR6!z#J5YkLB*-tA!Qt7BG$6;<)5S4_<9c#HU{GLCQBYB0LJ5Nts~anu+g1lw zfi#AX2b9im33Mzwrh9>L37ZnDlEWpQgtL4-c?CyjJZrexV8FbY+1RCb;|2u|E+z(! XG~Uzum2I_v1~YiN`njxgN@xNAOHwsn literal 0 HcmV?d00001 diff --git a/mods/xpanes/textures/xpanes_grey.png b/mods/xpanes/textures/xpanes_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..e1c6f76ff3ba0e88d7794341608b56ceb24e391c GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx3?wy9o9qTs%mF?juKD?SYvy%*0CKrJT^vIy b7?Tr#Y$gWA;!;KlAdA7%)z4*}Q$iB}WG)bM literal 0 HcmV?d00001 diff --git a/mods/xpanes/textures/xpanes_pane_half.png b/mods/xpanes/textures/xpanes_pane_half.png new file mode 100644 index 0000000000000000000000000000000000000000..4e846dfa088e9842872673dc7c405db46e944bd4 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^oIotV!3HFcc!W9wDJf4E$B+uf&H|6fVg?3oVGw3ym^DWND9B#o z>FdgVhfPFS!u;;lEal|A)B0#0OT+;F#3CNtp~CgJYD@<);T3K0RZlm9-{yN literal 0 HcmV?d00001 diff --git a/mods/xpanes/textures/xpanes_white.png b/mods/xpanes/textures/xpanes_white.png new file mode 100644 index 0000000000000000000000000000000000000000..777bd606fa02f1809009f3e687c6d9c336a96229 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^j3CSbBp9sfW`_bP&H|6fVg?3oVGw3ym^DWND9B#o z>FdgVhfPG-n%hS>gB2(wn;8;O;+&tGo0?Yw