diff --git a/build/iOS/MultiCraft/MultiCraft/Assets.xcassets/AppIcon.appiconset/AppStore.jpg b/build/iOS/MultiCraft/MultiCraft/Assets.xcassets/AppIcon.appiconset/AppStore.jpg index 477050c9b..9c5eddc4d 100755 Binary files a/build/iOS/MultiCraft/MultiCraft/Assets.xcassets/AppIcon.appiconset/AppStore.jpg and b/build/iOS/MultiCraft/MultiCraft/Assets.xcassets/AppIcon.appiconset/AppStore.jpg differ diff --git a/build/iOS/icon.png b/build/iOS/icon.png index da3a02489..d7e9afbe8 100755 Binary files a/build/iOS/icon.png and b/build/iOS/icon.png differ diff --git a/doc/Other License.md b/doc/Other License.md index 9759c9a03..c70897387 100644 --- a/doc/Other License.md +++ b/doc/Other License.md @@ -107,6 +107,17 @@ Vattic's Terms: --- --- --- +Copyright (C) 2014 HiTeeN + +https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/resource-packs/1242446-faithful-64x64 + +You can use my texture pack on the following conditions: +You must specify a link on this topic in their publications. +If your package contains more than 80% of my textures, you have no right to publish them. + +--- --- --- + + JThread: ================================= @@ -264,5 +275,3 @@ product, an acknowledgment in the product documentation is required. be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. - ---- --- --- \ No newline at end of file diff --git a/fonts/mono_dejavu_sans_100.png b/fonts/mono_dejavu_sans_100.png index 45a312542..3afdaf7d4 100644 Binary files a/fonts/mono_dejavu_sans_100.png and b/fonts/mono_dejavu_sans_100.png differ diff --git a/fonts/mono_dejavu_sans_110.png b/fonts/mono_dejavu_sans_110.png index c90c0e242..1c6655f4a 100644 Binary files a/fonts/mono_dejavu_sans_110.png and b/fonts/mono_dejavu_sans_110.png differ diff --git a/fonts/mono_dejavu_sans_120.png b/fonts/mono_dejavu_sans_120.png index 0cebd70e8..a007c98e6 100644 Binary files a/fonts/mono_dejavu_sans_120.png and b/fonts/mono_dejavu_sans_120.png differ diff --git a/fonts/mono_dejavu_sans_140.png b/fonts/mono_dejavu_sans_140.png index a413759ea..a19f53419 100644 Binary files a/fonts/mono_dejavu_sans_140.png and b/fonts/mono_dejavu_sans_140.png differ diff --git a/fonts/mono_dejavu_sans_160.png b/fonts/mono_dejavu_sans_160.png index bd8a2f40a..f1cf6f7e4 100644 Binary files a/fonts/mono_dejavu_sans_160.png and b/fonts/mono_dejavu_sans_160.png differ diff --git a/fonts/mono_dejavu_sans_200.png b/fonts/mono_dejavu_sans_200.png index 68ee62681..4dcdc3dc3 100644 Binary files a/fonts/mono_dejavu_sans_200.png and b/fonts/mono_dejavu_sans_200.png differ diff --git a/fonts/mono_dejavu_sans_40.png b/fonts/mono_dejavu_sans_40.png index 24ed693f7..6ec925411 100644 Binary files a/fonts/mono_dejavu_sans_40.png and b/fonts/mono_dejavu_sans_40.png differ diff --git a/fonts/mono_dejavu_sans_60.png b/fonts/mono_dejavu_sans_60.png index 326af996f..50966f667 100644 Binary files a/fonts/mono_dejavu_sans_60.png and b/fonts/mono_dejavu_sans_60.png differ diff --git a/fonts/mono_dejavu_sans_80.png b/fonts/mono_dejavu_sans_80.png index 04326dbb2..b8ab8dfd9 100644 Binary files a/fonts/mono_dejavu_sans_80.png and b/fonts/mono_dejavu_sans_80.png differ diff --git a/fonts/mono_dejavu_sans_90.png b/fonts/mono_dejavu_sans_90.png index 65ac51858..2a59686c2 100644 Binary files a/fonts/mono_dejavu_sans_90.png and b/fonts/mono_dejavu_sans_90.png differ diff --git a/games/default/files/3d_armor/textures/3d_armor_trans.png b/games/default/files/3d_armor/textures/3d_armor_trans.png index 4d7beb806..83d9d1a63 100644 Binary files a/games/default/files/3d_armor/textures/3d_armor_trans.png and b/games/default/files/3d_armor/textures/3d_armor_trans.png differ diff --git a/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_left.png b/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_left.png index 9e55f68ce..9f45cd8a0 100644 Binary files a/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_left.png and b/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_left.png differ diff --git a/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_right.png b/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_right.png index 2ada7b8e2..d008b70cc 100644 Binary files a/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_right.png and b/games/default/files/bluestone/mesecons_pistons/textures/mesecons_piston_right.png differ diff --git a/games/default/files/crafting/textures/crafting_creative_down.png b/games/default/files/crafting/textures/crafting_creative_down.png index 960dd6220..c4b95716f 100644 Binary files a/games/default/files/crafting/textures/crafting_creative_down.png and b/games/default/files/crafting/textures/crafting_creative_down.png differ diff --git a/games/default/files/crafting/textures/crafting_creative_up.png b/games/default/files/crafting/textures/crafting_creative_up.png index ffed6e9ff..5bddb169a 100644 Binary files a/games/default/files/crafting/textures/crafting_creative_up.png and b/games/default/files/crafting/textures/crafting_creative_up.png differ diff --git a/games/default/files/default/aliases.lua b/games/default/files/default/aliases.lua index 2e92b45ae..008bb41e7 100644 --- a/games/default/files/default/aliases.lua +++ b/games/default/files/default/aliases.lua @@ -70,8 +70,15 @@ minetest.register_alias("default:pinewood", "default:pine_wood") -- Gold nugget minetest.register_alias("default:gold_nugget", "default:gold_ingot") + -- Sandstone Carved minetest.register_alias("default:sandstonecarved", "default:sandstonesmooth") -- Workbench minetest.register_alias("crafting:workbench", "default:workbench") + +-- String +minetest.register_alias("default:string", "farming:string") + +-- Hay Bale +minetest.register_alias("default:haybale", "farming:straw") diff --git a/games/default/files/default/crafting.lua b/games/default/files/default/crafting.lua index c21181f01..2a97e86e5 100644 --- a/games/default/files/default/crafting.lua +++ b/games/default/files/default/crafting.lua @@ -289,8 +289,8 @@ minetest.register_craft({ output = "default:pole", recipe = { {'', '', 'default:stick'}, - {'', 'default:stick', 'default:string'}, - {'default:stick', '', 'default:string'}, + {'', 'default:stick', 'farming:string'}, + {'default:stick', '', 'farming:string'}, } }) @@ -651,7 +651,6 @@ minetest.register_craft({ }) - -- -- Fuels -- @@ -740,12 +739,8 @@ minetest.register_craft({ burntime = 15, }) - --- ---Temporary --- minetest.register_craft({ - output = "default:string", + output = "farming:string", recipe = {{"default:paper", "default:paper"}}, }) diff --git a/games/default/files/default/craftitems.lua b/games/default/files/default/craftitems.lua index 54e0cea37..f570f4835 100644 --- a/games/default/files/default/craftitems.lua +++ b/games/default/files/default/craftitems.lua @@ -111,13 +111,6 @@ minetest.register_craftitem("default:sugar", { groups = {materials = 1}, }) -minetest.register_craftitem("default:string",{ - description = "String", - inventory_image = "default_string.png", - groups = {materials = 1}, -}) - - minetest.register_craftitem("default:quartz_crystal", { description = "Quartz Crystal", inventory_image = "default_quartz_crystal.png", diff --git a/games/default/files/default/mapgen.lua b/games/default/files/default/mapgen.lua index 47a6610ff..bac72e4e4 100644 --- a/games/default/files/default/mapgen.lua +++ b/games/default/files/default/mapgen.lua @@ -12,6 +12,7 @@ minetest.register_alias("mapgen_lava_source", "default:lava_source") minetest.register_alias("mapgen_gravel", "default:gravel") minetest.register_alias("mapgen_desert_stone", "default:redsandstone") minetest.register_alias("mapgen_desert_sand", "default:redsand") +minetest.register_alias("default:desert_sand", "default:redsand") minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow") minetest.register_alias("mapgen_snowblock", "default:snowblock") minetest.register_alias("mapgen_snow", "default:snow") diff --git a/games/default/files/default/nodes.lua b/games/default/files/default/nodes.lua index c5c09ce05..27980836f 100644 --- a/games/default/files/default/nodes.lua +++ b/games/default/files/default/nodes.lua @@ -253,17 +253,6 @@ minetest.register_node("default:brick", { sounds = default.node_sound_stone_defaults(), }) -minetest.register_node("default:haybale", { - description = "Hay Bale", - tiles = {"default_hayblock_top.png", "default_hayblock_top.png", "default_hayblock_side.png"}, - paramtype2 = "facedir", - is_ground_content = false, - on_place = minetest.rotate_node, - groups = {tree=1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, building = 1}, - sounds = default.node_sound_wood_defaults(), -}) - - -- -- Trees -- @@ -530,6 +519,13 @@ minetest.register_node("default:junglegrass", { paramtype = "light", sunlight_propagates = true, walkable = false, + drop = { + max_items = 1, + items = { + --{items = {'farming:seed_cotton'}, rarity = 8}, + {items = {'default:junglegrass'}}, + } + }, buildable_to = true, groups = {snappy = 3, flammable = 2, flora = 1, attached_node = 1}, sounds = default.node_sound_leaves_defaults(), @@ -1195,7 +1191,7 @@ minetest.register_node("default:chest", { "list[current_name;main;0,0;9,3;]".. "list[current_player;main;0,4;9,3;9]".. "list[current_player;main;0,7.5.5;9,1;]") - meta:set_string("infotext", "Coffre") + meta:set_string("infotext", "Chest") end local inv = meta:get_inventory() inv:set_size("main", 9*3) @@ -1259,7 +1255,7 @@ minetest.register_node("default:chest_left", { "list[current_name;main;0,0;9,3;]".. "list[current_player;main;0,4;9,3;9]".. "list[current_player;main;0,7.5.5;9,1;]") - meta:set_string("infotext", "Coffre") + meta:set_string("infotext", "Chest") hacky_swap_node(p, "default:chest") end, after_dig_node = function(pos, oldnode, oldmetadata, digger) @@ -1469,21 +1465,13 @@ minetest.register_node("default:grass", { wield_image = "default_tallgrass.png", walkable = false, buildable_to = true, - --drop = { - --max_items = 1, - --items = { - -- { - -- -- player will get sapling with 1/20 chance - -- items = {'farming:wheat_seed'}, - -- rarity = 5, - -- }, - -- { - -- -- player will get leaves only if he get no saplings, - -- -- this is because max_items is 1 - -- items = {''}, - -- } - -- } - --}, + drop = { + max_items = 1, + items = { + {items = {'farming:seed_wheat'}, rarity = 5}, + {items = {'default:grass'}}, + } + }, paramtype = "light", groups = {snappy = 3, flammable = 3,attached_node=1,dig_immediate=3, decorative=1, grass=1}, sounds = default.node_sound_leaves_defaults(), diff --git a/games/default/files/default/textures/default_acacia_tree.png b/games/default/files/default/textures/default_acacia_tree.png index 222b80d77..b8c901aca 100644 Binary files a/games/default/files/default/textures/default_acacia_tree.png and b/games/default/files/default/textures/default_acacia_tree.png differ diff --git a/games/default/files/default/textures/default_acacia_tree_top.png b/games/default/files/default/textures/default_acacia_tree_top.png index b901e2ca3..761bad8ad 100644 Binary files a/games/default/files/default/textures/default_acacia_tree_top.png and b/games/default/files/default/textures/default_acacia_tree_top.png differ diff --git a/games/default/files/default/textures/default_acacia_wood.png b/games/default/files/default/textures/default_acacia_wood.png index 60edc5745..23cc94ec5 100644 Binary files a/games/default/files/default/textures/default_acacia_wood.png and b/games/default/files/default/textures/default_acacia_wood.png differ diff --git a/games/default/files/default/textures/default_cactus_bottom.png b/games/default/files/default/textures/default_cactus_bottom.png index a51b2bbb4..12701d546 100644 Binary files a/games/default/files/default/textures/default_cactus_bottom.png and b/games/default/files/default/textures/default_cactus_bottom.png differ diff --git a/games/default/files/default/textures/default_cactus_side.png b/games/default/files/default/textures/default_cactus_side.png index f53fb398b..9623754e0 100644 Binary files a/games/default/files/default/textures/default_cactus_side.png and b/games/default/files/default/textures/default_cactus_side.png differ diff --git a/games/default/files/default/textures/default_cactus_top.png b/games/default/files/default/textures/default_cactus_top.png index f05d67664..2421c9b24 100644 Binary files a/games/default/files/default/textures/default_cactus_top.png and b/games/default/files/default/textures/default_cactus_top.png differ diff --git a/games/default/files/default/textures/default_dry_grass.png b/games/default/files/default/textures/default_dry_grass.png index bcf896e10..e59603911 100644 Binary files a/games/default/files/default/textures/default_dry_grass.png and b/games/default/files/default/textures/default_dry_grass.png differ diff --git a/games/default/files/default/textures/default_dry_tallgrass.png b/games/default/files/default/textures/default_dry_tallgrass.png index 2f8048a53..8ea12750b 100644 Binary files a/games/default/files/default/textures/default_dry_tallgrass.png and b/games/default/files/default/textures/default_dry_tallgrass.png differ diff --git a/games/default/files/default/textures/default_glass.png b/games/default/files/default/textures/default_glass.png index 487bbb1d9..744f74cb0 100644 Binary files a/games/default/files/default/textures/default_glass.png and b/games/default/files/default/textures/default_glass.png differ diff --git a/games/default/files/default/textures/default_hayblock_side.png b/games/default/files/default/textures/default_hayblock_side.png deleted file mode 100644 index 9fe702e37..000000000 Binary files a/games/default/files/default/textures/default_hayblock_side.png and /dev/null differ diff --git a/games/default/files/default/textures/default_hayblock_top.png b/games/default/files/default/textures/default_hayblock_top.png deleted file mode 100644 index 2a129ba2f..000000000 Binary files a/games/default/files/default/textures/default_hayblock_top.png and /dev/null differ diff --git a/games/default/files/default/textures/default_sand.png b/games/default/files/default/textures/default_sand.png index aade7a613..2b586e4ac 100644 Binary files a/games/default/files/default/textures/default_sand.png and b/games/default/files/default/textures/default_sand.png differ diff --git a/games/default/files/default/textures/default_sandstone_bottom.png b/games/default/files/default/textures/default_sandstone_bottom.png index 61febe7ed..f27da02e9 100644 Binary files a/games/default/files/default/textures/default_sandstone_bottom.png and b/games/default/files/default/textures/default_sandstone_bottom.png differ diff --git a/games/default/files/default/textures/default_sandstone_normal.png b/games/default/files/default/textures/default_sandstone_normal.png index 55dcdcf79..87728ce5d 100644 Binary files a/games/default/files/default/textures/default_sandstone_normal.png and b/games/default/files/default/textures/default_sandstone_normal.png differ diff --git a/games/default/files/default/textures/default_sandstone_smooth.png b/games/default/files/default/textures/default_sandstone_smooth.png index 350181ac1..f71220bf0 100644 Binary files a/games/default/files/default/textures/default_sandstone_smooth.png and b/games/default/files/default/textures/default_sandstone_smooth.png differ diff --git a/games/default/files/default/textures/default_sandstone_top.png b/games/default/files/default/textures/default_sandstone_top.png index e11ed0511..ad73fe479 100644 Binary files a/games/default/files/default/textures/default_sandstone_top.png and b/games/default/files/default/textures/default_sandstone_top.png differ diff --git a/games/default/files/default/textures/default_sign_wall_wood.png b/games/default/files/default/textures/default_sign_wall_wood.png index 144c92e67..3d1e7a60c 100644 Binary files a/games/default/files/default/textures/default_sign_wall_wood.png and b/games/default/files/default/textures/default_sign_wall_wood.png differ diff --git a/games/default/files/default/textures/default_stone_brick.png b/games/default/files/default/textures/default_stone_brick.png index 17af039f8..1536973f6 100644 Binary files a/games/default/files/default/textures/default_stone_brick.png and b/games/default/files/default/textures/default_stone_brick.png differ diff --git a/games/default/files/default/textures/default_stonebrick_carved.png b/games/default/files/default/textures/default_stonebrick_carved.png index a93cff6c6..5eed2c73d 100644 Binary files a/games/default/files/default/textures/default_stonebrick_carved.png and b/games/default/files/default/textures/default_stonebrick_carved.png differ diff --git a/games/default/files/default/textures/default_stonebrick_cracked.png b/games/default/files/default/textures/default_stonebrick_cracked.png index d6cfe1644..d24200941 100644 Binary files a/games/default/files/default/textures/default_stonebrick_cracked.png and b/games/default/files/default/textures/default_stonebrick_cracked.png differ diff --git a/games/default/files/default/textures/default_stonebrick_mossy.png b/games/default/files/default/textures/default_stonebrick_mossy.png index ff4144075..2befd72a5 100644 Binary files a/games/default/files/default/textures/default_stonebrick_mossy.png and b/games/default/files/default/textures/default_stonebrick_mossy.png differ diff --git a/games/default/files/default/textures/default_sugar.png b/games/default/files/default/textures/default_sugar.png index b1c454554..31ec68cee 100644 Binary files a/games/default/files/default/textures/default_sugar.png and b/games/default/files/default/textures/default_sugar.png differ diff --git a/games/default/files/default/textures/default_wood.png b/games/default/files/default/textures/default_wood.png index 22e2dc5e0..efaa0cda0 100644 Binary files a/games/default/files/default/textures/default_wood.png and b/games/default/files/default/textures/default_wood.png differ diff --git a/games/default/files/default/textures/log_acacia.png b/games/default/files/default/textures/log_acacia.png new file mode 100644 index 000000000..32bc4d7c7 Binary files /dev/null and b/games/default/files/default/textures/log_acacia.png differ diff --git a/games/default/files/default/textures/tnt_smoke.png b/games/default/files/default/textures/tnt_smoke.png index cbb482486..4abfe88bb 100644 Binary files a/games/default/files/default/textures/tnt_smoke.png and b/games/default/files/default/textures/tnt_smoke.png differ diff --git a/games/default/files/doors/textures/door_steel.png b/games/default/files/doors/textures/door_steel.png index b4abffbaa..9e1b9128c 100644 Binary files a/games/default/files/doors/textures/door_steel.png and b/games/default/files/doors/textures/door_steel.png differ diff --git a/games/default/files/dungeon_loot/config.lua b/games/default/files/dungeon_loot/config.lua index 3a843d1b7..eb097fb16 100644 --- a/games/default/files/dungeon_loot/config.lua +++ b/games/default/files/dungeon_loot/config.lua @@ -100,5 +100,5 @@ dungeon_loot.seedlings_list = { if minetest.get_modpath("farming") then table.insert(dungeon_loot.consumables_list, {name="farming:bread", chance_and_amount = 10}) table.insert(dungeon_loot.seedlings_list, {name="farming:seed_wheat", chance = 1, amount = 10}) - table.insert(dungeon_loot.seedlings_list, {name="farming:seed_cotton", chance = 20, amount = 5}) +-- table.insert(dungeon_loot.seedlings_list, {name="farming:seed_cotton", chance = 20, amount = 5}) end diff --git a/games/default/files/farming/README.txt b/games/default/files/farming/README.txt new file mode 100644 index 000000000..fcebb4a6b --- /dev/null +++ b/games/default/files/farming/README.txt @@ -0,0 +1,9 @@ +MultiCraft Game mod: farming +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +webdesigner97 (MIT) +Various Minetest developers and contributors (MIT) \ No newline at end of file diff --git a/games/default/files/farming/api.lua b/games/default/files/farming/api.lua new file mode 100644 index 000000000..4a7b93dfd --- /dev/null +++ b/games/default/files/farming/api.lua @@ -0,0 +1,391 @@ + +-- Wear out hoes, place soil +-- TODO Ignore group:flower +farming.registered_plants = {} + +farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return + end + if pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + local p = {x=pt.under.x, y=pt.under.y+1, z=pt.under.z} + local above = minetest.get_node(p) + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return + end + if not minetest.registered_nodes[above.name] then + return + end + + -- check if the node above the pointed thing is air + if above.name ~= "air" then + return + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") ~= 1 then + return + end + + -- check if (wet) soil defined + local regN = minetest.registered_nodes + if regN[under.name].soil == nil or regN[under.name].soil.wet == nil or regN[under.name].soil.dry == nil then + return + end + + if minetest.is_protected(pt.under, user:get_player_name()) then + minetest.record_protection_violation(pt.under, user:get_player_name()) + return + end + if minetest.is_protected(pt.above, user:get_player_name()) then + minetest.record_protection_violation(pt.above, user:get_player_name()) + return + end + + -- turn the node into soil and play sound + minetest.set_node(pt.under, {name = regN[under.name].soil.dry}) + minetest.sound_play("default_dig_crumbly", { + pos = pt.under, + gain = 0.5, + }) + + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(user:get_player_name())) then + -- wear tool + local wdef = itemstack:get_definition() + itemstack:add_wear(65535/(uses-1)) + -- tool break sound + if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then + minetest.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5}) + end + end + return itemstack +end + +-- Register new hoes +farming.register_hoe = function(name, def) + -- Check for : prefix (register new hoes in your mod's namespace) + if name:sub(1,1) ~= ":" then + name = ":" .. name + end + -- Check def table + if def.description == nil then + def.description = "Hoe" + end + if def.inventory_image == nil then + def.inventory_image = "unknown_item.png" + end + if def.max_uses == nil then + def.max_uses = 30 + end + -- Register the tool + minetest.register_tool(name, { + description = def.description, + inventory_image = def.inventory_image, + on_use = function(itemstack, user, pointed_thing) + return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses) + end, + groups = def.groups, + sound = {breaks = "default_tool_breaks"}, + }) + -- Register its recipe + if def.recipe then + minetest.register_craft({ + output = name:sub(2), + recipe = def.recipe + }) + elseif def.material then + minetest.register_craft({ + output = name:sub(2), + recipe = { + {def.material, def.material}, + {"", "group:stick"}, + {"", "group:stick"} + } + }) + end +end + +-- how often node timers for plants will tick, +/- some random value +local function tick(pos) + minetest.get_node_timer(pos):start(math.random(166, 286)) +end +-- how often a growth failure tick is retried (e.g. too dark) +local function tick_again(pos) + minetest.get_node_timer(pos):start(math.random(40, 80)) +end + +-- Seed placement +farming.place_seed = function(itemstack, placer, pointed_thing, plantname) + local pt = pointed_thing + -- check if pointing at a node + if not pt then + return itemstack + end + if pt.type ~= "node" then + return itemstack + end + + local under = minetest.get_node(pt.under) + local above = minetest.get_node(pt.above) + + local player_name = placer and placer:get_player_name() or "" + + if minetest.is_protected(pt.under, player_name) then + minetest.record_protection_violation(pt.under, player_name) + return + end + if minetest.is_protected(pt.above, player_name) then + minetest.record_protection_violation(pt.above, player_name) + return + end + + -- return if any of the nodes is not registered + if not minetest.registered_nodes[under.name] then + return itemstack + end + if not minetest.registered_nodes[above.name] then + return itemstack + end + + -- check if pointing at the top of the node + if pt.above.y ~= pt.under.y+1 then + return itemstack + end + + -- check if you can replace the node above the pointed node + if not minetest.registered_nodes[above.name].buildable_to then + return itemstack + end + + -- check if pointing at soil + if minetest.get_item_group(under.name, "soil") < 2 then + return itemstack + end + + -- add the node and remove 1 item from the itemstack + minetest.add_node(pt.above, {name = plantname, param2 = 1}) + tick(pt.above) + if not (creative and creative.is_enabled_for + and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + return itemstack +end + +farming.grow_plant = function(pos, elapsed) + local node = minetest.get_node(pos) + local name = node.name + local def = minetest.registered_nodes[name] + + if not def.next_plant then + -- disable timer for fully grown plant + return + end + + -- grow seed + if minetest.get_item_group(node.name, "seed") and def.fertility then + local soil_node = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z}) + if not soil_node then + tick_again(pos) + return + end + -- omitted is a check for light, we assume seeds can germinate in the dark. + for _, v in pairs(def.fertility) do + if minetest.get_item_group(soil_node.name, v) ~= 0 then + local placenode = {name = def.next_plant} + if def.place_param2 then + placenode.param2 = def.place_param2 + end + minetest.swap_node(pos, placenode) + if minetest.registered_nodes[def.next_plant].next_plant then + tick(pos) + return + end + end + end + + return + end + + -- check if on wet soil + local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z}) + if minetest.get_item_group(below.name, "soil") < 3 then + tick_again(pos) + return + end + + -- check light + local light = minetest.get_node_light(pos) + if not light or light < def.minlight or light > def.maxlight then + tick_again(pos) + return + end + + -- grow + local placenode = {name = def.next_plant} + if def.place_param2 then + placenode.param2 = def.place_param2 + end + minetest.swap_node(pos, placenode) + + -- new timer needed? + if minetest.registered_nodes[def.next_plant].next_plant then + tick(pos) + end + return +end + +-- Register plants +farming.register_plant = function(name, def) + local mname = name:split(":")[1] + local pname = name:split(":")[2] + + -- Check def table + if not def.description then + def.description = "Seed" + end + if not def.inventory_image then + def.inventory_image = "unknown_item.png" + end + if not def.steps then + return nil + end + if not def.minlight then + def.minlight = 1 + end + if not def.maxlight then + def.maxlight = 14 + end + if not def.fertility then + def.fertility = {} + end + + farming.registered_plants[pname] = def + + -- Register seed + local lbm_nodes = {mname .. ":seed_" .. pname} + local g = {seed = 1, snappy = 3, attached_node = 1, flammable = 2} + for k, v in pairs(def.fertility) do + g[v] = 1 + end + minetest.register_node(":" .. mname .. ":seed_" .. pname, { + description = def.description, + tiles = {def.inventory_image}, + inventory_image = def.inventory_image, + wield_image = def.inventory_image, + drawtype = "signlike", + groups = g, + paramtype = "light", + paramtype2 = "wallmounted", + place_param2 = def.place_param2 or nil, -- this isn't actually used for placement + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + fertility = def.fertility, + sounds = default.node_sound_dirt_defaults({ + dig = {name = "", gain = 0}, + dug = {name = "default_grass_footstep", gain = 0.2}, + place = {name = "default_place_node", gain = 0.25}, + }), + + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local udef = minetest.registered_nodes[node.name] + if udef and udef.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return udef.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + return farming.place_seed(itemstack, placer, pointed_thing, mname .. ":seed_" .. pname) + end, + next_plant = mname .. ":" .. pname .. "_1", + on_timer = farming.grow_plant, + minlight = def.minlight, + maxlight = def.maxlight, + }) + + -- Register harvest + minetest.register_craftitem(":" .. mname .. ":" .. pname, { + description = pname:gsub("^%l", string.upper), + inventory_image = mname .. "_" .. pname .. ".png", + groups = def.groups or {flammable = 2}, + }) + + -- Register growing steps + for i = 1, def.steps do + local base_rarity = 1 + if def.steps ~= 1 then + base_rarity = 8 - (i - 1) * 7 / (def.steps - 1) + end + local drop = { + items = { + {items = {mname .. ":" .. pname}, rarity = base_rarity}, + {items = {mname .. ":" .. pname}, rarity = base_rarity * 2}, + {items = {mname .. ":seed_" .. pname}, rarity = base_rarity}, + {items = {mname .. ":seed_" .. pname}, rarity = base_rarity * 2}, + } + } + local nodegroups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1} + nodegroups[pname] = i + + local next_plant = nil + + if i < def.steps then + next_plant = mname .. ":" .. pname .. "_" .. (i + 1) + lbm_nodes[#lbm_nodes + 1] = mname .. ":" .. pname .. "_" .. i + end + + minetest.register_node(":" .. mname .. ":" .. pname .. "_" .. i, { + drawtype = "plantlike", + waving = 1, + tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, + paramtype = "light", + paramtype2 = def.paramtype2 or nil, + place_param2 = def.place_param2 or nil, + walkable = false, + buildable_to = true, + drop = drop, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + groups = nodegroups, + sounds = default.node_sound_leaves_defaults(), + next_plant = next_plant, + on_timer = farming.grow_plant, + minlight = def.minlight, + maxlight = def.maxlight, + }) + end + + -- replacement LBM for pre-nodetimer plants + minetest.register_lbm({ + name = ":" .. mname .. ":start_nodetimer_" .. pname, + nodenames = lbm_nodes, + action = function(pos, node) + tick_again(pos) + end, + }) + + -- Return + local r = { + seed = mname .. ":seed_" .. pname, + harvest = mname .. ":" .. pname + } + return r +end diff --git a/games/default/files/farming/depends.txt b/games/default/files/farming/depends.txt new file mode 100644 index 000000000..301d97199 --- /dev/null +++ b/games/default/files/farming/depends.txt @@ -0,0 +1,3 @@ +default +wool +stairs diff --git a/games/default/files/farming/hoes.lua b/games/default/files/farming/hoes.lua new file mode 100644 index 000000000..06451883b --- /dev/null +++ b/games/default/files/farming/hoes.lua @@ -0,0 +1,36 @@ +farming.register_hoe(":farming:hoe_wood", { + description = "Wooden Hoe", + inventory_image = "farming_tool_woodhoe.png", + max_uses = 30, + material = "group:wood", + groups = {flammable = 2}, +}) + +farming.register_hoe(":farming:hoe_stone", { + description = "Stone Hoe", + inventory_image = "farming_tool_stonehoe.png", + max_uses = 90, + material = "group:stone" +}) + +farming.register_hoe(":farming:hoe_steel", { + description = "Steel Hoe", + inventory_image = "farming_tool_steelhoe.png", + max_uses = 500, + material = "default:steel_ingot" +}) + +farming.register_hoe(":farming:gold_mese", { + description = "Gold Hoe", + inventory_image = "farming_tool_goldhoe.png", + max_uses = 350, + material = "default:gold_ingot" +}) + +farming.register_hoe(":farming:hoe_diamond", { + description = "Diamond Hoe", + inventory_image = "farming_tool_diamondhoe.png", + max_uses = 1000, + material = "default:diamond" + +}) diff --git a/games/default/files/farming/init.lua b/games/default/files/farming/init.lua new file mode 100644 index 000000000..151db8319 --- /dev/null +++ b/games/default/files/farming/init.lua @@ -0,0 +1,140 @@ +-- Global farming namespace + +farming = {} +farming.path = minetest.get_modpath("farming") + + +-- Load files + +dofile(farming.path .. "/api.lua") +dofile(farming.path .. "/nodes.lua") +dofile(farming.path .. "/hoes.lua") + + +-- WHEAT + +farming.register_plant("farming:wheat", { + description = "Wheat Seed", + paramtype2 = "meshoptions", + inventory_image = "farming_wheat_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland"}, + groups = {food_wheat = 1, flammable = 4}, + place_param2 = 3, +}) + +minetest.register_craftitem("farming:flour", { + description = "Flour", + inventory_image = "farming_flour.png", + groups = {food_flour = 1, flammable = 1}, +}) + +minetest.register_craftitem("farming:bread", { + description = "Bread", + inventory_image = "farming_bread.png", + on_use = minetest.item_eat(5), + groups = {food_bread = 1, flammable = 2}, +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:flour", + recipe = {"farming:wheat", "farming:wheat", "farming:wheat"} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 15, + output = "farming:bread", + recipe = "farming:flour" +}) + +-- String + +minetest.register_craftitem("farming:string",{ + description = "String", + inventory_image = "farming_string.png", + groups = {materials = 1}, +}) + +-- Cotton + +--[[farming.register_plant("farming:cotton", { + description = "Cotton Seed", + inventory_image = "farming_cotton_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland", "desert"}, + groups = {flammable = 4}, +}) + +minetest.register_craft({ + output = "wool:white", + recipe = { + {"farming:cotton", "farming:cotton"}, + {"farming:cotton", "farming:cotton"}, + } +}) + +minetest.register_craft({ + output = "farming:string 2", + recipe = { + {"farming:cotton"}, + {"farming:cotton"}, + } +}) +]] + +-- Straw + +minetest.register_craft({ + output = "farming:straw 3", + recipe = { + {"farming:wheat", "farming:wheat", "farming:wheat"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + {"farming:wheat", "farming:wheat", "farming:wheat"}, + } +}) + +minetest.register_craft({ + output = "farming:wheat 3", + recipe = { + {"farming:straw"}, + } +}) + + +-- Fuels + +minetest.register_craft({ + type = "fuel", + recipe = "farming:straw", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:wheat", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:cotton", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:string", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "farming:hoe_wood", + burntime = 5, +}) diff --git a/games/default/files/farming/license.txt b/games/default/files/farming/license.txt new file mode 100644 index 000000000..e042f394b --- /dev/null +++ b/games/default/files/farming/license.txt @@ -0,0 +1,26 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 webdesigner97 +Copyright (C) 2012-2016 Various Minetest developers and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +For more details: +https://opensource.org/licenses/MIT diff --git a/games/default/files/farming/nodes.lua b/games/default/files/farming/nodes.lua new file mode 100644 index 000000000..5b9f70a6f --- /dev/null +++ b/games/default/files/farming/nodes.lua @@ -0,0 +1,171 @@ +minetest.override_item("default:dirt", { + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_grass", { + soil = { + base = "default:dirt_with_grass", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_dry_grass", { + soil = { + base = "default:dirt_with_dry_grass", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +--[[minetest.override_item("default:dirt_with_rainforest_litter", { + soil = { + base = "default:dirt_with_rainforest_litter", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.override_item("default:dirt_with_coniferous_litter", { + soil = { + base = "default:dirt_with_coniferous_litter", + dry = "farming:soil", + wet = "farming:soil_wet" + } +})]]-- + +minetest.register_node("farming:soil", { + description = "Soil", + tiles = {"farming_soil.png", "default_dirt.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +minetest.register_node("farming:soil_wet", { + description = "Wet Soil", + tiles = {"farming_soil_wet.png", "default_dirt.png"}, + drop = "default:dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dirt", + dry = "farming:soil", + wet = "farming:soil_wet" + } +}) + +--[[minetest.override_item("default:desert_sand", { + groups = {crumbly=3, falling_node=1, sand=1, soil = 1}, + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) +minetest.register_node("farming:desert_sand_soil", { + description = "Desert Sand Soil", + drop = "default:desert_sand", + tiles = {"farming_desert_sand_soil.png", "default_red_sand.png"}, + groups = {crumbly=3, not_in_creative_inventory = 1, falling_node=1, sand=1, soil = 2, desert = 1, field = 1}, + sounds = default.node_sound_sand_defaults(), + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +}) + +minetest.register_node("farming:desert_sand_soil_wet", { + description = "Wet Desert Sand Soil", + drop = "default:desert_sand", + tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, + groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1, soil=3, wet = 1, desert = 1, field = 1}, + sounds = default.node_sound_sand_defaults(), + soil = { + base = "default:desert_sand", + dry = "farming:desert_sand_soil", + wet = "farming:desert_sand_soil_wet" + } +})]] + +minetest.register_node("farming:straw", { + description = "Straw", + tiles = {"farming_straw_side.png", "farming_straw_top.png"}, + is_ground_content = false, + groups = {snappy=3, flammable=4, fall_damage_add_percent=-30}, + sounds = default.node_sound_leaves_defaults(), +}) + +--[[stairs.register_stair_and_slab( + "straw", + "farming:straw", + {snappy = 3, flammable = 4}, + {"farming_straw.png"}, + "Straw Stair", + "Straw Slab", + default.node_sound_leaves_defaults(), + true +)]]-- + +minetest.register_abm({ + label = "Farming soil", + nodenames = {"group:field"}, + interval = 15, + chance = 4, + action = function(pos, node) + local n_def = minetest.registered_nodes[node.name] or nil + local wet = n_def.soil.wet or nil + local base = n_def.soil.base or nil + local dry = n_def.soil.dry or nil + if not n_def or not n_def.soil or not wet or not base or not dry then + return + end + + pos.y = pos.y + 1 + local nn = minetest.get_node_or_nil(pos) + if not nn or not nn.name then + return + end + local nn_def = minetest.registered_nodes[nn.name] or nil + pos.y = pos.y - 1 + + if nn_def and nn_def.walkable and minetest.get_item_group(nn.name, "plant") == 0 then + minetest.set_node(pos, {name = base}) + return + end + -- check if there is water nearby + local wet_lvl = minetest.get_item_group(node.name, "wet") + if minetest.find_node_near(pos, 3, {"group:water"}) then + -- if it is dry soil and not base node, turn it into wet soil + if wet_lvl == 0 then + minetest.set_node(pos, {name = wet}) + end + else + -- only turn back if there are no unloaded blocks (and therefore + -- possible water sources) nearby + if not minetest.find_node_near(pos, 3, {"ignore"}) then + -- turn it back into base if it is already dry + if wet_lvl == 0 then + -- only turn it back if there is no plant/seed on top of it + if minetest.get_item_group(nn.name, "plant") == 0 and minetest.get_item_group(nn.name, "seed") == 0 then + minetest.set_node(pos, {name = base}) + end + + -- if its wet turn it back into dry soil + elseif wet_lvl == 1 then + minetest.set_node(pos, {name = dry}) + end + end + end + end, +}) diff --git a/games/default/files/farming/textures/farming_bread.png b/games/default/files/farming/textures/farming_bread.png new file mode 100644 index 000000000..61bef3276 Binary files /dev/null and b/games/default/files/farming/textures/farming_bread.png differ diff --git a/games/default/files/farming/textures/farming_flour.png b/games/default/files/farming/textures/farming_flour.png new file mode 100644 index 000000000..e8041e772 Binary files /dev/null and b/games/default/files/farming/textures/farming_flour.png differ diff --git a/games/default/files/farming/textures/farming_soil.png b/games/default/files/farming/textures/farming_soil.png new file mode 100644 index 000000000..ca9ebd521 Binary files /dev/null and b/games/default/files/farming/textures/farming_soil.png differ diff --git a/games/default/files/farming/textures/farming_soil_wet.png b/games/default/files/farming/textures/farming_soil_wet.png new file mode 100644 index 000000000..b65a2af11 Binary files /dev/null and b/games/default/files/farming/textures/farming_soil_wet.png differ diff --git a/games/default/files/farming/textures/farming_straw_side.png b/games/default/files/farming/textures/farming_straw_side.png new file mode 100644 index 000000000..a0caf082a Binary files /dev/null and b/games/default/files/farming/textures/farming_straw_side.png differ diff --git a/games/default/files/farming/textures/farming_straw_top.png b/games/default/files/farming/textures/farming_straw_top.png new file mode 100644 index 000000000..c425cb183 Binary files /dev/null and b/games/default/files/farming/textures/farming_straw_top.png differ diff --git a/games/default/files/default/textures/default_string.png b/games/default/files/farming/textures/farming_string.png similarity index 100% rename from games/default/files/default/textures/default_string.png rename to games/default/files/farming/textures/farming_string.png diff --git a/games/default/files/farming/textures/farming_tool_diamondhoe.png b/games/default/files/farming/textures/farming_tool_diamondhoe.png new file mode 100644 index 000000000..05ae26821 Binary files /dev/null and b/games/default/files/farming/textures/farming_tool_diamondhoe.png differ diff --git a/games/default/files/farming/textures/farming_tool_goldhoe.png b/games/default/files/farming/textures/farming_tool_goldhoe.png new file mode 100644 index 000000000..5b9399288 Binary files /dev/null and b/games/default/files/farming/textures/farming_tool_goldhoe.png differ diff --git a/games/default/files/farming/textures/farming_tool_steelhoe.png b/games/default/files/farming/textures/farming_tool_steelhoe.png new file mode 100644 index 000000000..7202f93c4 Binary files /dev/null and b/games/default/files/farming/textures/farming_tool_steelhoe.png differ diff --git a/games/default/files/farming/textures/farming_tool_stonehoe.png b/games/default/files/farming/textures/farming_tool_stonehoe.png new file mode 100644 index 000000000..e7ed0bf24 Binary files /dev/null and b/games/default/files/farming/textures/farming_tool_stonehoe.png differ diff --git a/games/default/files/farming/textures/farming_tool_woodhoe.png b/games/default/files/farming/textures/farming_tool_woodhoe.png new file mode 100644 index 000000000..ad2450a0d Binary files /dev/null and b/games/default/files/farming/textures/farming_tool_woodhoe.png differ diff --git a/games/default/files/farming/textures/farming_wheat.png b/games/default/files/farming/textures/farming_wheat.png new file mode 100644 index 000000000..489bf0e4c Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat.png differ diff --git a/games/default/files/farming/textures/farming_wheat_1.png b/games/default/files/farming/textures/farming_wheat_1.png new file mode 100644 index 000000000..966bbc0a6 Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_1.png differ diff --git a/games/default/files/farming/textures/farming_wheat_2.png b/games/default/files/farming/textures/farming_wheat_2.png new file mode 100644 index 000000000..a27de875d Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_2.png differ diff --git a/games/default/files/farming/textures/farming_wheat_3.png b/games/default/files/farming/textures/farming_wheat_3.png new file mode 100644 index 000000000..a4c80c914 Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_3.png differ diff --git a/games/default/files/farming/textures/farming_wheat_4.png b/games/default/files/farming/textures/farming_wheat_4.png new file mode 100644 index 000000000..c81f8ba6a Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_4.png differ diff --git a/games/default/files/farming/textures/farming_wheat_5.png b/games/default/files/farming/textures/farming_wheat_5.png new file mode 100644 index 000000000..15d75bfa2 Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_5.png differ diff --git a/games/default/files/farming/textures/farming_wheat_6.png b/games/default/files/farming/textures/farming_wheat_6.png new file mode 100644 index 000000000..03c295225 Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_6.png differ diff --git a/games/default/files/farming/textures/farming_wheat_7.png b/games/default/files/farming/textures/farming_wheat_7.png new file mode 100644 index 000000000..31f8d5ddf Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_7.png differ diff --git a/games/default/files/farming/textures/farming_wheat_8.png b/games/default/files/farming/textures/farming_wheat_8.png new file mode 100644 index 000000000..1ff8a5336 Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_8.png differ diff --git a/games/default/files/farming/textures/farming_wheat_seed.png b/games/default/files/farming/textures/farming_wheat_seed.png new file mode 100644 index 000000000..d95fdec7b Binary files /dev/null and b/games/default/files/farming/textures/farming_wheat_seed.png differ diff --git a/games/default/files/hunger/food.lua b/games/default/files/hunger/food.lua index ed1d836e9..aa8ce2587 100644 --- a/games/default/files/hunger/food.lua +++ b/games/default/files/hunger/food.lua @@ -25,13 +25,10 @@ if minetest.get_modpath("mobs") then register_food("mobs:chicken_cooked", 6) register_food("mobs:chicken_raw", 2, "", 3) register_food("mobs:chicken_egg_fried", 2) + register_food("mobs_monster:rotten_flesh", 1, "", 4) if minetest.get_modpath("bucket") then register_food("mobs:bucket_milk", 3, "bucket:bucket_empty") end - else - register_food("mobs:meat", 6) - register_food("mobs:meat_raw", 3) - register_food("mobs:rat_cooked", 5) end end diff --git a/games/default/files/item_drop/init.lua b/games/default/files/item_drop/init.lua index 5525feee9..c2f868263 100644 --- a/games/default/files/item_drop/init.lua +++ b/games/default/files/item_drop/init.lua @@ -1,55 +1,47 @@ +local age = 1 --how old an item has to be before collecting +local radius_magnet = 2.5 --radius of item magnet +local player_collect_height = 1.3 --added to their pos y value +local adjuster_collect = 0.01 --Delay before collecting to visualize moveme + --Item collection minetest.register_globalstep(function(dtime) - --basic settings - local age = 1 --how old an item has to be before collecting - local radius_magnet = 2.0 --radius of item magnet - local radius_collect = 0.3 --radius of collection - local player_collect_height = 1.2 --added to their pos y value + --collection for _,player in ipairs(minetest.get_connected_players()) do + --don't magnetize to dead players if player:get_hp() > 0 then local pos = player:get_pos() local inv = player:get_inventory() - --collection - for _,object in ipairs(minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y + player_collect_height,z=pos.z}, radius_collect)) do + --radial detection + for _,object in ipairs(minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y + player_collect_height,z=pos.z}, radius_magnet)) do if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then if object:get_luaentity().age > age then if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then - + --collect + if object:get_luaentity().collectioner == true and object:get_luaentity().age > age and object:get_luaentity().age > object:get_luaentity().age_stamp + adjuster_collect then if object:get_luaentity().itemstring ~= "" then inv:add_item("main", ItemStack(object:get_luaentity().itemstring)) minetest.sound_play("item_drop_pickup", { pos = pos, - max_hear_distance = 50, + max_hear_distance = 15, gain = 0.1, }) object:get_luaentity().itemstring = "" object:remove() end + --magnet + else + --moveto for extreme speed boost + local pos1 = pos + pos1.y = pos1.y + player_collect_height + object:moveto(pos1) + object:get_luaentity().collectioner = true + object:get_luaentity().age_stamp = object:get_luaentity().age end end end end - --magnet - for _,object in ipairs(minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y + player_collect_height,z=pos.z}, radius_magnet)) do - if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then - if object:get_luaentity().age > age then - if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then - local pos1 = pos - local pos2 = object:getpos() - local vec = {x=pos1.x-pos2.x, y=(pos1.y+player_collect_height)-pos2.y, z=pos1.z-pos2.z} - vec.x = pos2.x + (vec.x/2) - vec.y = pos2.y + (vec.y/2) - vec.z = pos2.z + (vec.z/2) - object:moveto(vec) - object:get_luaentity().physical_state = false - object:get_luaentity().object:set_properties({ - physical = false - }) - end - end - end end end end @@ -59,10 +51,6 @@ end) --This only works in survival if minetest.setting_getbool("creative_mode") == false then function minetest.handle_node_drops(pos, drops, digger) - local inv - if minetest.setting_getbool("creative_mode") and digger and digger:is_player() then - inv = digger:get_inventory() - end for _,item in ipairs(drops) do local count, name if type(item) == "string" then @@ -72,52 +60,28 @@ if minetest.setting_getbool("creative_mode") == false then count = item:get_count() name = item:get_name() end - if not inv or not inv:contains_item("main", ItemStack(name)) then + --if not inv or not inv:contains_item("main", ItemStack(name)) then for i=1,count do - local obj = minetest.env:add_item(pos, name) + local obj = minetest.add_item(pos, name) if obj ~= nil then - --obj:get_luaentity().timer = obj:get_luaentity().collect = true - local x = math.random(1, 5) - if math.random(1,2) == 1 then - x = -x - end - local z = math.random(1, 5) - if math.random(1,2) == 1 then - z = -z - end - obj:setvelocity({x=1/x, y=obj:get_velocity().y, z=1/z}) - obj:get_luaentity().age = 0.6 - -- FIXME this doesnt work for deactiveted objects - if minetest.setting_get("remove_items") and tonumber(minetest.setting_get("remove_items")) then - minetest.after(tonumber(minetest.setting_get("remove_items")), function(obj) - obj:remove() - end, obj) - end - end - end + obj:get_luaentity().age = age + obj:setvelocity({x=math.random(-3,3), y=math.random(2,5), z=math.random(-3,3)}) end end + end end end ---throw items using player's velocity + +--Throw items using player's velocity function minetest.item_drop(itemstack, dropper, pos) - --do this to prevent dispensers and other things using this function from breaking - - --check if player - local is_player = false - if dropper then - if minetest.get_player_information(dropper:get_player_name()) then - is_player = true - end - end + --if player then do modified item drop - if dropper and is_player == true then + if dropper and minetest.get_player_information(dropper:get_player_name()) then local v = dropper:get_look_dir() local vel = dropper:get_player_velocity() - local p = {x=pos.x, y=pos.y+1.3, z=pos.z} - + local p = {x=pos.x, y=pos.y+player_collect_height, z=pos.z} local item = itemstack:to_string() local obj = core.add_item(p, item) if obj then @@ -126,25 +90,21 @@ function minetest.item_drop(itemstack, dropper, pos) v.z = (v.z*5)+vel.z obj:setvelocity(v) obj:get_luaentity().dropped_by = dropper:get_player_name() - --obj:get_luaentity().collect = true itemstack:clear() return itemstack end - else --if machine then use default item drop to not break mods - also extend reach + --machine + else local v = dropper:get_look_dir() - local p = {x=pos.x+v.x, y=pos.y+1.5+v.y, z=pos.z+v.z} - local cs = itemstack:get_count() - if dropper:get_player_control().sneak then - cs = 1 - end - local item = itemstack:take_item(cs) - local obj = core.add_item(p, item) - if obj then - v.x = v.x*5 - v.y = v.y*5 + 2 - v.z = v.z*5 + local item = itemstack:to_string() + local obj = minetest.add_item({x=pos.x,y=pos.y+1.5,z=pos.z}, item) --{x=pos.x+v.x,y=pos.y+v.y+1.5,z=pos.z+v.z} + if obj then + v.x = (v.x*5) + v.y = (v.y*5) + v.z = (v.z*5) obj:setvelocity(v) - obj:get_luaentity().dropped_by = dropper:get_player_name() + obj:get_luaentity().dropped_by = nil + itemstack:clear() return itemstack end end diff --git a/games/default/files/mobs_animal/bear.lua b/games/default/files/mobs_animal/bear.lua index 25dc926f3..a2700eda7 100644 --- a/games/default/files/mobs_animal/bear.lua +++ b/games/default/files/mobs_animal/bear.lua @@ -38,6 +38,7 @@ hp_max = 15, armor = 100, knock_back = 1, + water_damage = 0, lava_damage = 10, fall_damage = 5, makes_footstep_sound = true, diff --git a/games/default/files/mobs_animal/chicken.lua b/games/default/files/mobs_animal/chicken.lua index 945cb6e12..baae32910 100644 --- a/games/default/files/mobs_animal/chicken.lua +++ b/games/default/files/mobs_animal/chicken.lua @@ -21,7 +21,7 @@ mobs:register_mob("mobs_animal:chicken", { drops = { {name = "mobs:chicken_raw", chance = 1, min = 1, max = 1}, }, - water_damage = 1, + water_damage = 0, lava_damage = 5, light_damage = 0, fall_damage = 0, @@ -35,7 +35,7 @@ mobs:register_mob("mobs_animal:chicken", { run_start = 60, run_end = 80, }, - follow = {"farming:seed_wheat", "farming:seed_cotton"}, + follow = {"farming:seed_wheat"}, view_range = 5, on_rightclick = function(self, clicker) diff --git a/games/default/files/mobs_animal/cow.lua b/games/default/files/mobs_animal/cow.lua index efa6f43e4..3cfcc9fd8 100644 --- a/games/default/files/mobs_animal/cow.lua +++ b/games/default/files/mobs_animal/cow.lua @@ -31,7 +31,7 @@ mobs:register_mob("mobs_animal:cow", { {name = "mobs:leather", chance = 2, min = 1, max = 1}, {name = "mobs:leather", chance = 2, min = 1, max = 1} }, - water_damage = 1, + water_damage = 0, lava_damage = 5, light_damage = 0, animation = { diff --git a/games/default/files/mobs_animal/dog.lua b/games/default/files/mobs_animal/dog.lua index e2ac5e5c6..ab2c62879 100644 --- a/games/default/files/mobs_animal/dog.lua +++ b/games/default/files/mobs_animal/dog.lua @@ -34,6 +34,7 @@ hp_max = 10, armor = 100, knock_back = 2, + water_damage = 0, lava_damage = 5, fall_damage = 4, makes_footstep_sound = true, @@ -107,6 +108,7 @@ mobs:register_egg("mobs_animal:wolf", "Wolf", "wool_grey.png", 1) hp_max = 25, armor = 100, knock_back = 2, + water_damage = 0, lava_damage = 5, fall_damage = 5, makes_footstep_sound = true, diff --git a/games/default/files/mobs_animal/kitten.lua b/games/default/files/mobs_animal/kitten.lua index 73a5a123a..81f876c21 100644 --- a/games/default/files/mobs_animal/kitten.lua +++ b/games/default/files/mobs_animal/kitten.lua @@ -26,9 +26,9 @@ mobs:register_mob("mobs_animal:kitten", { run_velocity = 2, runaway = true, jump = false, - --drops = { - -- {name = "farming:string", chance = 1, min = 1, max = 1}, - --}, + drops = { + {name = "farming:string", chance = 1, min = 1, max = 1}, + }, water_damage = 1, lava_damage = 5, fear_height = 3, diff --git a/games/default/files/mobs_animal/pig.lua b/games/default/files/mobs_animal/pig.lua index 73e9b29ed..714658291 100644 --- a/games/default/files/mobs_animal/pig.lua +++ b/games/default/files/mobs_animal/pig.lua @@ -35,7 +35,7 @@ mobs:register_mob("mobs_animal:pig", { {name = "mobs:pork_raw", chance = 2, min = 1, max = 1} }, - water_damage = 1, + water_damage = 0, lava_damage = 5, light_damage = 0, fear_height = 2, diff --git a/games/default/files/mobs_animal/sheep.lua b/games/default/files/mobs_animal/sheep.lua index e45f7b769..42f778347 100644 --- a/games/default/files/mobs_animal/sheep.lua +++ b/games/default/files/mobs_animal/sheep.lua @@ -22,6 +22,7 @@ local all_colours = { for _, col in pairs(all_colours) do mobs:register_mob("mobs_animal:sheep_"..col[1], { + stepheight = 0.6, type = "animal", passive = true, hp_min = 6, @@ -51,7 +52,7 @@ for _, col in pairs(all_colours) do {name = "mobs:meat_raw", chance = 2, min = 1, max = 1}, {name = "wool:"..col[1], chance = 1, min = 1, max = 1} }, - water_damage = 1, + water_damage = 0, lava_damage = 5, light_damage = 0, animation = { diff --git a/games/default/files/mobs_animal/textures/mobs_sheep_dark_green.png b/games/default/files/mobs_animal/textures/mobs_sheep_dark_green.png index 3ea2aaf18..d131546c0 100644 Binary files a/games/default/files/mobs_animal/textures/mobs_sheep_dark_green.png and b/games/default/files/mobs_animal/textures/mobs_sheep_dark_green.png differ diff --git a/games/default/files/mobs_monster/spider.lua b/games/default/files/mobs_monster/spider.lua index 88e02f399..4bb89551f 100644 --- a/games/default/files/mobs_monster/spider.lua +++ b/games/default/files/mobs_monster/spider.lua @@ -28,9 +28,9 @@ mobs:register_mob("mobs_monster:spider", { jump = true, view_range = 15, floats = 0, --- drops = { --- {name = "farming:string", --- chance = 1, min = 1, max = 2}, }, + drops = { + {name = "farming:string", + chance = 1, min = 1, max = 2}, }, water_damage = 5, lava_damage = 5, light_damage = 0, @@ -103,9 +103,9 @@ mobs:register_mob("mobs_monster:small_spider", { jump = true, view_range = 10, floats = 0, --- drops = { --- {name = "farming:string", --- chance = 1, min = 1, max = 1}, }, + drops = { + {name = "farming:string", + chance = 1, min = 1, max = 1}, }, water_damage = 5, lava_damage = 5, light_damage = 0, @@ -161,7 +161,6 @@ minetest.register_node(":mobs:cobweb", { liquid_range = 0, walkable = false, groups = {snappy = 1, disable_jump = 1}, - --drop = "farming:cotton", sounds = default.node_sound_leaves_defaults(), }) diff --git a/games/default/files/mobs_redo/api.lua b/games/default/files/mobs_redo/api.lua index 77860c24f..4a178e930 100644 --- a/games/default/files/mobs_redo/api.lua +++ b/games/default/files/mobs_redo/api.lua @@ -3,7 +3,7 @@ mobs = { mod = "redo", - version = "20181220", + version = "20190402", invis = minetest.global_exists("invisibility") and invisibility or {}, } @@ -448,9 +448,39 @@ function mobs:line_of_sight(entity, pos1, pos2, stepsize) return mob_class.line_of_sight(entity, pos1, pos2, stepsize) end +function mob_class:attempt_flight_correction() + + if self:flight_check() then return true end + + -- We are not flying in what we are supposed to. + -- See if we can find intended flight medium and return to it + local pos = self.object:get_pos() + local searchnodes = self.fly_in + + if type(searchnodes) == "string" then + searchnodes = {self.fly_in} + end + + local flyable_nodes = minetest.find_nodes_in_area( + {x = pos.x - r, y = pos.y - r, z = pos.z - r}, + {x = pos.x + r, y = pos.y + r, z = pos.z + r}, + searchnodes) + + if #flyable_nodes < 1 then + return false + end + + local escape_target = flyable_nodes[math.random(1,#flyable_nodes)] + local escape_direction = vector.direction(pos, escape_target) + + self.object:set_velocity( + vector.multiply(escape_direction, self.run_velocity)) + + return true +end -- are we flying in what we are suppose to? (taikedz) -function mob_class:flight_check(pos_w) +function mob_class:flight_check() local def = minetest.registered_nodes[self.standing_in] @@ -483,6 +513,57 @@ function mob_class:flight_check(pos_w) end +-- if self.stay_near set then check periodically for nodes and turn to face/move +function mob_class:do_stay_near() + + if not self.stay_near then return false end + + local pos = self.object:get_pos() + local searchnodes = self.stay_near[1] + local chance = self.stay_near[2] or 10 + + if random(1, chance) > 1 then + return false + end + + if type(searchnodes) == "string" then + searchnodes = {self.stay_near[1]} + end + + local r = self.view_range + local nearby_nodes = minetest.find_nodes_in_area( + {x = pos.x - r, y = pos.y - 1, z = pos.z - r}, + {x = pos.x + r, y = pos.y + 1, z = pos.z + r}, + searchnodes) + + if #nearby_nodes < 1 then + return false + end + + local target = nearby_nodes[math.random(1, #nearby_nodes)] + local direction = vector.direction(pos, target) + + local vec = { + x = target.x - pos.x, + z = target.z - pos.z + } + + yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate + + if target.x > pos.x then + yaw = yaw + pi + end + + yaw = self:set_yaw(yaw, 4) + + self:set_animation("walk") + + self:set_velocity(self.walk_velocity) + + return true +end + + -- custom particle effects local effect = function(pos, amount, texture, min_size, max_size, radius, gravity, glow) @@ -533,7 +614,6 @@ function mob_class:update_tag() nametag = self.nametag, nametag_color = col }) - end @@ -970,6 +1050,7 @@ local entity_physics = function(pos, radius) obj_pos = objs[n]:get_pos() dist = get_distance(pos, obj_pos) + if dist < 1 then dist = 1 end local damage = floor((4 / dist) * radius) @@ -1804,8 +1885,10 @@ function mob_class:follow_flop() -- swimmers flop when out of their element, and swim again when back in if self.fly then + local s = self.object:get_pos() - if not self:flight_check(s) then + + if not self:attempt_flight_correction() then self.state = "flop" self.object:set_velocity({x = 0, y = -5, z = 0}) @@ -2168,7 +2251,7 @@ function mob_class:do_states(dtime) local p_y = floor(p2.y + 1) local v = self.object:get_velocity() - if self:flight_check(s) then + if self:flight_check() then if me_y < p_y then @@ -2565,7 +2648,7 @@ end if tr then if weapon_def.original_description then - weapon:add_wear(toolranks.new_afteruse(weapon, hitter, nil, {wear = wear})) + toolranks.new_afteruse(weapon, hitter, nil, {wear = wear}) end else weapon:add_wear(wear) @@ -2803,6 +2886,12 @@ function mob_class:mob_activate(staticdata, def, dtime) self[_] = stat end end + + -- force current model into mob + self.mesh = def.mesh + self.base_mesh = def.mesh + self.collisionbox = def.collisionbox + self.selectionbox = def.selectionbox -- select random texture, set model and size if not self.base_texture then @@ -2874,7 +2963,7 @@ function mob_class:mob_activate(staticdata, def, dtime) end if self.health == 0 then - self.health = random (self.hp_min, self.hp_max) + self.health = random(self.hp_min, self.hp_max) end -- pathfinding init @@ -2917,7 +3006,7 @@ function mob_class:mob_activate(staticdata, def, dtime) -- run after_activate if def.after_activate then - def:after_activate(staticdata, def, dtime) + def.after_activate(self, staticdata, def, dtime) end if use_cmi then @@ -3107,7 +3196,8 @@ function mob_class:on_step(dtime) self:do_jump() self:do_runaway_from(self) - + + self:do_stay_near() end @@ -3217,6 +3307,7 @@ minetest.register_entity(name, setmetatable({ runaway_from = def.runaway_from, owner_loyal = def.owner_loyal, pushable = def.pushable, + stay_near = def.stay_near, on_spawn = def.on_spawn, @@ -3291,7 +3382,8 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, end minetest.log("action", - string.format("[mobs] Chance setting for %s changed to %s (total: %s)", name, chance, aoc)) + string.format("[mobs] Chance setting for %s changed to %s (total: %s)", + name, chance, aoc)) end @@ -3910,12 +4002,12 @@ function mobs:protect(self, clicker) end if self.tamed == false then - minetest.chat_send_player(name, S("Not tamed!")) + minetest.chat_send_player(name, "Not tamed!") return true -- false end if self.protected == true then - minetest.chat_send_player(name, S("Already protected!")) + minetest.chat_send_player(name, "Already protected!") return true -- false end @@ -3943,12 +4035,9 @@ local mob_sta = {} -- feeding, taming and breeding (thanks blert2112) function mobs:feed_tame(self, clicker, feed_count, breed, tame) - if not self.follow then - return false - end - -- can eat/tame with item in hand - if self:follow_holding(clicker) then + if self.follow + and self:follow_holding(clicker) then -- if not in creative then take item if not mobs.is_creative(clicker:get_player_name()) then @@ -3991,6 +4080,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) -- feed and tame self.food = (self.food or 0) + 1 + if self.food >= feed_count then self.food = 0 @@ -3999,8 +4089,6 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) self.horny = true end - self.gotten = false - if tame then if self.tamed == false then @@ -4017,7 +4105,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) end -- make sound when fed so many times - self:mob_sound(self.sounds.random) + --self:mob_sound(self.sounds.random) end return true diff --git a/games/default/files/mobs_redo/crafts.lua b/games/default/files/mobs_redo/crafts.lua index 06e357fe0..b4ee7359e 100644 --- a/games/default/files/mobs_redo/crafts.lua +++ b/games/default/files/mobs_redo/crafts.lua @@ -75,9 +75,9 @@ minetest.register_tool("mobs:lasso", { minetest.register_craft({ output = "mobs:lasso", recipe = { - {"default:string", "", "default:string"}, + {"farming:string", "", "farming:string"}, {"", "default:diamond", ""}, - {"default:string", "", "default:string"}, + {"farming:string", "", "farming:string"}, } }) diff --git a/games/default/files/signs/textures/signs_100.png b/games/default/files/signs/textures/signs_100.png index fe46249e5..6012ccfd8 100644 Binary files a/games/default/files/signs/textures/signs_100.png and b/games/default/files/signs/textures/signs_100.png differ diff --git a/games/default/files/signs/textures/signs_103.png b/games/default/files/signs/textures/signs_103.png index 4a616f534..96f91aecf 100644 Binary files a/games/default/files/signs/textures/signs_103.png and b/games/default/files/signs/textures/signs_103.png differ diff --git a/games/default/files/signs/textures/signs_104.png b/games/default/files/signs/textures/signs_104.png index 1e3f52401..d8f097910 100644 Binary files a/games/default/files/signs/textures/signs_104.png and b/games/default/files/signs/textures/signs_104.png differ diff --git a/games/default/files/signs/textures/signs_105.png b/games/default/files/signs/textures/signs_105.png index 7866daa52..5c4bbdf13 100644 Binary files a/games/default/files/signs/textures/signs_105.png and b/games/default/files/signs/textures/signs_105.png differ diff --git a/games/default/files/signs/textures/signs_106.png b/games/default/files/signs/textures/signs_106.png index 146b6bade..a27c70f80 100644 Binary files a/games/default/files/signs/textures/signs_106.png and b/games/default/files/signs/textures/signs_106.png differ diff --git a/games/default/files/signs/textures/signs_108.png b/games/default/files/signs/textures/signs_108.png index 110c2d1b5..8372daf86 100644 Binary files a/games/default/files/signs/textures/signs_108.png and b/games/default/files/signs/textures/signs_108.png differ diff --git a/games/default/files/signs/textures/signs_109.png b/games/default/files/signs/textures/signs_109.png index cb0e49d99..9f4ff8958 100644 Binary files a/games/default/files/signs/textures/signs_109.png and b/games/default/files/signs/textures/signs_109.png differ diff --git a/games/default/files/signs/textures/signs_110.png b/games/default/files/signs/textures/signs_110.png index c01ce0a5c..2facde48a 100644 Binary files a/games/default/files/signs/textures/signs_110.png and b/games/default/files/signs/textures/signs_110.png differ diff --git a/games/default/files/signs/textures/signs_111.png b/games/default/files/signs/textures/signs_111.png index 1b2080649..9e1ec3646 100644 Binary files a/games/default/files/signs/textures/signs_111.png and b/games/default/files/signs/textures/signs_111.png differ diff --git a/games/default/files/signs/textures/signs_112.png b/games/default/files/signs/textures/signs_112.png index c14b4dded..c98c1cf1f 100644 Binary files a/games/default/files/signs/textures/signs_112.png and b/games/default/files/signs/textures/signs_112.png differ diff --git a/games/default/files/signs/textures/signs_113.png b/games/default/files/signs/textures/signs_113.png index 9b15903d5..56a2755a1 100644 Binary files a/games/default/files/signs/textures/signs_113.png and b/games/default/files/signs/textures/signs_113.png differ diff --git a/games/default/files/signs/textures/signs_114.png b/games/default/files/signs/textures/signs_114.png index 5b7cc38d2..cbc610217 100644 Binary files a/games/default/files/signs/textures/signs_114.png and b/games/default/files/signs/textures/signs_114.png differ diff --git a/games/default/files/signs/textures/signs_117.png b/games/default/files/signs/textures/signs_117.png index 42d020172..f97ccc90c 100644 Binary files a/games/default/files/signs/textures/signs_117.png and b/games/default/files/signs/textures/signs_117.png differ diff --git a/games/default/files/signs/textures/signs_118.png b/games/default/files/signs/textures/signs_118.png index f710cd078..cc2772755 100644 Binary files a/games/default/files/signs/textures/signs_118.png and b/games/default/files/signs/textures/signs_118.png differ diff --git a/games/default/files/signs/textures/signs_119.png b/games/default/files/signs/textures/signs_119.png index 10a6201b3..95596ebed 100644 Binary files a/games/default/files/signs/textures/signs_119.png and b/games/default/files/signs/textures/signs_119.png differ diff --git a/games/default/files/signs/textures/signs_121.png b/games/default/files/signs/textures/signs_121.png index c8a840458..e368cdec6 100644 Binary files a/games/default/files/signs/textures/signs_121.png and b/games/default/files/signs/textures/signs_121.png differ diff --git a/games/default/files/signs/textures/signs_122.png b/games/default/files/signs/textures/signs_122.png index 7ebfb4031..83039f632 100644 Binary files a/games/default/files/signs/textures/signs_122.png and b/games/default/files/signs/textures/signs_122.png differ diff --git a/games/default/files/signs/textures/signs_32.png b/games/default/files/signs/textures/signs_32.png index 7adc289e5..4e50d26f4 100644 Binary files a/games/default/files/signs/textures/signs_32.png and b/games/default/files/signs/textures/signs_32.png differ diff --git a/games/default/files/signs/textures/signs_36.png b/games/default/files/signs/textures/signs_36.png index 650a4fcbf..d1c49f953 100644 Binary files a/games/default/files/signs/textures/signs_36.png and b/games/default/files/signs/textures/signs_36.png differ diff --git a/games/default/files/signs/textures/signs_43.png b/games/default/files/signs/textures/signs_43.png index 22c463ba8..3f4a1465a 100644 Binary files a/games/default/files/signs/textures/signs_43.png and b/games/default/files/signs/textures/signs_43.png differ diff --git a/games/default/files/signs/textures/signs_44.png b/games/default/files/signs/textures/signs_44.png index 9253f310f..88a1cbbe6 100644 Binary files a/games/default/files/signs/textures/signs_44.png and b/games/default/files/signs/textures/signs_44.png differ diff --git a/games/default/files/signs/textures/signs_45.png b/games/default/files/signs/textures/signs_45.png index 716997634..9aef36de0 100644 Binary files a/games/default/files/signs/textures/signs_45.png and b/games/default/files/signs/textures/signs_45.png differ diff --git a/games/default/files/signs/textures/signs_46.png b/games/default/files/signs/textures/signs_46.png index 454baf5d6..375dbab06 100644 Binary files a/games/default/files/signs/textures/signs_46.png and b/games/default/files/signs/textures/signs_46.png differ diff --git a/games/default/files/signs/textures/signs_47.png b/games/default/files/signs/textures/signs_47.png index d0a02311a..cae7f252f 100644 Binary files a/games/default/files/signs/textures/signs_47.png and b/games/default/files/signs/textures/signs_47.png differ diff --git a/games/default/files/signs/textures/signs_48.png b/games/default/files/signs/textures/signs_48.png index 5f2b422c7..537b93699 100644 Binary files a/games/default/files/signs/textures/signs_48.png and b/games/default/files/signs/textures/signs_48.png differ diff --git a/games/default/files/signs/textures/signs_52.png b/games/default/files/signs/textures/signs_52.png index e4225e330..887f2253f 100644 Binary files a/games/default/files/signs/textures/signs_52.png and b/games/default/files/signs/textures/signs_52.png differ diff --git a/games/default/files/signs/textures/signs_53.png b/games/default/files/signs/textures/signs_53.png index 5f376f190..5413816de 100644 Binary files a/games/default/files/signs/textures/signs_53.png and b/games/default/files/signs/textures/signs_53.png differ diff --git a/games/default/files/signs/textures/signs_54.png b/games/default/files/signs/textures/signs_54.png index f754f1e1a..a1da7dd74 100644 Binary files a/games/default/files/signs/textures/signs_54.png and b/games/default/files/signs/textures/signs_54.png differ diff --git a/games/default/files/signs/textures/signs_58.png b/games/default/files/signs/textures/signs_58.png index 8328829ad..b70383016 100644 Binary files a/games/default/files/signs/textures/signs_58.png and b/games/default/files/signs/textures/signs_58.png differ diff --git a/games/default/files/signs/textures/signs_59.png b/games/default/files/signs/textures/signs_59.png index 84ce56ce9..6914c05de 100644 Binary files a/games/default/files/signs/textures/signs_59.png and b/games/default/files/signs/textures/signs_59.png differ diff --git a/games/default/files/signs/textures/signs_60.png b/games/default/files/signs/textures/signs_60.png index 7f4a7cb77..2db28f2b1 100644 Binary files a/games/default/files/signs/textures/signs_60.png and b/games/default/files/signs/textures/signs_60.png differ diff --git a/games/default/files/signs/textures/signs_61.png b/games/default/files/signs/textures/signs_61.png index 9a41f9251..64e63e25d 100644 Binary files a/games/default/files/signs/textures/signs_61.png and b/games/default/files/signs/textures/signs_61.png differ diff --git a/games/default/files/signs/textures/signs_62.png b/games/default/files/signs/textures/signs_62.png index 196885ed8..3a33a555d 100644 Binary files a/games/default/files/signs/textures/signs_62.png and b/games/default/files/signs/textures/signs_62.png differ diff --git a/games/default/files/signs/textures/signs_63.png b/games/default/files/signs/textures/signs_63.png index e44436b4e..b08a8373b 100644 Binary files a/games/default/files/signs/textures/signs_63.png and b/games/default/files/signs/textures/signs_63.png differ diff --git a/games/default/files/signs/textures/signs_64.png b/games/default/files/signs/textures/signs_64.png index 9cc5cdcd8..3e560ee9c 100644 Binary files a/games/default/files/signs/textures/signs_64.png and b/games/default/files/signs/textures/signs_64.png differ diff --git a/games/default/files/signs/textures/signs_66.png b/games/default/files/signs/textures/signs_66.png index 4a50c86c0..14e50ccca 100644 Binary files a/games/default/files/signs/textures/signs_66.png and b/games/default/files/signs/textures/signs_66.png differ diff --git a/games/default/files/signs/textures/signs_67.png b/games/default/files/signs/textures/signs_67.png index 69d647fa8..95a75dc2e 100644 Binary files a/games/default/files/signs/textures/signs_67.png and b/games/default/files/signs/textures/signs_67.png differ diff --git a/games/default/files/signs/textures/signs_68.png b/games/default/files/signs/textures/signs_68.png index e84aa9528..68e0d15ca 100644 Binary files a/games/default/files/signs/textures/signs_68.png and b/games/default/files/signs/textures/signs_68.png differ diff --git a/games/default/files/signs/textures/signs_72.png b/games/default/files/signs/textures/signs_72.png index a0aa97b11..6ef9b291e 100644 Binary files a/games/default/files/signs/textures/signs_72.png and b/games/default/files/signs/textures/signs_72.png differ diff --git a/games/default/files/signs/textures/signs_73.png b/games/default/files/signs/textures/signs_73.png index 051b80306..95a3db49e 100644 Binary files a/games/default/files/signs/textures/signs_73.png and b/games/default/files/signs/textures/signs_73.png differ diff --git a/games/default/files/signs/textures/signs_74.png b/games/default/files/signs/textures/signs_74.png index 4cc4c9e71..1d458cbc0 100644 Binary files a/games/default/files/signs/textures/signs_74.png and b/games/default/files/signs/textures/signs_74.png differ diff --git a/games/default/files/signs/textures/signs_75.png b/games/default/files/signs/textures/signs_75.png index 561c55666..432a3da0b 100644 Binary files a/games/default/files/signs/textures/signs_75.png and b/games/default/files/signs/textures/signs_75.png differ diff --git a/games/default/files/signs/textures/signs_76.png b/games/default/files/signs/textures/signs_76.png index 4e339fc5c..6a7072481 100644 Binary files a/games/default/files/signs/textures/signs_76.png and b/games/default/files/signs/textures/signs_76.png differ diff --git a/games/default/files/signs/textures/signs_79.png b/games/default/files/signs/textures/signs_79.png index 629613257..daae9dd31 100644 Binary files a/games/default/files/signs/textures/signs_79.png and b/games/default/files/signs/textures/signs_79.png differ diff --git a/games/default/files/signs/textures/signs_80.png b/games/default/files/signs/textures/signs_80.png index ae7b060cc..8e0523772 100644 Binary files a/games/default/files/signs/textures/signs_80.png and b/games/default/files/signs/textures/signs_80.png differ diff --git a/games/default/files/signs/textures/signs_81.png b/games/default/files/signs/textures/signs_81.png index b7bf660ce..3737e799b 100644 Binary files a/games/default/files/signs/textures/signs_81.png and b/games/default/files/signs/textures/signs_81.png differ diff --git a/games/default/files/signs/textures/signs_84.png b/games/default/files/signs/textures/signs_84.png index 7d93dcb36..f0294e315 100644 Binary files a/games/default/files/signs/textures/signs_84.png and b/games/default/files/signs/textures/signs_84.png differ diff --git a/games/default/files/signs/textures/signs_85.png b/games/default/files/signs/textures/signs_85.png index f797873f1..ad8f92671 100644 Binary files a/games/default/files/signs/textures/signs_85.png and b/games/default/files/signs/textures/signs_85.png differ diff --git a/games/default/files/signs/textures/signs_86.png b/games/default/files/signs/textures/signs_86.png index 5165e051b..1d06c00fb 100644 Binary files a/games/default/files/signs/textures/signs_86.png and b/games/default/files/signs/textures/signs_86.png differ diff --git a/games/default/files/signs/textures/signs_88.png b/games/default/files/signs/textures/signs_88.png index 0a6445b60..873a0e5df 100644 Binary files a/games/default/files/signs/textures/signs_88.png and b/games/default/files/signs/textures/signs_88.png differ diff --git a/games/default/files/signs/textures/signs_89.png b/games/default/files/signs/textures/signs_89.png index 6bc0fbcd8..381f68e69 100644 Binary files a/games/default/files/signs/textures/signs_89.png and b/games/default/files/signs/textures/signs_89.png differ diff --git a/games/default/files/signs/textures/signs_90.png b/games/default/files/signs/textures/signs_90.png index a6bc7773d..96e1643df 100644 Binary files a/games/default/files/signs/textures/signs_90.png and b/games/default/files/signs/textures/signs_90.png differ diff --git a/games/default/files/signs/textures/signs_91.png b/games/default/files/signs/textures/signs_91.png index 5a0a33004..d1bd7a8a9 100644 Binary files a/games/default/files/signs/textures/signs_91.png and b/games/default/files/signs/textures/signs_91.png differ diff --git a/games/default/files/signs/textures/signs_92.png b/games/default/files/signs/textures/signs_92.png index 7b6a0a0c7..7e50a7459 100644 Binary files a/games/default/files/signs/textures/signs_92.png and b/games/default/files/signs/textures/signs_92.png differ diff --git a/games/default/files/signs/textures/signs_93.png b/games/default/files/signs/textures/signs_93.png index ef71c643f..686111e68 100644 Binary files a/games/default/files/signs/textures/signs_93.png and b/games/default/files/signs/textures/signs_93.png differ diff --git a/games/default/files/signs/textures/signs_94.png b/games/default/files/signs/textures/signs_94.png index 367984cb3..a15df4fdc 100644 Binary files a/games/default/files/signs/textures/signs_94.png and b/games/default/files/signs/textures/signs_94.png differ diff --git a/games/default/files/signs/textures/signs_95.png b/games/default/files/signs/textures/signs_95.png index f7746c55c..e8c85e66d 100644 Binary files a/games/default/files/signs/textures/signs_95.png and b/games/default/files/signs/textures/signs_95.png differ diff --git a/games/default/files/signs/textures/signs_96.png b/games/default/files/signs/textures/signs_96.png index 6604c71de..6f8ac18d0 100644 Binary files a/games/default/files/signs/textures/signs_96.png and b/games/default/files/signs/textures/signs_96.png differ diff --git a/games/default/files/signs/textures/signs_97.png b/games/default/files/signs/textures/signs_97.png index c5a4f3802..945ab485e 100644 Binary files a/games/default/files/signs/textures/signs_97.png and b/games/default/files/signs/textures/signs_97.png differ diff --git a/games/default/files/signs/textures/signs_98.png b/games/default/files/signs/textures/signs_98.png index a97829332..0c3ba5264 100644 Binary files a/games/default/files/signs/textures/signs_98.png and b/games/default/files/signs/textures/signs_98.png differ diff --git a/games/default/files/signs/textures/signs_99.png b/games/default/files/signs/textures/signs_99.png index a5cf638b1..86a5967f0 100644 Binary files a/games/default/files/signs/textures/signs_99.png and b/games/default/files/signs/textures/signs_99.png differ diff --git a/games/default/files/stairs/init.lua b/games/default/files/stairs/init.lua index 695cda741..e18e990fa 100644 --- a/games/default/files/stairs/init.lua +++ b/games/default/files/stairs/init.lua @@ -177,97 +177,91 @@ stairs.register_all("wood", "default:wood", stairs.wood) stairs.register_all("junglewood", "default:junglewood", - {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, not_in_craft_guide=1}, + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, {"default_junglewood.png"}, "Jungle Wood", stairs.wood) stairs.register_all("pine_wood", "default:pinewood", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide=1}, + {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3}, {"default_pine_wood.png"}, "Pine Wood", stairs.wood) stairs.register_all("cobble", "default:cobble", - {cracky=3,stone=2}, + {cracky = 3, stone = 2}, {"default_cobble.png"}, "Cobble", stairs.stone) stairs.register_all("mossy_cobble", "default:mossycobble", - {cracky=3, stone=2, not_in_craft_guide=1}, + {cracky = 3, stone = 2}, {"default_mossycobble.png"}, "Mossy Cobble", stairs.stone) -stairs.register_all("cloud", "default:cloud", - {unbreakable=1, not_in_craft_guide=1}, - {"default_cloud.png"}, - "Cloud", - stairs.wool) - stairs.register_all("coal", "default:coalblock", - {cracky=3, not_in_craft_guide=1}, + {cracky = 3}, {"default_coal_block.png"}, "Coal", stairs.stone) stairs.register_all("steel", "default:steelblock", - {cracky=1,level=2, not_in_craft_guide=1}, + {cracky = 1, level = 2}, {"default_steel_block.png"}, "Steel", stairs.stone) stairs.register_all("gold", "default:goldblock", - {cracky=1, not_in_craft_guide=1}, + {cracky = 1}, {"default_gold_block.png"}, "Gold", stairs.stone) stairs.register_all("diamond", "default:diamondblock", - {cracky=1,level=3, not_in_craft_guide=1}, + {cracky = 1, level=3}, {"default_diamond_block.png"}, "Diamond", stairs.stone) stairs.register_all("stone", "default:stone", - {cracky=3,stone=1, not_in_craft_guide=1}, + {cracky = 3, stone = 1}, {"default_stone.png"}, "Stone", stairs.stone) stairs.register_all("mossycobble", "default:mossycobble", - {cracky=3, not_in_craft_guide=1}, + {cracky = 3}, {"default_mossycobble.png"}, "Mossy Cobble", stairs.stone) stairs.register_all("brick", "default:brick", - {cracky=3, not_in_craft_guide=1}, + {cracky = 3}, {"default_brick.png"}, "Brick", stairs.stone) stairs.register_all("sandstone", "default:sandstone", - {crumbly=2,cracky=3, not_in_craft_guide=1}, + {crumbly = 2, cracky = 3}, {"default_sandstone_bottom.png"}, "Sandstone", stairs.stone) stairs.register_all("glass", "default:glass", - {cracky=3, oddly_breakable_by_hand = 3, not_in_craft_guide=1}, + {cracky = 3, oddly_breakable_by_hand = 3}, {"default_glass.png"}, "Glass", stairs.glass) stairs.register_all("obsidian", "default:obsidian", - {cracky=1,level=2, unbreakable=1, not_in_craft_guide=1}, + {cracky = 1, level = 2, unbreakable = 1, not_in_craft_guide=1}, {"default_obsidian.png"}, "Obsidian", stairs.stone) stairs.register_all("stonebrick", "default:stonebrick", - {cracky=2,stone=1, not_in_craft_guide=1}, + {cracky=2,stone = 1}, {"default_stone_brick.png"}, "Stone Brick", stairs.stone) @@ -276,8 +270,8 @@ stairs.register_all("stonebrick", "default:stonebrick", if minetest.get_modpath("farming") then stairs.register_all("straw", "farming:straw", - {snappy = 3, flammable = 4, not_in_craft_guide = 1}, - {"farming_straw.png"}, + {snappy = 3, flammable = 4}, + {"farming_straw_side.png"}, "Straw", stairs.leaves) @@ -600,113 +594,20 @@ stairs.register_all("dungeon_stone", "castle:dungeon_stone", stairs.stone) stairs.register_all("stonewall", "castle:stonewall", - {cracky=3, not_in_craft_guide=1}, + {cracky = 3, not_in_craft_guide=1}, {"castle_stonewall.png"}, "Castle Wall", stairs.stone) end ---= Ethereal Mod - -if minetest.get_modpath("ethereal") then - -stairs.register_all("bamboo_floor", "ethereal:bamboo_floor", - {snappy = 3, choppy = 3 , flammable = 2, not_in_craft_guide=1}, - {"bamboo_floor.png"}, - "Bamboo", - stairs.wood) - -stairs.register_all("crystal_block", "ethereal:crystal_block", - {cracky=1, level=2, not_in_craft_guide=1}, - {"crystal_block.png"}, - "Crystal Block", - stairs.glass) - -stairs.register_all("icebrick", "ethereal:icebrick", - {crumbly=3, melts = 1, not_in_craft_guide=1}, - {"brick_ice.png"}, - "Ice Brick", - stairs.glass) - -stairs.register_all("snowbrick", "ethereal:snowbrick", - {crumbly=3, melts = 1, not_in_craft_guide=1}, - {"brick_snow.png"}, - "Snow Brick", - default.node_sound_dirt_defaults({ - footstep = {name="default_snow_footstep", gain=0.25}, - dug = {name="default_snow_footstep", gain=0.75}, - })) - -stairs.register_all("dry_dirt", "ethereal:dry_dirt", - {crumbly=3, not_in_craft_guide=1}, - {"ethereal_dry_dirt.png"}, - "Dry Dirt", - stairs.dirt) - -stairs.register_all("mushroom_trunk", "ethereal:mushroom_trunk", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_craft_guide=1}, - {"mushroom_trunk.png"}, - "Mushroom Trunk", - stairs.wood) - -stairs.register_all("mushroom", "ethereal:mushroom", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_craft_guide=1}, - {"mushroom_block.png"}, - "Mushroom Top", - stairs.wood) - -stairs.register_all("frost_wood", "ethereal:frost_wood", - {choppy = 2, oddly_breakable_by_hand = 1,put_out_fire=1, not_in_craft_guide=1}, - {"frost_wood.png"}, - "Frost Wood", - stairs.wood) - -stairs.register_all("yellow_wood", "ethereal:yellow_wood", - {choppy = 2, oddly_breakable_by_hand = 1,put_out_fire=1, not_in_craft_guide=1}, - {"yellow_wood.png"}, - "Healing Tree Wood", - stairs.wood) - -stairs.register_all("palm_wood", "ethereal:palm_wood", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide=1}, - {"moretrees_palm_wood.png"}, - "Palm Wood", - stairs.wood) - -stairs.register_all("banana_wood", "ethereal:banana_wood", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide=1}, - {"banana_wood.png"}, - "Banana Wood", - stairs.wood) - -stairs.register_all("willow_wood", "ethereal:willow_wood", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide=1}, - {"willow_wood.png"}, - "Willow Wood", - stairs.wood) - -stairs.register_all("redwood_wood", "ethereal:redwood_wood", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide=1}, - {"redwood_wood.png"}, - "Redwood Wood", - stairs.wood) - -stairs.register_all("acacia_wood", "ethereal:acacia_wood", - {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3, not_in_craft_guide=1}, - {"moretrees_acacia_wood.png"}, - "Acacia Wood", - stairs.wood) - -end - --= Wool Mod if minetest.get_modpath("wool") then grp = { snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, flammable = 3, - wool = 1, not_in_craft_guide = 1 + wool = 1 } stairs.register_all("wool_white", "wool:white", diff --git a/games/default/files/throwing/init.lua b/games/default/files/throwing/init.lua index 55f84b75b..c55e3e193 100644 --- a/games/default/files/throwing/init.lua +++ b/games/default/files/throwing/init.lua @@ -117,9 +117,9 @@ minetest.register_tool("throwing:bow_2", { minetest.register_craft({ output = 'throwing:bow', recipe = { - {'', 'default:wood', 'default:string'}, - {'default:wood', '', 'default:string'}, - {'', 'default:wood', 'default:string'}, + {'', 'default:wood', 'farming:string'}, + {'default:wood', '', 'farming:string'}, + {'', 'default:wood', 'farming:string'}, } }) diff --git a/games/default/files/throwing/textures/throwing_arrow_tnt.png b/games/default/files/throwing/textures/throwing_arrow_tnt.png index c96126000..48014d721 100644 Binary files a/games/default/files/throwing/textures/throwing_arrow_tnt.png and b/games/default/files/throwing/textures/throwing_arrow_tnt.png differ diff --git a/games/default/files/watch/textures/watch_2.png b/games/default/files/watch/textures/watch_2.png index b398c41e4..89c034d4b 100644 Binary files a/games/default/files/watch/textures/watch_2.png and b/games/default/files/watch/textures/watch_2.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_glass_black.png b/games/default/files/xpanes/textures/xpanes_pane_glass_black.png index 4b4ecae06..519b413a5 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_glass_black.png and b/games/default/files/xpanes/textures/xpanes_pane_glass_black.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_glass_gray.png b/games/default/files/xpanes/textures/xpanes_pane_glass_gray.png index 90c9eb2f8..bb18e6c70 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_glass_gray.png and b/games/default/files/xpanes/textures/xpanes_pane_glass_gray.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_glass_silver.png b/games/default/files/xpanes/textures/xpanes_pane_glass_silver.png index 000be288f..3dc4770c4 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_glass_silver.png and b/games/default/files/xpanes/textures/xpanes_pane_glass_silver.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_glass_white.png b/games/default/files/xpanes/textures/xpanes_pane_glass_white.png index e72c8299e..248b0443f 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_glass_white.png and b/games/default/files/xpanes/textures/xpanes_pane_glass_white.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_half_glass_gray.png b/games/default/files/xpanes/textures/xpanes_pane_half_glass_gray.png index eff32cf58..59440668c 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_half_glass_gray.png and b/games/default/files/xpanes/textures/xpanes_pane_half_glass_gray.png differ diff --git a/games/default/files/xpanes/textures/xpanes_pane_half_glass_white.png b/games/default/files/xpanes/textures/xpanes_pane_half_glass_white.png index ac74313e6..82ea56354 100644 Binary files a/games/default/files/xpanes/textures/xpanes_pane_half_glass_white.png and b/games/default/files/xpanes/textures/xpanes_pane_half_glass_white.png differ diff --git a/misc/MultiCraft-xorg-icon-128.png b/misc/MultiCraft-xorg-icon-128.png index 45760d621..9faad9de3 100644 Binary files a/misc/MultiCraft-xorg-icon-128.png and b/misc/MultiCraft-xorg-icon-128.png differ diff --git a/textures/base/local_creative_true_btn.png b/textures/base/local_creative_true_btn.png index 591ec6d88..afc0933fe 100644 Binary files a/textures/base/local_creative_true_btn.png and b/textures/base/local_creative_true_btn.png differ diff --git a/textures/base/minimap_overlay_round.png b/textures/base/minimap_overlay_round.png index 9ee38a656..8ca9de23f 100644 Binary files a/textures/base/minimap_overlay_round.png and b/textures/base/minimap_overlay_round.png differ diff --git a/textures/base/refresh.png b/textures/base/refresh.png index 3e087c2af..66895e6ca 100644 Binary files a/textures/base/refresh.png and b/textures/base/refresh.png differ