From cba9a16f19e87bf5ef2d31bacc15dff3ee740d22 Mon Sep 17 00:00:00 2001 From: Craig Date: Tue, 6 May 2014 19:22:16 +0100 Subject: [PATCH] Remove useless mods --- mods/bucket/README.txt | 26 - mods/bucket/depends.txt | 2 - mods/bucket/init.lua | 144 ----- mods/bucket/textures/bucket.png | Bin 278 -> 0 bytes mods/bucket/textures/bucket_lava.png | Bin 287 -> 0 bytes mods/bucket/textures/bucket_water.png | Bin 288 -> 0 bytes mods/creative/README.txt | 22 - mods/creative/depends.txt | 1 - mods/creative/init.lua | 165 ------ mods/doors/README.txt | 23 - mods/doors/depends.txt | 1 - mods/doors/init.lua | 291 ---------- mods/doors/textures/door_brown.png | Bin 109 -> 0 bytes mods/doors/textures/door_grey.png | Bin 109 -> 0 bytes mods/doors/textures/door_steel.png | Bin 185 -> 0 bytes mods/doors/textures/door_steel_a.png | Bin 178 -> 0 bytes mods/doors/textures/door_steel_b.png | Bin 181 -> 0 bytes mods/doors/textures/door_wood.png | Bin 132 -> 0 bytes mods/doors/textures/door_wood_a.png | Bin 190 -> 0 bytes mods/doors/textures/door_wood_b.png | Bin 184 -> 0 bytes mods/dye/README.txt | 15 - mods/dye/depends.txt | 0 mods/dye/init.lua | 139 ----- mods/dye/textures/dye_black.png | Bin 272 -> 0 bytes mods/dye/textures/dye_blue.png | Bin 266 -> 0 bytes mods/dye/textures/dye_brown.png | Bin 269 -> 0 bytes mods/dye/textures/dye_cyan.png | Bin 269 -> 0 bytes mods/dye/textures/dye_dark_green.png | Bin 271 -> 0 bytes mods/dye/textures/dye_dark_grey.png | Bin 272 -> 0 bytes mods/dye/textures/dye_green.png | Bin 272 -> 0 bytes mods/dye/textures/dye_grey.png | Bin 273 -> 0 bytes mods/dye/textures/dye_magenta.png | Bin 273 -> 0 bytes mods/dye/textures/dye_orange.png | Bin 273 -> 0 bytes mods/dye/textures/dye_pink.png | Bin 273 -> 0 bytes mods/dye/textures/dye_red.png | Bin 272 -> 0 bytes mods/dye/textures/dye_violet.png | Bin 272 -> 0 bytes mods/dye/textures/dye_white.png | Bin 273 -> 0 bytes mods/dye/textures/dye_yellow.png | Bin 273 -> 0 bytes mods/external_legacy/README.txt | 18 - mods/external_legacy/init.lua | 24 - mods/farming/README.txt | 57 -- mods/farming/depends.txt | 2 - mods/farming/init.lua | 502 ------------------ mods/farming/textures/farming_bread.png | Bin 552 -> 0 bytes mods/farming/textures/farming_cotton_1.png | Bin 136 -> 0 bytes mods/farming/textures/farming_cotton_2.png | Bin 161 -> 0 bytes mods/farming/textures/farming_cotton_3.png | Bin 189 -> 0 bytes mods/farming/textures/farming_cotton_4.png | Bin 220 -> 0 bytes mods/farming/textures/farming_cotton_5.png | Bin 263 -> 0 bytes mods/farming/textures/farming_cotton_6.png | Bin 342 -> 0 bytes mods/farming/textures/farming_cotton_7.png | Bin 359 -> 0 bytes mods/farming/textures/farming_cotton_8.png | Bin 339 -> 0 bytes mods/farming/textures/farming_cotton_seed.png | Bin 348 -> 0 bytes mods/farming/textures/farming_flour.png | Bin 378 -> 0 bytes mods/farming/textures/farming_soil.png | Bin 812 -> 0 bytes mods/farming/textures/farming_soil_wet.png | Bin 759 -> 0 bytes .../textures/farming_soil_wet_side.png | Bin 818 -> 0 bytes mods/farming/textures/farming_string.png | Bin 341 -> 0 bytes .../textures/farming_tool_bronzehoe.png | Bin 242 -> 0 bytes .../textures/farming_tool_steelhoe.png | Bin 248 -> 0 bytes .../textures/farming_tool_stonehoe.png | Bin 257 -> 0 bytes .../farming/textures/farming_tool_woodhoe.png | Bin 217 -> 0 bytes mods/farming/textures/farming_wheat.png | Bin 566 -> 0 bytes mods/farming/textures/farming_wheat_1.png | Bin 146 -> 0 bytes mods/farming/textures/farming_wheat_2.png | Bin 185 -> 0 bytes mods/farming/textures/farming_wheat_3.png | Bin 228 -> 0 bytes mods/farming/textures/farming_wheat_4.png | Bin 270 -> 0 bytes mods/farming/textures/farming_wheat_5.png | Bin 354 -> 0 bytes mods/farming/textures/farming_wheat_6.png | Bin 456 -> 0 bytes mods/farming/textures/farming_wheat_7.png | Bin 523 -> 0 bytes mods/farming/textures/farming_wheat_8.png | Bin 635 -> 0 bytes mods/farming/textures/farming_wheat_seed.png | Bin 372 -> 0 bytes mods/fire/README.txt | 32 -- mods/fire/init.lua | 192 ------- mods/fire/sounds/fire_large.ogg | Bin 62808 -> 0 bytes mods/fire/sounds/fire_small.ogg | Bin 50004 -> 0 bytes mods/fire/textures/fire_basic_flame.png | Bin 785 -> 0 bytes .../textures/fire_basic_flame_animated.png | Bin 1440 -> 0 bytes mods/flowers/README.txt | 16 - mods/flowers/depends.txt | 1 - mods/flowers/init.lua | 167 ------ mods/flowers/mapgen.lua | 62 --- .../textures/flowers_dandelion_white.png | Bin 132 -> 0 bytes .../textures/flowers_dandelion_yellow.png | Bin 131 -> 0 bytes mods/flowers/textures/flowers_geranium.png | Bin 312 -> 0 bytes mods/flowers/textures/flowers_rose.png | Bin 137 -> 0 bytes mods/flowers/textures/flowers_tulip.png | Bin 138 -> 0 bytes mods/flowers/textures/flowers_viola.png | Bin 125 -> 0 bytes mods/give_initial_stuff/depends.txt | 2 - mods/give_initial_stuff/init.lua | 12 - mods/legacy/depends.txt | 2 - mods/legacy/init.lua | 107 ---- mods/legacy/textures/apple_iron.png | Bin 189 -> 0 bytes mods/legacy/textures/cooked_rat.png | Bin 171 -> 0 bytes mods/legacy/textures/dungeon_master.png | Bin 5659 -> 0 bytes mods/legacy/textures/fireball.png | Bin 400 -> 0 bytes mods/legacy/textures/firefly.png | Bin 100 -> 0 bytes mods/legacy/textures/oerkki1.png | Bin 201 -> 0 bytes mods/legacy/textures/oerkki1_damaged.png | Bin 265 -> 0 bytes mods/legacy/textures/rat.png | Bin 891 -> 0 bytes mods/screwdriver/init.lua | 162 ------ mods/screwdriver/readme.txt | 18 - mods/screwdriver/textures/screwdriver.png | Bin 853 -> 0 bytes mods/screwdriver/textures/tool_mode1.png | Bin 284 -> 0 bytes mods/screwdriver/textures/tool_mode2.png | Bin 455 -> 0 bytes mods/screwdriver/textures/tool_mode3.png | Bin 468 -> 0 bytes mods/screwdriver/textures/tool_mode4.png | Bin 347 -> 0 bytes mods/stairs/README.txt | 26 - mods/stairs/depends.txt | 1 - mods/stairs/init.lua | 262 --------- mods/vessels/README.txt | 45 -- mods/vessels/depends.txt | 1 - mods/vessels/init.lua | 116 ---- .../alternates/vessels_drinking_glass.png | Bin 211 -> 0 bytes .../alternates/vessels_glass_bottle.png | Bin 209 -> 0 bytes .../alternates/vessels_steel_bottle.png | Bin 282 -> 0 bytes .../textures/vessels_drinking_glass.png | Bin 253 -> 0 bytes .../textures/vessels_drinking_glass_inv.png | Bin 265 -> 0 bytes .../vessels/textures/vessels_glass_bottle.png | Bin 209 -> 0 bytes .../textures/vessels_glass_bottle_inv.png | Bin 327 -> 0 bytes .../textures/vessels_glass_fragments.png | Bin 285 -> 0 bytes .../vessels/textures/vessels_steel_bottle.png | Bin 312 -> 0 bytes .../textures/vessels_steel_bottle_inv.png | Bin 286 -> 0 bytes mods/wool/README.txt | 28 - mods/wool/depends.txt | 1 - mods/wool/init.lua | 49 -- mods/wool/textures/wool_black.png | Bin 3008 -> 0 bytes mods/wool/textures/wool_blue.png | Bin 3113 -> 0 bytes mods/wool/textures/wool_brown.png | Bin 3110 -> 0 bytes mods/wool/textures/wool_cyan.png | Bin 3100 -> 0 bytes mods/wool/textures/wool_dark_green.png | Bin 3128 -> 0 bytes mods/wool/textures/wool_dark_grey.png | Bin 3133 -> 0 bytes mods/wool/textures/wool_green.png | Bin 3168 -> 0 bytes mods/wool/textures/wool_grey.png | Bin 3127 -> 0 bytes mods/wool/textures/wool_magenta.png | Bin 3156 -> 0 bytes mods/wool/textures/wool_orange.png | Bin 3161 -> 0 bytes mods/wool/textures/wool_pink.png | Bin 2971 -> 0 bytes mods/wool/textures/wool_red.png | Bin 3143 -> 0 bytes mods/wool/textures/wool_violet.png | Bin 3085 -> 0 bytes mods/wool/textures/wool_white.png | Bin 3099 -> 0 bytes mods/wool/textures/wool_yellow.png | Bin 3044 -> 0 bytes 141 files changed, 2734 deletions(-) delete mode 100644 mods/bucket/README.txt delete mode 100644 mods/bucket/depends.txt delete mode 100644 mods/bucket/init.lua delete mode 100644 mods/bucket/textures/bucket.png delete mode 100644 mods/bucket/textures/bucket_lava.png delete mode 100644 mods/bucket/textures/bucket_water.png delete mode 100644 mods/creative/README.txt delete mode 100644 mods/creative/depends.txt delete mode 100644 mods/creative/init.lua delete mode 100644 mods/doors/README.txt delete mode 100644 mods/doors/depends.txt delete mode 100644 mods/doors/init.lua delete mode 100644 mods/doors/textures/door_brown.png delete mode 100644 mods/doors/textures/door_grey.png delete mode 100644 mods/doors/textures/door_steel.png delete mode 100644 mods/doors/textures/door_steel_a.png delete mode 100644 mods/doors/textures/door_steel_b.png delete mode 100644 mods/doors/textures/door_wood.png delete mode 100644 mods/doors/textures/door_wood_a.png delete mode 100644 mods/doors/textures/door_wood_b.png delete mode 100644 mods/dye/README.txt delete mode 100644 mods/dye/depends.txt delete mode 100644 mods/dye/init.lua delete mode 100644 mods/dye/textures/dye_black.png delete mode 100644 mods/dye/textures/dye_blue.png delete mode 100644 mods/dye/textures/dye_brown.png delete mode 100644 mods/dye/textures/dye_cyan.png delete mode 100644 mods/dye/textures/dye_dark_green.png delete mode 100644 mods/dye/textures/dye_dark_grey.png delete mode 100644 mods/dye/textures/dye_green.png delete mode 100644 mods/dye/textures/dye_grey.png delete mode 100644 mods/dye/textures/dye_magenta.png delete mode 100644 mods/dye/textures/dye_orange.png delete mode 100644 mods/dye/textures/dye_pink.png delete mode 100644 mods/dye/textures/dye_red.png delete mode 100644 mods/dye/textures/dye_violet.png delete mode 100644 mods/dye/textures/dye_white.png delete mode 100644 mods/dye/textures/dye_yellow.png delete mode 100644 mods/external_legacy/README.txt delete mode 100644 mods/external_legacy/init.lua delete mode 100644 mods/farming/README.txt delete mode 100644 mods/farming/depends.txt delete mode 100644 mods/farming/init.lua delete mode 100644 mods/farming/textures/farming_bread.png delete mode 100644 mods/farming/textures/farming_cotton_1.png delete mode 100644 mods/farming/textures/farming_cotton_2.png delete mode 100644 mods/farming/textures/farming_cotton_3.png delete mode 100644 mods/farming/textures/farming_cotton_4.png delete mode 100644 mods/farming/textures/farming_cotton_5.png delete mode 100644 mods/farming/textures/farming_cotton_6.png delete mode 100644 mods/farming/textures/farming_cotton_7.png delete mode 100644 mods/farming/textures/farming_cotton_8.png delete mode 100644 mods/farming/textures/farming_cotton_seed.png delete mode 100644 mods/farming/textures/farming_flour.png delete mode 100644 mods/farming/textures/farming_soil.png delete mode 100644 mods/farming/textures/farming_soil_wet.png delete mode 100644 mods/farming/textures/farming_soil_wet_side.png delete mode 100644 mods/farming/textures/farming_string.png delete mode 100644 mods/farming/textures/farming_tool_bronzehoe.png delete mode 100644 mods/farming/textures/farming_tool_steelhoe.png delete mode 100644 mods/farming/textures/farming_tool_stonehoe.png delete mode 100644 mods/farming/textures/farming_tool_woodhoe.png delete mode 100644 mods/farming/textures/farming_wheat.png delete mode 100644 mods/farming/textures/farming_wheat_1.png delete mode 100644 mods/farming/textures/farming_wheat_2.png delete mode 100644 mods/farming/textures/farming_wheat_3.png delete mode 100644 mods/farming/textures/farming_wheat_4.png delete mode 100644 mods/farming/textures/farming_wheat_5.png delete mode 100644 mods/farming/textures/farming_wheat_6.png delete mode 100644 mods/farming/textures/farming_wheat_7.png delete mode 100644 mods/farming/textures/farming_wheat_8.png delete mode 100644 mods/farming/textures/farming_wheat_seed.png delete mode 100644 mods/fire/README.txt delete mode 100644 mods/fire/init.lua delete mode 100644 mods/fire/sounds/fire_large.ogg delete mode 100644 mods/fire/sounds/fire_small.ogg delete mode 100644 mods/fire/textures/fire_basic_flame.png delete mode 100644 mods/fire/textures/fire_basic_flame_animated.png delete mode 100644 mods/flowers/README.txt delete mode 100644 mods/flowers/depends.txt delete mode 100644 mods/flowers/init.lua delete mode 100644 mods/flowers/mapgen.lua delete mode 100644 mods/flowers/textures/flowers_dandelion_white.png delete mode 100644 mods/flowers/textures/flowers_dandelion_yellow.png delete mode 100644 mods/flowers/textures/flowers_geranium.png delete mode 100644 mods/flowers/textures/flowers_rose.png delete mode 100644 mods/flowers/textures/flowers_tulip.png delete mode 100644 mods/flowers/textures/flowers_viola.png delete mode 100644 mods/give_initial_stuff/depends.txt delete mode 100644 mods/give_initial_stuff/init.lua delete mode 100644 mods/legacy/depends.txt delete mode 100644 mods/legacy/init.lua delete mode 100644 mods/legacy/textures/apple_iron.png delete mode 100644 mods/legacy/textures/cooked_rat.png delete mode 100644 mods/legacy/textures/dungeon_master.png delete mode 100644 mods/legacy/textures/fireball.png delete mode 100644 mods/legacy/textures/firefly.png delete mode 100644 mods/legacy/textures/oerkki1.png delete mode 100644 mods/legacy/textures/oerkki1_damaged.png delete mode 100644 mods/legacy/textures/rat.png delete mode 100644 mods/screwdriver/init.lua delete mode 100644 mods/screwdriver/readme.txt delete mode 100644 mods/screwdriver/textures/screwdriver.png delete mode 100644 mods/screwdriver/textures/tool_mode1.png delete mode 100644 mods/screwdriver/textures/tool_mode2.png delete mode 100644 mods/screwdriver/textures/tool_mode3.png delete mode 100644 mods/screwdriver/textures/tool_mode4.png delete mode 100644 mods/stairs/README.txt delete mode 100644 mods/stairs/depends.txt delete mode 100644 mods/stairs/init.lua delete mode 100644 mods/vessels/README.txt delete mode 100644 mods/vessels/depends.txt delete mode 100644 mods/vessels/init.lua delete mode 100644 mods/vessels/textures/alternates/vessels_drinking_glass.png delete mode 100644 mods/vessels/textures/alternates/vessels_glass_bottle.png delete mode 100644 mods/vessels/textures/alternates/vessels_steel_bottle.png delete mode 100644 mods/vessels/textures/vessels_drinking_glass.png delete mode 100644 mods/vessels/textures/vessels_drinking_glass_inv.png delete mode 100644 mods/vessels/textures/vessels_glass_bottle.png delete mode 100644 mods/vessels/textures/vessels_glass_bottle_inv.png delete mode 100644 mods/vessels/textures/vessels_glass_fragments.png delete mode 100644 mods/vessels/textures/vessels_steel_bottle.png delete mode 100644 mods/vessels/textures/vessels_steel_bottle_inv.png delete mode 100644 mods/wool/README.txt delete mode 100644 mods/wool/depends.txt delete mode 100644 mods/wool/init.lua delete mode 100644 mods/wool/textures/wool_black.png delete mode 100644 mods/wool/textures/wool_blue.png delete mode 100644 mods/wool/textures/wool_brown.png delete mode 100644 mods/wool/textures/wool_cyan.png delete mode 100644 mods/wool/textures/wool_dark_green.png delete mode 100644 mods/wool/textures/wool_dark_grey.png delete mode 100644 mods/wool/textures/wool_green.png delete mode 100644 mods/wool/textures/wool_grey.png delete mode 100644 mods/wool/textures/wool_magenta.png delete mode 100644 mods/wool/textures/wool_orange.png delete mode 100644 mods/wool/textures/wool_pink.png delete mode 100644 mods/wool/textures/wool_red.png delete mode 100644 mods/wool/textures/wool_violet.png delete mode 100644 mods/wool/textures/wool_white.png delete mode 100644 mods/wool/textures/wool_yellow.png diff --git a/mods/bucket/README.txt b/mods/bucket/README.txt deleted file mode 100644 index 7dad6419..00000000 --- a/mods/bucket/README.txt +++ /dev/null @@ -1,26 +0,0 @@ -Minetest 0.4 mod: bucket -========================= - -License of source code: ------------------------ -Copyright (C) 2011-2012 Kahrl -Copyright (C) 2011-2012 celeron55, Perttu Ahola - -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 of the License, or -(at your option) any later version. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ------------------------ -Everything not listed in here: -Copyright (C) 2010-2012 celeron55, Perttu Ahola - - diff --git a/mods/bucket/depends.txt b/mods/bucket/depends.txt deleted file mode 100644 index 3a7daa1d..00000000 --- a/mods/bucket/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default - diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua deleted file mode 100644 index c3f20b3a..00000000 --- a/mods/bucket/init.lua +++ /dev/null @@ -1,144 +0,0 @@ --- Minetest 0.4 mod: bucket --- See README.txt for licensing and other information. - -local LIQUID_MAX = 8 --The number of water levels when liquid_finite is enabled - -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 = {} - --- 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) --- This function can be called from any mod (that depends on bucket). -function bucket.register_liquid(source, flowing, itemname, inventory_image, name) - bucket.liquids[source] = { - source = source, - flowing = flowing, - itemname = itemname, - } - 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 = {not_in_creative_inventory=1}, - on_place = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then - return - end - - -- Call on_rightclick if the pointed node defines it - if user and not user:get_player_control().sneak then - local n = minetest.get_node(pointed_thing.under) - local nn = n.name - if minetest.registered_nodes[nn] and minetest.registered_nodes[nn].on_rightclick then - return minetest.registered_nodes[nn].on_rightclick(pointed_thing.under, n, user, itemstack) or itemstack - end - end - - local place_liquid = function(pos, node, source, flowing, fullness) - if math.floor(fullness/128) == 1 or (not minetest.setting_getbool("liquid_finite")) then - minetest.add_node(pos, {name=source, param2=fullness}) - return - elseif node.name == flowing then - fullness = fullness + node.param2 - elseif node.name == source then - fullness = LIQUID_MAX - end - - if fullness >= LIQUID_MAX then - minetest.add_node(pos, {name=source, param2=LIQUID_MAX}) - else - minetest.add_node(pos, {name=flowing, param2=fullness}) - end - end - - -- Check if pointing to a buildable node - local node = minetest.get_node(pointed_thing.under) - local fullness = tonumber(itemstack:get_metadata()) - if not fullness then fullness = LIQUID_MAX end - - if minetest.registered_nodes[node.name].buildable_to then - -- buildable; replace the node - place_liquid(pointed_thing.under, node, source, flowing, fullness) - else - -- not buildable to; place the liquid above - -- check if the node above can be replaced - local node = minetest.get_node(pointed_thing.above) - if minetest.registered_nodes[node.name].buildable_to then - place_liquid(pointed_thing.above, node, source, flowing, fullness) - else - -- do not remove the bucket with the liquid - return - end - end - return {name="bucket:bucket_empty"} - end - }) - end -end - -minetest.register_craftitem("bucket:bucket_empty", { - description = "Empty Bucket", - inventory_image = "bucket.png", - stack_max = 1, - 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 - node = minetest.get_node(pointed_thing.under) - liquiddef = bucket.liquids[node.name] - if liquiddef ~= nil and liquiddef.itemname ~= nil and (node.name == liquiddef.source or - (node.name == liquiddef.flowing and minetest.setting_getbool("liquid_finite"))) then - - minetest.add_node(pointed_thing.under, {name="air"}) - - if node.name == liquiddef.source then node.param2 = LIQUID_MAX end - return ItemStack({name = liquiddef.itemname, metadata = tostring(node.param2)}) - end - end, -}) - -bucket.register_liquid( - "default:water_source", - "default:water_flowing", - "bucket:bucket_water", - "bucket_water.png", - "Water Bucket" -) - -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/textures/bucket.png b/mods/bucket/textures/bucket.png deleted file mode 100644 index 7c7441c752290dbd7dd55dcecb0f20ec191e23bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WHUn|N}Tg^ zb5rw5fLsO!=c3falGGH1^30M91$R&1fE2w{cAz+0lDE4H!+#K5uy^@npa^GyM`SSr z1Gg{;GcwGYBLNg-FY)wsWxvfW%WtZj)xz@(D3t5z;uvDldv=1Opo1cZ%i1(n=?Mq; zqL0W;d3;~uqw*u)w0ni}+)MXZ2~FVsc8^!GlPx-1uUlhXZ1&&6EX8D=qr2rB1TID% zIOE3V(8;1TlhyoTZnyTqU)?($zc_3^s&g{OT({%Igu8hveEjFwC(XZH7re^c6=*So Mr>mdKI;Vst09jvHe*gdg diff --git a/mods/bucket/textures/bucket_lava.png b/mods/bucket/textures/bucket_lava.png deleted file mode 100644 index 7dbf61a21144ab5b55e2a8f5ff0b63cada9beaf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WHUn|N}Tg^ zb5rw5fLsO!=c3falGGH1^30M91$R&1fE2w{cAz+0lDE4H!+#K5uy^@npa^GyM`SSr z1Gg{;GcwGYBLNg-FY)wsWxvfW%WoAwxO$$0pXuSe_N8;I4l9b++*^0T7cEp3Di?6_}8+UAyyO<7dX| Xeb=hZe$D9yI)TB{)z4*}Q$iB}GbLlQ diff --git a/mods/creative/README.txt b/mods/creative/README.txt deleted file mode 100644 index 7d49b981..00000000 --- a/mods/creative/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -Minetest 0.4 mod: creative -========================== - -Implements creative mode. - -Switch on by using the "creative_mode" setting. - -Registered items that -- have a description, and -- do not have the group not_in_creative_inventory -are added to the creative inventory. - -License of source code and media files: ---------------------------------------- -Copyright (C) 2012 Perttu Ahola (celeron55) - -This program is free software. It comes without any warranty, to -the extent permitted by applicable law. You can redistribute it -and/or modify it under the terms of the Do What The Fuck You Want -To Public License, Version 2, as published by Sam Hocevar. See -http://sam.zoy.org/wtfpl/COPYING for more details. - diff --git a/mods/creative/depends.txt b/mods/creative/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/mods/creative/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/creative/init.lua b/mods/creative/init.lua deleted file mode 100644 index fa26348e..00000000 --- a/mods/creative/init.lua +++ /dev/null @@ -1,165 +0,0 @@ --- minetest/creative/init.lua - -creative_inventory = {} -creative_inventory.creative_inventory_size = 0 - --- Create detached creative inventory after loading all mods -minetest.after(0, function() - local inv = minetest.create_detached_inventory("creative", { - allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) - if minetest.setting_getbool("creative_mode") 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 minetest.setting_getbool("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) - --print(player:get_player_name().." takes item from creative inventory; listname="..dump(listname)..", index="..dump(index)..", stack="..dump(stack)) - if stack then - minetest.log("action", player:get_player_name().." takes "..dump(stack:get_name()).." from creative inventory") - --print("stack:get_name()="..dump(stack:get_name())..", stack:get_count()="..dump(stack:get_count())) - end - end, - }) - local creative_list = {} - for name,def in pairs(minetest.registered_items) do - if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) - and def.description and def.description ~= "" then - table.insert(creative_list, name) - end - end - table.sort(creative_list) - inv:set_size("main", #creative_list) - for _,itemstring in ipairs(creative_list) do - inv:add_item("main", ItemStack(itemstring)) - end - creative_inventory.creative_inventory_size = #creative_list - --print("creative inventory size: "..dump(creative_inventory.creative_inventory_size)) -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 minetest.setting_getbool("creative_mode") then - return stack:get_count() - else - return 0 - end - end, - on_put = function(inv, listname, index, stack, player) - inv:set_stack(listname, index, "") - end, -}) -trash:set_size("main", 1) - - -creative_inventory.set_creative_formspec = function(player, start_i, pagenum) - pagenum = math.floor(pagenum) - local pagemax = math.floor((creative_inventory.creative_inventory_size-1) / (6*4) + 1) - player:set_inventory_formspec("size[13,7.5]".. - --"image[6,0.6;1,2;player.png]".. - "list[current_player;main;5,3.5;8,4;]".. - "list[current_player;craft;8,0;3,3;]".. - "list[current_player;craftpreview;12,1;1,1;]".. - "list[detached:creative;main;0.3,0.5;4,6;"..tostring(start_i).."]".. - "label[2.0,6.55;"..tostring(pagenum).."/"..tostring(pagemax).."]".. - "button[0.3,6.5;1.6,1;creative_prev;<<]".. - "button[2.7,6.5;1.6,1;creative_next;>>]".. - "label[5,1.5;Trash:]".. - "list[detached:creative_trash;main;5,2;1,1;]") -end -minetest.register_on_joinplayer(function(player) - -- If in creative mode, modify player's inventory forms - if not minetest.setting_getbool("creative_mode") then - return - end - creative_inventory.set_creative_formspec(player, 0, 1) -end) -minetest.register_on_player_receive_fields(function(player, formname, fields) - if not minetest.setting_getbool("creative_mode") then - return - end - -- Figure out current page from formspec - local current_page = 0 - local formspec = player:get_inventory_formspec() - local start_i = string.match(formspec, "list%[detached:creative;main;[%d.]+,[%d.]+;[%d.]+,[%d.]+;(%d+)%]") - start_i = tonumber(start_i) or 0 - - if fields.creative_prev then - start_i = start_i - 4*6 - end - if fields.creative_next then - start_i = start_i + 4*6 - end - - if start_i < 0 then - start_i = start_i + 4*6 - end - if start_i >= creative_inventory.creative_inventory_size then - start_i = start_i - 4*6 - end - - if start_i < 0 or start_i >= creative_inventory.creative_inventory_size then - start_i = 0 - end - - creative_inventory.set_creative_formspec(player, start_i, start_i / (6*4) + 1) -end) - -if minetest.setting_getbool("creative_mode") then - local digtime = 0.5 - 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 = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - cracky = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - snappy = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - choppy = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - oddly_breakable_by_hand = {times={[1]=digtime, [2]=digtime, [3]=digtime}, uses=0, maxlevel=3}, - }, - 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/doors/README.txt b/mods/doors/README.txt deleted file mode 100644 index f1d6ab24..00000000 --- a/mods/doors/README.txt +++ /dev/null @@ -1,23 +0,0 @@ -Minetest 0.4 mod: doors -======================= - -License of source code: ------------------------ -Copyright (C) 2012 PilzAdam - -This program is free software. It comes without any warranty, to -the extent permitted by applicable law. You can redistribute it -and/or modify it under the terms of the Do What The Fuck You Want -To Public License, Version 2, as published by Sam Hocevar. See -http://sam.zoy.org/wtfpl/COPYING for more details. - -License of media (textures and sounds) --------------------------------------- -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 - -All other textures (created by PilzAdam): WTFPL diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/mods/doors/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/doors/init.lua b/mods/doors/init.lua deleted file mode 100644 index 46ab539b..00000000 --- a/mods/doors/init.lua +++ /dev/null @@ -1,291 +0,0 @@ -doors = {} - --- Registers a door --- name: The name of the door --- def: a table with the folowing fields: --- description --- inventory_image --- groups --- tiles_bottom: the tiles of the bottom part of the door {front, side} --- tiles_top: the tiles of the bottom part of the door {front, side} --- If the following fields are not defined the default values are used --- node_box_bottom --- node_box_top --- selection_box_bottom --- selection_box_top --- only_placer_can_open: if true only the player who placed the door can --- open it -function doors:register_door(name, def) - def.groups.not_in_creative_inventory = 1 - - local box = {{-0.5, -0.5, -0.5, 0.5, 0.5, -0.5+1.5/16}} - - if not def.node_box_bottom then - def.node_box_bottom = box - end - if not def.node_box_top then - def.node_box_top = box - end - if not def.selection_box_bottom then - def.selection_box_bottom= box - end - if not def.selection_box_top then - def.selection_box_top = box - end - - minetest.register_craftitem(name, { - description = def.description, - inventory_image = def.inventory_image, - - on_place = function(itemstack, placer, pointed_thing) - if not pointed_thing.type == "node" then - return itemstack - end - - local ptu = pointed_thing.under - local nu = minetest.get_node(ptu) - if minetest.registered_nodes[nu.name].on_rightclick then - return minetest.registered_nodes[nu.name].on_rightclick(ptu, nu, placer, itemstack) - end - - local pt = pointed_thing.above - local pt2 = {x=pt.x, y=pt.y, z=pt.z} - pt2.y = pt2.y+1 - if - not minetest.registered_nodes[minetest.get_node(pt).name].buildable_to or - not minetest.registered_nodes[minetest.get_node(pt2).name].buildable_to or - not placer or - not placer:is_player() - then - return itemstack - end - - local p2 = minetest.dir_to_facedir(placer:get_look_dir()) - local pt3 = {x=pt.x, y=pt.y, z=pt.z} - if p2 == 0 then - pt3.x = pt3.x-1 - elseif p2 == 1 then - pt3.z = pt3.z+1 - elseif p2 == 2 then - pt3.x = pt3.x+1 - elseif p2 == 3 then - pt3.z = pt3.z-1 - end - if not string.find(minetest.get_node(pt3).name, name.."_b_") then - minetest.set_node(pt, {name=name.."_b_1", param2=p2}) - minetest.set_node(pt2, {name=name.."_t_1", param2=p2}) - else - minetest.set_node(pt, {name=name.."_b_2", param2=p2}) - minetest.set_node(pt2, {name=name.."_t_2", param2=p2}) - end - - if def.only_placer_can_open then - local pn = placer:get_player_name() - local meta = minetest.get_meta(pt) - meta:set_string("doors_owner", pn) - meta:set_string("infotext", "Owned by "..pn) - meta = minetest.get_meta(pt2) - 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 - return itemstack - end, - }) - - local tt = def.tiles_top - local tb = def.tiles_bottom - - local function after_dig_node(pos, name) - if minetest.get_node(pos).name == name then - minetest.remove_node(pos) - end - end - - local function on_rightclick(pos, dir, check_name, replace, replace_dir, params) - pos.y = pos.y+dir - if not minetest.get_node(pos).name == check_name then - return - end - local p2 = minetest.get_node(pos).param2 - p2 = params[p2+1] - - minetest.swap_node(pos, {name=replace_dir, param2=p2}) - - pos.y = pos.y-dir - minetest.swap_node(pos, {name=replace, param2=p2}) - end - - local function check_player_priv(pos, player) - if not def.only_placer_can_open then - return true - end - local meta = minetest.get_meta(pos) - local pn = player:get_player_name() - return meta:get_string("doors_owner") == pn - end - - minetest.register_node(name.."_b_1", { - tiles = {tb[2], tb[2], tb[2], tb[2], tb[1], tb[1].."^[transformfx"}, - paramtype = "light", - paramtype2 = "facedir", - drop = name, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_bottom - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_bottom - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y+1 - after_dig_node(pos, name.."_t_1") - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) - end - end, - - can_dig = check_player_priv, - }) - - minetest.register_node(name.."_t_1", { - tiles = {tt[2], tt[2], tt[2], tt[2], tt[1], tt[1].."^[transformfx"}, - paramtype = "light", - paramtype2 = "facedir", - drop = name, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_top - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_top - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y-1 - after_dig_node(pos, name.."_b_1") - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, -1, name.."_b_1", name.."_t_2", name.."_b_2", {1,2,3,0}) - end - end, - - can_dig = check_player_priv, - }) - - minetest.register_node(name.."_b_2", { - tiles = {tb[2], tb[2], tb[2], tb[2], tb[1].."^[transformfx", tb[1]}, - paramtype = "light", - paramtype2 = "facedir", - drop = name, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_bottom - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_bottom - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y+1 - after_dig_node(pos, name.."_t_2") - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) - end - end, - - can_dig = check_player_priv, - }) - - minetest.register_node(name.."_t_2", { - tiles = {tt[2], tt[2], tt[2], tt[2], tt[1].."^[transformfx", tt[1]}, - paramtype = "light", - paramtype2 = "facedir", - drop = name, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_top - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_top - }, - groups = def.groups, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - pos.y = pos.y-1 - after_dig_node(pos, name.."_b_2") - end, - - on_rightclick = function(pos, node, clicker) - if check_player_priv(pos, clicker) then - on_rightclick(pos, -1, name.."_b_2", name.."_t_1", name.."_b_1", {3,0,1,2}) - end - end, - - can_dig = check_player_priv, - }) - -end - -doors:register_door("doors:door_wood", { - description = "Wooden Door", - inventory_image = "door_wood.png", - groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2,door=1}, - tiles_bottom = {"door_wood_b.png", "door_brown.png"}, - tiles_top = {"door_wood_a.png", "door_brown.png"}, -}) - -minetest.register_craft({ - output = "doors:door_wood", - recipe = { - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"} - } -}) - -doors:register_door("doors:door_steel", { - description = "Steel Door", - inventory_image = "door_steel.png", - groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2,door=1}, - tiles_bottom = {"door_steel_b.png", "door_grey.png"}, - tiles_top = {"door_steel_a.png", "door_grey.png"}, - only_placer_can_open = true, -}) - -minetest.register_craft({ - output = "doors:door_steel", - recipe = { - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot"} - } -}) - -minetest.register_alias("doors:door_wood_a_c", "doors:door_wood_t_1") -minetest.register_alias("doors:door_wood_a_o", "doors:door_wood_t_1") -minetest.register_alias("doors:door_wood_b_c", "doors:door_wood_b_1") -minetest.register_alias("doors:door_wood_b_o", "doors:door_wood_b_1") diff --git a/mods/doors/textures/door_brown.png b/mods/doors/textures/door_brown.png deleted file mode 100644 index 5e6f211836ff64d394b5bb7591b9d125bcfc54d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4mY0whso)jx6(i%9#0p?5DwX7j`9i242;Vewkgh9R00%d@O1TaS?83{1OWSU B761SM diff --git a/mods/doors/textures/door_grey.png b/mods/doors/textures/door_grey.png deleted file mode 100644 index 7d95c2269de1760ce4155cc234b77debe2481c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4mY0whv9BE$tge~9#0p?5DwYoh%Fg{49pi8pF6CZ)Cv@5@O1TaS?83{1OV^0 B7BBz+ diff --git a/mods/doors/textures/door_steel.png b/mods/doors/textures/door_steel.png deleted file mode 100644 index fed1794c4c745c1e51847d3ade54cc8ba17e1bff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(}LOaLJv04nPsk0*}aI z1_o|n5N2eUHAey{$X?><>&kwIn@@m4$%RnJFPZ!4!i_^&o4$SWTa)0~z%S%iD zrXOHW==zYjh^OJBxNg)J`ROvbya(D&7BP1CPZU34)bJ>Sg;hq+ChNcigN6V<7jp)N YJCUVl-u&~J1~ieu)78&qol`;+0Q`A3d;kCd diff --git a/mods/doors/textures/door_steel_a.png b/mods/doors/textures/door_steel_a.png deleted file mode 100644 index 77e3bc70a8b7c2f4ed87a494677918cd7c70178a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(~2D`1say6`%-bfk$L9 z0|U1(2s1Lwnj--eWH0gbb!ET9%_qQav~+sNL!gkor;B5VMQ^f2)t49bUIxq^5nD0@ zBX_J`&7H{5;mma`i-B2+;p9Uh`E_gw-D)w97H>4rNN#*|hNVPOW^xh(!((eh0aL}g Q7@$!Mp00i_>zopr0Lhdvng9R* diff --git a/mods/doors/textures/door_steel_b.png b/mods/doors/textures/door_steel_b.png deleted file mode 100644 index 450f35fbc57864c683325b875a5ba91b84483ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(}LOaLJv04nPsk0*}aI z1_o|n5N2eUHAey{$X?><>&kwIn@@n9QOe!)J5b2U)5S5w;&ie_)t49lUAx8prY9sc zBn!-!xO4UD*ZGWT43-i{83fuzdag1g<+@!n&N{Gy@rpUa5jC-3bK{A#CQdM9Fb%lB UNnZ5UdZ1|xp00i_>zopr017fSK>z>% diff --git a/mods/doors/textures/door_wood.png b/mods/doors/textures/door_wood.png deleted file mode 100644 index 2b2136cbcf71d000f0fa7a4fc87ef88f1bce8229..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|>^xl@Lo7}w zCpa)KZ4CPVF_Am;+<%@Q3_gN(K2sP^)Wj5RF=dcmww_zVsNqotPx*wyo$kC6LTm!3 cI$r?ITwHp2PlqEj6VN0EPgg&ebxsLQ01NgfVgLXD diff --git a/mods/doors/textures/door_wood_a.png b/mods/doors/textures/door_wood_a.png deleted file mode 100644 index adb4a1ecd6150efdd134cb9fe160f40f92407836..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfQL70(Y)*K0-AbW|YuPgf1aCQ?sKYHnW3w7 W#lH13l - -This program is free software. It comes without any warranty, to -the extent permitted by applicable law. You can redistribute it -and/or modify it under the terms of the Do What The Fuck You Want -To Public License, Version 2, as published by Sam Hocevar. See -http://sam.zoy.org/wtfpl/COPYING for more details. - diff --git a/mods/dye/depends.txt b/mods/dye/depends.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/mods/dye/init.lua b/mods/dye/init.lua deleted file mode 100644 index ebdc9380..00000000 --- a/mods/dye/init.lua +++ /dev/null @@ -1,139 +0,0 @@ --- minetest/dye/init.lua - --- To make recipes that will work with any dye ever made by anybody, define --- them based on groups. --- You can select any group of groups, based on your need for amount of colors. --- basecolor: 9, excolor: 17, unicolor: 89 --- --- Example of one shapeless recipe using a color group: --- Note: As this uses basecolor_*, you'd need 9 of these. --- minetest.register_craft({ --- type = "shapeless", --- output = ':item_yellow', --- recipe = {':item_no_color', 'group:basecolor_yellow'}, --- }) - --- Other mods can use these for looping through available colors -local 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"} - --- Base color groups: --- - basecolor_white --- - basecolor_grey --- - basecolor_black --- - basecolor_red --- - basecolor_yellow --- - basecolor_green --- - basecolor_cyan --- - basecolor_blue --- - basecolor_magenta - --- Extended color groups (* = equal to a base color): --- * excolor_white --- - excolor_lightgrey --- * excolor_grey --- - excolor_darkgrey --- * excolor_black --- * excolor_red --- - excolor_orange --- * excolor_yellow --- - excolor_lime --- * excolor_green --- - excolor_aqua --- * excolor_cyan --- - excolor_sky_blue --- * excolor_blue --- - excolor_violet --- * excolor_magenta --- - excolor_red_violet - --- The whole unifieddyes palette as groups: --- - unicolor_ --- For the following, no white/grey/black is allowed: --- - unicolor_medium_ --- - unicolor_dark_ --- - unicolor_light_ --- - unicolor__s50 --- - unicolor_medium__s50 --- - unicolor_dark__s50 - --- Local stuff -local dyelocal = {} - --- This collection of colors is partly a historic thing, partly something else. -dyelocal.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_yellow=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(dyelocal.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 - --- Mix recipes --- Just mix everything to everything somehow sanely - -dyelocal.mixbases = {"magenta", "red", "orange", "brown", "yellow", "green", "dark_green", "cyan", "blue", "violet", "black", "dark_grey", "grey", "white"} - -dyelocal.mixes = { - -- magenta, red, orange, brown, yellow, green, dark_green, cyan, blue, violet, black, dark_grey, grey, white - white = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "violet", "grey", "grey", "white", "white"}, - grey = {"pink", "pink", "orange", "orange", "yellow", "green", "green", "grey", "cyan", "pink", "dark_grey","grey", "grey"}, - dark_grey={"brown","brown", "brown", "brown", "brown","dark_green","dark_green","blue","blue","violet","black", "black"}, - black = {"black", "black", "black", "black", "black", "black", "black", "black", "black", "black", "black"}, - violet= {"magenta","magenta","red", "brown", "red", "cyan", "brown", "blue", "violet","violet"}, - blue = {"violet", "magenta","brown","brown","dark_green","cyan","cyan", "cyan", "blue"}, - cyan = {"blue","brown","dark_green","dark_grey","green","cyan","dark_green","cyan"}, - dark_green={"brown","brown","brown", "brown", "green", "green", "dark_green"}, - green = {"brown", "yellow","yellow","dark_green","green","green"}, - yellow= {"red", "orange", "yellow","orange", "yellow"}, - brown = {"brown", "brown","orange", "brown"}, - orange= {"red", "orange","orange"}, - red = {"magenta","red"}, - magenta={"magenta"}, -} - -for one,results in pairs(dyelocal.mixes) do - for i,result in ipairs(results) do - local another = dyelocal.mixbases[i] - minetest.register_craft({ - type = "shapeless", - output = 'dye:'..result..' 2', - recipe = {'dye:'..one, 'dye:'..another}, - }) - end -end - --- Hide dyelocal -dyelocal = nil - --- EOF diff --git a/mods/dye/textures/dye_black.png b/mods/dye/textures/dye_black.png deleted file mode 100644 index 45e1a74e14da35fb02b60ce9c22f970512975cd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFm<)Ar1&cI1J6 zR5Dg3`^*Aur3{W;+y$9V;_VkLni=o1-Y~e>IVq>Ngq5K{vTBD~hu{{V{S2P2elF{r G5}E+&m{Uyv diff --git a/mods/dye/textures/dye_blue.png b/mods/dye/textures/dye_blue.png deleted file mode 100644 index 858b70da4627e02db5e33c3d01d8db96545b2e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFCAg@o#f>O|4(dNEX`!buspmV^O(qS zA>$Wa9Fk2BnPO&LIGSkU*YJ)hXGVs@Hn%D!hMf14j>-A)DgkX~@O1TaS?83{1OSTD BQquqc diff --git a/mods/dye/textures/dye_brown.png b/mods/dye/textures/dye_brown.png deleted file mode 100644 index 1ea5f129afa494ed09a17e591112ead4369d38ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFileh6M zi)%9+!(A>2l!!mL)S}0?xR8x`7x#w5MZ&5#rCxF|?A>0kRawm@1GJpM)78&qol`;+ E03qyBo&W#< diff --git a/mods/dye/textures/dye_cyan.png b/mods/dye/textures/dye_cyan.png deleted file mode 100644 index 86ec6ccf20043e7e323be89233625332d7679e8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFd`V(j@S-IRCx%Fh3imp&hqSaLInD~Y4WH^SJcO{yu@*vR1;&sN#H0vi}D_BMGN z@3J_vw8B)_h~+Tr4wHr5hco6d+-1FCaIqn$_X`WdTb2b(F?Ff4ftE9Py85}Sb4q9e E0Q`bgtpET3 diff --git a/mods/dye/textures/dye_dark_green.png b/mods/dye/textures/dye_dark_green.png deleted file mode 100644 index 2ab3aa76459dff81a8ab62b04dad106356e50c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF*Fu2$`DW|uDl|g)QS|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF*T22Mu~pNT~Qtd24Vq zpsbITS>mxd%ULsj|MUO7yu1>4F6C$*WiaPBqP9X(@-WZAb&_WlQhXJ9@;GiV#Kaw3 zDj6%2eP)5SQU=E^?t)Aw@%D=r&5U`)BjS|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFEr~7HiZH`mdB5TujItA9W>}YA)(?o<*mWd zfU-VTW{JnS|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF*T22Mu~pNT~Qtd24Vq zpsbITS>mxd%h_#~#n1lqcXl!+Pe}9DWZU7WVCH!CghU!g+1U&>#cZa;66XVK4?c0} zoqh2rBAG2#(9!uqY=gJ(E{mRHk~}Z;4zzXpO-adKqRqe%&AU@iTl{ql&;bmdu6{1- HoD!MS|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF@P^i??#WBR{3i%E~sRk zo>o%0#;|!^#{$I{dIy$r#>%)o=3y%lPdMzN?zPGEk|+bi4gcj&<|`yt0Uf~L>FVdQ I&MBb@01$^%{r~^~ diff --git a/mods/dye/textures/dye_orange.png b/mods/dye/textures/dye_orange.png deleted file mode 100644 index 568b236f8a5c731b2f2728357410a39127121434..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF&|~vb5#~Dz0<#ySrSKTD>`pUjo?zN&uuCz4xuBAD zdRj^08pGyw9Sam+=p9(f87t%Vn1`)IJmIj5y4NPtOQH-6Vk}D!9d9&@2ReYk)78&q Iol`;+04&^8h5!Hn diff --git a/mods/dye/textures/dye_pink.png b/mods/dye/textures/dye_pink.png deleted file mode 100644 index bdbf98bf6f1608f679079af104949e97fe52d8bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFS|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFS|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF*T22Mu~pNT~Qtd24Vq zpsbITS>mxd%ULu2ZEgRroq3tSb16sjD1$l25w#VPl81Q?u9G~gkm9S*lgDv`AtvtN zQps4E>@y3rl`=SXaTjDdiML<0XlA_2dc)vi=cJt85>|$s{e9ow8}8%;+RxzW>gTe~ HDWM4f;SyFn diff --git a/mods/dye/textures/dye_white.png b/mods/dye/textures/dye_white.png deleted file mode 100644 index ffc3d07fb55ec6f6e4b594732f28acd88c5dd33d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vFm*D|krj49gZpRFqH)OjRb3_VrES6?6W0)RZ zkm)9VT*~-G7l%~SJEoXf7mg;HoJ(*hXEgIES)>xJ9LvbyR`KIkd`iXwpaU2@UHx3v IIVCg!0P(w2H~;_u diff --git a/mods/dye/textures/dye_yellow.png b/mods/dye/textures/dye_yellow.png deleted file mode 100644 index 54d0db2ea0039e93bda262b622563760acbeabdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vY8S|xv6<2KrRD=b5Uwy zNotBhd1gt5g1e`0K#E=}J5Zc0$=lt9;Xep2*t>i(P=vF=mr_&Pg53<$)k+E_dW|J6#5V8>&(%12%_E$FVTR%LE8z`yRe=s*@O1Ta JS?83{1OS&LSs?%b diff --git a/mods/external_legacy/README.txt b/mods/external_legacy/README.txt deleted file mode 100644 index 6451fec3..00000000 --- a/mods/external_legacy/README.txt +++ /dev/null @@ -1,18 +0,0 @@ -Minetest 0.4 mod: external_legacy -================================= - -License of source code: ------------------------ -Copyright (C) 2013 celeron55, Perttu Ahola - -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. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/external_legacy/init.lua b/mods/external_legacy/init.lua deleted file mode 100644 index c4d8bb06..00000000 --- a/mods/external_legacy/init.lua +++ /dev/null @@ -1,24 +0,0 @@ --- Minetest 0.4 mod: external_legacy --- See README.txt for licensing and other information. - --- Aliases to support moreores' ores -minetest.register_alias("moreores:mineral_gold", "default:stone_with_gold") -minetest.register_alias("moreores:gold_block", "default:goldblock") -minetest.register_alias("moreores:gold_lump", "default:gold_lump") -minetest.register_alias("moreores:gold_ingot", "default:gold_ingot") -minetest.register_alias("moreores:mineral_copper", "default:stone_with_copper") -minetest.register_alias("moreores:copper_lump", "default:copper_lump") -minetest.register_alias("moreores:copper_ingot", "default:copper_ingot") -minetest.register_alias("moreores:copper_block", "default:copperblock") -minetest.register_alias("moreores:bronze_ingot", "default:bronze_ingot") -minetest.register_alias("moreores:bronze_block", "default:bronzeblock") - --- Aliases for the diamonds mod by InfinityProject -minetest.register_alias("diamonds:diamond_in_ground", "default:stone_with_diamond") -minetest.register_alias("diamonds:block", "default:diamondblock") -minetest.register_alias("diamonds:sword", "default:sword_diamond") -minetest.register_alias("diamonds:pick", "default:pick_diamond") -minetest.register_alias("diamonds:shovel", "default:shovel_diamond") -minetest.register_alias("diamonds:axe", "default:axe_diamond") -minetest.register_alias("diamonds:diamond", "default:diamond") -minetest.register_alias("diamonds:ingot", "default:diamond") diff --git a/mods/farming/README.txt b/mods/farming/README.txt deleted file mode 100644 index b92e0bee..00000000 --- a/mods/farming/README.txt +++ /dev/null @@ -1,57 +0,0 @@ -Minetest 0.4 mod: farming -========================= - -License of source code: ------------------------ -Copyright (C) 2012-2013 PilzAdam - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. - -License of media (textures): ----------------------------- -Created by PilzAdam (License: WTFPL): - farming_bread.png - farming_soil.png - farming_soil_wet.png - farming_soil_wet_side.png - farming_string.png - -Created by Calinou (License: CC BY-SA): - farming_tool_bronzehoe.png - farming_tool_steelhoe.png - farming_tool_stonehoe.png - farming_tool_woodhoe.png - -Created by VanessaE (License: WTFPL): - farming_cotton_seed.png - farming_wheat_seed.png - farming_flour.png - farming_wheat.png - farming_wheat_1.png - farming_wheat_2.png - farming_wheat_3.png - farming_wheat_4.png - farming_wheat_5.png - farming_wheat_5.png - farming_wheat_7.png - farming_wheat_8.png - farming_cotton_1.png - farming_cotton_2.png - farming_cotton_3.png - farming_cotton_4.png - farming_cotton_5.png - farming_cotton_6.png - farming_cotton_7.png - farming_cotton_8.png diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt deleted file mode 100644 index 470ec30b..00000000 --- a/mods/farming/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -wool diff --git a/mods/farming/init.lua b/mods/farming/init.lua deleted file mode 100644 index 9c3bf5b7..00000000 --- a/mods/farming/init.lua +++ /dev/null @@ -1,502 +0,0 @@ --- Minetest 0.4 mod: farming --- See README.txt for licensing and other information. - -farming = {} - --- --- Soil --- -minetest.register_node("farming:soil", { - description = "Soil", - tiles = {"farming_soil.png", "default_dirt.png"}, - drop = "default:dirt", - is_ground_content = true, - groups = {crumbly=3, not_in_creative_inventory=1, soil=2}, - sounds = default.node_sound_dirt_defaults(), -}) - -minetest.register_node("farming:soil_wet", { - description = "Wet Soil", - tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, - drop = "default:dirt", - is_ground_content = true, - groups = {crumbly=3, not_in_creative_inventory=1, soil=3}, - sounds = default.node_sound_dirt_defaults(), -}) - -minetest.register_abm({ - nodenames = {"farming:soil", "farming:soil_wet"}, - interval = 15, - chance = 4, - action = function(pos, node) - pos.y = pos.y+1 - local nn = minetest.get_node(pos).name - pos.y = pos.y-1 - if minetest.registered_nodes[nn] and - minetest.registered_nodes[nn].walkable and - minetest.get_item_group(nn, "plant") == 0 - then - minetest.set_node(pos, {name="default:dirt"}) - end - -- check if there is water nearby - if minetest.find_node_near(pos, 3, {"group:water"}) then - -- if it is dry soil turn it into wet soil - if node.name == "farming:soil" then - minetest.set_node(pos, {name="farming:soil_wet"}) - end - else - -- turn it back into dirt if it is already dry - if node.name == "farming:soil" then - -- only turn it back if there is no plant on top of it - if minetest.get_item_group(nn, "plant") == 0 then - minetest.set_node(pos, {name="default:dirt"}) - end - - -- if its wet turn it back into dry soil - elseif node.name == "farming:soil_wet" then - minetest.set_node(pos, {name="farming:soil"}) - end - end - end, -}) - --- --- Hoes --- --- turns nodes with group soil=1 into soil -function farming.hoe_on_use(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 dirt - if minetest.get_item_group(under.name, "soil") ~= 1 then - return - end - - -- turn the node into soil, wear out item and play sound - minetest.set_node(pt.under, {name="farming:soil"}) - minetest.sound_play("default_dig_crumbly", { - pos = pt.under, - gain = 0.5, - }) - itemstack:add_wear(65535/(uses-1)) - return itemstack -end - -minetest.register_tool("farming:hoe_wood", { - description = "Wooden Hoe", - inventory_image = "farming_tool_woodhoe.png", - - on_use = function(itemstack, user, pointed_thing) - return farming.hoe_on_use(itemstack, user, pointed_thing, 30) - end, -}) - -minetest.register_tool("farming:hoe_stone", { - description = "Stone Hoe", - inventory_image = "farming_tool_stonehoe.png", - - on_use = function(itemstack, user, pointed_thing) - return farming.hoe_on_use(itemstack, user, pointed_thing, 90) - end, -}) - -minetest.register_tool("farming:hoe_steel", { - description = "Steel Hoe", - inventory_image = "farming_tool_steelhoe.png", - - on_use = function(itemstack, user, pointed_thing) - return farming.hoe_on_use(itemstack, user, pointed_thing, 200) - end, -}) - -minetest.register_tool("farming:hoe_bronze", { - description = "Bronze Hoe", - inventory_image = "farming_tool_bronzehoe.png", - - on_use = function(itemstack, user, pointed_thing) - return farming.hoe_on_use(itemstack, user, pointed_thing, 220) - end, -}) - -minetest.register_craft({ - output = "farming:hoe_wood", - recipe = { - {"group:wood", "group:wood"}, - {"", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "farming:hoe_stone", - recipe = { - {"group:stone", "group:stone"}, - {"", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "farming:hoe_steel", - recipe = { - {"default:steel_ingot", "default:steel_ingot"}, - {"", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "farming:hoe_bronze", - recipe = { - {"default:bronze_ingot", "default:bronze_ingot"}, - {"", "group:stick"}, - {"", "group:stick"}, - } -}) - --- --- Override grass for drops --- -minetest.register_node(":default:grass_1", { - description = "Grass", - drawtype = "plantlike", - tiles = {"default_grass_1.png"}, - -- use a bigger inventory image - inventory_image = "default_grass_3.png", - wield_image = "default_grass_3.png", - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - drop = { - max_items = 1, - items = { - {items = {'farming:seed_wheat'},rarity = 5}, - {items = {'default:grass_1'}}, - } - }, - groups = {snappy=3,flammable=3,flora=1,attached_node=1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, - }, - on_place = function(itemstack, placer, pointed_thing) - -- place a random grass node - local stack = ItemStack("default:grass_"..math.random(1,5)) - local ret = minetest.item_place(stack, placer, pointed_thing) - return ItemStack("default:grass_1 "..itemstack:get_count()-(1-ret:get_count())) - end, -}) - -for i=2,5 do - minetest.register_node(":default:grass_"..i, { - description = "Grass", - drawtype = "plantlike", - tiles = {"default_grass_"..i..".png"}, - inventory_image = "default_grass_"..i..".png", - wield_image = "default_grass_"..i..".png", - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - is_ground_content = true, - drop = { - max_items = 1, - items = { - {items = {'farming:seed_wheat'},rarity = 5}, - {items = {'default:grass_1'}}, - } - }, - groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, - }, - }) -end - -minetest.register_node(":default:junglegrass", { - description = "Jungle Grass", - drawtype = "plantlike", - visual_scale = 1.3, - tiles = {"default_junglegrass.png"}, - inventory_image = "default_junglegrass.png", - wield_image = "default_junglegrass.png", - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - is_ground_content = true, - drop = { - max_items = 1, - items = { - {items = {'farming:seed_cotton'},rarity = 8}, - {items = {'default:junglegrass'}}, - } - }, - groups = {snappy=3,flammable=2,flora=1,attached_node=1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, - }, -}) - --- --- Place seeds --- -local function place_seed(itemstack, placer, pointed_thing, plantname) - 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 above = minetest.get_node(pt.above) - - -- 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 pointing at the top of the node - if pt.above.y ~= pt.under.y+1 then - return - end - - -- check if you can replace the node above the pointed node - if not minetest.registered_nodes[above.name].buildable_to then - return - end - - -- check if pointing at soil - if minetest.get_item_group(under.name, "soil") <= 1 then - return - end - - -- add the node and remove 1 item from the itemstack - minetest.add_node(pt.above, {name=plantname}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack -end - --- --- Wheat --- -minetest.register_craftitem("farming:seed_wheat", { - description = "Wheat Seed", - inventory_image = "farming_wheat_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") - end, -}) - -minetest.register_craftitem("farming:wheat", { - description = "Wheat", - inventory_image = "farming_wheat.png", -}) - -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(4), -}) - -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" -}) - -for i=1,8 do - local drop = { - items = { - {items = {'farming:wheat'},rarity=9-i}, - {items = {'farming:wheat'},rarity=18-i*2}, - {items = {'farming:seed_wheat'},rarity=9-i}, - {items = {'farming:seed_wheat'},rarity=18-i*2}, - } - } - minetest.register_node("farming:wheat_"..i, { - drawtype = "plantlike", - tiles = {"farming_wheat_"..i..".png"}, - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - is_ground_content = true, - drop = drop, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, - }, - groups = {snappy=3,flammable=2,plant=1,wheat=i,not_in_creative_inventory=1,attached_node=1}, - sounds = default.node_sound_leaves_defaults(), - }) -end - -minetest.register_abm({ - nodenames = {"group:wheat"}, - neighbors = {"group:soil"}, - interval = 90, - chance = 2, - action = function(pos, node) - -- return if already full grown - if minetest.get_item_group(node.name, "wheat") == 8 then - return - end - - -- check if on wet soil - pos.y = pos.y-1 - local n = minetest.get_node(pos) - if minetest.get_item_group(n.name, "soil") < 3 then - return - end - pos.y = pos.y+1 - - -- check light - if not minetest.get_node_light(pos) then - return - end - if minetest.get_node_light(pos) < 13 then - return - end - - -- grow - local height = minetest.get_item_group(node.name, "wheat") + 1 - minetest.set_node(pos, {name="farming:wheat_"..height}) - end -}) - --- --- Cotton --- -minetest.register_craftitem("farming:seed_cotton", { - description = "Cotton Seed", - inventory_image = "farming_cotton_seed.png", - on_place = function(itemstack, placer, pointed_thing) - return place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") - end, -}) - -minetest.register_craftitem("farming:string", { - description = "String", - inventory_image = "farming_string.png", -}) - -minetest.register_craft({ - output = "wool:white", - recipe = { - {"farming:string", "farming:string"}, - {"farming:string", "farming:string"}, - } -}) - -for i=1,8 do - local drop = { - items = { - {items = {'farming:string'},rarity=9-i}, - {items = {'farming:string'},rarity=18-i*2}, - {items = {'farming:string'},rarity=27-i*3}, - {items = {'farming:seed_cotton'},rarity=9-i}, - {items = {'farming:seed_cotton'},rarity=18-i*2}, - {items = {'farming:seed_cotton'},rarity=27-i*3}, - } - } - minetest.register_node("farming:cotton_"..i, { - drawtype = "plantlike", - tiles = {"farming_cotton_"..i..".png"}, - paramtype = "light", - waving = 1, - walkable = false, - buildable_to = true, - is_ground_content = true, - drop = drop, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, - }, - groups = {snappy=3,flammable=2,plant=1,cotton=i,not_in_creative_inventory=1,attached_node=1}, - sounds = default.node_sound_leaves_defaults(), - }) -end - -minetest.register_abm({ - nodenames = {"group:cotton"}, - neighbors = {"group:soil"}, - interval = 80, - chance = 2, - action = function(pos, node) - -- return if already full grown - if minetest.get_item_group(node.name, "cotton") == 8 then - return - end - - -- check if on wet soil - pos.y = pos.y-1 - local n = minetest.get_node(pos) - if minetest.get_item_group(n.name, "soil") < 3 then - return - end - pos.y = pos.y+1 - - -- check light - if not minetest.get_node_light(pos) then - return - end - if minetest.get_node_light(pos) < 13 then - return - end - - -- grow - local height = minetest.get_item_group(node.name, "cotton") + 1 - minetest.set_node(pos, {name="farming:cotton_"..height}) - end -}) diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png deleted file mode 100644 index bd00e3e139782539349ad21ace6796e9d323ec79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmV+@0@wYCP)m&!lD{!JP~7dHDYce{k<=MVsk>iBic20p~P(_^K!~ zL-&a;Uf5VD?|otpPlZcMA+>7ELAOQ!1V-uzL|CcCh_)FWLgFA5 zvGq6Vd;H>Y0oE!)wHkBqy+!A!ARXomGs`e9Xf@i*8K_)@%P~Y?81p&P(>O+m7DkwDL%_&g^5`h%3o&rPg)&T*D zfd!Q3AWZGv+0-xTSF`}9;ILR6D0nC;%7ltCacc)*OqlWP_J*oE1%*!D!(v#{5HzB% q18(j#gjsK&T=V!_d-W}!f8i%XZ^E3%vu4Er0000{XE z)7O>#E~_Xnlf;vYPq=|X>Ygr+Ar}702@mH!FE9BT3qk{i_25MpOboFyt=akR{0CmP9UH||9 diff --git a/mods/farming/textures/farming_cotton_2.png b/mods/farming/textures/farming_cotton_2.png deleted file mode 100644 index dc1025ba7064260a077ccd8e8cae4749e35a59ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_Xnlf;vYPq=|X4xTQKAr}702@0H>S|F&wcXtG2+%ABPgg&ebxsLQ E0M5WN@c;k- diff --git a/mods/farming/textures/farming_cotton_3.png b/mods/farming/textures/farming_cotton_3.png deleted file mode 100644 index a1fe3b64fc851558082ca81c6196f85eda968ecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_Xnlf;vYPq=|XF`h1tAr_~T6C_v{CtP5(<=yyy$CDi2l>fpe2M+qY+rQRu znUl2g%>T=FO={s~&^DX)Gk=NdNBP(umGwI!wEnbP-n``SYk%`jnM}5ZhSgIa)lWEk iV~>jo!%d$PKN;rmOK)YJ^Xf6s9tKZWKbLh*2~7ZsJVBfQ diff --git a/mods/farming/textures/farming_cotton_4.png b/mods/farming/textures/farming_cotton_4.png deleted file mode 100644 index d0096da395270fa79bff41fabd7658972f73d47f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_XnljP)USLOnRsy$sCLo7}wCrGd!=DZsq z2gC1I|Murt2i6^b#uc${XE z)7O>#E~_XnlN8teR&}7zGEW!B5R22v2@+;ZwBFqrfg@Pm9bi%ds>0Xr2qX_)mEhTwSD?uI4fsyd)Dr)>%P=aP?NatCcgi* zM2wF}fXEAtu0QU4;w9pV4Asn$JG6aFRUUTvURC|y9OGQV(;%Y!duqnn4Gl(@r~K-d z%U!pu>;J}M3}y_U*mSZS?>Y5JE@C_p7Hw-}sx0kvf`MUWzVpW!i5cZU7c+Re`njxg HN@xNA?`~je diff --git a/mods/farming/textures/farming_cotton_6.png b/mods/farming/textures/farming_cotton_6.png deleted file mode 100644 index 13343046cbcd7f320ab16cf11803deb4dc4b5e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmV-c0jd6pP)Nkl08}8z6Vq*0F|76V56gz-Kug;~JPUmf@ru|T}IWHgt1z;@6H=dbeYGbwYs^JjXSk(-v1OSlzee1=6 zfG!h`=Ac>|HuFz)i7M9J@{S?dHEl;3N#Z2 o3-haj3iwp5{9IrkxALg~4+>0lpThL3=*POdm){^zW3UqDE}A4;^NFGtiH2Nx&Ami{GsO< zG^wR1L_=9Lbdng&e4K&+AcGr(Snn4T?;N0RAwl>ex2qbhS{V+oDyr1HZ0dAB?PZ6Z ze2nax=Bf(p0Ivlyh^(4!?sugO%SjqD^+74g0eJJAAx34DX7zONegG8Ju7`y*%G5|v zJrm{mhXW4;7p|lC>?5`ZLyzzrR}x3{jiOS6DR}_@S#hD;aYum;yoRlrlV%5*%}6H9 z;ijDp{YO5wKW9sOSr!Pt3aDb7b}sf?qZk%js8!KI37$yMj^TVzu;Bmz002ovPDHLk FV1g%{XE z)7O>#E~_XnlXUHkts8+tpFCY0Lo8084Z6wKWFYWFz9vxcLr>GAMk#%fBd-ts_& zETjlYC=?=usnN*$Fg8>O)3p6M zUzR$Cl_+M-lsd__U&f>!hmi{kLO1OP6COqlalTr8@FP!|VA@DvW0cTI`UJr&hQYg? zS$PHU{o@FhUa%3K)qe_4A!Y0bRXBqOdEoEle2P$w=Z#UotcE>JV#-dr?1<7kQ@*!a=Ti2YI;;B?-ht%kH uTG(`Qk=T;TK#&MK0Yh70nqN5Kd_xl}XSxO_x z+qR+a`}d+SaboB58C6vw%d(dctuZgv>0+8Du}=bTCAn!D`A>|+K8kQxeBa0Ib`z@v zNT$fLEJ7y6VjRwfLhRvyZQF*j-|re zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00NXrL_t(IPi<3eQxZ`a-QSRs z(+DW&AS|rBBW%0~tQT4E1+j=X4OlfzQX4b1a(=>hXN1mR0i>A;I zckb@pbIx=3oad36njgoNBu;A6s3l}{^Fh3BW^u8#fO6D@<=ZkEbY6{4;Df>NevRR* zrD2@~&`9|pwY31&m>;id88nk_Z0iwh=R<;2BQh8JvRlI2HbW!k#CdB*6j>);J4*ty z!EqEr4rt0Kl1>XcEQC_jiJ8e!v3ANTodsYJiA~xtL%58`3eKDLk3sTSO>mnBpjZaM zLgTcX#Iwgd2)AVbS+7mJ$4R_K;(EjZ$E_QXi6ajWK9%5$uz3>F>E==o&|m2~!N~Y9ydyVh4I$&RW6CiMsl$RO_-!Z#$52gqP){kSPb+Ao z6=Ymy9Mv^6=`82BgDE!bEhmt6Td-LO;~tqVJ)V!^osq|e=EZ8ljc1hvPO3@l7DD*E zvxraIbNK$Ej`L0)EfRgxVlc@4<0Ta@DSl~hZVE=mhlVO+B_-p2+Jja`!6Q8+$cN=P z_7~N^0=vZsc+nM#`1##9q?F4-SG7W?D<0IdINc~>jv~^O5me$X+#%pn%!Qnn|AHL} z@`%SRcx3367`dta$?)iUd%x*dV!RI2U!)i3AA$eDy$}C3PQTD^F%#mHl2lP$$jVmX zgF!QpqkMVGwrM`Pr5NU^S|=C8h8`9^J*}q2;y&dR^1vYHA80<21dsFEVFh0gDyYUL z&?VANF)Unf#AG~VUi_p;FSZI|-(oaOm#3@vaa6^5JBLo%i~R-ai}gHes#AHIp8h!yPAGy%VNqv_90000e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Li0L_t(IPi<3MZxT@uJ|z?u z=yENrT*G!L3zSP0S(b9yLLqXg(Mqe<>PsVDVqZ-3L1T;${_oE@XWgcuJWS5c*_m%< zzV8g{s6kvb)3`J;Fj5j`#W3D=^0=8)(TIC-_&|b5_pSIgK3f_-9c#GmsTgV@m>C(Y zuZD1}1@YF%p_BGus>d)bMnsZ9$sFwaqJ|HB4Q9fFRc}ue8B$(9PXPO27s?Sg)Br=; z!!XbysKq_l+hM}y4TbJPuqa96cNCZNGw{6q;1-ylG5E*=WLm@}PHxV9Ubg)tfg1#_ z$J}s}Fa0;>1Z)CQJT^dxzU%1#^r#zYAHxp$MFP^PbLIrBSK0&^b1}%wwj9Opx~YSK z7Dg$^P!4aQmGPsU2?#T@0pz?4=WP`o@(UEB(fp@}DP*aOaVd(&L^^wV5XVQWh>EJJPbR&{FetewZzsEi6p#AR(Jy?980 z^@JA%*&ZR~vE>$dG|D|0IhpIqaOs?Lo%DM$ZVFm2;>dXma5vcbarfb@136$x8iO?z zFY=PjgGD`Rwmi7r)P2SoI4SWMz_!-o>y8L-B|e=0JQ4 p$5iCYSjV!a;CVFxF8_5`#Xn1JRO#FS20j1)002ovPDHLkV1grSLF@nk diff --git a/mods/farming/textures/farming_soil_wet_side.png b/mods/farming/textures/farming_soil_wet_side.png deleted file mode 100644 index 406b4599dd27f38fec53f9b2d4c17db00e00d835..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 818 zcmV-21I_%2P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00NpxL_t(IPd!uHQW`-N93Y@z zaOI-11O!0^K^DOU<)$eFNfh-#Lx{l#HL1#_5>t6gZd>cv3>$1Mc~Fu4lDyxzHr_OBT-6e2+ViNy0xb2}oq*Fq1ixloJRIe4*UO?F_h3}8&`!=_KM_y@D!UevU1{}R+Ir~a zV946C1NeSk)s6F=7{=uoT#?^R2hn*pkA3;y&xLW6eJaFHw3UgQM1MUDGpQ$Wknn4z z)9nbx+fgMTQAK2a8&`2rioz8Y1b-M5w5{9L8eWQOLs?TdC9e9l{};sw&IE9{7E(ob zoh&||?x?vm_EpV>EAEdrEQ}?7Ls{-hKuvRE9(BI9;zKVTQt)syBJ!>O1c#Xg^}>;e zRRP^3m_~gaJNS9i*1oH8FGgDy2AfMtz#{c{00kK+#;rIp-+VgR#*ax;J$RIUxo+E8 zO@>nYSquHVrH7}@HC2)e8YSen8Ava057uxg#?4xp{}n0oUp1OWg(PhXDT#0P(;!v} zxY!eo9Q*|nc)gp@+^5Zy79qiKeLHL2OcClbH1)8aDS9XSJGhStVk7) zk_Z=la%I?z8~bCR_9StB92O<(qK;`-lIUeZs;IK)LEH8#m@~j92heZ=znql7fnsG& w7nSgS@CuWNw~)g&J4jBw{#}JFtSA#71jwtY)`5!-l{{z>8 z7P+9HAUCccmaXB!Cxa3;JItJWOyXGc`qZD?5!sq84$mtmO_@|Dc^#>apP1AWs!$^)n|9#&oX_D5r>aDDtloT}P{u@S>!Drirk>dMo<%SsnJ4$Q zn-j;OkY!Sx3#KjJy3g&F?9!lDN)L|zmcE}X-*)zhzsGjbc3Hj4!THO?yEY$)W4L>B aKa+f2-3gA5xrLKKKJ|3HIgCrG&}ID2f9%vVyh f{yZVqScHK=S~XsiJKOvv&?yX_u6{1-oD!M+m<|>_2oJE|>9Fx~bp0rM2j@w`7yDLpX;gskO6Xo4aI%iL;JMfA($>ebf>&ieD nqn4D}AJv358S~#Xb7o|ix2NG-qOQIU&_N8Iu6{1-oD!M<0}EH* diff --git a/mods/farming/textures/farming_tool_stonehoe.png b/mods/farming/textures/farming_tool_stonehoe.png deleted file mode 100644 index 741f190dc3666fd81cbb7097508bcfcdb31d54e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPaH=D4K!R~vm`9PsQPZ!4!i_^&o3&duaWM2BeHhO!L zVTbQFM?pcs|HZ|{{}1!1+%}luXmI$B&e#9PZ>^e;H)Hnf+w~I?6_}0gmi)KYES!|r zu~6iAeTvVdvXQ-JqF}Crl x^pT8XFS&vibEI&bG<)o;l9DdBDYuP@;e|+2<1B`=?}093@O1TaS?83{1OR7~T;Biy diff --git a/mods/farming/textures/farming_tool_woodhoe.png b/mods/farming/textures/farming_tool_woodhoe.png deleted file mode 100644 index 2448c181089ab9257fd08b17d45a73051f7bb715..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPaH=D4Kg7sB#-Zy zg4s>Bn^|6ezng~r;WwU;b2x$RAW!k;EC1!QS3B)WY~xz=-?6Qche7hmk|UmNia|2} zCmMRray-X&bCu>n*Ij1~&Z=a~tekbSYf?wsU4=eq9ey3WyPo^yrP znsDSbAhB=3Wyk{R-9^73d490ojJV&3M@i0uEjZaR;`;D2PIpcB@qh_2pAmOa+x^Xv zmBFHq!%c%S(S;y5*l32&-2ehaAIOr*s239|EVWxF`sd(~h@f z&^ZyE2hE6XtJv|aRAFhnkf#NIeIP4{2=J9qLOIc$MA*VTMS`)fIZWUf(89Z1gVTT! zfuD^Cdp6?&a(L$T80yHv&Pt^SQU<-ks-qkfERm=ZxTcCR-J8cX z)31fkRRxkvVO|RV1Xh(_Qt%Qztr>9i<+BavgpPOrYPASeMp&pg_R7i%-sPo2dXs`u zT^hcBE5t;14*G2pHWu~RbXMR*{D(i`R?dQ6gA_5)ZGR8fWD(@LbmU7fxU3&v!#SqI zV0$)OS)0>y27hC1*cSw6duA?;T}U16%toJ8!a%zOL+vXRX;T&bZMo`sYC@>^-yH7D zglD!4Q$4vD>B@TipR28Ia|U~L+e@BCKx=O3?UTU&06Il_hK}P_vj6}907*qoM6N<$ Ef}8pVQvd(} diff --git a/mods/farming/textures/farming_wheat_1.png b/mods/farming/textures/farming_wheat_1.png deleted file mode 100644 index 49430003b0b9c176c8dc8ea2ece63efc32446ac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_XnlMo9FuP9K+(9^{+#G*GjL4tL0f(TF0g*t^t_8YUJ`CAmPl*xAg>esok n$y`J)a{XE z)7O>#E~_XnlMo9FuP9I`!qdeu#G*GjL4tL0f=B|ZFn{}h^{BTCIefORoz3*`@e~*4 zx6w@kSykU!8Z3QZ|M{o<*>OQOd(+*0rUK{Q-IVPzU`R`TAJ>uaU9UwgrR@2)1dHlR c6FdGh{9CVM&dB$y4QL00r>mdKI;Vst0J-Ek?f?J) diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png deleted file mode 100644 index 00a8c661d1097c7ac19f69cfb45d30465b30b763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#E~_XnlW;M!Z8K1)+0(@_#Nu>vf&}a02C;-!>n8jcku-Q-pmLGzOD@-e5bM_t zED;44SI+pK5_xUErGUfK2{W-Ro)dq8TgSpv) z%bZl6$#yec=I(R{XE z)7O>#E~_XnlW;M!Z8K14t*47)h{fsT1PRu|f@|zWKF(KS4tvA3@Jz$b*MAPMt+^%q zZNARwY43U1xb<#GcwA`UZC4h|y7s2|28VI!LAU?^Z{$R6QRO%nw~hHEtHHTBTlf9H z=o`P4ePO}Ju$I$l>puPDpB}SI_R$w#cSWhhIL5}UzYjlrqpQB?!JDhq&i@b3W#25Q z(~+WmBKyR-Hc7T1{;>L*=sbH|kxloe7)v;Zv5d=MCh;R|k$eoYRkh0A`#e&C P4rlOm^>bP0l+XkKKGtJx diff --git a/mods/farming/textures/farming_wheat_5.png b/mods/farming/textures/farming_wheat_5.png deleted file mode 100644 index 1023f0cc2be40c18c278ab0404e6edfe91d3e34b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmV-o0iFJdP)yz6FUfCQZesweT|c;5$@Ot zrA!GoQ7?EoBOJwluo}gb%7 diff --git a/mods/farming/textures/farming_wheat_6.png b/mods/farming/textures/farming_wheat_6.png deleted file mode 100644 index 591c1383b3028a0d77e90b79539da4be85701295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmV;(0XP1MP)%TB^j5bfV7QmXY4 zH*7UViK6JAfNfQTKA<2XSU?R4320*=VuFu_M*Wttb8qIBF4(wqHuv1l%$alMR+9c# ze2y~kJwAj#6ZkjV@aFF`f>Cz|Uhem1l1&D?Fzlv4dVNTXqOYe6{5&7Ad*9m>coqT6 zKi;JPCsU$cSY#NJ?|w)=8Kfg*IJno`0O@0R0Mjb$TwLHrk&~enveWmrM81|!KokUF zW#;(ok7J_1ZzuUObwv=8OP9BKKn%sy00000 z)E6H##-Jkj8v>$)Rfbh$5l|t3AR<8|M8!Q4^;atG<=%leADv{>SI=k1 z2KO}!{FVQHvopuu+~xYcxhS*_bP0_SJw{1&S(Xk+AGUe(_XE>g9dYe zL@tJr4?z)Ooi|-bMuBsF9pRsz9qO4?A;8yZrp=6-^=aWWpr?=HL-n}00GQ`u#Uqoz z8Lx(L$}=b5CFf_!gqsOe;`5?d2-ebxFP#T8%iA;$Sfs6U2$uzk~?{xO*$R0QK}dpmM*o z4CsozY;WZ9+u;7>c2W^{t;Wn$keoA+bg5{1BW0!`$YGAu5O=DG_Y10)+jEP)@r!?^`ETH`Zjx~Z|#@;UDsag z`?h7BIKO&RID9n@>p#!eoypU+-Np^Pe{)NM1p3*V7W-p6hNI1>Db76{Jj0kgri*yk z{O)zs0JNOzV*l8mLhprQ_WNKOZRZ;Jy43D(+ysM69=wd=OIOkQ+=+oXv9~5q#aoq8 z>@~*}0Cj)cjZ5-qGlt{s3ByP?{W-jCz&>>*u+tb72D;CxJQ*@gEYSAT#}~xjT_3}T zmYU7+b{y5*i1=ErwVd>#wiFVlwRTDF^?Vo_Kx@}?vhRD&(*FK7{%;GbDW5oN3yMuP z;e}%>&}Ke@MkZv6b-a}F!>Xo(;*=Nta@VpdS$O0#4P>M3(n0_$^QyKu=hkS4XasZY zfB~#$6nG;WK{h!c_WYf5hRrf#-RiJ7^;{V42f;?+B2Ln*riaijU&fYmr4JUuvz%ho zD!aXGvhR72pH%~E79(<#S*J3L^n>#Tlpyw95A@8k36}wb#aSOZ&Q;hm11K*BK>geX zC2&LaOxSEluYB+M2$p8NaQ{G1C^13W91PdTCW47P*DlTZMSD3FK*bKak9fgetJc@r z=ue;jfgsg%82Q8?3Q3;~mIJ0=&*`lNlr$!(mGtx$m?RrYp+s(kuag;l4v#h;`wJxt V)j>way?g)w002ovPDHLkV1iU;Bgp^& diff --git a/mods/farming/textures/farming_wheat_seed.png b/mods/farming/textures/farming_wheat_seed.png deleted file mode 100644 index 9afcd4dd8e010644340f54e36cf47e64b2f158d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL{LP)4 zpEZP@xIKbSh=x^I_eSz!7Z;6u)j=ZjShN^EM+TA5Rqa#ayROXT>i>RVBXBtaPum2o zj|vppPpHofZ;b~WClxgp(-uy%R9Sa%eFr8i9vQ5{E7Cyj$mP4EjYG$h*K|25!n`T- z83-uXOY^Q}c&3y?kDW96nr5}Y(Re$lMwUMO-{X)oI_*CnRNUjagxq)VUwi`<*~Fo! SeH@+u0000 - -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. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ------------------------ -Everything not listed in here: -Copyright (C) 2012 Perttu Ahola (celeron55) - -fire_small.ogg sampled from: - http://www.freesound.org/people/dobroide/sounds/4211/ - -fire_large.ogg sampled from: - http://www.freesound.org/people/Dynamicell/sounds/17548/ - -fire_basic_flame_animated.png: - Muadtralk diff --git a/mods/fire/init.lua b/mods/fire/init.lua deleted file mode 100644 index 9acda876..00000000 --- a/mods/fire/init.lua +++ /dev/null @@ -1,192 +0,0 @@ --- minetest/fire/init.lua - -minetest.register_node("fire:basic_flame", { - description = "Fire", - drawtype = "plantlike", - 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", - light_source = 14, - groups = {igniter=2,dig_immediate=3,hot=3}, - drop = '', - walkable = false, - buildable_to = true, - damage_per_second = 4, - - after_place_node = function(pos, placer) - fire.on_flame_add_at(pos) - end, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - fire.on_flame_remove_at(pos) - end, -}) - -fire = {} -fire.D = 6 --- key: position hash of low corner of area --- value: {handle=sound handle, name=sound name} -fire.sounds = {} - -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 - -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=1.5} - elseif #flames_p > 0 then - wanted_sound = {name="fire_small", gain=1.5} - 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, 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, loop=true}), - name = wanted_sound.name, - } - end - end -end - -function fire.on_flame_add_at(pos) - --print("flame added at "..minetest.pos_to_string(pos)) - fire.update_sounds_around(pos) -end - -function fire.on_flame_remove_at(pos) - --print("flame removed at "..minetest.pos_to_string(pos)) - fire.update_sounds_around(pos) -end - -function fire.find_pos_for_flame_around(pos) - return minetest.find_node_near(pos, 1, {"air"}) -end - -function fire.flame_should_extinguish(pos) - if minetest.setting_getbool("disable_fire") then return true end - --return minetest.find_node_near(pos, 1, {"group:puts_out_fire"}) - local p0 = {x=pos.x-2, y=pos.y, z=pos.z-2} - local p1 = {x=pos.x+2, y=pos.y, z=pos.z+2} - local ps = minetest.find_nodes_in_area(p0, p1, {"group:puts_out_fire"}) - return (#ps ~= 0) -end - --- Ignite neighboring nodes -minetest.register_abm({ - nodenames = {"group:flammable"}, - neighbors = {"group:igniter"}, - interval = 1, - chance = 2, - action = function(p0, node, _, _) - -- If there is water or stuff like that around flame, don't ignite - if fire.flame_should_extinguish(p0) then - return - end - local p = fire.find_pos_for_flame_around(p0) - if p then - minetest.set_node(p, {name="fire:basic_flame"}) - fire.on_flame_add_at(p) - end - end, -}) - --- Rarely ignite things from far -minetest.register_abm({ - nodenames = {"group:igniter"}, - neighbors = {"air"}, - interval = 2, - chance = 10, - action = function(p0, node, _, _) - 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(p0, 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"}) - fire.on_flame_add_at(p2) - end - end - end, -}) - --- Remove flammable nodes and flame -minetest.register_abm({ - nodenames = {"fire:basic_flame"}, - interval = 1, - chance = 2, - action = function(p0, node, _, _) - -- If there is water or stuff like that around flame, remove flame - if fire.flame_should_extinguish(p0) then - minetest.remove_node(p0) - fire.on_flame_remove_at(p0) - return - end - -- Make the following things rarer - if math.random(1,3) == 1 then - return - end - -- If there are no flammable nodes around flame, remove flame - if not minetest.find_node_near(p0, 1, {"group:flammable"}) then - minetest.remove_node(p0) - fire.on_flame_remove_at(p0) - return - end - if math.random(1,4) == 1 then - -- remove a flammable node around flame - local p = minetest.find_node_near(p0, 1, {"group:flammable"}) - if p then - -- If there is water or stuff like that around flame, don't remove - if fire.flame_should_extinguish(p0) then - return - end - minetest.remove_node(p) - nodeupdate(p) - end - else - -- remove flame - minetest.remove_node(p0) - fire.on_flame_remove_at(p0) - end - end, -}) - diff --git a/mods/fire/sounds/fire_large.ogg b/mods/fire/sounds/fire_large.ogg deleted file mode 100644 index fe78e6253134818b33cd8c3fd2a87d0edfb0757e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62808 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 diff --git a/mods/fire/sounds/fire_small.ogg b/mods/fire/sounds/fire_small.ogg deleted file mode 100644 index 5aac595b94264e8d7c7f74b1894ca4e90b4950db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50004 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

;_waAvZwXMX45f8r^0Q=`HLo- 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 0 then - return - end - - local flowers = minetest.find_nodes_in_area(pos0, pos1, "group:flora") - if #flowers > 3 then - return - end - - local seedling = minetest.find_nodes_in_area(pos0, pos1, "default:dirt_with_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 - if minetest.get_node(seedling).name == "air" then - minetest.set_node(seedling, {name=node.name}) - end - end - end, -}) diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua deleted file mode 100644 index 7148f6e5..00000000 --- a/mods/flowers/mapgen.lua +++ /dev/null @@ -1,62 +0,0 @@ -minetest.register_on_generated(function(minp, maxp, seed) - if maxp.y >= 2 and minp.y <= 0 then - -- Generate flowers - local perlin1 = minetest.get_perlin(436, 3, 0.6, 100) - -- Assume X and Z lengths are equal - local divlen = 16 - local divs = (maxp.x-minp.x)/divlen+1; - for divx=0,divs-1 do - for divz=0,divs-1 do - local x0 = minp.x + math.floor((divx+0)*divlen) - local z0 = minp.z + math.floor((divz+0)*divlen) - local x1 = minp.x + math.floor((divx+1)*divlen) - local z1 = minp.z + math.floor((divz+1)*divlen) - -- Determine flowers amount from perlin noise - local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ^ 3 * 9) - -- Find random positions for flowers based on this random - local pr = PseudoRandom(seed+456) - for i=0,grass_amount do - local x = pr:next(x0, x1) - local z = pr:next(z0, z1) - -- Find ground level (0...15) - local ground_y = nil - for y=30,0,-1 do - if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then - ground_y = y - break - end - end - - if ground_y then - local p = {x=x,y=ground_y+1,z=z} - local nn = minetest.get_node(p).name - -- Check if the node can be replaced - if minetest.registered_nodes[nn] and - minetest.registered_nodes[nn].buildable_to then - nn = minetest.get_node({x=x,y=ground_y,z=z}).name - if nn == "default:dirt_with_grass" then - local flower_choice = pr:next(1, 6) - local flower - if flower_choice == 1 then - flower = "flowers:tulip" - elseif flower_choice == 2 then - flower = "flowers:rose" - elseif flower_choice == 3 then - flower = "flowers:dandelion_yellow" - elseif flower_choice == 4 then - flower = "flowers:dandelion_white" - elseif flower_choice == 5 then - flower = "flowers:geranium" - elseif flower_choice == 6 then - flower = "flowers:viola" - end - minetest.set_node(p, {name=flower}) - end - end - end - - end - end - end - end -end) diff --git a/mods/flowers/textures/flowers_dandelion_white.png b/mods/flowers/textures/flowers_dandelion_white.png deleted file mode 100644 index f9d998f3b3ff10581e79761342870b1633dcb474..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|>^xl@Lo7}w zCrGevVV%By{(t_%BAIHZ1!gRZt==A(#&C6yW0}LOB^xKKmt^^qwvm^K`GgV6GC>ix e5JQ&fQVfe`BrJRX@^LuOBnD4cKbLh*2~7Yrjwwd~ diff --git a/mods/flowers/textures/flowers_dandelion_yellow.png b/mods/flowers/textures/flowers_dandelion_yellow.png deleted file mode 100644 index d1646feefd4527314cf5ce7fe9a290cf211a6797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Y&~5ZLo7}w zCrGevVa;D}@TWbo%VcsYhtK7StRhklruh?OC#YrWJjrHb+#i|Ke1KsSPh%!aD`P0n b!KG{rLb-vpTkdIrtYh$W^>bP0l+XkKamFPX diff --git a/mods/flowers/textures/flowers_geranium.png b/mods/flowers/textures/flowers_geranium.png deleted file mode 100644 index 0c05faf1418b27b46a024ec986fc9c7e92d7d4c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmV-80muG{P)b{%!Z~$pCbKn2p#{1BJ1E*8O zYlM5n=@QU@eL!dLC0#QN}5qN5L+Aru)vj28g>4{=QgPo4Jw0000< KMNUMnLSTYb$%(H3 diff --git a/mods/flowers/textures/flowers_rose.png b/mods/flowers/textures/flowers_rose.png deleted file mode 100644 index 450bb312acfd98a645e848cdb68ecc865cf6b81a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|oIPC}Lo9le z6C_xhW#%L%{NO+2-7rJvtoH?jn`{%Fa;2P2scz1BuFO2yMC_Bv@3Tq2`7ilwV-&gB jm&3r(9OG;p&cN{Lu+iMfmz!Szjbre1^>bP0l+XkKM7k{; diff --git a/mods/flowers/textures/flowers_tulip.png b/mods/flowers/textures/flowers_tulip.png deleted file mode 100644 index d7a63d331da3b96e3a62f62a79d196f6ef69e76c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Ts&PILo9le z6C_xhW#)7z{`kLj(nI?Wwc895auUoA34PkEvm6ho^tReC|4G~Uclim18HxtX32c*6 j86syTHfXUun9R=5vQg_2x743jpm_|Qu6{1-oD!M<{M9No diff --git a/mods/flowers/textures/flowers_viola.png b/mods/flowers/textures/flowers_viola.png deleted file mode 100644 index 37525cfab2afddc18d5737a378a7db8686153ad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|%spKkLo7}w zCrGd^Zr})z3ivxer}xDS9p@yU%O|e;Y~*%0pwj!)-nH?CdG}j;*IAA;l)?or@i16# W);y86c7Z6+2nJ7AKbLh*2~7YqyeC8e diff --git a/mods/give_initial_stuff/depends.txt b/mods/give_initial_stuff/depends.txt deleted file mode 100644 index 3a7daa1d..00000000 --- a/mods/give_initial_stuff/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default - diff --git a/mods/give_initial_stuff/init.lua b/mods/give_initial_stuff/init.lua deleted file mode 100644 index c65ddeae..00000000 --- a/mods/give_initial_stuff/init.lua +++ /dev/null @@ -1,12 +0,0 @@ -minetest.register_on_newplayer(function(player) - --print("on_newplayer") - if minetest.setting_getbool("give_initial_stuff") then - minetest.log("action", "Giving initial stuff to player "..player:get_player_name()) - player:get_inventory():add_item('main', 'default:pick_steel') - player:get_inventory():add_item('main', 'default:torch 99') - player:get_inventory():add_item('main', 'default:axe_steel') - player:get_inventory():add_item('main', 'default:shovel_steel') - player:get_inventory():add_item('main', 'default:cobble 99') - end -end) - diff --git a/mods/legacy/depends.txt b/mods/legacy/depends.txt deleted file mode 100644 index 3a7daa1d..00000000 --- a/mods/legacy/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default - diff --git a/mods/legacy/init.lua b/mods/legacy/init.lua deleted file mode 100644 index 1cb99ef5..00000000 --- a/mods/legacy/init.lua +++ /dev/null @@ -1,107 +0,0 @@ --- legacy (Minetest 0.4 mod) --- Provides as much backwards-compatibility as feasible - --- --- Aliases to support loading 0.3 and old 0.4 worlds and inventories --- - -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") -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") -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("nyancat", "default:nyancat") -minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow") -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("scorched_stuff", "default:scorched_stuff") - --- --- Old items --- - -minetest.register_craftitem(":rat", { - description = "Rat", - inventory_image = "rat.png", -}) - -minetest.register_craftitem(":cooked_rat", { - description = "Cooked rat", - inventory_image = "cooked_rat.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craftitem(":firefly", { - description = "Firefly", - inventory_image = "firefly.png", - groups = {not_in_creative_inventory=1}, -}) - -minetest.register_craft({ - type = "cooking", - output = "cooked_rat", - recipe = "rat", -}) - -minetest.register_craft({ - type = "cooking", - output = "scorched_stuff", - recipe = "cooked_rat", -}) - --- END diff --git a/mods/legacy/textures/apple_iron.png b/mods/legacy/textures/apple_iron.png deleted file mode 100644 index b1d180457a39fc8f6e49e717fc015fe089a5fb23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%K$t-4F{@Waa7N z7-DfcIYEN;u;hxX#(&%o^`uBUbt?Z`oOsDp-m-|L=cFOaI?1yFmv}77-^obu&taTW d(fA^QfuY|usa=P95m44$rjF6*2UngANHHc0>g diff --git a/mods/legacy/textures/cooked_rat.png b/mods/legacy/textures/cooked_rat.png deleted file mode 100644 index db802985d673e70ef874901e57cf3881d8b31bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ z@ErkR#;MwT(m+99PZ!4!i_^&o5+(=2dmq}nvYA*I{9#X=;Ak)_MO;Ce>G9+@Tq$Q& zq?>$=Bkwh4x*Sho*ND_RD7qqrT_-Z`pr~Ams?nys4QCbF99bFe%B2|VU%cB2G?>BD L)z4*}Q$iB}W7{u} diff --git a/mods/legacy/textures/dungeon_master.png b/mods/legacy/textures/dungeon_master.png deleted file mode 100644 index 56caa50e7bfd621480beec4e48a864ea611569aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5659 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 diff --git a/mods/legacy/textures/fireball.png b/mods/legacy/textures/fireball.png deleted file mode 100644 index ed21a5b46b7d29927db33ddac76d4fd90401a8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!3HEH;(vt$DVAa<&kznEsNqQI0P;BtJR*x3 z7`TN&n2}-D90>*nMk7xb#}JR>d&3S2GAZ)--2A?0y=_3x(Ho7d3(hdKP4NAecICL8 z%}JqYDa~`1UupccC-m>^#*~BizJJTD5#O8fCo!?Pq-VjEtd|*$spm5UxOnO$rr7>% zO;~oP`TbYs{v)D=%l^1=+gOP$5)w4|a+kl^GvUacb%FAUoY&k_IJWR@VY@BLX1-By z$I+m$8&(aiDV=w8E_<1D?@jnGb?{wB%(`v*Iq6Frr%hd;ce>@S%NMa5J_&5^`VR0r zxhMTmSi^jc-+=KY`@)VMc?YIz{D+)?g0ea@VC85^rO*_%mw5(Muo1O_RCr>mdKI;Vst0MpE%Y5)KL diff --git a/mods/legacy/textures/firefly.png b/mods/legacy/textures/firefly.png deleted file mode 100644 index 41bb25da56ef25241643df075b402bb4461b3f6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|j|8wkkX>9P~>p2tuoKAcP^Tp(_A=H;e~S6yu~YSF1@IC+fm>7=L&nE21TocH(Kym$}@hr+E2pdvP>a z{X*4_Yk&M?ZwR__PWZ7}kKwF@A_F6b0|S#l0|SdfLq3DtH|gn|jvo)z1D(y_>FVdQ I&MBb@05U>fnE(I) diff --git a/mods/legacy/textures/rat.png b/mods/legacy/textures/rat.png deleted file mode 100644 index e62e60328cf0bd1a0ff48b4c282e50370453ea98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 891 zcmZvaF>6&p5QT>*5&{9i=Al(!3wf0`cA}9N^niq5QVB{>NOxLWK`U*PBWNZ503i^N z!BV?)3Tc$7Y{b$s-8lCK!n^N!VRvUQJNunEvoE$bZ?CRgTrsm%+?n00^?Z%x<#RRv zee(33*%{lqyR%W->__%X)-Jm*BHUdPNdT?2Fmp4R(F|s-vPQom%-tj-4Y2mVLt)|O zGSLV_tD8n?V|==YrE7A^gK|&} zv=$3qTM3=B+vu^70eMmZRu5#2!*aVfqI8Df)j1fe&f#l-4f|6fEo4rs<7plyH>#ek zrzuK;6{!EdO_$DAa1FEdoy*&gcP9_O9KHE<<6!dfcjoo4nof_ezFa$8`ZM{k_j&E+ my57G!x^(6F>z_Z44 uy then return 0 -- Top - elseif az > uz then return 1 -- Z+ side - elseif az < uz then return 2 -- Z- side - elseif ax > ux then return 3 -- X+ side - elseif ax < ux then return 4 -- X- side - elseif ay < uy then return 5 -- Bottom - else - error("pointed_thing.above and under are the same!") - end -end - -local function nextrange(x, max) - x = x + 1 - if x > max then - x = 0 - end - return x -end - -local function screwdriver_handler(itemstack, user, pointed_thing) - if pointed_thing.type ~= "node" then - return - end - local pos = pointed_thing.under - if minetest.is_protected(pos, user:get_player_name()) then - minetest.record_protection_violation(pos, user:get_player_name()) - return - end - local keys = user:get_player_control() - local player_name = user:get_player_name() - local mode = tonumber(itemstack:get_metadata()) - if not mode or keys["sneak"] == true then - return screwdriver_setmode(user, itemstack) - end - local node = minetest.get_node(pos) - local node_name = node.name - local ndef = minetest.registered_nodes[node.name] - if ndef.paramtype2 == "facedir" then - if ndef.drawtype == "nodebox" and ndef.node_box.type ~= "fixed" then - return - end - if node.param2 == nil then - return - end - -- Get ready to set the param2 - local n = node.param2 - local axisdir = math.floor(n / 4) - local rotation = n - axisdir * 4 - if mode == 1 then - n = axisdir * 4 + nextrange(rotation, 3) - elseif mode == 2 then - -- If you are pointing at the axisdir face or the - -- opposite one then you can just rotate the node. - -- Otherwise change the axisdir, avoiding the facing - -- and opposite axes. - local face = get_node_face(pointed_thing) - if axisdir == face or axisdir == opposite_faces[face] then - n = axisdir * 4 + nextrange(rotation, 3) - else - axisdir = nextrange(axisdir, 5) - -- This is repeated because switching from the face - -- can move to to the opposite and vice-versa - if axisdir == face or axisdir == opposite_faces[face] then - axisdir = nextrange(axisdir, 5) - end - if axisdir == face or axisdir == opposite_faces[face] then - axisdir = nextrange(axisdir, 5) - end - n = axisdir * 4 - end - elseif mode == 3 then - n = nextrange(axisdir, 5) * 4 - elseif mode == 4 then - local face = get_node_face(pointed_thing) - if axisdir == face then - n = axisdir * 4 + nextrange(rotation, 3) - else - n = face * 4 - end - end - --print (dump(axisdir..", "..rotation)) - node.param2 = n - minetest.swap_node(pos, node) - local item_wear = tonumber(itemstack:get_wear()) - item_wear = item_wear + 327 - if item_wear > 65535 then - itemstack:clear() - return itemstack - end - itemstack:set_wear(item_wear) - return itemstack - end -end - -minetest.register_craft({ - output = "screwdriver:screwdriver", - recipe = { - {"default:steel_ingot"}, - {"group:stick"} - } -}) - -minetest.register_tool("screwdriver:screwdriver", { - description = "Screwdriver", - inventory_image = "screwdriver.png", - on_use = function(itemstack, user, pointed_thing) - screwdriver_handler(itemstack, user, pointed_thing) - return itemstack - end, -}) - -for i = 1, 4 do - minetest.register_tool("screwdriver:screwdriver"..i, { - description = "Screwdriver in Mode "..i, - inventory_image = "screwdriver.png^tool_mode"..i..".png", - wield_image = "screwdriver.png", - groups = {not_in_creative_inventory=1}, - on_use = function(itemstack, user, pointed_thing) - screwdriver_handler(itemstack, user, pointed_thing) - return itemstack - end, - }) -end - diff --git a/mods/screwdriver/readme.txt b/mods/screwdriver/readme.txt deleted file mode 100644 index d0b10e05..00000000 --- a/mods/screwdriver/readme.txt +++ /dev/null @@ -1,18 +0,0 @@ -Minetest mod: screwdriver -========================= - -License of source code: ------------------------ -Copyright (C) 2013 RealBadAngel, Maciej Kasatkin - -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 of the License, or -(at your option) any later version. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/screwdriver/textures/screwdriver.png b/mods/screwdriver/textures/screwdriver.png deleted file mode 100644 index 1f2cb87b23616dbde9cb074fc00eb9a30b763a32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHOqP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01l=A01l=Bhuo=e00007bV*G`2i*e~ z7B~?4nZx=300PxXL_t(o!|j#JPZLoX#rX?Rp%|dk3Mef_D2eiHd5DS_O~3>V^pw)#6&=fLR=_n41x-UqE-`K3DLHpwnZbwsFAlz=Xmd66XU|f#avnV zC6k%V=KSWI^W6yuSSd4N9YuS`Rk+=5Fc-I2hF}?f47bONCr@p--ra)}F(;u<8^bJ?qI>ZNXxhBxv zb3?G50(_YA3D?(|S(v-7v5De-e?MN0jl<)e6da%cbMp&0cm4t!0Gf4Q{{TLH{({-L zc|m+(aS0DeJk8B5Y#;_644|#O1D$3wPBt_OvCy%Q6*ZY!#fR{Ey|CGAuv)FcwYQ=Y zH*eiph8VHJbg7lyYWjRWIP7**RqaD>@7;d`LC5KI5{Ui(AyzQNFWZr$UJG^*x0fNF zJ%53=%RR_aNw6hW@_lClGl**R-Ft*l%S$A0Sc5~mqHwWN4YfRwKU1P&0pUPh?P;V& z2cdTNdK}h8<7`a)~u@?7FrYaaI f diff --git a/mods/screwdriver/textures/tool_mode1.png b/mods/screwdriver/textures/tool_mode1.png deleted file mode 100644 index bef863732c886ac5f6a8747ded09f6e4230b3917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)0PT zbqtl=Z5NLLMK}vQB8wRq_?Ce%WBZ+z`9MMT5>H=O_Pb2NV$zcR?>5~43eE9!aSVw# zoSd*gu!Cdr-}f&Re%-&~@?rnhsUPaus+#WPO#R<4x8_g%_iH=`yobW3l@zti?|<_D zclonsU0=_j7V85S92)8tK6tD7(cZ%2*Zy5n=MPvgusKZYvr4$axR_5ufW4tBZbEC) zqBjNX4L1}FXNjMFm-nc^yD)Kr)U5V~jSCqhnrnCu8Q9&`UKVJ;<#td*f^~6%NKca^ aKf{r`TMAXJA9MoU$>8bg=d#Wzp$PzpQEOEI diff --git a/mods/screwdriver/textures/tool_mode2.png b/mods/screwdriver/textures/tool_mode2.png deleted file mode 100644 index 4429a5d801313a0e81bd0b77d4b1cfaa01e8f52d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 455 zcmV;&0XY7NP)Px#24YJ`L;z6$egJukhSA0V000SaNLh0L01l=A01l=Bhuo=e00007bV*G`2i*b_ z78@r{kFRq800BoyL_t(o!((8e0VvE@{qOH9_21e`_`j)%;D0Mi;s4&A694maRR1&3 z8f2y^|8J<%{(tFw<^Kow7XN?rVCDY@_m}*?ajoZnWtqnR;2>$*I>OdQ1Z?T;n^XQb zH){VkHxmL|eDBU&u=uh?=KoWY6lv!OkPpwD&i${i$NwJ`8X&QlD7pW+*(zWM+`lvb zzrC#pZ9^eB0n>-Zh5}#*fG{XsFwhf#LSW@m3;KlsI&gLp11Cg~16D7${Esb!Xa+!u z5R@Q6md~1Q49<>pvm6xf*ROVhEnhIl^uM2vBz-NvcDV%}>~!@xDA+*-5yJ^E)ma5hhDpM}R6J xLjwW0uaPm$Ltqq)f>AIEM!_f;1*2fd0RRKGPx#24YJ`L;z6$egJukhSA0V000SaNLh0L01l=A01l=Bhuo=e00007bV*G`2i*b_ z78^P(iNmS@00C4OhBiNmAA z)<%Rr4zRWo{;#jc|35Ka;s1?mJzxhcU1VnnwdDpMwe{ zWIm{H0$C1<3P%Ug|1`B6l;S(vbpL~LfrGs$INl%JTTGuc0P^|7K7;?)uXch99as(k z@j;1^=A|Ia5uj`cifdS9RB!00sc6mg}0!nPw9J0000< KMNUMnLSTYA`pRMe diff --git a/mods/screwdriver/textures/tool_mode4.png b/mods/screwdriver/textures/tool_mode4.png deleted file mode 100644 index da21e05ff6872ed050ee60f3c8a9f368db9800ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)0PT zbqtl=Z5NLLMK}vQB8wRq_?Ce%WBZ+z`9MMT5>H=O_Pb2NVluq9NHMgIEF+V zPEJ^0*wH`re}1Cgm;1N8e%Lebb#$5W=KtH-IsfgeHVE~s)p_}*gQ0%qfBtv+jn)S) zI5gDpG5q{?Z0o%L$N5?>-DjNmaMSx>%~*jE|6*gwDjNqwzt-7iaqDNoJTZ)aoQyK|<%4WkK5ONtpZ);BlFP5FD}YQ+Ju zuFg$|Wf_t#n`k%5Fl^?LFDn=R?|<1OAxDGZSP4I44uhp&(~T1SK1Vyb4T~gh3Nokt p)R16ZoFLNE6llQZc5neZgN60w2mAQWCIh|6;OXk;vd$@?2>@@4i%b9j diff --git a/mods/stairs/README.txt b/mods/stairs/README.txt deleted file mode 100644 index 716a677c..00000000 --- a/mods/stairs/README.txt +++ /dev/null @@ -1,26 +0,0 @@ -Minetest 0.4 mod: stairs -========================= - -License of source code: ------------------------ -Copyright (C) 2011-2012 Kahrl -Copyright (C) 2011-2012 celeron55, Perttu Ahola - -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 of the License, or -(at your option) any later version. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ------------------------ -Everything not listed in here: -Copyright (C) 2010-2012 celeron55, Perttu Ahola - - diff --git a/mods/stairs/depends.txt b/mods/stairs/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/mods/stairs/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua deleted file mode 100644 index 179cf15d..00000000 --- a/mods/stairs/init.lua +++ /dev/null @@ -1,262 +0,0 @@ --- Minetest 0.4 mod: stairs --- See README.txt for licensing and other information. - -stairs = {} - --- Node will be called stairs:stair_ -function stairs.register_stair(subname, recipeitem, groups, images, description, sounds) - minetest.register_node(":stairs:stair_" .. subname, { - description = description, - drawtype = "nodebox", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = true, - groups = groups, - sounds = sounds, - node_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 - minetest.register_node(":stairs:stair_" .. subname.."upside_down", { - replace_name = "stairs:stair_" .. subname, - groups = {slabs_replace=1}, - }) - - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 4', - recipe = { - {recipeitem, "", ""}, - {recipeitem, recipeitem, ""}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - -- Flipped recipe for the silly minecrafters - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 4', - recipe = { - {"", "", recipeitem}, - {"", recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) -end - --- Node will be called stairs:slab_ -function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) - minetest.register_node(":stairs:slab_" .. subname, { - description = description, - drawtype = "nodebox", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = true, - 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) - if pointed_thing.type ~= "node" then - return itemstack - end - - -- If it's being placed on an another similar one, replace it with - -- a full block - local slabpos = nil - local slabnode = nil - local p0 = pointed_thing.under - local p1 = pointed_thing.above - local n0 = minetest.get_node(p0) - local n1 = minetest.get_node(p1) - local param2 = 0 - - local n0_is_upside_down = (n0.name == "stairs:slab_" .. subname and - n0.param2 >= 20) - - if n0.name == "stairs:slab_" .. subname and not n0_is_upside_down and p0.y+1 == p1.y then - slabpos = p0 - slabnode = n0 - elseif n1.name == "stairs:slab_" .. subname then - slabpos = p1 - slabnode = n1 - end - if slabpos then - -- Remove the slab at slabpos - minetest.remove_node(slabpos) - -- Make a fake stack of a single item and try to place it - local fakestack = ItemStack(recipeitem) - fakestack:set_count(itemstack:get_count()) - - pointed_thing.above = slabpos - local success - fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) - -- If the item was taken from the fake stack, decrement original - if success then - itemstack:set_count(fakestack:get_count()) - -- Else put old node back - else - minetest.set_node(slabpos, slabnode) - end - return itemstack - end - - -- Upside down slabs - if p0.y-1 == p1.y then - -- Turn into full block if pointing at a existing slab - if n0_is_upside_down then - -- Remove the slab at the position of the slab - minetest.remove_node(p0) - -- Make a fake stack of a single item and try to place it - local fakestack = ItemStack(recipeitem) - fakestack:set_count(itemstack:get_count()) - - pointed_thing.above = p0 - local success - fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) - -- If the item was taken from the fake stack, decrement original - if success then - itemstack:set_count(fakestack:get_count()) - -- Else put old node back - else - minetest.set_node(p0, n0) - end - return itemstack - end - - -- Place upside down slab - param2 = 20 - end - - -- If pointing at the side of a upside down slab - if n0_is_upside_down and p0.y+1 ~= p1.y then - param2 = 20 - end - - return minetest.item_place(itemstack, placer, pointed_thing, param2) - end, - }) - - -- for replace ABM - minetest.register_node(":stairs:slab_" .. subname.."upside_down", { - replace_name = "stairs:slab_"..subname, - groups = {slabs_replace=1}, - }) - - minetest.register_craft({ - output = 'stairs:slab_' .. subname .. ' 6', - recipe = { - {recipeitem, recipeitem, recipeitem}, - }, - }) -end - --- Replace old "upside_down" nodes with new param2 versions -minetest.register_abm({ - nodenames = {"group:slabs_replace"}, - interval = 1, - 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, -}) - --- 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 - -stairs.register_stair_and_slab("wood", "default:wood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_wood.png"}, - "Wooden Stair", - "Wooden 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"}, - "Cobble Stair", - "Cobble 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("sandstone", "default:sandstone", - {crumbly=2,cracky=2}, - {"default_sandstone.png"}, - "Sandstone Stair", - "Sandstone Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("junglewood", "default:junglewood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_junglewood.png"}, - "Junglewood Stair", - "Junglewood Slab", - default.node_sound_wood_defaults()) - -stairs.register_stair_and_slab("stonebrick", "default:stonebrick", - {cracky=3}, - {"default_stone_brick.png"}, - "Stone Brick Stair", - "Stone Brick Slab", - default.node_sound_stone_defaults()) diff --git a/mods/vessels/README.txt b/mods/vessels/README.txt deleted file mode 100644 index 150b501d..00000000 --- a/mods/vessels/README.txt +++ /dev/null @@ -1,45 +0,0 @@ -Minetest 0.4 mod: vessels -========================== - -Crafts -------- -Glass bottle (yields 10) - - G - G - G - G - - G - - -Drinking Glass (yields 14) - - G - G - G - G - G G G - -Heavy Steel Bottle (yields 5) - - S - S - S - S - - S - - -License of source code: ------------------------ -Copyright (C) 2012 Vanessa Ezekowitz -Version 2012-09-02 -Modifications by Perttu Ahola - -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. - -http://www.gnu.org/licenses/lgpl-2.1.html - -License of media (textures and sounds) --------------------------------------- -WTFPL - -Authors of media files ------------------------ -Unless specifically noted, -Copyright (C) 2012 Vanessa Ezekowitz - diff --git a/mods/vessels/depends.txt b/mods/vessels/depends.txt deleted file mode 100644 index 4ad96d51..00000000 --- a/mods/vessels/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/vessels/init.lua b/mods/vessels/init.lua deleted file mode 100644 index 6ca8771b..00000000 --- a/mods/vessels/init.lua +++ /dev/null @@ -1,116 +0,0 @@ --- Minetest 0.4 mod: vessels --- See README.txt for licensing and other information. - -minetest.register_node("vessels:glass_bottle", { - description = "Glass Bottle (empty)", - drawtype = "plantlike", - tiles = {"vessels_glass_bottle.png"}, - inventory_image = "vessels_glass_bottle_inv.png", - wield_image = "vessels_glass_bottle.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25} - }, - groups = {vessel=1,dig_immediate=3,attached_node=1}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_craft( { - output = "vessels:glass_bottle 10", - recipe = { - { "default:glass", "", "default:glass" }, - { "default:glass", "", "default:glass" }, - { "", "default:glass", "" } - } -}) - -minetest.register_node("vessels:drinking_glass", { - description = "Drinking Glass (empty)", - drawtype = "plantlike", - tiles = {"vessels_drinking_glass.png"}, - inventory_image = "vessels_drinking_glass_inv.png", - wield_image = "vessels_drinking_glass.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25} - }, - groups = {vessel=1,dig_immediate=3,attached_node=1}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_craft( { - output = "vessels:drinking_glass 14", - recipe = { - { "default:glass", "", "default:glass" }, - { "default:glass", "", "default:glass" }, - { "default:glass", "default:glass", "default:glass" } - } -}) - -minetest.register_node("vessels:steel_bottle", { - description = "Heavy Steel Bottle (empty)", - drawtype = "plantlike", - tiles = {"vessels_steel_bottle.png"}, - inventory_image = "vessels_steel_bottle_inv.png", - wield_image = "vessels_steel_bottle.png", - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25} - }, - groups = {vessel=1,dig_immediate=3,attached_node=1}, - sounds = default.node_sound_defaults(), -}) - -minetest.register_craft( { - output = "vessels:steel_bottle 5", - recipe = { - { "default:steel_ingot", "", "default:steel_ingot" }, - { "default:steel_ingot", "", "default:steel_ingot" }, - { "", "default:steel_ingot", "" } - } -}) - - --- Make sure we can recycle them - -minetest.register_craftitem("vessels:glass_fragments", { - description = "Pile of Glass Fragments", - inventory_image = "vessels_glass_fragments.png", -}) - -minetest.register_craft( { - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "vessels:glass_bottle", - "vessels:glass_bottle", - }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "vessels:glass_fragments", - recipe = { - "vessels:drinking_glass", - "vessels:drinking_glass", - }, -}) - -minetest.register_craft({ - type = "cooking", - output = "default:glass", - recipe = "vessels:glass_fragments", -}) - -minetest.register_craft( { - type = "cooking", - output = "default:steel_ingot", - recipe = "vessels:steel_bottle", -}) - diff --git a/mods/vessels/textures/alternates/vessels_drinking_glass.png b/mods/vessels/textures/alternates/vessels_drinking_glass.png deleted file mode 100644 index cd5bbff5aaccfd51090878439b2efeab1e1af0b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!f+lxV*+pNdurzk*AAeh{fr*!G>H16nMV;?-yp_WOOVjC@3!9Q8f2fQ|3Yr z*(w30^5?0ZbAHQsX$FK=y!UtQoAq<&*0y`UuehweX2rkohgCyuPowq;S=+RRR{Mlf zhn|mR{4WgEmrOCZ&79T$PO*hS(D7WQ{=SpCmiu_ScOHMvDHHnvXgh{XE z)7O>#4!f+lxWu-`+s~`n$>3G!%e4mT3nfNEn)G; zvU{=r3`Kye~y;4}>x1c{X$;u+@lP*rCY0uS43NUEpdo z`?HOXib`wNM69TrkWjYxaN{XE z)7O>#4!f+l6n{fQxg=0%r>Bc!h(+&PUq!xF1ChsWbDFi^umr2*FflqNEKge|p(3mz zz|!>l>vI3Z2hBg;nP*Zx8)w*_ueV1>P$tkWkQeR{qLXVE`4m#a^=g6kI!B= ze3v_HkT5S@(RA(UO=m6JDU)z)_G!jNI^Gf459c`d1bX=P-^~5lvuoW`WzWAm ceu&AxnyJ!zasl&opeGnSUHx3vIVCg!0CT@^egFUf diff --git a/mods/vessels/textures/vessels_drinking_glass.png b/mods/vessels/textures/vessels_drinking_glass.png deleted file mode 100644 index 0e298663500e10fd2b2e668a1f750c7756862927..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)vm6hzM$?491wf%LPZ!4!i_>p|4Y^np1!n)Z_Y-ho zaon(B!{+TL{I*5)7oYpo#ml1F=~y80)A~x3>Qa?+J6o^3nE7I_F$=FVzwQ#Z^;^@# z5_%fv`ulTl+jk))t_@n t%j0_?TdVQjHmOHr>76I@Zf$?V+Fr!9>JqE#QJ||BJYD@<);T3K0RYd~Syli5 diff --git a/mods/vessels/textures/vessels_drinking_glass_inv.png b/mods/vessels/textures/vessels_drinking_glass_inv.png deleted file mode 100644 index 3ad9027105d554b3e3c30e10f17b88cae7f23d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!f+ln8B=IQ4OHb3Qrfu5R21iCp&T-QQ&di`(JfWYq|i7qd*{w`J=cG43c$@ z8{S4(uTvA4@PBf{XE z)7O>#4!f+lxWu-`+s~`n$>3G!%e4mT3nfNEn)G; zvU{=r3`Kye~y;4}>x1c{X$;u+@lP*rCY0uS43NUEpdo z`?HOXib`wNM69TrkWjYxaN{XE z)7O>#4!f+FtkmLr`Ak5eXPz#OAr_~%PPXQEaS&u%THC24#!n=Jjj?woD&vcIce?Q*+pl5xAtGM~5qaYyDXg_edXLQUOE_wy9Q zmPIM+dQNh7oR*r;Qp2Dz{`TS>x zL+{gIE~ZlgD?L8^n`!aHx#@ho(%0(izgg~V W`M504D)tJ{#|)mXelF{r5}E)Ci-i*a diff --git a/mods/vessels/textures/vessels_glass_fragments.png b/mods/vessels/textures/vessels_glass_fragments.png deleted file mode 100644 index f60e8b5ed3b2fd9db9a6845dea00c59a655f5927..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!gX#zK+&?o-m-$9#0p?5R2Zo6Aifz8}PUm|IdEHAjdp&FU$K#)b0 zCcQ5pdh3OS(e@ojI=}2o@x2_s|LP{4NkNm=cRg8Gd*7Xb;p@HQKa(HYoZpl?`-p_- zfk&@*xkc>YUhu->=J#u}=H2yk;&}Cp@p|dkyC0c7@9k;$B&}dj!H`g<@m$9zjiF=1 zU5Dd^96h2%^Oma}Y-C`N{Kk~M_VFdr4{u&|KG^>GcG9}_Q$Ag?oA)B2=fKb0({E1X h9k5bnf6elMO?Azd-aQMpmjeC4;OXk;vd$@?2>_@ucx3

_!Hddyjr(eEY+E~f*~z1YYZN$mOyqW-);v8)Ad&a*g3{RDLYcG4?$1^oa5}vy z&Z(8a%r3L4U_@90=&i`~yR0-%I22WQ%mvv4F FO#t{XE z)7O>#4!f+l5(j5>oFhMFzGf6VY#?$Xo?peY$)b<-)A6JG-W&P~ z@A)2aJyha&pw!;eMX}epbWb - -This program is free software. It comes without any warranty, to -the extent permitted by applicable law. You can redistribute it -and/or modify it under the terms of the Do What The Fuck You Want -To Public License, Version 2, as published by Sam Hocevar. See -http://sam.zoy.org/wtfpl/COPYING for more details. - -License of media (textures and sounds) --------------------------------------- -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -http://creativecommons.org/licenses/by-sa/3.0/ - -Authors of media files ------------------------ -Cisoun: -- 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 deleted file mode 100644 index 4ad96d51..00000000 --- a/mods/wool/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/wool/init.lua b/mods/wool/init.lua deleted file mode 100644 index 14cffa59..00000000 --- a/mods/wool/init.lua +++ /dev/null @@ -1,49 +0,0 @@ --- minetest/wool/init.lua - --- Backwards compatibility with jordach's 16-color wool mod -minetest.register_alias("wool:dark_blue", "wool:blue") -minetest.register_alias("wool:gold", "wool:yellow") - -local wool = {} --- 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. -wool.dyes = { - {"white", "White", nil}, - {"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 _, row in ipairs(wool.dyes) do - local name = row[1] - local desc = row[2] - local craft_color_group = row[3] - -- Node Definition - minetest.register_node("wool:"..name, { - description = desc.." Wool", - tiles = {"wool_"..name..".png"}, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3,wool=1}, - sounds = default.node_sound_defaults(), - }) - if craft_color_group then - -- Crafting from dye and white wool - minetest.register_craft({ - type = "shapeless", - output = 'wool:'..name, - recipe = {'group:dye,'..craft_color_group, 'group:wool'}, - }) - end -end - diff --git a/mods/wool/textures/wool_black.png b/mods/wool/textures/wool_black.png deleted file mode 100644 index 698684b4c11c3900b93e1c643bad5e510cbe469a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3008 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 X3Z1ca{<=mN00000NkvXXu0mjft7Q8E diff --git a/mods/wool/textures/wool_green.png b/mods/wool/textures/wool_green.png deleted file mode 100644 index acf7e4ff2ae448ad0f5dc3c2935cae64baf5e30d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3168 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 R2yp-a002ovPDHLkV1k~30@eTk diff --git a/mods/wool/textures/wool_magenta.png b/mods/wool/textures/wool_magenta.png deleted file mode 100644 index 0f3104eed20b75bae6f2fc4a9f0669230d6cba05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3156 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 R@>l=>002ovPDHLkV1msostN!A diff --git a/mods/wool/textures/wool_red.png b/mods/wool/textures/wool_red.png deleted file mode 100644 index a5ae98aab3bd8a05df0618e3066c5a3774d26183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3143 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 diff --git a/mods/wool/textures/wool_violet.png b/mods/wool/textures/wool_violet.png deleted file mode 100644 index 5ba79b333901a24e328cf8692482884ccac115a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3085 zcmV+o4D$1dP)EX>4Tx060&blXp~8*%rpny*Itk5<-y@dhY@OM0yA5RTM%JAe0b70``ii;D{n3 z&4vsLIN<0|WUPo{VL(v9J|KgLIu4E^Dk|?r)>3EIdT-vE@2}t4XP)t=E{b8PxK zXO3N^%*_;VQI^&$>B&oGOESbvsi~Z-j4X+WnImL#cucdu z5AnY~_)UG^)L|ONOXi7q0`#gVbjtXG6tvv}E?>;g5-|CK|JLDudF*c<&CN9`TJ0x5 zPcR2^eRP2Q-UBc+GC<<@NxS}~Z-K-p5Q0XcHOJ@X{WXd&bU1wvs^ER+bPKmtett%5c}MNkP;2_1y$p&y}>(0S+z)DPW(MxY7kPv||2 zz!aDctHb)R124(~^iTQ-3V%4xFSVycMHU^u5&BGR8%dmCW7VJgrE$kTf4GxE6;0$o~ zIA2^WE)BO5w+*)!*Ni)d>&K1arto;Y3f=_oj1R`M@nU=dz5;&~e-=N0AH%;TkO`Uu zYl1f+jvydxAe0dr2xkZbgmJY9d`E-6y>wlgZj-2XZKxPhLkZCm$nUCXbNcQ4}b~6c0)~MMBw5IZQc6xkGtH zrBd~&uGBcHn7W->PrX2WNPR0qlQEa^li|v&m8p_xl^KwEAxo6ilXa6_D!W3qO!kCq zpX_rvqMW{*ha6jOja-%7Nx31pDS4W_m3**#ru;Vf2Kg)UPZaP9`U+kOT!nmvLkbrZ zMrjC5hvq@!&^FR)X%}f@bR6A)?nh6f7tw#9_tGa76%^+yMky{+tWrF!ILts8`V2ot z2BVm9oH59FucWTzro>a)s??-3pfs&KPuW$Or(CGqtb9xPy$VysOC?=pr%Id3167Qw zv1+Jlp6Wi;i>lA((dRkM8WWl{&4rqL%~H*?nopUEOgCl*vz*z*oYYd&^3{@P9n|X8n$b4Uj?~_u z-K_mUhor;ON!BUV>C~Cj)zl5rU8UQodsmOB$I?sH+oRX5H?41=AFaPxzfJ#%fwF<0 z!3u*$gZqY5Ll?tr!y3bzMmQsuQM%DyqwB`7v8{2cag}kO32b6#!Z+D#(r=12bubl} z)|d{NQOw-Ta?KjeM$8%Jf#w^`+st2B=vu^C?6l~%_+)8onPFLLdCyA0%HL{(RfpA| z*2dNx>niJ;HdGsLo3%FWHZSL!%;(MDH~+RR%{It(vu&sCM>~5vkzJGBguSkPqJ6df z5R1+VVQphwcECEgJFIm$NSf)Giox)^=t)A9NmG z$XuAX@W8@h7cCdIOO4ATR~=WbYn|)3n~__Z+fla{?w0N%_ZIhQ4@ZyH9_Ks}Pan@h z&t5MDuSl;-uZP~+-YMRV-jhDIJ}Z6B`C@$oe0TZ|`KkMH{ObKC{q6l%`*#IU0>T3- z10Dq$2Z{nag5V(kpj|=t7wIh$ENTk|!G6KJf**t!gk*>O9EuAK39Sl!9A*`^Dy%!4 z7M>8^5dJ2@J)$_`UZi29B(gI~HYz@LCT5-#C|CX_YW=E_)o!Z~u7TDh zt?68=vo?S2*gBteN7j?pr?3BIgXM;j4X-ywZ|uld&tI26y2)o#V}VS8s9^@2U9F|e(!$c$yAyU_DVtxme-CMoWY2JUV0n9mZpDs@50$Bvx2oK$nyb~S zw^mQ@Xf8Sij!BL^{W0;!!Q%nP zJ5R7qH2tLaQ*{firLYxhUEVs`mfAMl9^2l3(*I;a^nN;xnW( z`DbR&t~fh&PI&J5`IPgcoe7=yF2r28*%jK=dokeRTw9jAW5=g} zPxogtXJ`Kd_k{EN{VV@J00006VoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkV znw%H_000McNliru+y@sI5Ell%=b-=q0ai&wK~yMHP15TsMNt$5;3<(JPv&x5;*k6O zN#utlNzzG@{E#I3JfLqiYE!dw#u{tRHO5$L*M5EP)z_fzSL+VmuJ^^d+NkG)`mx-s zmtl>N!+J#mg|#@D9xGVi`P^9T)Q9ESYzHHE>oa^^%(uU-dP4(lwN_7b zb;lS#I^dXzKDU+znk6XKfq2#D6f^0-!%mdJaTTvIgY6AyiZNTjUj~$9X+518t3K}0 zWQXjpAv(wfjE)WdRJV->9a8*?$dRHWlu0GQXMx{dYKdc+@2baX_w)dnKUOwJBA z+4F#zn6EsIzCL=MDLfrc65UM8uuzwLC!D?9H(BcZEX>4Tx05}nylXp~8*%rpny*Itk5<-X2dv5`xhAJRM1VI!+5+IZiLIPqJ5fvCw zL`1M6qaqGCIusczqF5LZ6uS<{LqHh^M-dgvyBXIK-dk(ty*1~Lvwr70-(F|mz4rxx z5*Q*7X2A*oWC|tX$N(Sa;@CJQz6Zd72ynm_01h`t6uQtq3ZN^i-uhaz$bZ08lvUw&(G4xF{E*oRKFH$@EE-=}GA_hA}c0qY0v{D&v%| zZ1Jb(D|^Y9mnr0-o+y+>yiA^qJ5k=8E9Ik%grHoME8yp$d>dth3~8nS<##C4Gx?kx z05BApF5z=iQMN&uB94k=qdX4)0wrY*C(U6Af4Kzp0(O=tUo1#Tl`u`Xrc7HG7Zx*+ zpO?XxNG!uS+;onZ$7E+^ia5f20KR^+ED9*eYRg26>}2cW04>7DaE4B5P- zN+cpzYwNtcJSzd8Yb7h_xAi{_-<*F9bKbL(z4xtlOkaL7N17pF%8JU(%E*$6nK>d3 zm(R5P?;-xjfpgNDlZQnlKbbG)3(=>d(J2!MQ_yw`c>;+bOUM)m|Ek0PFl)fM^-v7D(#|D?7M>t22 z!j#GE$S5XPD$bQL`cKFOehc1Sdf&I0G(%E8qsW2?oGJFbGD#3or@Zf*A;c@DLTE zL28f=WC)otbNEdPo8AK+K_ZS?8hGAkXF>aVZ%pwdI zlZ{z}DaBM{j$&FcotRsgAEbG$n~49~$!@J0CD_~ZEV_`3n{0VUcA)$a!NjOG0N9ZSv5@v`BL_?x0F^tF~<`c_^b;NdJFL8u8LsBFe zliW#Bq%_icQWdF@beZ&s^qNd2>ycf^5o7^*9l45pf_#-cM1D_EqL@+Glz57ivXyd# za)EN6@|sGe8d1Hdaa0L)E47|_iTZ^4PL3vLB^M;elUplSBiAC=FZWWOC~qk5Ex$~D zg?y#_DfwRc2?e5pkpf$Rqp(JyM&Y!=U4q^cqJnxKP8@0 zq0%9xOG?8ugr-kp)3~$^v^v^l+6Wy-H>L;C)95AiALu>wNo6Hv2jytx<;pe6XO#yT z2*ZdG#K>TjF-|h>Fg~bgsd%gKRko-!s`RT&t7@ovsq$5eRhv`?R6nRO)%?`b)wZj( zsy$Z6sGF%rsOPEgQ@^Y}p+VPh)8J|pYn;@0pb2Z5X+~8M-9TNb?m^ui-5EV& zy+wKjdQEzd^-20H{bcn%^b~A&1%eg&0%vVbAkC@^F9l# zg^PvIqSoTBCB@R)GS{-fa>$Bd6=GFj)oS(9+Q2%_db@R(^=BJLn+%&en}@baw)1TZ zY};-Burssc+SSYg@`);odbr4Bk#tcNW5cwQT&~y#!Htky|zq!S;n%n3GxY?gj0#w#F)fmi61#(oLbIQ zQc%*Kq)9HDyNmmR=f$hwjq~04<^0iP_vG^Au@v`|9Vz3fo~f0o69TrNTJS0@Fl~R@ zbb46&k@PPaF&Ryngv`Xu(?TU-y09}#J8OAXpU7NPBpS?i&EAOyRu`I?yB{xhE{v8 zKDY*2leDH|t^V4=wIk~S)*W3>TA#lDmjauD@`5)TVm7oFY89?49NrkPv7tz=NL+Mx zliQ~Kn=zXOn|rp{Z`r-&b1|>@dWlU*Wy!}Ak$Y{rkN3HSX8iU$Xzh0l|TL2Llea)Ed=R9>N{UJ@l+Dx~}Vc*7x;? z)en~({&YlmWbkO@(aw73`uby<$I2Su25H0i@%ZC6fAIaGt;bw(Cr%o z3kLe`EV^^=Zv5TBd%SyN_cQLldXW2I=Ha?W*hj^W6&_bU(R@<-tLd*zgHD5IhkS>+ zpDuj*aF{#%;$J!c`Z!YfjQXr{RA;n)%x>(=xc~Ug=S!ZCyb!&ZnJD^A@wYuMOEa{`-uNo z^~v;8`{&@#kG^Dn`SNe~g!B8%^Nqy$hXm1j5{4!hm1TCG+pmHmD{o6WM>Y_Hcl9*@d?zu#)L z7K_DjI0R0o(_ldHore5$I{l`xTCEH`pHG$H&1Mtv@cDdRuh(ca0?DCYX-MAhH*%aY zw@VqC&E{Y*&>e;4a=FQ5A}6NZZX>}@trAZnNjD`jkY%2Uw#7{BfN!_k^?KdycC8Ee z4MZ`}`FtL=YVsuaB=ICCKKOY&9%>{%X+*og>-CBgPh5dhTfpe1ge{lLTCG+n6!;PH zdcBV4U)Xp&W+|A%$RFJd7<2DZsT8F*8V&gQd^T1tmpvr|k@SAQW3-z9(oDjMhCArx za*5&ttx$dc*7YglC&NRDR@U((9x|CsKA-2<8gDuzq+_Qieo(616fS~0Dp=I&KKv*J zfA$#@ksrup@*O&z&h2)i)tfQb6u!5C=!Z{1l?eWIY^bd?Bj^!~!R>}eySyc5wGxqx p=_rgj^KgXz*k+2wqC;zNt3S$zl<2e)bJG9-002ovPDHLkV1naX6UhJo diff --git a/mods/wool/textures/wool_yellow.png b/mods/wool/textures/wool_yellow.png deleted file mode 100644 index 7c2b765cba5db9f0d322250f841989a9552b935b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3044 zcmVEX>4Tx065E?lXqNG=NiY~b58bPB}70**n6)4viFiHOB6y9AdC=0!V(uEDo{~G zWVk?zA{MNcA$1~(gQB3gwID@6sl_UyqS8b@pVr&kdv9-lf1LCEJm-1d^S;mTc>y5# z1aNs7unYj{JfR@e+l?L-9Ye?V0~p`|2ABiDWM%RL!@RRhRbECt0E`)NZ?^vtOQ;5*V-o-h_y34#9RNUD>|6WwFU~`g%uBLR$hS8& z&Cbp?;c{3el7{}S|C#VN^u_;7B+LEY9=Zo7kts?O(j|RkWu#?@1oTWklf|JM|9Oc2 zap7O@!zh%K$PsXO;))3IlyP}UV!L^4u8^C-qjP!x$;5wH_9rdOwOEvfPkHvZ zg9gw9TEKD80ZxJQ;1ak7Zh#^101SgM@ElBoH((BeAS^_ND3Btg25CcvkOjnmoFGpq z01Abop?D|>;z1%PAKD0&K;=*kR0lOd-$Ey$^UxJ&0J;Z_K$Fm~(0dqxNiY>wfpuV0 zm;t-O{%|*1qtJA59#1`ol*@N;+u0SFPHA?k=R!a&@SAS4D! zLX8RqDoOUsKcmsR1fMV zY6LZn`h+HWF4{#Ifg7G zZzDI6FOVOT-%3%WOr(6J*i!4HYNgtx2Bls|NnJW>a@I^yp?=}e2#pr{Au}N8bZ^d`O?y8Wwhh8+qCzK zR2I1|;w;*_sAbXMqFIH-3N8v9g<^$Pg&~FaigZO!#Z<)|iXDoNlu$|rN+C+wO8b;9 zDorh>E_PVVT3o#N_~QG@u(E-2sPby%gUWr%Gb*Yo-YR^RYLyErQ>rvo7u6Ki3e_{J zlWG(-CpE5Gh1yxQXLNbGD?N=~Mem_ct1GMfsEgF=)ce)vG;}qVX%uL*YCO^;XfiYt zH7hi`HK(=Iv;wvAwVJi=YvZ*U+R56xwR^Q^b#!$ibvEmC=uGG;==$pB={D;=)FbOT z>#fqO*Sn>U(P!wV>hIORVE`Lg8zdXl8eBJo4Q&j$hIqdUeVV^`xW z<7VR#6PihYNr6d+$qQ30(-_koroE=0%&g7Q%o@xdn9G^_nHQLMng42GV8ODewYX(T zw)C=GXW41_(#p_^W3|uft~JFv(0a3VxAjLGTN{B*i_N61mTkQ49@{$%DkGRt%D8NY zwsW&vXLri(oxP2{(EhmnFAl~IsSZaRCYIyTG zOT#P4tJ!PX+uD1z_cfZiYqIXR;H~y9VZ>fj5`sJj*pB#690i2#H?q|B={!mNtkB2vv#wdvt8H~ z>`9Izr<^mM=$KfZIFaO-v@>Zk**Uo~d5Y`Kt>L~*@k!aAGMgHddMI^1Ei$b&9hV-T zev&80OXc-ssAlA34Db#4Mf~Aa_N#WSnilvA8Z)8H6`7qvs*o@26X}UIiAJ)VvTC#5 zW=CY7$dS$A<@DtmefPQ6V`UG(_B}$Zfw2x z`okLt8&Ws?P+(S2UhsNjm0tbI{Hv<3=C>to>o2n@+qWIFowxn=4(A<*%Vo>+%13tw?rg81 zR}@#g-W9j&N~Klh{@sM#qTRz)0acyVTGiXDKhz}G4Ar{Tw(e2hvvtqxUiRL>eJ=Z2 z_N(kK+5i3k_rTpc@4EJSo%+gyn1fjdpEg7^^nT6wx~WmAv83_iA>N_k!=ZM9X*D-|cCm zv=z5Q?YZsK9myTToza~GC;d)#cR6&meQ)ypp;PLoYER3bE;~awQ+Q_nY~IMz|3&|cmoIr;y3p&|d-k&9L z)<3lM+w`|zx4qtZ!|q1cz>!5xlxyvcfPae6_7_O*I!as7}Qt*Mq44EzIa>>5R4 zM+w}dLC=fqSstntk`$^xs6W!4A?vv!3k)lco0tm0PY(L+bF7JG)CNq!CA?l8Uy3}{ zvt9R!TWlYx{jH}1Z$wsI`nPIeVq>9pK0L5oD5^IAAG8SQm;JgltcMY;cRVslt`&_g0L7pDbe~&7g4{TJ$ mQSr|h)JW8XJVN8uY5W4BQ|_g1bA=xO0000