From e71744b918898b98ffa5ae949fbf2a1b877b254c Mon Sep 17 00:00:00 2001
From: Perttu Ahola <celeron55@gmail.com>
Date: Tue, 15 Nov 2011 08:48:24 +0200
Subject: [PATCH] Modify mod and texture directory hierarchies

---
 .../fontlucida.png                            | Bin
 .../{textures => clienttextures}/menulogo.png | Bin
 data/{textures => clienttextures}/mud.png     | Bin
 .../default.lua => mods/default/init.lua}     |   4 +++
 data/{ => mods/default}/textures/apple.png    | Bin
 .../default}/textures/apple_iron.png          | Bin
 data/{ => mods/default}/textures/book.png     | Bin
 .../{ => mods/default}/textures/bookshelf.png | Bin
 data/{ => mods/default}/textures/brick.png    | Bin
 .../default}/textures/cactus_side.png         | Bin
 .../default}/textures/cactus_top.png          | Bin
 .../default}/textures/chest_front.png         | Bin
 .../default}/textures/chest_lock.png          | Bin
 .../default}/textures/chest_side.png          | Bin
 .../{ => mods/default}/textures/chest_top.png | Bin
 data/{ => mods/default}/textures/clay.png     | Bin
 .../default}/textures/clay_brick.png          | Bin
 data/{ => mods/default}/textures/cloud.png    | Bin
 data/{ => mods/default}/textures/cobble.png   | Bin
 .../default}/textures/cooked_rat.png          | Bin
 data/{ => mods/default}/textures/crack.png    | Bin
 .../default}/textures/dungeon_master.png      | Bin
 data/{ => mods/default}/textures/fence.png    | Bin
 data/{ => mods/default}/textures/fireball.png | Bin
 data/{ => mods/default}/textures/firefly.png  | Bin
 .../default}/textures/furnace_front.png       | Bin
 .../default}/textures/furnace_side.png        | Bin
 data/{ => mods/default}/textures/glass.png    | Bin
 data/{ => mods/default}/textures/grass.png    | Bin
 .../default}/textures/grass_footsteps.png     | Bin
 .../default}/textures/grass_side.png          | Bin
 data/{ => mods/default}/textures/gravel.png   | Bin
 data/{ => mods/default}/textures/heart.png    | Bin
 .../default}/textures/junglegrass.png         | Bin
 .../default}/textures/jungletree.png          | Bin
 .../default}/textures/jungletree_top.png      | Bin
 data/{ => mods/default}/textures/ladder.png   | Bin
 data/{ => mods/default}/textures/lava.png     | Bin
 data/{ => mods/default}/textures/leaves.png   | Bin
 .../default}/textures/lump_of_clay.png        | Bin
 .../default}/textures/lump_of_coal.png        | Bin
 .../default}/textures/lump_of_iron.png        | Bin
 data/{ => mods/default}/textures/mese.png     | Bin
 .../default}/textures/mineral_coal.png        | Bin
 .../default}/textures/mineral_iron.png        | Bin
 .../default}/textures/mossycobble.png         | Bin
 data/mods/default/textures/mud.png            | Bin 0 -> 1586 bytes
 data/{ => mods/default}/textures/nc_back.png  | Bin
 data/{ => mods/default}/textures/nc_front.png | Bin
 data/{ => mods/default}/textures/nc_rb.png    | Bin
 data/{ => mods/default}/textures/nc_side.png  | Bin
 data/{ => mods/default}/textures/oerkki1.png  | Bin
 .../default}/textures/oerkki1_damaged.png     | Bin
 data/{ => mods/default}/textures/paper.png    | Bin
 data/{ => mods/default}/textures/papyrus.png  | Bin
 data/{ => mods/default}/textures/player.png   | Bin
 .../default}/textures/player_back.png         | Bin
 data/{ => mods/default}/textures/rail.png     | Bin
 .../default}/textures/rail_crossing.png       | Bin
 .../default}/textures/rail_curved.png         | Bin
 .../default}/textures/rail_t_junction.png     | Bin
 data/{ => mods/default}/textures/rat.png      | Bin
 data/{ => mods/default}/textures/sand.png     | Bin
 .../{ => mods/default}/textures/sandstone.png | Bin
 data/{ => mods/default}/textures/sapling.png  | Bin
 .../default}/textures/scorched_stuff.png      | Bin
 data/{ => mods/default}/textures/sign.png     | Bin
 .../{ => mods/default}/textures/sign_back.png | Bin
 .../{ => mods/default}/textures/sign_wall.png | Bin
 data/{ => mods/default}/textures/skybox1.png  | Bin
 .../default}/textures/skybox1_dawn.png        | Bin
 .../default}/textures/skybox1_night.png       | Bin
 data/{ => mods/default}/textures/skybox2.png  | Bin
 .../default}/textures/skybox2_dawn.png        | Bin
 .../default}/textures/skybox2_night.png       | Bin
 data/{ => mods/default}/textures/skybox3.png  | Bin
 .../default}/textures/skybox3_dawn.png        | Bin
 .../default}/textures/skybox3_night.png       | Bin
 .../default}/textures/steel_block.png         | Bin
 .../default}/textures/steel_ingot.png         | Bin
 data/{ => mods/default}/textures/stick.png    | Bin
 data/{ => mods/default}/textures/stone.png    | Bin
 .../default}/textures/tnt_bottom.png          | Bin
 data/{ => mods/default}/textures/tnt_side.png | Bin
 data/{ => mods/default}/textures/tnt_top.png  | Bin
 .../default}/textures/tool_mesepick.png       | Bin
 .../default}/textures/tool_steelaxe.png       | Bin
 .../default}/textures/tool_steelpick.png      | Bin
 .../default}/textures/tool_steelshovel.png    | Bin
 .../default}/textures/tool_steelsword.png     | Bin
 .../default}/textures/tool_stoneaxe.png       | Bin
 .../default}/textures/tool_stonepick.png      | Bin
 .../default}/textures/tool_stoneshovel.png    | Bin
 .../default}/textures/tool_stonesword.png     | Bin
 .../default}/textures/tool_woodaxe.png        | Bin
 .../default}/textures/tool_woodpick.png       | Bin
 .../default}/textures/tool_woodshovel.png     | Bin
 .../default}/textures/tool_woodsword.png      | Bin
 data/{ => mods/default}/textures/torch.png    | Bin
 .../default}/textures/torch_on_ceiling.png    | Bin
 .../default}/textures/torch_on_floor.png      | Bin
 data/{ => mods/default}/textures/tree.png     | Bin
 data/{ => mods/default}/textures/tree_top.png | Bin
 data/{ => mods/default}/textures/treeprop.png | Bin
 .../default}/textures/unknown_block.png       | Bin
 .../default}/textures/unknown_object.png      | Bin
 data/{ => mods/default}/textures/water.png    | Bin
 data/{ => mods/default}/textures/wood.png     | Bin
 src/game.cpp                                  |   4 +--
 src/server.cpp                                |  28 +++++++++++++-----
 src/tile.cpp                                  |   2 +-
 111 files changed, 28 insertions(+), 10 deletions(-)
 rename data/{textures => clienttextures}/fontlucida.png (100%)
 rename data/{textures => clienttextures}/menulogo.png (100%)
 rename data/{textures => clienttextures}/mud.png (100%)
 rename data/{scripts/default.lua => mods/default/init.lua} (98%)
 rename data/{ => mods/default}/textures/apple.png (100%)
 rename data/{ => mods/default}/textures/apple_iron.png (100%)
 rename data/{ => mods/default}/textures/book.png (100%)
 rename data/{ => mods/default}/textures/bookshelf.png (100%)
 rename data/{ => mods/default}/textures/brick.png (100%)
 rename data/{ => mods/default}/textures/cactus_side.png (100%)
 rename data/{ => mods/default}/textures/cactus_top.png (100%)
 rename data/{ => mods/default}/textures/chest_front.png (100%)
 rename data/{ => mods/default}/textures/chest_lock.png (100%)
 rename data/{ => mods/default}/textures/chest_side.png (100%)
 rename data/{ => mods/default}/textures/chest_top.png (100%)
 rename data/{ => mods/default}/textures/clay.png (100%)
 rename data/{ => mods/default}/textures/clay_brick.png (100%)
 rename data/{ => mods/default}/textures/cloud.png (100%)
 rename data/{ => mods/default}/textures/cobble.png (100%)
 rename data/{ => mods/default}/textures/cooked_rat.png (100%)
 rename data/{ => mods/default}/textures/crack.png (100%)
 rename data/{ => mods/default}/textures/dungeon_master.png (100%)
 rename data/{ => mods/default}/textures/fence.png (100%)
 rename data/{ => mods/default}/textures/fireball.png (100%)
 rename data/{ => mods/default}/textures/firefly.png (100%)
 rename data/{ => mods/default}/textures/furnace_front.png (100%)
 rename data/{ => mods/default}/textures/furnace_side.png (100%)
 rename data/{ => mods/default}/textures/glass.png (100%)
 rename data/{ => mods/default}/textures/grass.png (100%)
 rename data/{ => mods/default}/textures/grass_footsteps.png (100%)
 rename data/{ => mods/default}/textures/grass_side.png (100%)
 rename data/{ => mods/default}/textures/gravel.png (100%)
 rename data/{ => mods/default}/textures/heart.png (100%)
 rename data/{ => mods/default}/textures/junglegrass.png (100%)
 rename data/{ => mods/default}/textures/jungletree.png (100%)
 rename data/{ => mods/default}/textures/jungletree_top.png (100%)
 rename data/{ => mods/default}/textures/ladder.png (100%)
 rename data/{ => mods/default}/textures/lava.png (100%)
 rename data/{ => mods/default}/textures/leaves.png (100%)
 rename data/{ => mods/default}/textures/lump_of_clay.png (100%)
 rename data/{ => mods/default}/textures/lump_of_coal.png (100%)
 rename data/{ => mods/default}/textures/lump_of_iron.png (100%)
 rename data/{ => mods/default}/textures/mese.png (100%)
 rename data/{ => mods/default}/textures/mineral_coal.png (100%)
 rename data/{ => mods/default}/textures/mineral_iron.png (100%)
 rename data/{ => mods/default}/textures/mossycobble.png (100%)
 create mode 100644 data/mods/default/textures/mud.png
 rename data/{ => mods/default}/textures/nc_back.png (100%)
 rename data/{ => mods/default}/textures/nc_front.png (100%)
 rename data/{ => mods/default}/textures/nc_rb.png (100%)
 rename data/{ => mods/default}/textures/nc_side.png (100%)
 rename data/{ => mods/default}/textures/oerkki1.png (100%)
 rename data/{ => mods/default}/textures/oerkki1_damaged.png (100%)
 rename data/{ => mods/default}/textures/paper.png (100%)
 rename data/{ => mods/default}/textures/papyrus.png (100%)
 rename data/{ => mods/default}/textures/player.png (100%)
 rename data/{ => mods/default}/textures/player_back.png (100%)
 rename data/{ => mods/default}/textures/rail.png (100%)
 rename data/{ => mods/default}/textures/rail_crossing.png (100%)
 rename data/{ => mods/default}/textures/rail_curved.png (100%)
 rename data/{ => mods/default}/textures/rail_t_junction.png (100%)
 rename data/{ => mods/default}/textures/rat.png (100%)
 rename data/{ => mods/default}/textures/sand.png (100%)
 rename data/{ => mods/default}/textures/sandstone.png (100%)
 rename data/{ => mods/default}/textures/sapling.png (100%)
 rename data/{ => mods/default}/textures/scorched_stuff.png (100%)
 rename data/{ => mods/default}/textures/sign.png (100%)
 rename data/{ => mods/default}/textures/sign_back.png (100%)
 rename data/{ => mods/default}/textures/sign_wall.png (100%)
 rename data/{ => mods/default}/textures/skybox1.png (100%)
 rename data/{ => mods/default}/textures/skybox1_dawn.png (100%)
 rename data/{ => mods/default}/textures/skybox1_night.png (100%)
 rename data/{ => mods/default}/textures/skybox2.png (100%)
 rename data/{ => mods/default}/textures/skybox2_dawn.png (100%)
 rename data/{ => mods/default}/textures/skybox2_night.png (100%)
 rename data/{ => mods/default}/textures/skybox3.png (100%)
 rename data/{ => mods/default}/textures/skybox3_dawn.png (100%)
 rename data/{ => mods/default}/textures/skybox3_night.png (100%)
 rename data/{ => mods/default}/textures/steel_block.png (100%)
 rename data/{ => mods/default}/textures/steel_ingot.png (100%)
 rename data/{ => mods/default}/textures/stick.png (100%)
 rename data/{ => mods/default}/textures/stone.png (100%)
 rename data/{ => mods/default}/textures/tnt_bottom.png (100%)
 rename data/{ => mods/default}/textures/tnt_side.png (100%)
 rename data/{ => mods/default}/textures/tnt_top.png (100%)
 rename data/{ => mods/default}/textures/tool_mesepick.png (100%)
 rename data/{ => mods/default}/textures/tool_steelaxe.png (100%)
 rename data/{ => mods/default}/textures/tool_steelpick.png (100%)
 rename data/{ => mods/default}/textures/tool_steelshovel.png (100%)
 rename data/{ => mods/default}/textures/tool_steelsword.png (100%)
 rename data/{ => mods/default}/textures/tool_stoneaxe.png (100%)
 rename data/{ => mods/default}/textures/tool_stonepick.png (100%)
 rename data/{ => mods/default}/textures/tool_stoneshovel.png (100%)
 rename data/{ => mods/default}/textures/tool_stonesword.png (100%)
 rename data/{ => mods/default}/textures/tool_woodaxe.png (100%)
 rename data/{ => mods/default}/textures/tool_woodpick.png (100%)
 rename data/{ => mods/default}/textures/tool_woodshovel.png (100%)
 rename data/{ => mods/default}/textures/tool_woodsword.png (100%)
 rename data/{ => mods/default}/textures/torch.png (100%)
 rename data/{ => mods/default}/textures/torch_on_ceiling.png (100%)
 rename data/{ => mods/default}/textures/torch_on_floor.png (100%)
 rename data/{ => mods/default}/textures/tree.png (100%)
 rename data/{ => mods/default}/textures/tree_top.png (100%)
 rename data/{ => mods/default}/textures/treeprop.png (100%)
 rename data/{ => mods/default}/textures/unknown_block.png (100%)
 rename data/{ => mods/default}/textures/unknown_object.png (100%)
 rename data/{ => mods/default}/textures/water.png (100%)
 rename data/{ => mods/default}/textures/wood.png (100%)

diff --git a/data/textures/fontlucida.png b/data/clienttextures/fontlucida.png
similarity index 100%
rename from data/textures/fontlucida.png
rename to data/clienttextures/fontlucida.png
diff --git a/data/textures/menulogo.png b/data/clienttextures/menulogo.png
similarity index 100%
rename from data/textures/menulogo.png
rename to data/clienttextures/menulogo.png
diff --git a/data/textures/mud.png b/data/clienttextures/mud.png
similarity index 100%
rename from data/textures/mud.png
rename to data/clienttextures/mud.png
diff --git a/data/scripts/default.lua b/data/mods/default/init.lua
similarity index 98%
rename from data/scripts/default.lua
rename to data/mods/default/init.lua
index b677cefd0..a60979ff4 100644
--- a/data/scripts/default.lua
+++ b/data/mods/default/init.lua
@@ -72,6 +72,10 @@ function dump(o, dumped)
 	end
 end
 
+-- Textures:
+-- Mods should prefix their textures with modname_, eg. given the mod
+-- name "foomod", a texture could be called "foomod_superfurnace.png"
+--
 -- Global functions:
 -- minetest.register_entity(name, prototype_table)
 -- minetest.register_globalstep(func)
diff --git a/data/textures/apple.png b/data/mods/default/textures/apple.png
similarity index 100%
rename from data/textures/apple.png
rename to data/mods/default/textures/apple.png
diff --git a/data/textures/apple_iron.png b/data/mods/default/textures/apple_iron.png
similarity index 100%
rename from data/textures/apple_iron.png
rename to data/mods/default/textures/apple_iron.png
diff --git a/data/textures/book.png b/data/mods/default/textures/book.png
similarity index 100%
rename from data/textures/book.png
rename to data/mods/default/textures/book.png
diff --git a/data/textures/bookshelf.png b/data/mods/default/textures/bookshelf.png
similarity index 100%
rename from data/textures/bookshelf.png
rename to data/mods/default/textures/bookshelf.png
diff --git a/data/textures/brick.png b/data/mods/default/textures/brick.png
similarity index 100%
rename from data/textures/brick.png
rename to data/mods/default/textures/brick.png
diff --git a/data/textures/cactus_side.png b/data/mods/default/textures/cactus_side.png
similarity index 100%
rename from data/textures/cactus_side.png
rename to data/mods/default/textures/cactus_side.png
diff --git a/data/textures/cactus_top.png b/data/mods/default/textures/cactus_top.png
similarity index 100%
rename from data/textures/cactus_top.png
rename to data/mods/default/textures/cactus_top.png
diff --git a/data/textures/chest_front.png b/data/mods/default/textures/chest_front.png
similarity index 100%
rename from data/textures/chest_front.png
rename to data/mods/default/textures/chest_front.png
diff --git a/data/textures/chest_lock.png b/data/mods/default/textures/chest_lock.png
similarity index 100%
rename from data/textures/chest_lock.png
rename to data/mods/default/textures/chest_lock.png
diff --git a/data/textures/chest_side.png b/data/mods/default/textures/chest_side.png
similarity index 100%
rename from data/textures/chest_side.png
rename to data/mods/default/textures/chest_side.png
diff --git a/data/textures/chest_top.png b/data/mods/default/textures/chest_top.png
similarity index 100%
rename from data/textures/chest_top.png
rename to data/mods/default/textures/chest_top.png
diff --git a/data/textures/clay.png b/data/mods/default/textures/clay.png
similarity index 100%
rename from data/textures/clay.png
rename to data/mods/default/textures/clay.png
diff --git a/data/textures/clay_brick.png b/data/mods/default/textures/clay_brick.png
similarity index 100%
rename from data/textures/clay_brick.png
rename to data/mods/default/textures/clay_brick.png
diff --git a/data/textures/cloud.png b/data/mods/default/textures/cloud.png
similarity index 100%
rename from data/textures/cloud.png
rename to data/mods/default/textures/cloud.png
diff --git a/data/textures/cobble.png b/data/mods/default/textures/cobble.png
similarity index 100%
rename from data/textures/cobble.png
rename to data/mods/default/textures/cobble.png
diff --git a/data/textures/cooked_rat.png b/data/mods/default/textures/cooked_rat.png
similarity index 100%
rename from data/textures/cooked_rat.png
rename to data/mods/default/textures/cooked_rat.png
diff --git a/data/textures/crack.png b/data/mods/default/textures/crack.png
similarity index 100%
rename from data/textures/crack.png
rename to data/mods/default/textures/crack.png
diff --git a/data/textures/dungeon_master.png b/data/mods/default/textures/dungeon_master.png
similarity index 100%
rename from data/textures/dungeon_master.png
rename to data/mods/default/textures/dungeon_master.png
diff --git a/data/textures/fence.png b/data/mods/default/textures/fence.png
similarity index 100%
rename from data/textures/fence.png
rename to data/mods/default/textures/fence.png
diff --git a/data/textures/fireball.png b/data/mods/default/textures/fireball.png
similarity index 100%
rename from data/textures/fireball.png
rename to data/mods/default/textures/fireball.png
diff --git a/data/textures/firefly.png b/data/mods/default/textures/firefly.png
similarity index 100%
rename from data/textures/firefly.png
rename to data/mods/default/textures/firefly.png
diff --git a/data/textures/furnace_front.png b/data/mods/default/textures/furnace_front.png
similarity index 100%
rename from data/textures/furnace_front.png
rename to data/mods/default/textures/furnace_front.png
diff --git a/data/textures/furnace_side.png b/data/mods/default/textures/furnace_side.png
similarity index 100%
rename from data/textures/furnace_side.png
rename to data/mods/default/textures/furnace_side.png
diff --git a/data/textures/glass.png b/data/mods/default/textures/glass.png
similarity index 100%
rename from data/textures/glass.png
rename to data/mods/default/textures/glass.png
diff --git a/data/textures/grass.png b/data/mods/default/textures/grass.png
similarity index 100%
rename from data/textures/grass.png
rename to data/mods/default/textures/grass.png
diff --git a/data/textures/grass_footsteps.png b/data/mods/default/textures/grass_footsteps.png
similarity index 100%
rename from data/textures/grass_footsteps.png
rename to data/mods/default/textures/grass_footsteps.png
diff --git a/data/textures/grass_side.png b/data/mods/default/textures/grass_side.png
similarity index 100%
rename from data/textures/grass_side.png
rename to data/mods/default/textures/grass_side.png
diff --git a/data/textures/gravel.png b/data/mods/default/textures/gravel.png
similarity index 100%
rename from data/textures/gravel.png
rename to data/mods/default/textures/gravel.png
diff --git a/data/textures/heart.png b/data/mods/default/textures/heart.png
similarity index 100%
rename from data/textures/heart.png
rename to data/mods/default/textures/heart.png
diff --git a/data/textures/junglegrass.png b/data/mods/default/textures/junglegrass.png
similarity index 100%
rename from data/textures/junglegrass.png
rename to data/mods/default/textures/junglegrass.png
diff --git a/data/textures/jungletree.png b/data/mods/default/textures/jungletree.png
similarity index 100%
rename from data/textures/jungletree.png
rename to data/mods/default/textures/jungletree.png
diff --git a/data/textures/jungletree_top.png b/data/mods/default/textures/jungletree_top.png
similarity index 100%
rename from data/textures/jungletree_top.png
rename to data/mods/default/textures/jungletree_top.png
diff --git a/data/textures/ladder.png b/data/mods/default/textures/ladder.png
similarity index 100%
rename from data/textures/ladder.png
rename to data/mods/default/textures/ladder.png
diff --git a/data/textures/lava.png b/data/mods/default/textures/lava.png
similarity index 100%
rename from data/textures/lava.png
rename to data/mods/default/textures/lava.png
diff --git a/data/textures/leaves.png b/data/mods/default/textures/leaves.png
similarity index 100%
rename from data/textures/leaves.png
rename to data/mods/default/textures/leaves.png
diff --git a/data/textures/lump_of_clay.png b/data/mods/default/textures/lump_of_clay.png
similarity index 100%
rename from data/textures/lump_of_clay.png
rename to data/mods/default/textures/lump_of_clay.png
diff --git a/data/textures/lump_of_coal.png b/data/mods/default/textures/lump_of_coal.png
similarity index 100%
rename from data/textures/lump_of_coal.png
rename to data/mods/default/textures/lump_of_coal.png
diff --git a/data/textures/lump_of_iron.png b/data/mods/default/textures/lump_of_iron.png
similarity index 100%
rename from data/textures/lump_of_iron.png
rename to data/mods/default/textures/lump_of_iron.png
diff --git a/data/textures/mese.png b/data/mods/default/textures/mese.png
similarity index 100%
rename from data/textures/mese.png
rename to data/mods/default/textures/mese.png
diff --git a/data/textures/mineral_coal.png b/data/mods/default/textures/mineral_coal.png
similarity index 100%
rename from data/textures/mineral_coal.png
rename to data/mods/default/textures/mineral_coal.png
diff --git a/data/textures/mineral_iron.png b/data/mods/default/textures/mineral_iron.png
similarity index 100%
rename from data/textures/mineral_iron.png
rename to data/mods/default/textures/mineral_iron.png
diff --git a/data/textures/mossycobble.png b/data/mods/default/textures/mossycobble.png
similarity index 100%
rename from data/textures/mossycobble.png
rename to data/mods/default/textures/mossycobble.png
diff --git a/data/mods/default/textures/mud.png b/data/mods/default/textures/mud.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cb9c89a637584b4e53c82a7c6eb1ec7109befae
GIT binary patch
literal 1586
zcmZuw2~d+q6kb75sRsk0q?k5{zaXLY3W9(a3WY_b(ZE<K9v~t$tWxFZXs}g_qP0L4
zTC5rBK?NNOYAQ<*7(^Tn3sP(GV5=Y_0#ZZ-u?1zj!5IgnJF~m*{qx>_-}~PC4=Mb-
zCz@KD0stmLAJ5hNHZ$yTM*K|HggXOZ3=}K;y|~K;HygYd_n2W(N(mttV}uZdP!I$P
z00964fB=912s~@VCrSY!0Aqj<fDj1(7eoOifM9?TKoCHIzceCkBs?R8VoVUi5F$Zf
z7*m7@gqYh1Q3we)Af)`{R2e0dV1f}w5J3S7gb_?JA_!tAAOSOsD1rnESU?Ox$|D5G
zpfH$E>04-!kfDGG<2RUGpVzRQivgMAj}(tFLMbMMCqjgH1f~=b0x{+`qLjbS4M-_J
z1vY{`BaC875Wx^5&KEO^D1ij?IuN6f5?&u<l-F&@9uCHp8H&dRd;`gw`x=!~;lP9N
zBa{QfmE-QvQVdOIm{5cXL|A|b2=pzj0Vg^{Zh#1VD+6M}5T+3E9$+A#;pG};1T%st
zhJ<$x0>tYaJ`E5I?++&lC<X)p9?k%v026>PA6vozrkn!cK!dARW;7ZAqYmil;Xk8x
zOex()Ljl;>&o<e|NLpI$vhPWbEi07RO^;8=J!9ixlJM=yaobGHn=a@*nx@|oX3CB_
zl?QGV&?O;krS@vgjhG<!E?2d*?|I7?6P9J+l*;Rodq1Ooc577|7E>tgTV{MB@<Hmk
zy2q|c^St{x8u5Z%vnH>b^GU|kY#+M@6QhfTqKscG$EO}~h?Y0SX~b!+=X-vW2P^CC
zOE1gUWNA;A{T|`yqmErDI$N!&=)c?jWchZ_!nMl>&VLnMmSVE1;auPn<I&q2PGznM
zxVXgkz4V8&$pHbId-Wz;zN^S@aFV4wdhYC%WUp15cXWeCy#b^s?rz<_4^|h5JF}Wp
zU7aOA9Zy6rKhn*A)to2`NI0R8Jz40!JI~#CcFntHE<OKbOT%13^z{~@);i#QCq3ep
zL>n|(q-;%E9DAfn*VT5@WtYVs_RuFy`_69T&H;7zq$%~PLRE~nZ{ai_oo0qY?o}pv
zkx_0ntu5BM^m2$(uI=?IY4OK7d;Vx^iKuUnpIhX(Q?OX->^C>e_eEm+nW#%geM*X3
zOHoAh%n6^m_38d?NK2AgJM`c5v<w+IGtX*&i&aL}@juJ=-=6yS-qPCOzYbK?IhhB=
zw;jEt31r~|V*LUOQndG^Y2~xt3$@+KUkmb6^5X7~(N}w`&ZmZ+a!Ss!X&U9P$P6kr
zI~1!qsnfl>a@ghJwKDMqkkYKL6vbCr9@%nFQnfi|&H}rRuSHf>1##()ElxLbrMJId
zpVWIcqWS5hyFCZ5_|9(3mo~82t0k>9i@%W^D{WTTtUK&jvi`KGJSuF}X1pZ4Lf6^<
zV{gGVrQ1uJ<xg)%Cf(a%7WebGkc!VIZm`@s);ZB#zv#gzO%8Eay9c*FoB#g$vKKoq
zM$L0or+V1lStw63vl34t&Y2(1Djpl4EJ~l?rghj;cT0J2{OT2DWAjAX&|5z=%8SnR
z+cxVR#gRGTTV3SRMulq1fy2p*%r{*YovdzV)?e;WJ$7*DGW-G1%g-}+>BfEk0s5W!
A1poj5

literal 0
HcmV?d00001

diff --git a/data/textures/nc_back.png b/data/mods/default/textures/nc_back.png
similarity index 100%
rename from data/textures/nc_back.png
rename to data/mods/default/textures/nc_back.png
diff --git a/data/textures/nc_front.png b/data/mods/default/textures/nc_front.png
similarity index 100%
rename from data/textures/nc_front.png
rename to data/mods/default/textures/nc_front.png
diff --git a/data/textures/nc_rb.png b/data/mods/default/textures/nc_rb.png
similarity index 100%
rename from data/textures/nc_rb.png
rename to data/mods/default/textures/nc_rb.png
diff --git a/data/textures/nc_side.png b/data/mods/default/textures/nc_side.png
similarity index 100%
rename from data/textures/nc_side.png
rename to data/mods/default/textures/nc_side.png
diff --git a/data/textures/oerkki1.png b/data/mods/default/textures/oerkki1.png
similarity index 100%
rename from data/textures/oerkki1.png
rename to data/mods/default/textures/oerkki1.png
diff --git a/data/textures/oerkki1_damaged.png b/data/mods/default/textures/oerkki1_damaged.png
similarity index 100%
rename from data/textures/oerkki1_damaged.png
rename to data/mods/default/textures/oerkki1_damaged.png
diff --git a/data/textures/paper.png b/data/mods/default/textures/paper.png
similarity index 100%
rename from data/textures/paper.png
rename to data/mods/default/textures/paper.png
diff --git a/data/textures/papyrus.png b/data/mods/default/textures/papyrus.png
similarity index 100%
rename from data/textures/papyrus.png
rename to data/mods/default/textures/papyrus.png
diff --git a/data/textures/player.png b/data/mods/default/textures/player.png
similarity index 100%
rename from data/textures/player.png
rename to data/mods/default/textures/player.png
diff --git a/data/textures/player_back.png b/data/mods/default/textures/player_back.png
similarity index 100%
rename from data/textures/player_back.png
rename to data/mods/default/textures/player_back.png
diff --git a/data/textures/rail.png b/data/mods/default/textures/rail.png
similarity index 100%
rename from data/textures/rail.png
rename to data/mods/default/textures/rail.png
diff --git a/data/textures/rail_crossing.png b/data/mods/default/textures/rail_crossing.png
similarity index 100%
rename from data/textures/rail_crossing.png
rename to data/mods/default/textures/rail_crossing.png
diff --git a/data/textures/rail_curved.png b/data/mods/default/textures/rail_curved.png
similarity index 100%
rename from data/textures/rail_curved.png
rename to data/mods/default/textures/rail_curved.png
diff --git a/data/textures/rail_t_junction.png b/data/mods/default/textures/rail_t_junction.png
similarity index 100%
rename from data/textures/rail_t_junction.png
rename to data/mods/default/textures/rail_t_junction.png
diff --git a/data/textures/rat.png b/data/mods/default/textures/rat.png
similarity index 100%
rename from data/textures/rat.png
rename to data/mods/default/textures/rat.png
diff --git a/data/textures/sand.png b/data/mods/default/textures/sand.png
similarity index 100%
rename from data/textures/sand.png
rename to data/mods/default/textures/sand.png
diff --git a/data/textures/sandstone.png b/data/mods/default/textures/sandstone.png
similarity index 100%
rename from data/textures/sandstone.png
rename to data/mods/default/textures/sandstone.png
diff --git a/data/textures/sapling.png b/data/mods/default/textures/sapling.png
similarity index 100%
rename from data/textures/sapling.png
rename to data/mods/default/textures/sapling.png
diff --git a/data/textures/scorched_stuff.png b/data/mods/default/textures/scorched_stuff.png
similarity index 100%
rename from data/textures/scorched_stuff.png
rename to data/mods/default/textures/scorched_stuff.png
diff --git a/data/textures/sign.png b/data/mods/default/textures/sign.png
similarity index 100%
rename from data/textures/sign.png
rename to data/mods/default/textures/sign.png
diff --git a/data/textures/sign_back.png b/data/mods/default/textures/sign_back.png
similarity index 100%
rename from data/textures/sign_back.png
rename to data/mods/default/textures/sign_back.png
diff --git a/data/textures/sign_wall.png b/data/mods/default/textures/sign_wall.png
similarity index 100%
rename from data/textures/sign_wall.png
rename to data/mods/default/textures/sign_wall.png
diff --git a/data/textures/skybox1.png b/data/mods/default/textures/skybox1.png
similarity index 100%
rename from data/textures/skybox1.png
rename to data/mods/default/textures/skybox1.png
diff --git a/data/textures/skybox1_dawn.png b/data/mods/default/textures/skybox1_dawn.png
similarity index 100%
rename from data/textures/skybox1_dawn.png
rename to data/mods/default/textures/skybox1_dawn.png
diff --git a/data/textures/skybox1_night.png b/data/mods/default/textures/skybox1_night.png
similarity index 100%
rename from data/textures/skybox1_night.png
rename to data/mods/default/textures/skybox1_night.png
diff --git a/data/textures/skybox2.png b/data/mods/default/textures/skybox2.png
similarity index 100%
rename from data/textures/skybox2.png
rename to data/mods/default/textures/skybox2.png
diff --git a/data/textures/skybox2_dawn.png b/data/mods/default/textures/skybox2_dawn.png
similarity index 100%
rename from data/textures/skybox2_dawn.png
rename to data/mods/default/textures/skybox2_dawn.png
diff --git a/data/textures/skybox2_night.png b/data/mods/default/textures/skybox2_night.png
similarity index 100%
rename from data/textures/skybox2_night.png
rename to data/mods/default/textures/skybox2_night.png
diff --git a/data/textures/skybox3.png b/data/mods/default/textures/skybox3.png
similarity index 100%
rename from data/textures/skybox3.png
rename to data/mods/default/textures/skybox3.png
diff --git a/data/textures/skybox3_dawn.png b/data/mods/default/textures/skybox3_dawn.png
similarity index 100%
rename from data/textures/skybox3_dawn.png
rename to data/mods/default/textures/skybox3_dawn.png
diff --git a/data/textures/skybox3_night.png b/data/mods/default/textures/skybox3_night.png
similarity index 100%
rename from data/textures/skybox3_night.png
rename to data/mods/default/textures/skybox3_night.png
diff --git a/data/textures/steel_block.png b/data/mods/default/textures/steel_block.png
similarity index 100%
rename from data/textures/steel_block.png
rename to data/mods/default/textures/steel_block.png
diff --git a/data/textures/steel_ingot.png b/data/mods/default/textures/steel_ingot.png
similarity index 100%
rename from data/textures/steel_ingot.png
rename to data/mods/default/textures/steel_ingot.png
diff --git a/data/textures/stick.png b/data/mods/default/textures/stick.png
similarity index 100%
rename from data/textures/stick.png
rename to data/mods/default/textures/stick.png
diff --git a/data/textures/stone.png b/data/mods/default/textures/stone.png
similarity index 100%
rename from data/textures/stone.png
rename to data/mods/default/textures/stone.png
diff --git a/data/textures/tnt_bottom.png b/data/mods/default/textures/tnt_bottom.png
similarity index 100%
rename from data/textures/tnt_bottom.png
rename to data/mods/default/textures/tnt_bottom.png
diff --git a/data/textures/tnt_side.png b/data/mods/default/textures/tnt_side.png
similarity index 100%
rename from data/textures/tnt_side.png
rename to data/mods/default/textures/tnt_side.png
diff --git a/data/textures/tnt_top.png b/data/mods/default/textures/tnt_top.png
similarity index 100%
rename from data/textures/tnt_top.png
rename to data/mods/default/textures/tnt_top.png
diff --git a/data/textures/tool_mesepick.png b/data/mods/default/textures/tool_mesepick.png
similarity index 100%
rename from data/textures/tool_mesepick.png
rename to data/mods/default/textures/tool_mesepick.png
diff --git a/data/textures/tool_steelaxe.png b/data/mods/default/textures/tool_steelaxe.png
similarity index 100%
rename from data/textures/tool_steelaxe.png
rename to data/mods/default/textures/tool_steelaxe.png
diff --git a/data/textures/tool_steelpick.png b/data/mods/default/textures/tool_steelpick.png
similarity index 100%
rename from data/textures/tool_steelpick.png
rename to data/mods/default/textures/tool_steelpick.png
diff --git a/data/textures/tool_steelshovel.png b/data/mods/default/textures/tool_steelshovel.png
similarity index 100%
rename from data/textures/tool_steelshovel.png
rename to data/mods/default/textures/tool_steelshovel.png
diff --git a/data/textures/tool_steelsword.png b/data/mods/default/textures/tool_steelsword.png
similarity index 100%
rename from data/textures/tool_steelsword.png
rename to data/mods/default/textures/tool_steelsword.png
diff --git a/data/textures/tool_stoneaxe.png b/data/mods/default/textures/tool_stoneaxe.png
similarity index 100%
rename from data/textures/tool_stoneaxe.png
rename to data/mods/default/textures/tool_stoneaxe.png
diff --git a/data/textures/tool_stonepick.png b/data/mods/default/textures/tool_stonepick.png
similarity index 100%
rename from data/textures/tool_stonepick.png
rename to data/mods/default/textures/tool_stonepick.png
diff --git a/data/textures/tool_stoneshovel.png b/data/mods/default/textures/tool_stoneshovel.png
similarity index 100%
rename from data/textures/tool_stoneshovel.png
rename to data/mods/default/textures/tool_stoneshovel.png
diff --git a/data/textures/tool_stonesword.png b/data/mods/default/textures/tool_stonesword.png
similarity index 100%
rename from data/textures/tool_stonesword.png
rename to data/mods/default/textures/tool_stonesword.png
diff --git a/data/textures/tool_woodaxe.png b/data/mods/default/textures/tool_woodaxe.png
similarity index 100%
rename from data/textures/tool_woodaxe.png
rename to data/mods/default/textures/tool_woodaxe.png
diff --git a/data/textures/tool_woodpick.png b/data/mods/default/textures/tool_woodpick.png
similarity index 100%
rename from data/textures/tool_woodpick.png
rename to data/mods/default/textures/tool_woodpick.png
diff --git a/data/textures/tool_woodshovel.png b/data/mods/default/textures/tool_woodshovel.png
similarity index 100%
rename from data/textures/tool_woodshovel.png
rename to data/mods/default/textures/tool_woodshovel.png
diff --git a/data/textures/tool_woodsword.png b/data/mods/default/textures/tool_woodsword.png
similarity index 100%
rename from data/textures/tool_woodsword.png
rename to data/mods/default/textures/tool_woodsword.png
diff --git a/data/textures/torch.png b/data/mods/default/textures/torch.png
similarity index 100%
rename from data/textures/torch.png
rename to data/mods/default/textures/torch.png
diff --git a/data/textures/torch_on_ceiling.png b/data/mods/default/textures/torch_on_ceiling.png
similarity index 100%
rename from data/textures/torch_on_ceiling.png
rename to data/mods/default/textures/torch_on_ceiling.png
diff --git a/data/textures/torch_on_floor.png b/data/mods/default/textures/torch_on_floor.png
similarity index 100%
rename from data/textures/torch_on_floor.png
rename to data/mods/default/textures/torch_on_floor.png
diff --git a/data/textures/tree.png b/data/mods/default/textures/tree.png
similarity index 100%
rename from data/textures/tree.png
rename to data/mods/default/textures/tree.png
diff --git a/data/textures/tree_top.png b/data/mods/default/textures/tree_top.png
similarity index 100%
rename from data/textures/tree_top.png
rename to data/mods/default/textures/tree_top.png
diff --git a/data/textures/treeprop.png b/data/mods/default/textures/treeprop.png
similarity index 100%
rename from data/textures/treeprop.png
rename to data/mods/default/textures/treeprop.png
diff --git a/data/textures/unknown_block.png b/data/mods/default/textures/unknown_block.png
similarity index 100%
rename from data/textures/unknown_block.png
rename to data/mods/default/textures/unknown_block.png
diff --git a/data/textures/unknown_object.png b/data/mods/default/textures/unknown_object.png
similarity index 100%
rename from data/textures/unknown_object.png
rename to data/mods/default/textures/unknown_object.png
diff --git a/data/textures/water.png b/data/mods/default/textures/water.png
similarity index 100%
rename from data/textures/water.png
rename to data/mods/default/textures/water.png
diff --git a/data/textures/wood.png b/data/mods/default/textures/wood.png
similarity index 100%
rename from data/textures/wood.png
rename to data/mods/default/textures/wood.png
diff --git a/src/game.cpp b/src/game.cpp
index 6c75863c0..fc87deb29 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -256,9 +256,9 @@ void draw_hotbar(video::IVideoDriver *driver, gui::IGUIFont *font,
 	/*
 		Draw hearts
 	*/
+	video::ITexture *heart_texture = tsrc->getTextureRaw("heart.png");
+	if(heart_texture)
 	{
-		video::ITexture *heart_texture =
-				driver->getTexture(getTexturePath("heart.png").c_str());
 		v2s32 p = pos + v2s32(0, -20);
 		for(s32 i=0; i<halfheartcount/2; i++)
 		{
diff --git a/src/server.cpp b/src/server.cpp
index ee5e301f1..9a7f1e972 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -997,13 +997,27 @@ Server::Server(
 	// Export API
 	scriptapi_export(m_lua, this);
 	// Load and run scripts
-	std::string defaultscript = porting::path_data + DIR_DELIM
-			+ "scripts" + DIR_DELIM + "default.lua";
-	bool success = script_load(m_lua, defaultscript.c_str());
-	if(!success){
-		errorstream<<"Server: Failed to load and run "
-				<<defaultscript<<std::endl;
-		assert(0);
+	core::list<std::string> modspaths;
+	modspaths.push_back(porting::path_data + DIR_DELIM + "mods");
+	for(core::list<std::string>::Iterator i = modspaths.begin();
+			i != modspaths.end(); i++){
+		std::string modspath = *i;
+		std::vector<fs::DirListNode> dirlist = fs::GetDirListing(modspath);
+		for(u32 j=0; j<dirlist.size(); j++){
+			if(!dirlist[j].dir)
+				continue;
+			std::string modname = dirlist[j].name;
+			infostream<<"Server: Loading mod \""<<modname<<"\" script..."
+					<<std::endl;
+			std::string scriptpath = modspath + DIR_DELIM + modname
+					+ DIR_DELIM + "init.lua";
+			bool success = script_load(m_lua, scriptpath.c_str());
+			if(!success){
+				errorstream<<"Server: Failed to load and run "
+						<<scriptpath<<std::endl;
+				assert(0);
+			}
+		}
 	}
 	
 	// Initialize Environment
diff --git a/src/tile.cpp b/src/tile.cpp
index c8fffffa7..eb3616f02 100644
--- a/src/tile.cpp
+++ b/src/tile.cpp
@@ -132,7 +132,7 @@ std::string getTexturePath(const std::string &filename)
 	*/
 	if(fullpath == "")
 	{
-		std::string rel_path = std::string("textures")+DIR_DELIM+filename;
+		std::string rel_path = std::string("clienttextures")+DIR_DELIM+filename;
 		std::string testpath = porting::path_data + DIR_DELIM + rel_path;
 		// Check all filename extensions. Returns "" if not found.
 		fullpath = getImagePath(testpath);
-- 
GitLab