diff options
Diffstat (limited to 'games/minimal')
125 files changed, 0 insertions, 3557 deletions
diff --git a/games/minimal/game.conf b/games/minimal/game.conf deleted file mode 100644 index 99bfaf0a4..000000000 --- a/games/minimal/game.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = Minimal development test - diff --git a/games/minimal/menu/background.png b/games/minimal/menu/background.png Binary files differdeleted file mode 100644 index ea5fbdce5..000000000 --- a/games/minimal/menu/background.png +++ /dev/null diff --git a/games/minimal/menu/icon.png b/games/minimal/menu/icon.png Binary files differdeleted file mode 100644 index 8ef675023..000000000 --- a/games/minimal/menu/icon.png +++ /dev/null diff --git a/games/minimal/mods/bucket/init.lua b/games/minimal/mods/bucket/init.lua deleted file mode 100644 index dcd59ed38..000000000 --- a/games/minimal/mods/bucket/init.lua +++ /dev/null @@ -1,95 +0,0 @@ --- bucket (Minetest 0.4 mod) --- A bucket, which can pick up water and lava - -minetest.register_alias("bucket", "bucket:bucket_empty") -minetest.register_alias("bucket_water", "bucket:bucket_water") -minetest.register_alias("bucket_lava", "bucket:bucket_lava") - -minetest.register_craft({ - output = 'bucket:bucket_empty 1', - recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, - {'', 'default:steel_ingot', ''}, - } -}) - -bucket = {} -bucket.liquids = {} - --- Register a new liquid --- source = name of the source node --- flowing = name of the flowing node --- itemname = name of the new bucket item (or nil if liquid is not takeable) --- inventory_image = texture of the new bucket item (ignored if itemname == nil) --- This function can be called from any mod (that depends on bucket). -function bucket.register_liquid(source, flowing, itemname, inventory_image) - bucket.liquids[source] = { - source = source, - flowing = flowing, - itemname = itemname, - } - bucket.liquids[flowing] = bucket.liquids[source] - - if itemname ~= nil then - minetest.register_craftitem(itemname, { - inventory_image = inventory_image, - stack_max = 1, - liquids_pointable = true, - on_use = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then - return - end - -- Check if pointing to a liquid - n = minetest.get_node(pointed_thing.under) - if bucket.liquids[n.name] == nil then - -- Not a liquid - minetest.add_node(pointed_thing.above, {name=source}) - elseif n.name ~= source then - -- It's a liquid - minetest.add_node(pointed_thing.under, {name=source}) - end - return {name="bucket:bucket_empty"} - end - }) - end -end - -minetest.register_craftitem("bucket:bucket_empty", { - inventory_image = "bucket.png", - stack_max = 1, - liquids_pointable = true, - on_use = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then - return - end - -- Check if pointing to a liquid source - n = minetest.get_node(pointed_thing.under) - liquiddef = bucket.liquids[n.name] - if liquiddef ~= nil and liquiddef.source == n.name and liquiddef.itemname ~= nil then - minetest.add_node(pointed_thing.under, {name="air"}) - return {name=liquiddef.itemname} - end - end, -}) - -bucket.register_liquid( - "default:water_source", - "default:water_flowing", - "bucket:bucket_water", - "bucket_water.png" -) - -bucket.register_liquid( - "default:lava_source", - "default:lava_flowing", - "bucket:bucket_lava", - "bucket_lava.png" -) - -minetest.register_craft({ - type = "fuel", - recipe = "bucket:bucket_lava", - burntime = 60, -}) diff --git a/games/minimal/mods/bucket/mod.conf b/games/minimal/mods/bucket/mod.conf deleted file mode 100644 index 2a6086775..000000000 --- a/games/minimal/mods/bucket/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = bucket -description = Minimal bucket to place and pick up liquids -depends = default diff --git a/games/minimal/mods/bucket/textures/bucket.png b/games/minimal/mods/bucket/textures/bucket.png Binary files differdeleted file mode 100644 index b775a9fd3..000000000 --- a/games/minimal/mods/bucket/textures/bucket.png +++ /dev/null diff --git a/games/minimal/mods/bucket/textures/bucket_lava.png b/games/minimal/mods/bucket/textures/bucket_lava.png Binary files differdeleted file mode 100644 index 889ed61d4..000000000 --- a/games/minimal/mods/bucket/textures/bucket_lava.png +++ /dev/null diff --git a/games/minimal/mods/bucket/textures/bucket_water.png b/games/minimal/mods/bucket/textures/bucket_water.png Binary files differdeleted file mode 100644 index a3c9d72f7..000000000 --- a/games/minimal/mods/bucket/textures/bucket_water.png +++ /dev/null diff --git a/games/minimal/mods/default/init.lua b/games/minimal/mods/default/init.lua deleted file mode 100644 index 772cca881..000000000 --- a/games/minimal/mods/default/init.lua +++ /dev/null @@ -1,1837 +0,0 @@ --- default (Minetest 0.4 mod) --- Most default stuff - --- The API documentation in here was moved into doc/lua_api.txt - -WATER_ALPHA = 160 -WATER_VISC = 1 -LAVA_VISC = 7 -LIGHT_MAX = 14 - --- Definitions made by this mod that other mods can use too -default = {} - --- Load other files -dofile(minetest.get_modpath("default").."/mapgen.lua") - --- Set a noticeable inventory formspec for players -minetest.register_on_joinplayer(function(player) - local cb = function(player) - minetest.chat_send_player(player:get_player_name(), "This is the [minimal] \"Minimal Development Test\" game. Use [minetest_game] for the real thing.") - player:set_attribute("test_attribute", "test_me") - player:set_attribute("remove_this", nil) - end - minetest.after(2.0, cb, player) -end) - --- --- Tool definition --- - --- The hand -minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", - wield_scale = {x=1,y=1,z=2.5}, - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level = 0, - groupcaps = { - fleshy = {times={[2]=2.00, [3]=1.00}, uses=0, maxlevel=1}, - crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, - snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, - oddly_breakable_by_hand = {times={[1]=7.00,[2]=4.00,[3]=1.40}, uses=0, maxlevel=3}, - }, - damage_groups = {fleshy=1}, - } -}) - --- --- Picks --- - -minetest.register_tool("default:pick_wood", { - description = "Wooden Pickaxe", - inventory_image = "default_tool_woodpick.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - cracky={times={[2]=2.00, [3]=1.20}, uses=10, maxlevel=1} - }, - damage_groups = {fleshy=2}, - }, -}) -minetest.register_tool("default:pick_stone", { - description = "Stone Pickaxe", - inventory_image = "default_tool_stonepick.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - cracky={times={[1]=2.00, [2]=1.20, [3]=0.80}, uses=20, maxlevel=1} - }, - damage_groups = {fleshy=3}, - }, -}) -minetest.register_tool("default:pick_steel", { - description = "Steel Pickaxe", - inventory_image = "default_tool_steelpick.png", - tool_capabilities = { - max_drop_level=1, - groupcaps={ - cracky={times={[1]=4.00, [2]=1.60, [3]=1.00}, uses=10, maxlevel=2} - }, - damage_groups = {fleshy=4}, - }, -}) -minetest.register_tool("default:pick_mese", { - description = "Mese Pickaxe", - inventory_image = "default_tool_mesepick.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=3, - groupcaps={ - cracky={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, - crumbly={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3}, - snappy={times={[1]=2.0, [2]=1.0, [3]=0.5}, uses=20, maxlevel=3} - }, - damage_groups = {fleshy=4}, - }, -}) - --- --- Shovels --- - -minetest.register_tool("default:shovel_wood", { - description = "Wooden Shovel", - inventory_image = "default_tool_woodshovel.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - crumbly={times={[1]=2.00, [2]=0.80, [3]=0.50}, uses=10, maxlevel=1} - }, - damage_groups = {fleshy=2}, - }, -}) -minetest.register_tool("default:shovel_stone", { - description = "Stone Shovel", - inventory_image = "default_tool_stoneshovel.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - crumbly={times={[1]=1.20, [2]=0.50, [3]=0.30}, uses=20, maxlevel=1} - }, - damage_groups = {fleshy=3}, - }, -}) -minetest.register_tool("default:shovel_steel", { - description = "Steel Shovel", - inventory_image = "default_tool_steelshovel.png", - tool_capabilities = { - max_drop_level=1, - groupcaps={ - crumbly={times={[1]=1.00, [2]=0.70, [3]=0.60}, uses=10, maxlevel=2} - }, - damage_groups = {fleshy=4}, - }, -}) - --- --- Axes --- - -minetest.register_tool("default:axe_wood", { - description = "Wooden Axe", - inventory_image = "default_tool_woodaxe.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - choppy={times={[2]=1.40, [3]=0.80}, uses=10, maxlevel=1}, - fleshy={times={[2]=1.50, [3]=0.80}, uses=10, maxlevel=1} - }, - damage_groups = {fleshy=2}, - }, -}) -minetest.register_tool("default:axe_stone", { - description = "Stone Axe", - inventory_image = "default_tool_stoneaxe.png", - tool_capabilities = { - max_drop_level=0, - groupcaps={ - choppy={times={[1]=1.50, [2]=1.00, [3]=0.60}, uses=20, maxlevel=1}, - fleshy={times={[2]=1.30, [3]=0.70}, uses=20, maxlevel=1} - }, - damage_groups = {fleshy=3}, - }, -}) -minetest.register_tool("default:axe_steel", { - description = "Steel Axe", - inventory_image = "default_tool_steelaxe.png", - tool_capabilities = { - max_drop_level=1, - groupcaps={ - choppy={times={[1]=2.00, [2]=1.60, [3]=1.00}, uses=10, maxlevel=2}, - fleshy={times={[2]=1.10, [3]=0.60}, uses=40, maxlevel=1} - }, - damage_groups = {fleshy=3}, - }, -}) - --- --- Swords --- - -minetest.register_tool("default:sword_wood", { - description = "Wooden Sword", - inventory_image = "default_tool_woodsword.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=0, - groupcaps={ - fleshy={times={[2]=1.10, [3]=0.60}, uses=10, maxlevel=1}, - snappy={times={[2]=1.00, [3]=0.50}, uses=10, maxlevel=1}, - choppy={times={[3]=1.00}, uses=20, maxlevel=0} - }, - damage_groups = {fleshy=2}, - } -}) -minetest.register_tool("default:sword_stone", { - description = "Stone Sword", - inventory_image = "default_tool_stonesword.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=0, - groupcaps={ - fleshy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, - snappy={times={[2]=0.80, [3]=0.40}, uses=20, maxlevel=1}, - choppy={times={[3]=0.90}, uses=20, maxlevel=0} - }, - damage_groups = {fleshy=4}, - } -}) -minetest.register_tool("default:sword_steel", { - description = "Steel Sword", - inventory_image = "default_tool_steelsword.png", - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=1, - groupcaps={ - fleshy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=10, maxlevel=2}, - snappy={times={[2]=0.70, [3]=0.30}, uses=40, maxlevel=1}, - choppy={times={[3]=0.70}, uses=40, maxlevel=0} - }, - damage_groups = {fleshy=6}, - } -}) - --- --- Crafting definition --- - -minetest.register_craft({ - output = 'default:wood 4', - recipe = { - {'default:tree'}, - } -}) - -minetest.register_craft({ - output = 'default:stick 4', - recipe = { - {'default:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:fence_wood 2', - recipe = { - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sign_wall', - recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:wood', 'default:wood', 'default:wood'}, - {'', 'default:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:torch 4', - recipe = { - {'default:coal_lump'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:pick_wood', - recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_stone', - recipe = { - {'default:cobble', 'default:cobble', 'default:cobble'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:pick_mese', - recipe = { - {'default:mese', 'default:mese', 'default:mese'}, - {'', 'default:stick', ''}, - {'', 'default:stick', ''}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_wood', - recipe = { - {'default:wood'}, - {'default:stick'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_stone', - recipe = { - {'default:cobble'}, - {'default:stick'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:shovel_steel', - recipe = { - {'default:steel_ingot'}, - {'default:stick'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_wood', - recipe = { - {'default:wood', 'default:wood'}, - {'default:wood', 'default:stick'}, - {'', 'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_stone', - recipe = { - {'default:cobble', 'default:cobble'}, - {'default:cobble', 'default:stick'}, - {'', 'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:axe_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:stick'}, - {'', 'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_wood', - recipe = { - {'default:wood'}, - {'default:wood'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_stone', - recipe = { - {'default:cobble'}, - {'default:cobble'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:sword_steel', - recipe = { - {'default:steel_ingot'}, - {'default:steel_ingot'}, - {'default:stick'}, - } -}) - -minetest.register_craft({ - output = 'default:rail 15', - recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:stick', 'default:steel_ingot'}, - {'default:steel_ingot', '', 'default:steel_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:chest', - recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:wood', '', 'default:wood'}, - {'default:wood', 'default:wood', 'default:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:chest_locked', - recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:wood', 'default:steel_ingot', 'default:wood'}, - {'default:wood', 'default:wood', 'default:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:furnace', - recipe = { - {'default:cobble', 'default:cobble', 'default:cobble'}, - {'default:cobble', '', 'default:cobble'}, - {'default:cobble', 'default:cobble', 'default:cobble'}, - } -}) - -minetest.register_craft({ - output = 'default:steelblock', - recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - } -}) - -minetest.register_craft({ - output = 'default:sandstone', - recipe = { - {'default:sand', 'default:sand'}, - {'default:sand', 'default:sand'}, - } -}) - -minetest.register_craft({ - output = 'default:clay', - recipe = { - {'default:clay_lump', 'default:clay_lump'}, - {'default:clay_lump', 'default:clay_lump'}, - } -}) - -minetest.register_craft({ - output = 'default:brick', - recipe = { - {'default:clay_brick', 'default:clay_brick'}, - {'default:clay_brick', 'default:clay_brick'}, - } -}) - -minetest.register_craft({ - output = 'default:paper', - recipe = { - {'default:papyrus', 'default:papyrus', 'default:papyrus'}, - } -}) - -minetest.register_craft({ - output = 'default:book', - recipe = { - {'default:paper'}, - {'default:paper'}, - {'default:paper'}, - } -}) - -minetest.register_craft({ - output = 'default:bookshelf', - recipe = { - {'default:wood', 'default:wood', 'default:wood'}, - {'default:book', 'default:book', 'default:book'}, - {'default:wood', 'default:wood', 'default:wood'}, - } -}) - -minetest.register_craft({ - output = 'default:ladder', - recipe = { - {'default:stick', '', 'default:stick'}, - {'default:stick', 'default:stick', 'default:stick'}, - {'default:stick', '', 'default:stick'}, - } -}) - --- Tool repair -minetest.register_craft({ - type = "toolrepair", - additional_wear = -0.02, -}) - --- --- Cooking recipes --- - -minetest.register_craft({ - type = "cooking", - output = "default:glass", - recipe = "default:sand", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:coal_lump", - recipe = "default:tree", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:stone", - recipe = "default:cobble", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:steel_ingot", - recipe = "default:iron_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:clay_brick", - recipe = "default:clay_lump", -}) - --- --- Fuels --- - -minetest.register_craft({ - type = "fuel", - recipe = "default:tree", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:junglegrass", - burntime = 2, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:leaves", - burntime = 1, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:cactus", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:papyrus", - burntime = 1, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:bookshelf", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:fence_wood", - burntime = 15, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:ladder", - burntime = 5, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:wood", - burntime = 7, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:mese", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:lava_source", - burntime = 60, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:torch", - burntime = 4, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:sign_wall", - burntime = 10, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest_locked", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:nyancat", - burntime = 1, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:nyancat_rainbow", - burntime = 1, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:sapling", - burntime = 10, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:apple", - burntime = 3, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:coal_lump", - burntime = 40, -}) - --- --- Node definitions --- - --- Default node sounds - -function default.node_sound_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="", gain=1.0} - table.dug = table.dug or - {name="default_dug_node", gain=1.0} - return table -end - -function default.node_sound_stone_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="default_hard_footstep", gain=0.2} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_dirt_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="", gain=0.5} - --table.dug = table.dug or - -- {name="default_dirt_break", gain=0.5} - table.place = table.place or - {name="default_grass_footstep", gain=0.5} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_sand_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="default_grass_footstep", gain=0.25} - --table.dug = table.dug or - -- {name="default_dirt_break", gain=0.25} - table.dug = table.dug or - {name="", gain=0.25} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_wood_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="default_hard_footstep", gain=0.3} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_leaves_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="default_grass_footstep", gain=0.25} - table.dig = table.dig or - {name="default_dig_crumbly", gain=0.4} - table.dug = table.dug or - {name="", gain=1.0} - default.node_sound_defaults(table) - return table -end - -function default.node_sound_glass_defaults(table) - table = table or {} - table.footstep = table.footstep or - {name="default_stone_footstep", gain=0.25} - table.dug = table.dug or - {name="default_break_glass", gain=1.0} - default.node_sound_defaults(table) - return table -end - --- Register nodes - -minetest.register_node("default:stone", { - description = "Stone", - tiles ={"default_stone.png"}, - groups = {cracky=3}, - drop = 'default:cobble', - legacy_mineral = true, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stone_with_coal", { - description = "Stone with coal", - tiles ={"default_stone.png^default_mineral_coal.png"}, - groups = {cracky=3}, - drop = 'default:coal_lump', - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:stone_with_iron", { - description = "Stone with iron", - tiles ={"default_stone.png^default_mineral_iron.png"}, - groups = {cracky=3}, - drop = 'default:iron_lump', - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:dirt_with_grass", { - description = "Dirt with grass", - tiles ={"default_grass.png", "default_dirt.png", - {name = "default_dirt.png^default_grass_side.png", - tileable_vertical = false}}, - groups = {crumbly=3, soil=1}, - drop = 'default:dirt', - sounds = default.node_sound_dirt_defaults({ - footstep = {name="default_grass_footstep", gain=0.4}, - }), -}) - -minetest.register_node("default:dirt_with_grass_footsteps", { - description = "Dirt with grass and footsteps", - tiles ={"default_grass_footsteps.png", "default_dirt.png", - {name = "default_dirt.png^default_grass_side.png", - tileable_vertical = false}}, - groups = {crumbly=3, soil=1}, - drop = 'default:dirt', - sounds = default.node_sound_dirt_defaults({ - footstep = {name="default_grass_footstep", gain=0.4}, - }), -}) - -minetest.register_node("default:dirt", { - description = "Dirt", - tiles ={"default_dirt.png"}, - groups = {crumbly=3, soil=1}, - sounds = default.node_sound_dirt_defaults(), -}) - -minetest.register_node("default:sand", { - description = "Sand", - tiles ={"default_sand.png"}, - groups = {crumbly=3, falling_node=1}, - sounds = default.node_sound_sand_defaults(), -}) - -minetest.register_node("default:gravel", { - description = "Gravel", - tiles ={"default_gravel.png"}, - groups = {crumbly=2, falling_node=1}, - sounds = default.node_sound_dirt_defaults({ - footstep = {name="default_gravel_footstep", gain=0.45}, - }), -}) - -minetest.register_node("default:sandstone", { - description = "Sandstone", - tiles ={"default_sandstone.png"}, - groups = {crumbly=2,cracky=2}, - drop = 'default:sand', - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:clay", { - description = "Clay", - tiles ={"default_clay.png"}, - groups = {crumbly=3}, - drop = 'default:clay_lump 4', - sounds = default.node_sound_dirt_defaults({ - footstep = "", - }), -}) - -minetest.register_node("default:brick", { - description = "Brick", - tiles ={"default_brick.png"}, - is_ground_content = false, - groups = {cracky=3}, - drop = 'default:clay_brick 4', - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:tree", { - description = "Tree", - tiles ={"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, - is_ground_content = false, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=1}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:junglegrass", { - description = "Jungle Grass", - drawtype = "plantlike", - visual_scale = 1.3, - tiles ={"default_junglegrass.png"}, - inventory_image = "default_junglegrass.png", - wield_image = "default_junglegrass.png", - paramtype = "light", - walkable = false, - groups = {snappy=3,attached_node=1}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_node("default:leaves", { - description = "Leaves", - drawtype = "allfaces_optional", - visual_scale = 1.3, - tiles ={"default_leaves.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy=3}, - drop = { - max_items = 1, - items = { - { - -- player will get sapling with 1/20 chance - items = {'default:sapling'}, - rarity = 20, - }, - { - -- player will get leaves only if he get no saplings, - -- this is because max_items is 1 - items = {'default:leaves'}, - } - } - }, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_node("default:cactus", { - description = "Cactus", - tiles ={"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, - groups = {snappy=2,choppy=3}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:papyrus", { - description = "Papyrus", - drawtype = "plantlike", - tiles ={"default_papyrus.png"}, - inventory_image = "default_papyrus.png", - wield_image = "default_papyrus.png", - paramtype = "light", - walkable = false, - groups = {snappy=3}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_node("default:bookshelf", { - description = "Bookshelf", - tiles ={"default_wood.png", "default_wood.png", "default_bookshelf.png"}, - is_ground_content = false, - groups = {snappy=2,choppy=3,oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:glass", { - description = "Glass", - drawtype = "glasslike", - tiles ={"default_glass.png"}, - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_node("default:fence_wood", { - description = "Wooden Fence", - drawtype = "fencelike", - tiles ={"default_wood.png"}, - inventory_image = "default_fence.png", - wield_image = "default_fence.png", - paramtype = "light", - is_ground_content = false, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:rail", { - description = "Rail", - drawtype = "raillike", - tiles ={"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"}, - inventory_image = "default_rail.png", - wield_image = "default_rail.png", - paramtype = "light", - is_ground_content = false, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - groups = {bendy=2,snappy=1,dig_immediate=2}, -}) - -minetest.register_node("default:ladder", { - description = "Ladder", - drawtype = "signlike", - tiles ={"default_ladder.png"}, - inventory_image = "default_ladder.png", - wield_image = "default_ladder.png", - paramtype = "light", - paramtype2 = "wallmounted", - is_ground_content = false, - walkable = false, - climbable = true, - selection_box = { - type = "wallmounted", - --wall_top = = <default> - --wall_bottom = = <default> - --wall_side = = <default> - }, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, - legacy_wallmounted = true, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:wood", { - description = "Wood", - tiles ={"default_wood.png"}, - is_ground_content = false, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("default:mese", { - description = "Mese", - tiles ={"default_mese.png"}, - groups = {cracky=1,level=2}, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("default:cloud", { - description = "Cloud", - tiles ={"default_cloud.png"}, - is_ground_content = false, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("default:water_flowing", { - description = "Water (flowing)", - drawtype = "flowingliquid", - tiles = {"default_water.png"}, - special_tiles = { - {name = "default_water.png", backface_culling = false}, - {name = "default_water.png", backface_culling = true}, - }, - alpha = WATER_ALPHA, - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "default:water_flowing", - liquid_alternative_source = "default:water_source", - liquid_viscosity = WATER_VISC, - post_effect_color = {a = 64, r = 100, g = 100, b = 200}, - groups = {water = 3, liquid = 3}, -}) - -minetest.register_node("default:water_source", { - description = "Water", - drawtype = "liquid", - tiles = {"default_water.png"}, - special_tiles = { - -- New-style water source material (mostly unused) - {name = "default_water.png", backface_culling = false}, - }, - alpha = WATER_ALPHA, - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "default:water_flowing", - liquid_alternative_source = "default:water_source", - liquid_viscosity = WATER_VISC, - post_effect_color = {a = 64, r = 100, g = 100, b = 200}, - groups = {water = 3, liquid = 3}, -}) - -minetest.register_node("default:river_water_source", { - description = "River Water Source", - drawtype = "liquid", - tiles = {"default_river_water.png"}, - special_tiles = { - -- New-style water source material (mostly unused) - {name = "default_river_water.png", backface_culling = false}, - }, - alpha = 160, - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "default:river_water_flowing", - liquid_alternative_source = "default:river_water_source", - liquid_viscosity = 1, - liquid_renewable = false, - liquid_range = 2, - post_effect_color = {a = 103, r = 30, g = 76, b = 90}, - groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1}, -}) - -minetest.register_node("default:river_water_flowing", { - description = "Flowing River Water", - drawtype = "flowingliquid", - tiles = {"default_river_water.png"}, - special_tiles = { - {name = "default_river_water.png", backface_culling = false}, - {name = "default_river_water.png", backface_culling = true}, - }, - alpha = 160, - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drop = "", - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "default:river_water_flowing", - liquid_alternative_source = "default:river_water_source", - liquid_viscosity = 1, - liquid_renewable = false, - liquid_range = 2, - post_effect_color = {a = 103, r = 30, g = 76, b = 90}, - groups = {water = 3, liquid = 3, puts_out_fire = 1, - not_in_creative_inventory = 1, cools_lava = 1}, -}) - -minetest.register_node("default:lava_flowing", { - description = "Lava (flowing)", - inventory_image = minetest.inventorycube("default_lava.png"), - drawtype = "flowingliquid", - tiles ={"default_lava.png"}, - special_tiles = { - { - image="default_lava_flowing_animated.png", - backface_culling=false, - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} - }, - { - image="default_lava_flowing_animated.png", - backface_culling=true, - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} - }, - }, - paramtype = "light", - light_source = LIGHT_MAX - 1, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "default:lava_flowing", - liquid_alternative_source = "default:lava_source", - liquid_viscosity = LAVA_VISC, - damage_per_second = 4*2, - post_effect_color = {a=192, r=255, g=64, b=0}, - groups = {lava=3, liquid=2, hot=3}, -}) - -minetest.register_node("default:lava_source", { - description = "Lava", - inventory_image = minetest.inventorycube("default_lava.png"), - drawtype = "liquid", - --tiles ={"default_lava.png"}, - tiles = { - { - name = "default_lava_source_animated.png", - animation = {type="sheet_2d", frames_w=3, frames_h=2, frame_length=0.5} - } - }, - special_tiles = { - -- New-style lava source material (mostly unused) - {name="default_lava.png", backface_culling=false}, - }, - paramtype = "light", - light_source = LIGHT_MAX - 1, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "default:lava_flowing", - liquid_alternative_source = "default:lava_source", - liquid_viscosity = LAVA_VISC, - damage_per_second = 4*2, - post_effect_color = {a=192, r=255, g=64, b=0}, - groups = {lava=3, liquid=2, hot=3}, -}) - -minetest.register_node("default:torch", { - description = "Torch", - drawtype = "torchlike", - tiles ={"default_torch_on_floor.png", "default_torch_on_ceiling.png", "default_torch.png"}, - inventory_image = "default_torch_on_floor.png", - wield_image = "default_torch_on_floor.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - is_ground_content = false, - walkable = false, - light_source = LIGHT_MAX-1, - selection_box = { - type = "wallmounted", - wall_top = {-0.1, 0.5-0.6, -0.1, 0.1, 0.5, 0.1}, - wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5+0.6, 0.1}, - wall_side = {-0.5, -0.3, -0.1, -0.5+0.3, 0.3, 0.1}, - }, - groups = {choppy=2,dig_immediate=3,attached_node=1}, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("default:sign_wall", { - description = "Sign", - drawtype = "signlike", - tiles ={"default_sign_wall.png"}, - inventory_image = "default_sign_wall.png", - wield_image = "default_sign_wall.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - is_ground_content = false, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = <default> - --wall_bottom = <default> - --wall_side = <default> - }, - groups = {choppy=2,dig_immediate=2,attached_node=1}, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), - on_construct = function(pos) - --local n = minetest.get_node(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", "field[text;;${text}]") - meta:set_string("infotext", "\"\"") - end, - on_receive_fields = function(pos, formname, fields, sender) - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) - local meta = minetest.get_meta(pos) - fields.text = fields.text or "" - print((sender:get_player_name() or "").." wrote \""..fields.text.. - "\" to sign at "..minetest.pos_to_string(pos)) - meta:set_string("text", fields.text) - meta:set_string("infotext", '"'..fields.text..'"') - end, -}) - -minetest.register_node("default:chest", { - description = "Chest", - tiles ={"default_chest.png^[sheet:2x2:0,0", "default_chest.png^[sheet:2x2:0,0", - "default_chest.png^[sheet:2x2:1,0", "default_chest.png^[sheet:2x2:1,0", - "default_chest.png^[sheet:2x2:1,0", "default_chest.png^[sheet:2x2:0,1"}, - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,9]".. - "list[current_name;main;0,0;8,4;]".. - "list[current_player;main;0,5;8,4;]" .. - "listring[]") - meta:set_string("infotext", "Chest") - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, -}) - -local function has_locked_chest_privilege(meta, player) - if player:get_player_name() ~= meta:get_string("owner") then - return false - end - return true -end - -minetest.register_node("default:chest_locked", { - description = "Locked Chest", - tiles ={"default_chest.png^[sheet:2x2:0,0", "default_chest.png^[sheet:2x2:0,0", - "default_chest.png^[sheet:2x2:1,0", "default_chest.png^[sheet:2x2:1,0", - "default_chest.png^[sheet:2x2:1,0", "default_chest.png^[sheet:2x2:1,1"}, - paramtype2 = "facedir", - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_wood_defaults(), - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - local pname = - placer and placer:get_player_name() or "" - meta:set_string("owner", pname) - meta:set_string("infotext", "Locked Chest (owned by ".. - meta:get_string("owner")..")") - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,9]".. - "list[current_name;main;0,0;8,4;]".. - "list[current_player;main;0,5;8,4;]" .. - "listring[]") - meta:set_string("infotext", "Locked Chest") - meta:set_string("owner", "") - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - -- this is not really the intended usage but works for testing purposes: - meta:mark_as_private("owner") - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a locked chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return count - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a locked chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a locked chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in locked chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to locked chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from locked chest at "..minetest.pos_to_string(pos)) - end, -}) - -default.furnace_inactive_formspec = - "size[8,9]".. - "image[2,2;1,1;default_furnace_fire_bg.png]".. - "list[current_name;fuel;2,3;1,1;]".. - "list[current_name;src;2,1;1,1;]".. - "list[current_name;dst;5,1;2,2;]".. - "list[current_player;main;0,5;8,4;]" .. - "listring[current_name;dst]" .. - "listring[current_player;main]" .. - "listring[current_name;src]" .. - "listring[current_player;main]" - -minetest.register_node("default:furnace", { - description = "Furnace", - tiles ={"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", - "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, - paramtype2 = "facedir", - groups = {cracky=2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", default.furnace_inactive_formspec) - meta:set_string("infotext", "Furnace") - local inv = meta:get_inventory() - inv:set_size("fuel", 1) - inv:set_size("src", 1) - inv:set_size("dst", 4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - if not inv:is_empty("fuel") then - return false - elseif not inv:is_empty("dst") then - return false - elseif not inv:is_empty("src") then - return false - end - return true - end, -}) - -minetest.register_node("default:furnace_active", { - description = "Furnace", - tiles ={"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", - "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front_active.png"}, - paramtype2 = "facedir", - light_source = 8, - drop = "default:furnace", - groups = {cracky=2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", default.furnace_inactive_formspec) - meta:set_string("infotext", "Furnace"); - local inv = meta:get_inventory() - inv:set_size("fuel", 1) - inv:set_size("src", 1) - inv:set_size("dst", 4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - if not inv:is_empty("fuel") then - return false - elseif not inv:is_empty("dst") then - return false - elseif not inv:is_empty("src") then - return false - end - return true - end, -}) - -function swap_node(pos,name) - local node = minetest.get_node(pos) - if node.name == name then - return - end - node.name = name - minetest.swap_node(pos, node) -end - -minetest.register_abm({ - nodenames = {"default:furnace","default:furnace_active"}, - interval = 1.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local meta = minetest.get_meta(pos) - for i, name in ipairs({ - "fuel_totaltime", - "fuel_time", - "src_totaltime", - "src_time" - }) do - if meta:get_string(name) == "" then - meta:set_float(name, 0.0) - end - end - - local inv = meta:get_inventory() - - local srclist = inv:get_list("src") - local cooked = nil - - if srclist then - cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) - end - - local was_active = false - - if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then - was_active = true - meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) - meta:set_float("src_time", meta:get_float("src_time") + 1) - if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then - -- check if there's room for output in "dst" list - if inv:room_for_item("dst",cooked.item) then - -- Put result in "dst" list - inv:add_item("dst", cooked.item) - -- take stuff from "src" list - srcstack = inv:get_stack("src", 1) - srcstack:take_item() - inv:set_stack("src", 1, srcstack) - else - print("Could not insert '"..cooked.item:to_string().."'") - end - meta:set_string("src_time", 0) - end - end - - if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then - local percent = math.floor(meta:get_float("fuel_time") / - meta:get_float("fuel_totaltime") * 100) - meta:set_string("infotext","Furnace active: "..percent.."%") - swap_node(pos,"default:furnace_active") - meta:set_string("formspec", - "size[8,9]".. - "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. - (100-percent)..":default_furnace_fire_fg.png]".. - "list[current_name;fuel;2,3;1,1;]".. - "list[current_name;src;2,1;1,1;]".. - "list[current_name;dst;5,1;2,2;]".. - "list[current_player;main;0,5;8,4;]" .. - "listring[current_name;dst]" .. - "listring[current_player;main]" .. - "listring[current_name;src]" .. - "listring[current_player;main]") - return - end - - local fuel = nil - local cooked = nil - local fuellist = inv:get_list("fuel") - local srclist = inv:get_list("src") - - if srclist then - cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) - end - if fuellist then - fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) - end - - if fuel.time <= 0 then - meta:set_string("infotext","Furnace out of fuel") - swap_node(pos,"default:furnace") - meta:set_string("formspec", default.furnace_inactive_formspec) - return - end - - if cooked.item:is_empty() then - if was_active then - meta:set_string("infotext","Furnace is empty") - swap_node(pos,"default:furnace") - meta:set_string("formspec", default.furnace_inactive_formspec) - end - return - end - - meta:set_string("fuel_totaltime", fuel.time) - meta:set_string("fuel_time", 0) - - local stack = inv:get_stack("fuel", 1) - stack:take_item() - inv:set_stack("fuel", 1, stack) - end, -}) - -minetest.register_node("default:cobble", { - description = "Cobble", - tiles ={"default_cobble.png"}, - is_ground_content = false, - groups = {cracky=3}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:mossycobble", { - description = "Mossy Cobble", - tiles ={"default_mossycobble.png"}, - is_ground_content = false, - groups = {cracky=3}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:steelblock", { - description = "Steel Block", - tiles ={"default_steel_block.png"}, - is_ground_content = false, - groups = {snappy=1,bendy=2}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("default:nyancat", { - description = "Nyancat", - tiles ={"default_nc_side.png", "default_nc_side.png", "default_nc_side.png", - "default_nc_side.png", "default_nc_back.png", "default_nc_front.png"}, - inventory_image = "default_nc_front.png", - paramtype2 = "facedir", - groups = {cracky=2}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("default:nyancat_rainbow", { - description = "Nyancat Rainbow", - tiles ={"default_nc_rb.png"}, - inventory_image = "default_nc_rb.png", - is_ground_content = false, - groups = {cracky=2}, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("default:sapling", { - description = "Sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tiles ={"default_sapling.png"}, - inventory_image = "default_sapling.png", - wield_image = "default_sapling.png", - paramtype = "light", - walkable = false, - groups = {snappy=2,dig_immediate=3,attached_node=1}, - sounds = default.node_sound_defaults(), -}) - -minetest.register_node("default:apple", { - description = "Apple", - drawtype = "plantlike", - visual_scale = 1.0, - tiles ={"default_apple.png"}, - inventory_image = "default_apple.png", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - walkable = false, - groups = {fleshy=3,dig_immediate=3}, - on_use = minetest.item_eat(4), - sounds = default.node_sound_defaults(), -}) - --- --- Grow tree function --- - -local c_air = minetest.get_content_id("air") -local c_ignore = minetest.get_content_id("ignore") -local c_tree = minetest.get_content_id("default:tree") -local c_leaves = minetest.get_content_id("default:leaves") -local c_apple = minetest.get_content_id("default:apple") -function default.grow_tree(data, a, pos, is_apple_tree, seed) - --[[ - NOTE: Tree-placing code is currently duplicated in the engine - and in games that have saplings; both are deprecated but not - replaced yet - ]]-- - local pr = PseudoRandom(seed) - local th = pr:next(4, 5) - local x, y, z = pos.x, pos.y, pos.z - for yy = y, y+th-1 do - local vi = a:index(x, yy, z) - if a:contains(x, yy, z) and (data[vi] == c_air or yy == y) then - data[vi] = c_tree - end - end - y = y+th-1 -- (x, y, z) is now last piece of trunk - local leaves_a = VoxelArea:new{MinEdge={x=-2, y=-1, z=-2}, MaxEdge={x=2, y=2, z=2}} - local leaves_buffer = {} - - -- Force leaves near the trunk - local d = 1 - for xi = -d, d do - for yi = -d, d do - for zi = -d, d do - leaves_buffer[leaves_a:index(xi, yi, zi)] = true - end - end - end - - -- Add leaves randomly - for iii = 1, 8 do - local d = 1 - local xx = pr:next(leaves_a.MinEdge.x, leaves_a.MaxEdge.x - d) - local yy = pr:next(leaves_a.MinEdge.y, leaves_a.MaxEdge.y - d) - local zz = pr:next(leaves_a.MinEdge.z, leaves_a.MaxEdge.z - d) - - for xi = 0, d do - for yi = 0, d do - for zi = 0, d do - leaves_buffer[leaves_a:index(xx+xi, yy+yi, zz+zi)] = true - end - end - end - end - - -- Add the leaves - for xi = leaves_a.MinEdge.x, leaves_a.MaxEdge.x do - for yi = leaves_a.MinEdge.y, leaves_a.MaxEdge.y do - for zi = leaves_a.MinEdge.z, leaves_a.MaxEdge.z do - if a:contains(x+xi, y+yi, z+zi) then - local vi = a:index(x+xi, y+yi, z+zi) - if data[vi] == c_air or data[vi] == c_ignore then - if leaves_buffer[leaves_a:index(xi, yi, zi)] then - if is_apple_tree and pr:next(1, 100) <= 10 then - data[vi] = c_apple - else - data[vi] = c_leaves - end - end - end - end - end - end - end -end - --- --- ABMs --- - -minetest.register_abm({ - nodenames = {"default:sapling"}, - interval = 10, - chance = 50, - action = function(pos, node) - if minetest.get_item_group(minetest.get_node( - {x = pos.x, y = pos.y - 1, z = pos.z}).name, "soil") == 0 then - return - end - print("A sapling grows into a tree at "..minetest.pos_to_string(pos)) - local vm = minetest.get_voxel_manip() - local minp, maxp = vm:read_from_map({x=pos.x-16, y=pos.y, z=pos.z-16}, {x=pos.x+16, y=pos.y+16, z=pos.z+16}) - local a = VoxelArea:new{MinEdge=minp, MaxEdge=maxp} - local data = vm:get_data() - default.grow_tree(data, a, pos, math.random(1, 4) == 1, math.random(1,100000)) - vm:set_data(data) - vm:write_to_map(data) - vm:update_map() - end -}) - -minetest.register_abm({ - nodenames = {"default:dirt"}, - interval = 2, - chance = 200, - action = function(pos, node) - local above = {x=pos.x, y=pos.y+1, z=pos.z} - local name = minetest.get_node(above).name - local nodedef = minetest.registered_nodes[name] - if nodedef and (nodedef.sunlight_propagates or nodedef.paramtype == "light") - and nodedef.liquidtype == "none" - and (minetest.get_node_light(above) or 0) >= 13 then - if name == "default:snow" or name == "default:snowblock" then - minetest.set_node(pos, {name = "default:dirt_with_snow"}) - else - minetest.set_node(pos, {name = "default:dirt_with_grass"}) - end - end - end -}) - -minetest.register_abm({ - nodenames = {"default:dirt_with_grass"}, - interval = 2, - chance = 20, - action = function(pos, node) - local above = {x=pos.x, y=pos.y+1, z=pos.z} - local name = minetest.get_node(above).name - local nodedef = minetest.registered_nodes[name] - if name ~= "ignore" and nodedef - and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light") - and nodedef.liquidtype == "none") then - minetest.set_node(pos, {name = "default:dirt"}) - end - end -}) - --- --- Crafting items --- - -minetest.register_craftitem("default:stick", { - description = "Stick", - inventory_image = "default_stick.png", -}) - -minetest.register_craftitem("default:paper", { - description = "Paper", - inventory_image = "default_paper.png", -}) - -minetest.register_craftitem("default:book", { - description = "Book", - inventory_image = "default_book.png", -}) - -minetest.register_craftitem("default:coal_lump", { - description = "Lump of coal", - inventory_image = "default_coal_lump.png", -}) - -minetest.register_craftitem("default:iron_lump", { - description = "Lump of iron", - inventory_image = "default_iron_lump.png", -}) - -minetest.register_craftitem("default:clay_lump", { - description = "Lump of clay", - inventory_image = "default_clay_lump.png", -}) - -minetest.register_craftitem("default:steel_ingot", { - description = "Steel ingot", - inventory_image = "default_steel_ingot.png", -}) - -minetest.register_craftitem("default:clay_brick", { - description = "Clay brick", - inventory_image = "default_steel_ingot.png", - inventory_image = "default_clay_brick.png", -}) - -minetest.register_craftitem("default:scorched_stuff", { - description = "Scorched stuff", - inventory_image = "default_scorched_stuff.png", -}) - --- --- Support old code --- - -function default.spawn_falling_node(p, nodename) - spawn_falling_node(p, nodename) -end - --- Horrible stuff to support old code --- Don't use this and never do what this does, it's completely wrong! --- (More specifically, the client and the C++ code doesn't get the group) -function default.register_falling_node(nodename, texture) - minetest.log("error", debug.traceback()) - minetest.log('error', "WARNING: default.register_falling_node is deprecated") - if minetest.registered_nodes[nodename] then - minetest.registered_nodes[nodename].groups.falling_node = 1 - end -end - --- --- Global callbacks --- - --- Global environment step function -function on_step(dtime) - -- print("on_step") -end -minetest.register_globalstep(on_step) - -function on_placenode(p, node) - --print("on_placenode") -end -minetest.register_on_placenode(on_placenode) - -function on_dignode(p, node) - --print("on_dignode") -end -minetest.register_on_dignode(on_dignode) - -function on_punchnode(p, node) -end -minetest.register_on_punchnode(on_punchnode) diff --git a/games/minimal/mods/default/mapgen.lua b/games/minimal/mods/default/mapgen.lua deleted file mode 100644 index 30a865366..000000000 --- a/games/minimal/mods/default/mapgen.lua +++ /dev/null @@ -1,137 +0,0 @@ --- --- Aliases for map generator outputs --- - - -minetest.register_alias("mapgen_stone", "default:stone") -minetest.register_alias("mapgen_dirt", "default:dirt") -minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") -minetest.register_alias("mapgen_sand", "default:sand") -minetest.register_alias("mapgen_water_source", "default:water_source") -minetest.register_alias("mapgen_river_water_source", "default:river_water_source") -minetest.register_alias("mapgen_lava_source", "default:lava_source") -minetest.register_alias("mapgen_gravel", "default:gravel") - -minetest.register_alias("mapgen_tree", "default:tree") -minetest.register_alias("mapgen_leaves", "default:leaves") -minetest.register_alias("mapgen_apple", "default:apple") -minetest.register_alias("mapgen_junglegrass", "default:junglegrass") - -minetest.register_alias("mapgen_cobble", "default:cobble") -minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") -minetest.register_alias("mapgen_mossycobble", "default:mossycobble") - - --- --- Ore generation --- - - --- Blob ore first to avoid other ores inside blobs - -minetest.register_ore({ - ore_type = "blob", - ore = "default:clay", - wherein = {"default:sand"}, - clust_scarcity = 24*24*24, - clust_size = 7, - y_min = -15, - y_max = 0, - noise_threshold = 0, - noise_params = { - offset=0.35, - scale=0.2, - spread={x=5, y=5, z=5}, - seed=-316, - octaves=1, - persist=0.5 - }, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_coal", - wherein = "default:stone", - clust_scarcity = 8*8*8, - clust_num_ores = 8, - clust_size = 3, - y_min = -31000, - y_max = 64, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 12*12*12, - clust_num_ores = 3, - clust_size = 2, - y_min = -15, - y_max = 2, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 9*9*9, - clust_num_ores = 5, - clust_size = 3, - y_min = -63, - y_max = -16, -}) - -minetest.register_ore({ - ore_type = "scatter", - ore = "default:stone_with_iron", - wherein = "default:stone", - clust_scarcity = 7*7*7, - clust_num_ores = 5, - clust_size = 3, - y_min = -31000, - y_max = -64, -}) - - --- --- Register biomes for biome API --- - - -minetest.clear_registered_biomes() -minetest.clear_registered_decorations() - -minetest.register_biome({ - name = "default:grassland", - --node_dust = "", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 1, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - y_min = 5, - y_max = 31000, - heat_point = 50, - humidity_point = 50, -}) - -minetest.register_biome({ - name = "default:grassland_ocean", - --node_dust = "", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 2, - --node_stone = "", - --node_water_top = "", - --depth_water_top = , - --node_water = "", - y_min = -31000, - y_max = 4, - heat_point = 50, - humidity_point = 50, -}) - diff --git a/games/minimal/mods/default/mod.conf b/games/minimal/mods/default/mod.conf deleted file mode 100644 index f6f7ea798..000000000 --- a/games/minimal/mods/default/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = default -description = Minimal default, adds basic nodes diff --git a/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg b/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg Binary files differdeleted file mode 100644 index ce625d92b..000000000 --- a/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_apple.png b/games/minimal/mods/default/textures/default_apple.png Binary files differdeleted file mode 100644 index 4473dca28..000000000 --- a/games/minimal/mods/default/textures/default_apple.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_book.png b/games/minimal/mods/default/textures/default_book.png Binary files differdeleted file mode 100644 index ea14a372a..000000000 --- a/games/minimal/mods/default/textures/default_book.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_bookshelf.png b/games/minimal/mods/default/textures/default_bookshelf.png Binary files differdeleted file mode 100644 index f225e3449..000000000 --- a/games/minimal/mods/default/textures/default_bookshelf.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_brick.png b/games/minimal/mods/default/textures/default_brick.png Binary files differdeleted file mode 100644 index def1cf0b1..000000000 --- a/games/minimal/mods/default/textures/default_brick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_cactus_side.png b/games/minimal/mods/default/textures/default_cactus_side.png Binary files differdeleted file mode 100644 index 128a4d28a..000000000 --- a/games/minimal/mods/default/textures/default_cactus_side.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_cactus_top.png b/games/minimal/mods/default/textures/default_cactus_top.png Binary files differdeleted file mode 100644 index eda1a0bb6..000000000 --- a/games/minimal/mods/default/textures/default_cactus_top.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_chest.png b/games/minimal/mods/default/textures/default_chest.png Binary files differdeleted file mode 100644 index 9746a3fd9..000000000 --- a/games/minimal/mods/default/textures/default_chest.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_clay.png b/games/minimal/mods/default/textures/default_clay.png Binary files differdeleted file mode 100644 index 070b69e48..000000000 --- a/games/minimal/mods/default/textures/default_clay.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_clay_brick.png b/games/minimal/mods/default/textures/default_clay_brick.png Binary files differdeleted file mode 100644 index e25633b70..000000000 --- a/games/minimal/mods/default/textures/default_clay_brick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_clay_lump.png b/games/minimal/mods/default/textures/default_clay_lump.png Binary files differdeleted file mode 100644 index ceed6fa75..000000000 --- a/games/minimal/mods/default/textures/default_clay_lump.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_cloud.png b/games/minimal/mods/default/textures/default_cloud.png Binary files differdeleted file mode 100644 index faf0ec13d..000000000 --- a/games/minimal/mods/default/textures/default_cloud.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_coal_lump.png b/games/minimal/mods/default/textures/default_coal_lump.png Binary files differdeleted file mode 100644 index dae47e342..000000000 --- a/games/minimal/mods/default/textures/default_coal_lump.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_cobble.png b/games/minimal/mods/default/textures/default_cobble.png Binary files differdeleted file mode 100644 index 2a28d25a5..000000000 --- a/games/minimal/mods/default/textures/default_cobble.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_dirt.png b/games/minimal/mods/default/textures/default_dirt.png Binary files differdeleted file mode 100644 index 7cb9c89a6..000000000 --- a/games/minimal/mods/default/textures/default_dirt.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_fence.png b/games/minimal/mods/default/textures/default_fence.png Binary files differdeleted file mode 100644 index e3510c52a..000000000 --- a/games/minimal/mods/default/textures/default_fence.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_furnace_fire_bg.png b/games/minimal/mods/default/textures/default_furnace_fire_bg.png Binary files differdeleted file mode 100644 index e3370f438..000000000 --- a/games/minimal/mods/default/textures/default_furnace_fire_bg.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_furnace_fire_fg.png b/games/minimal/mods/default/textures/default_furnace_fire_fg.png Binary files differdeleted file mode 100644 index 7a126e325..000000000 --- a/games/minimal/mods/default/textures/default_furnace_fire_fg.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_furnace_front.png b/games/minimal/mods/default/textures/default_furnace_front.png Binary files differdeleted file mode 100644 index 4da398c0a..000000000 --- a/games/minimal/mods/default/textures/default_furnace_front.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_furnace_front_active.png b/games/minimal/mods/default/textures/default_furnace_front_active.png Binary files differdeleted file mode 100644 index 06c4ab3ef..000000000 --- a/games/minimal/mods/default/textures/default_furnace_front_active.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_furnace_side.png b/games/minimal/mods/default/textures/default_furnace_side.png Binary files differdeleted file mode 100644 index c729de9bf..000000000 --- a/games/minimal/mods/default/textures/default_furnace_side.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_glass.png b/games/minimal/mods/default/textures/default_glass.png Binary files differdeleted file mode 100644 index fd665a40c..000000000 --- a/games/minimal/mods/default/textures/default_glass.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_grass.png b/games/minimal/mods/default/textures/default_grass.png Binary files differdeleted file mode 100644 index 1d76708a0..000000000 --- a/games/minimal/mods/default/textures/default_grass.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_grass_footsteps.png b/games/minimal/mods/default/textures/default_grass_footsteps.png Binary files differdeleted file mode 100644 index 8349033d6..000000000 --- a/games/minimal/mods/default/textures/default_grass_footsteps.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_grass_side.png b/games/minimal/mods/default/textures/default_grass_side.png Binary files differdeleted file mode 100644 index 4f4f680be..000000000 --- a/games/minimal/mods/default/textures/default_grass_side.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_gravel.png b/games/minimal/mods/default/textures/default_gravel.png Binary files differdeleted file mode 100644 index 4b47e2346..000000000 --- a/games/minimal/mods/default/textures/default_gravel.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_iron_lump.png b/games/minimal/mods/default/textures/default_iron_lump.png Binary files differdeleted file mode 100644 index 6b515f66d..000000000 --- a/games/minimal/mods/default/textures/default_iron_lump.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_junglegrass.png b/games/minimal/mods/default/textures/default_junglegrass.png Binary files differdeleted file mode 100644 index 7066f7dd9..000000000 --- a/games/minimal/mods/default/textures/default_junglegrass.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_ladder.png b/games/minimal/mods/default/textures/default_ladder.png Binary files differdeleted file mode 100644 index 46757b884..000000000 --- a/games/minimal/mods/default/textures/default_ladder.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_lava.png b/games/minimal/mods/default/textures/default_lava.png Binary files differdeleted file mode 100644 index a4cf649f1..000000000 --- a/games/minimal/mods/default/textures/default_lava.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_lava_flowing_animated.png b/games/minimal/mods/default/textures/default_lava_flowing_animated.png Binary files differdeleted file mode 100644 index 0bbd13606..000000000 --- a/games/minimal/mods/default/textures/default_lava_flowing_animated.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_lava_source_animated.png b/games/minimal/mods/default/textures/default_lava_source_animated.png Binary files differdeleted file mode 100644 index 54f4c0ddd..000000000 --- a/games/minimal/mods/default/textures/default_lava_source_animated.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_leaves.png b/games/minimal/mods/default/textures/default_leaves.png Binary files differdeleted file mode 100644 index 00ce4471c..000000000 --- a/games/minimal/mods/default/textures/default_leaves.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_mese.png b/games/minimal/mods/default/textures/default_mese.png Binary files differdeleted file mode 100644 index 123f0f4b9..000000000 --- a/games/minimal/mods/default/textures/default_mese.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_mineral_coal.png b/games/minimal/mods/default/textures/default_mineral_coal.png Binary files differdeleted file mode 100644 index 0f52062af..000000000 --- a/games/minimal/mods/default/textures/default_mineral_coal.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_mineral_iron.png b/games/minimal/mods/default/textures/default_mineral_iron.png Binary files differdeleted file mode 100644 index 6c894ce1c..000000000 --- a/games/minimal/mods/default/textures/default_mineral_iron.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_mossycobble.png b/games/minimal/mods/default/textures/default_mossycobble.png Binary files differdeleted file mode 100644 index 5082953a6..000000000 --- a/games/minimal/mods/default/textures/default_mossycobble.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_nc_back.png b/games/minimal/mods/default/textures/default_nc_back.png Binary files differdeleted file mode 100644 index e479ace83..000000000 --- a/games/minimal/mods/default/textures/default_nc_back.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_nc_front.png b/games/minimal/mods/default/textures/default_nc_front.png Binary files differdeleted file mode 100644 index c9dd6a330..000000000 --- a/games/minimal/mods/default/textures/default_nc_front.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_nc_rb.png b/games/minimal/mods/default/textures/default_nc_rb.png Binary files differdeleted file mode 100644 index 685a22ccf..000000000 --- a/games/minimal/mods/default/textures/default_nc_rb.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_nc_side.png b/games/minimal/mods/default/textures/default_nc_side.png Binary files differdeleted file mode 100644 index bc85427ae..000000000 --- a/games/minimal/mods/default/textures/default_nc_side.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_paper.png b/games/minimal/mods/default/textures/default_paper.png Binary files differdeleted file mode 100644 index 3c31f77c2..000000000 --- a/games/minimal/mods/default/textures/default_paper.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_papyrus.png b/games/minimal/mods/default/textures/default_papyrus.png Binary files differdeleted file mode 100644 index 3707e4081..000000000 --- a/games/minimal/mods/default/textures/default_papyrus.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_rail.png b/games/minimal/mods/default/textures/default_rail.png Binary files differdeleted file mode 100644 index 777e10c00..000000000 --- a/games/minimal/mods/default/textures/default_rail.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_rail_crossing.png b/games/minimal/mods/default/textures/default_rail_crossing.png Binary files differdeleted file mode 100644 index a988c4740..000000000 --- a/games/minimal/mods/default/textures/default_rail_crossing.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_rail_curved.png b/games/minimal/mods/default/textures/default_rail_curved.png Binary files differdeleted file mode 100644 index f87e826c9..000000000 --- a/games/minimal/mods/default/textures/default_rail_curved.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_rail_t_junction.png b/games/minimal/mods/default/textures/default_rail_t_junction.png Binary files differdeleted file mode 100644 index fd25b5ba6..000000000 --- a/games/minimal/mods/default/textures/default_rail_t_junction.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_river_water.png b/games/minimal/mods/default/textures/default_river_water.png Binary files differdeleted file mode 100644 index 3b55c5f66..000000000 --- a/games/minimal/mods/default/textures/default_river_water.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_sand.png b/games/minimal/mods/default/textures/default_sand.png Binary files differdeleted file mode 100644 index 1a56cc737..000000000 --- a/games/minimal/mods/default/textures/default_sand.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_sandstone.png b/games/minimal/mods/default/textures/default_sandstone.png Binary files differdeleted file mode 100644 index bd9cb8692..000000000 --- a/games/minimal/mods/default/textures/default_sandstone.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_sapling.png b/games/minimal/mods/default/textures/default_sapling.png Binary files differdeleted file mode 100644 index 93602322c..000000000 --- a/games/minimal/mods/default/textures/default_sapling.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_scorched_stuff.png b/games/minimal/mods/default/textures/default_scorched_stuff.png Binary files differdeleted file mode 100644 index c7efc7e58..000000000 --- a/games/minimal/mods/default/textures/default_scorched_stuff.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_sign_wall.png b/games/minimal/mods/default/textures/default_sign_wall.png Binary files differdeleted file mode 100644 index 93c075a2d..000000000 --- a/games/minimal/mods/default/textures/default_sign_wall.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_steel_block.png b/games/minimal/mods/default/textures/default_steel_block.png Binary files differdeleted file mode 100644 index 9c0a0e248..000000000 --- a/games/minimal/mods/default/textures/default_steel_block.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_steel_ingot.png b/games/minimal/mods/default/textures/default_steel_ingot.png Binary files differdeleted file mode 100644 index ad133bc12..000000000 --- a/games/minimal/mods/default/textures/default_steel_ingot.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_stick.png b/games/minimal/mods/default/textures/default_stick.png Binary files differdeleted file mode 100644 index 055a6ac04..000000000 --- a/games/minimal/mods/default/textures/default_stick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_stone.png b/games/minimal/mods/default/textures/default_stone.png Binary files differdeleted file mode 100644 index a835fe002..000000000 --- a/games/minimal/mods/default/textures/default_stone.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tnt_bottom.png b/games/minimal/mods/default/textures/default_tnt_bottom.png Binary files differdeleted file mode 100644 index 4eda0603f..000000000 --- a/games/minimal/mods/default/textures/default_tnt_bottom.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tnt_side.png b/games/minimal/mods/default/textures/default_tnt_side.png Binary files differdeleted file mode 100644 index c259726d6..000000000 --- a/games/minimal/mods/default/textures/default_tnt_side.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tnt_top.png b/games/minimal/mods/default/textures/default_tnt_top.png Binary files differdeleted file mode 100644 index a031a34ad..000000000 --- a/games/minimal/mods/default/textures/default_tnt_top.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_mesepick.png b/games/minimal/mods/default/textures/default_tool_mesepick.png Binary files differdeleted file mode 100644 index 2b5e12cdb..000000000 --- a/games/minimal/mods/default/textures/default_tool_mesepick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_steelaxe.png b/games/minimal/mods/default/textures/default_tool_steelaxe.png Binary files differdeleted file mode 100644 index fae19dd0d..000000000 --- a/games/minimal/mods/default/textures/default_tool_steelaxe.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_steelpick.png b/games/minimal/mods/default/textures/default_tool_steelpick.png Binary files differdeleted file mode 100644 index 3a8f58643..000000000 --- a/games/minimal/mods/default/textures/default_tool_steelpick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_steelshovel.png b/games/minimal/mods/default/textures/default_tool_steelshovel.png Binary files differdeleted file mode 100644 index d5b1bc6bc..000000000 --- a/games/minimal/mods/default/textures/default_tool_steelshovel.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_steelsword.png b/games/minimal/mods/default/textures/default_tool_steelsword.png Binary files differdeleted file mode 100644 index efc61a0d1..000000000 --- a/games/minimal/mods/default/textures/default_tool_steelsword.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_stoneaxe.png b/games/minimal/mods/default/textures/default_tool_stoneaxe.png Binary files differdeleted file mode 100644 index 532e16fbc..000000000 --- a/games/minimal/mods/default/textures/default_tool_stoneaxe.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_stonepick.png b/games/minimal/mods/default/textures/default_tool_stonepick.png Binary files differdeleted file mode 100644 index d9156ee3a..000000000 --- a/games/minimal/mods/default/textures/default_tool_stonepick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_stoneshovel.png b/games/minimal/mods/default/textures/default_tool_stoneshovel.png Binary files differdeleted file mode 100644 index 7bbd2d407..000000000 --- a/games/minimal/mods/default/textures/default_tool_stoneshovel.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_stonesword.png b/games/minimal/mods/default/textures/default_tool_stonesword.png Binary files differdeleted file mode 100644 index 533b8734f..000000000 --- a/games/minimal/mods/default/textures/default_tool_stonesword.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_woodaxe.png b/games/minimal/mods/default/textures/default_tool_woodaxe.png Binary files differdeleted file mode 100644 index 6e70f4a21..000000000 --- a/games/minimal/mods/default/textures/default_tool_woodaxe.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_woodpick.png b/games/minimal/mods/default/textures/default_tool_woodpick.png Binary files differdeleted file mode 100644 index 15c61f408..000000000 --- a/games/minimal/mods/default/textures/default_tool_woodpick.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_woodshovel.png b/games/minimal/mods/default/textures/default_tool_woodshovel.png Binary files differdeleted file mode 100644 index e0b3608db..000000000 --- a/games/minimal/mods/default/textures/default_tool_woodshovel.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tool_woodsword.png b/games/minimal/mods/default/textures/default_tool_woodsword.png Binary files differdeleted file mode 100644 index 8099af139..000000000 --- a/games/minimal/mods/default/textures/default_tool_woodsword.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_torch.png b/games/minimal/mods/default/textures/default_torch.png Binary files differdeleted file mode 100644 index 21d98bdbb..000000000 --- a/games/minimal/mods/default/textures/default_torch.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_torch_on_ceiling.png b/games/minimal/mods/default/textures/default_torch_on_ceiling.png Binary files differdeleted file mode 100644 index dccd380b2..000000000 --- a/games/minimal/mods/default/textures/default_torch_on_ceiling.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_torch_on_floor.png b/games/minimal/mods/default/textures/default_torch_on_floor.png Binary files differdeleted file mode 100644 index c22010750..000000000 --- a/games/minimal/mods/default/textures/default_torch_on_floor.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tree.png b/games/minimal/mods/default/textures/default_tree.png Binary files differdeleted file mode 100644 index 65abfc243..000000000 --- a/games/minimal/mods/default/textures/default_tree.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_tree_top.png b/games/minimal/mods/default/textures/default_tree_top.png Binary files differdeleted file mode 100644 index 3e6bd5262..000000000 --- a/games/minimal/mods/default/textures/default_tree_top.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_water.png b/games/minimal/mods/default/textures/default_water.png Binary files differdeleted file mode 100644 index 3e385ae8b..000000000 --- a/games/minimal/mods/default/textures/default_water.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/default_wood.png b/games/minimal/mods/default/textures/default_wood.png Binary files differdeleted file mode 100644 index 57c1d7c12..000000000 --- a/games/minimal/mods/default/textures/default_wood.png +++ /dev/null diff --git a/games/minimal/mods/default/textures/treeprop.png b/games/minimal/mods/default/textures/treeprop.png Binary files differdeleted file mode 100644 index eb8a8e6c4..000000000 --- a/games/minimal/mods/default/textures/treeprop.png +++ /dev/null diff --git a/games/minimal/mods/experimental/init.lua b/games/minimal/mods/experimental/init.lua deleted file mode 100644 index e8aeff2b3..000000000 --- a/games/minimal/mods/experimental/init.lua +++ /dev/null @@ -1,822 +0,0 @@ --- --- Experimental things --- - -dofile(minetest.get_modpath("experimental").."/modchannels.lua") - --- For testing random stuff - -experimental = {} - -function experimental.print_to_everything(msg) - minetest.log("action", msg) - minetest.chat_send_all(msg) -end - ---[[ -experimental.player_visual_index = 0 -function switch_player_visual() - for _, obj in pairs(minetest.get_connected_players()) do - if experimental.player_visual_index == 0 then - obj:set_properties({visual="upright_sprite"}) - else - obj:set_properties({visual="cube"}) - end - end - experimental.player_visual_index = (experimental.player_visual_index + 1) % 2 - minetest.after(1.0, switch_player_visual) -end -minetest.after(1.0, switch_player_visual) -]] - -minetest.register_node("experimental:soundblock", { - tiles = {"unknown_node.png", "default_tnt_bottom.png", - "default_tnt_side.png", "default_tnt_side.png", - "default_tnt_side.png", "default_tnt_side.png"}, - inventory_image = minetest.inventorycube("unknown_node.png", - "default_tnt_side.png", "default_tnt_side.png"), - groups = {dig_immediate=3}, -}) - -minetest.register_alias("sb", "experimental:soundblock") - -minetest.register_abm({ - nodenames = {"experimental:soundblock"}, - interval = 1, - chance = 1, - action = function(p0, node, _, _) - minetest.sound_play("default_grass_footstep", {pos=p0, gain=0.5}) - end, -}) - ---[[ -stepsound = -1 -function test_sound() - print("test_sound") - stepsound = minetest.sound_play("default_grass_footstep", {gain=1.0}) - minetest.after(2.0, test_sound) - --minetest.after(0.1, test_sound_stop) -end -function test_sound_stop() - print("test_sound_stop") - minetest.sound_stop(stepsound) - minetest.after(2.0, test_sound) -end -test_sound() ---]] - -function on_step(dtime) - -- print("experimental on_step") - --[[ - objs = minetest.get_objects_inside_radius({x=0,y=0,z=0}, 10) - for k, obj in pairs(objs) do - name = obj:get_player_name() - if name then - print(name.." at "..dump(obj:getpos())) - print(name.." dir: "..dump(obj:get_look_dir())) - print(name.." pitch: "..dump(obj:get_look_pitch())) - print(name.." yaw: "..dump(obj:get_look_yaw())) - else - print("Some object at "..dump(obj:getpos())) - end - end - --]] - --[[ - if experimental.t1 == nil then - experimental.t1 = 0 - end - experimental.t1 = experimental.t1 + dtime - if experimental.t1 >= 2 then - experimental.t1 = experimental.t1 - 2 - minetest.log("verbose", "time of day is "..minetest.get_timeofday()) - if experimental.day then - minetest.log("verbose", "forcing day->night") - experimental.day = false - minetest.set_timeofday(0.0) - else - minetest.log("verbose", "forcing night->day") - experimental.day = true - minetest.set_timeofday(0.5) - end - minetest.log("verbose", "time of day is "..minetest.get_timeofday()) - end - --]] -end -minetest.register_globalstep(on_step) - --- --- Random stuff --- - --- --- TNT (not functional) --- - -minetest.register_craft({ - output = 'experimental:tnt', - recipe = { - {'default:wood'}, - {'default:coal_lump'}, - {'default:wood'} - } -}) - -minetest.register_node("experimental:tnt", { - tiles = {"default_tnt_top.png", "default_tnt_bottom.png", - "default_tnt_side.png", "default_tnt_side.png", - "default_tnt_side.png", "default_tnt_side.png"}, - inventory_image = minetest.inventorycube("default_tnt_top.png", - "default_tnt_side.png", "default_tnt_side.png"), - drop = '', -- Get nothing - material = { - diggability = "not", - }, -}) - -minetest.register_on_punchnode(function(p, node) - if node.name == "experimental:tnt" then - minetest.remove_node(p) - minetest.add_entity(p, "experimental:tnt") - minetest.check_for_falling(p) - end -end) - -local TNT = { - -- Static definition - physical = true, -- Collides with things - -- weight = 5, - collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, - visual = "cube", - textures = {"default_tnt_top.png", "default_tnt_bottom.png", - "default_tnt_side.png", "default_tnt_side.png", - "default_tnt_side.png", "default_tnt_side.png"}, - -- Initial value for our timer - timer = 0, - -- Number of punches required to defuse - health = 1, - blinktimer = 0, - blinkstatus = true, -} - --- Called when a TNT object is created -function TNT:on_activate(staticdata) - print("TNT:on_activate()") - self.object:setvelocity({x=0, y=4, z=0}) - self.object:setacceleration({x=0, y=-10, z=0}) - self.object:settexturemod("^[brighten") - self.object:set_armor_groups({immortal=1}) -end - --- Called periodically -function TNT:on_step(dtime) - --print("TNT:on_step()") - self.timer = self.timer + dtime - self.blinktimer = self.blinktimer + dtime - if self.blinktimer > 0.5 then - self.blinktimer = self.blinktimer - 0.5 - if self.blinkstatus then - self.object:settexturemod("") - else - self.object:settexturemod("^[brighten") - end - self.blinkstatus = not self.blinkstatus - end -end - --- Called when object is punched -function TNT:on_punch(hitter) - print("TNT:on_punch()") - self.health = self.health - 1 - if self.health <= 0 then - self.object:remove() - hitter:get_inventory():add_item("main", "experimental:tnt") - --hitter:set_hp(hitter:get_hp() - 1) - end -end - --- Called when object is right-clicked -function TNT:on_rightclick(clicker) - --pos = self.object:getpos() - --pos = {x=pos.x, y=pos.y+0.1, z=pos.z} - --self.object:moveto(pos, false) -end - ---print("TNT dump: "..dump(TNT)) ---print("Registering TNT"); -minetest.register_entity("experimental:tnt", TNT) - --- Add TNT's old name also -minetest.register_alias("TNT", "experimental:tnt") - --- --- The dummyball! --- - -minetest.register_entity("experimental:dummyball", { - initial_properties = { - hp_max = 20, - physical = false, - collisionbox = {-0.4,-0.4,-0.4, 0.4,0.4,0.4}, - visual = "sprite", - visual_size = {x=1, y=1}, - textures = {"experimental_dummyball.png"}, - spritediv = {x=1, y=3}, - initial_sprite_basepos = {x=0, y=0}, - }, - - phase = 0, - phasetimer = 0, - - on_activate = function(self, staticdata) - minetest.log("action", "Dummyball activated!") - end, - - on_step = function(self, dtime) - self.phasetimer = self.phasetimer + dtime - if self.phasetimer > 2.0 then - self.phasetimer = self.phasetimer - 2.0 - self.phase = self.phase + 1 - if self.phase >= 3 then - self.phase = 0 - end - self.object:setsprite({x=0, y=self.phase}) - phasearmor = { - [0]={cracky=3}, - [1]={crumbly=3}, - [2]={fleshy=3} - } - self.object:set_armor_groups(phasearmor[self.phase]) - end - end, - - on_punch = function(self, hitter) - end, -}) - -minetest.register_on_chat_message(function(name, message) - local cmd = "/dummyball" - if message:sub(0, #cmd) == cmd then - count = tonumber(message:sub(#cmd+1)) or 1 - if not minetest.get_player_privs(name)["give"] then - minetest.chat_send_player(name, "you don't have permission to spawn (give)") - return true -- Handled chat message - end - if not minetest.get_player_privs(name)["interact"] then - minetest.chat_send_player(name, "you don't have permission to interact") - return true -- Handled chat message - end - if count >= 2 and not minetest.get_player_privs(name)["server"] then - minetest.chat_send_player(name, "you don't have " .. - "permission to spawn multiple " .. - "dummyballs (server)") - return true -- Handled chat message - end - local player = minetest.get_player_by_name(name) - if player == nil then - print("Unable to spawn entity, player is nil") - return true -- Handled chat message - end - local entityname = "experimental:dummyball" - local p = player:getpos() - p.y = p.y + 1 - for i = 1,count do - minetest.add_entity(p, entityname) - end - minetest.chat_send_player(name, '"'..entityname - ..'" spawned '..tostring(count)..' time(s).'); - return true -- Handled chat message - end -end) - --- --- A test entity for testing animated and yaw-modulated sprites --- - -minetest.register_entity("experimental:testentity", { - -- Static definition - physical = true, -- Collides with things - -- weight = 5, - collisionbox = {-0.7,-1.35,-0.7, 0.7,1.0,0.7}, - --collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, - visual = "sprite", - visual_size = {x=2, y=3}, - textures = {"dungeon_master.png^[makealpha:128,0,0^[makealpha:128,128,0"}, - spritediv = {x=6, y=5}, - initial_sprite_basepos = {x=0, y=0}, - - on_activate = function(self, staticdata) - print("testentity.on_activate") - self.object:setsprite({x=0,y=0}, 1, 0, true) - --self.object:setsprite({x=0,y=0}, 4, 0.3, true) - - -- Set gravity - self.object:setacceleration({x=0, y=-10, z=0}) - -- Jump a bit upwards - self.object:setvelocity({x=0, y=10, z=0}) - end, - - on_punch = function(self, hitter) - self.object:remove() - hitter:add_to_inventory('craft testobject1 1') - end, - on_death = function(self, killer) - print("testentity.on_death") - end -}) - --- --- More random stuff --- - -minetest.register_on_respawnplayer(function(player) - print("on_respawnplayer") - -- player:setpos({x=0, y=30, z=0}) - -- return true -end) - -minetest.register_on_generated(function(minp, maxp) - --print("on_generated: minp="..dump(minp).." maxp="..dump(maxp)) - --cp = {x=(minp.x+maxp.x)/2, y=(minp.y+maxp.y)/2, z=(minp.z+maxp.z)/2} - --minetest.add_node(cp, {name="sand"}) -end) - --- Example setting get ---print("setting max_users = " .. dump(minetest.setting_get("max_users"))) ---print("setting asdf = " .. dump(minetest.setting_get("asdf"))) - -minetest.register_on_chat_message(function(name, message) - --[[print("on_chat_message: name="..dump(name).." message="..dump(message)) - local cmd = "/testcommand" - if message:sub(0, #cmd) == cmd then - print(cmd.." invoked") - return true - end - local cmd = "/help" - if message:sub(0, #cmd) == cmd then - print("script-overridden help command") - minetest.chat_send_all("script-overridden help command") - return true - end]] -end) - --- Grow papyrus on TNT every 10 seconds ---[[minetest.register_abm({ - nodenames = {"TNT"}, - interval = 10.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - print("TNT ABM action") - pos.y = pos.y + 1 - minetest.add_node(pos, {name="papyrus"}) - end, -})]] - --- Replace texts of alls signs with "foo" every 10 seconds ---[[minetest.register_abm({ - nodenames = {"sign_wall"}, - interval = 10.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - print("ABM: Sign text changed") - local meta = minetest.get_meta(pos) - meta:set_text("foo") - end, -})]] - ---[[local ncpos = nil -local ncq = 1 -local ncstuff = { - {2, 1, 0, 3}, {3, 0, 1, 2}, {4, -1, 0, 1}, {5, -1, 0, 1}, {6, 0, -1, 0}, - {7, 0, -1, 0}, {8, 1, 0, 3}, {9, 1, 0, 3}, {10, 1, 0, 3}, {11, 0, 1, 2}, - {12, 0, 1, 2}, {13, 0, 1, 2}, {14, -1, 0, 1}, {15, -1, 0, 1}, {16, -1, 0, 1}, - {17, -1, 0, 1}, {18, 0, -1, 0}, {19, 0, -1, 0}, {20, 0, -1, 0}, {21, 0, -1, 0}, - {22, 1, 0, 3}, {23, 1, 0, 3}, {24, 1, 0, 3}, {25, 1, 0, 3}, {10, 0, 1, 2} -} -local ncold = {} -local nctime = nil - -minetest.register_abm({ - nodenames = {"dirt_with_grass"}, - interval = 100000.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - if ncpos ~= nil then - return - end - - if pos.x % 16 ~= 8 or pos.z % 16 ~= 8 then - return - end - - pos.y = pos.y + 1 - n = minetest.get_node(pos) - print(dump(n)) - if n.name ~= "air" then - return - end - - pos.y = pos.y + 2 - ncpos = pos - nctime = os.clock() - minetest.add_node(ncpos, {name="nyancat"}) - end -}) - -minetest.register_abm({ - nodenames = {"nyancat"}, - interval = 1.0, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - if ncpos == nil then - return - end - if pos.x == ncpos.x and pos.y == ncpos.y and pos.z == ncpos.z then - clock = os.clock() - if clock - nctime < 0.1 then - return - end - nctime = clock - - s0 = ncstuff[ncq] - ncq = s0[1] - s1 = ncstuff[ncq] - p0 = pos - p1 = {x = p0.x + s0[2], y = p0.y, z = p0.z + s0[3]} - p2 = {x = p1.x + s1[2], y = p1.y, z = p1.z + s1[3]} - table.insert(ncold, 1, p0) - while #ncold >= 10 do - minetest.add_node(ncold[#ncold], {name="air"}) - table.remove(ncold, #ncold) - end - minetest.add_node(p0, {name="nyancat_rainbow"}) - minetest.add_node(p1, {name="nyancat", param1=s0[4]}) - minetest.add_node(p2, {name="air"}) - ncpos = p1 - end - end, -})--]] - -minetest.register_node("experimental:tester_node_1", { - description = "Tester Node 1 (construct/destruct/timer)", - tiles = {"wieldhand.png"}, - groups = {oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), - -- This was known to cause a bug in minetest.item_place_node() when used - -- via minetest.place_node(), causing a placer with no position - paramtype2 = "facedir", - - on_construct = function(pos) - experimental.print_to_everything("experimental:tester_node_1:on_construct("..minetest.pos_to_string(pos)..")") - local meta = minetest.get_meta(pos) - meta:set_string("mine", "test") - local timer = minetest.get_node_timer(pos) - timer:start(4, 3) - end, - - after_place_node = function(pos, placer) - experimental.print_to_everything("experimental:tester_node_1:after_place_node("..minetest.pos_to_string(pos)..")") - local meta = minetest.get_meta(pos) - if meta:get_string("mine") == "test" then - experimental.print_to_everything("correct metadata found") - else - experimental.print_to_everything("incorrect metadata found") - end - end, - - on_destruct = function(pos) - experimental.print_to_everything("experimental:tester_node_1:on_destruct("..minetest.pos_to_string(pos)..")") - end, - - after_destruct = function(pos) - experimental.print_to_everything("experimental:tester_node_1:after_destruct("..minetest.pos_to_string(pos)..")") - end, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - experimental.print_to_everything("experimental:tester_node_1:after_dig_node("..minetest.pos_to_string(pos)..")") - end, - - on_timer = function(pos, elapsed) - experimental.print_to_everything("on_timer(): elapsed="..dump(elapsed)) - return true - end, -}) - -minetest.register_node("experimental:tiled", { - description = "Tiled stone", - tiles = {{ - name = "experimental_tiled.png", - align_style = "world", - scale = 8, - }}, - groups = {cracky=2}, -}) - -stairs.register_stair_and_slab("tiled_n", "experimental:tiled", - {cracky=2}, - {{name="experimental_tiled.png", align_style="node", scale=8}}, - "Tiled stair (node-aligned)", - "Tiled slab (node-aligned)") - -stairs.register_stair_and_slab("tiled", "experimantal:tiled", - {cracky=2}, - {{name="experimental_tiled.png", align_style="world", scale=8}}, - "Tiled stair", - "Tiled slab") - -minetest.register_craft({ - output = 'experimental:tiled 4', - recipe = { - {'default:cobble', '', 'default:cobble'}, - {'', '', ''}, - {'default:cobble', '', 'default:cobble'}, - } -}) - -minetest.register_craft({ - output = 'stairs:stair_tiled', - recipe = {{'stairs:stair_tiled_n'}} -}) - -minetest.register_craft({ - output = 'stairs:stair_tiled_n', - recipe = {{'stairs:stair_tiled'}} -}) - -minetest.register_craft({ - output = 'stairs:slab_tiled', - recipe = {{'stairs:slab_tiled_n'}} -}) - -minetest.register_craft({ - output = 'stairs:slab_tiled_n', - recipe = {{'stairs:slab_tiled'}} -}) - -minetest.register_craftitem("experimental:tester_tool_1", { - description = "Tester Tool 1", - inventory_image = "experimental_tester_tool_1.png", - on_use = function(itemstack, user, pointed_thing) - --print(dump(pointed_thing)) - if pointed_thing.type == "node" then - local node = minetest.get_node(pointed_thing.under) - if node.name == "experimental:tester_node_1" or node.name == "default:chest" then - local p = pointed_thing.under - minetest.log("action", "Tester tool used at "..minetest.pos_to_string(p)) - if node.name == "experimental:tester_node_1" then - minetest.dig_node(p) - else - minetest.get_meta(p):mark_as_private({"infotext", "formspec"}) - minetest.chat_send_player(user:get_player_name(), "Verify that chest is unusable now.") - end - else - local p = pointed_thing.above - minetest.log("action", "Tester tool used at "..minetest.pos_to_string(p)) - minetest.place_node(p, {name="experimental:tester_node_1"}) - end - end - end, -}) - -minetest.register_craft({ - output = 'experimental:tester_tool_1', - recipe = { - {'group:crumbly'}, - {'group:crumbly'}, - } -}) - -minetest.register_craftitem("experimental:tester_tool_2", { - description = "Tester Tool 2", - inventory_image = "experimental_tester_tool_1.png^[invert:g", - on_use = function(itemstack, user, pointed_thing) - local pos = minetest.get_pointed_thing_position(pointed_thing, true) - if pos == nil then return end - pos = vector.add(pos, {x=0, y=0.5, z=0}) - local tex, anim - if math.random(0, 1) == 0 then - tex = "default_lava_source_animated.png" - anim = {type="sheet_2d", frames_w=3, frames_h=2, frame_length=0.5} - else - tex = "default_lava_flowing_animated.png" - anim = {type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} - end - - minetest.add_particle({ - pos = pos, - velocity = {x=0, y=0, z=0}, - acceleration = {x=0, y=0.04, z=0}, - expirationtime = 6, - collisiondetection = true, - texture = tex, - animation = anim, - size = 4, - glow = math.random(0, 5), - }) - end, -}) - --- Test the disable_repair=1 group -minetest.register_tool("experimental:unrepairable_tool", { - description = "Unrepairable Tool", - wield_image = "default_stone.png", - inventory_image = "default_stone.png", - tool_capabilities = { - groupcaps = { - cracky = { - times = {3, 2, 1}, - } - } - }, - groups = { disable_repair = 1 } -}) - -minetest.register_tool("experimental:repairable_tool", { - description = "Repairable Tool", - wield_image = "default_dirt.png", - inventory_image = "default_dirt.png", - tool_capabilities = { - groupcaps = { - cracky = { - times = {3, 2, 1}, - } - } - }, -}) - -minetest.register_craft({ - output = 'experimental:tester_tool_2', - recipe = { - {'group:crumbly','group:crumbly'}, - } -}) - ---[[minetest.register_on_joinplayer(function(player) - minetest.after(3, function() - player:set_inventory_formspec("size[8,7.5]".. - "image[1,0.6;1,2;player.png]".. - "list[current_player;main;0,3.5;8,4;]".. - "list[current_player;craft;3,0;3,3;]".. - "list[current_player;craftpreview;7,1;1,1;]") - end) -end)]] - --- Create a detached inventory -local inv = minetest.create_detached_inventory("test_inventory", { - allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) - experimental.print_to_everything("allow move asked") - return count -- Allow all - end, - allow_put = function(inv, listname, index, stack, player) - experimental.print_to_everything("allow put asked") - return 1 -- Allow only 1 - end, - allow_take = function(inv, listname, index, stack, player) - experimental.print_to_everything("allow take asked") - return 4 -- Allow 4 at max - end, - on_move = function(inv, from_list, from_index, to_list, to_index, count, player) - experimental.print_to_everything(player:get_player_name().." moved items") - end, - on_put = function(inv, listname, index, stack, player) - experimental.print_to_everything(player:get_player_name().." put items") - end, - on_take = function(inv, listname, index, stack, player) - experimental.print_to_everything(player:get_player_name().." took items") - end, -}) -inv:set_size("main", 4*6) -inv:add_item("main", "experimental:tester_tool_1") -inv:add_item("main", "experimental:tnt 5") - -minetest.register_chatcommand("test1", { - params = "", - description = "Test 1: Modify player's inventory view", - func = function(name, param) - local player = minetest.get_player_by_name(name) - if not player then - return - end - player:set_inventory_formspec( - "size[13,7.5]".. - "image[6,0.6;1,2;player.png]".. - "list[current_player;main;5,3.5;8,4;]".. - "list[current_player;craft;8,0;3,3;]".. - "list[current_player;craftpreview;12,1;1,1;]".. - "list[detached:test_inventory;main;0,0;4,6;0]".. - "button[0.5,7;2,1;button1;Button 1]".. - "button_exit[2.5,7;2,1;button2;Exit Button]" - ) - minetest.chat_send_player(name, "Done."); - end, -}) - -minetest.register_chatcommand("test_bulk_set_node", { - params = "", - description = "Test 2: bulk set a node", - func = function(name, param) - local player = minetest.get_player_by_name(name) - if not player then - return - end - local pos_list = {} - local ppos = player:get_pos() - local i = 1 - for x=2,10 do - for y=2,10 do - for z=2,10 do - pos_list[i] = {x=ppos.x + x,y = ppos.y + y,z = ppos.z + z} - i = i + 1 - end - end - end - minetest.bulk_set_node(pos_list, {name = "default:stone"}) - minetest.chat_send_player(name, "Done."); - end, -}) - -minetest.register_chatcommand("bench_bulk_set_node", { - params = "", - description = "Test 3: bulk set a node (bench)", - func = function(name, param) - local player = minetest.get_player_by_name(name) - if not player then - return - end - local pos_list = {} - local ppos = player:get_pos() - local i = 1 - for x=2,100 do - for y=2,100 do - for z=2,100 do - pos_list[i] = {x=ppos.x + x,y = ppos.y + y,z = ppos.z + z} - i = i + 1 - end - end - end - - minetest.chat_send_player(name, "Benching bulk set node. Warming up..."); - - -- warm up with default:stone to prevent having different callbacks - -- due to different node topology - minetest.bulk_set_node(pos_list, {name = "default:stone"}) - - minetest.chat_send_player(name, "Warming up finished, now benching..."); - - local start_time = os.clock() - for i=1,#pos_list do - minetest.set_node(pos_list[i], {name = "default:stone"}) - end - local middle_time = os.clock() - minetest.bulk_set_node(pos_list, {name = "default:stone"}) - local end_time = os.clock() - minetest.chat_send_player(name, - string.format("Bench results: set_node loop[%.2fms], bulk_set_node[%.2fms]", - (middle_time - start_time) * 1000, - (end_time - middle_time) * 1000 - ) - ); - end, -}) - -local formspec_test_active = false - -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formspec_test_active then - experimental.print_to_everything("Inventory fields 1: player="..player:get_player_name()..", fields="..dump(fields)) - end -end) -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formspec_test_active then - experimental.print_to_everything("Inventory fields 2: player="..player:get_player_name()..", fields="..dump(fields)) - return true -- Disable the first callback - end -end) -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formspec_test_active then - experimental.print_to_everything("Inventory fields 3: player="..player:get_player_name()..", fields="..dump(fields)) - end -end) - -minetest.register_chatcommand("test_formspec", { - param = "", - description = "Test 4: Toggle formspec test", - func = function(name, param) - formspec_test_active = not formspec_test_active - if formspec_test_active then - minetest.chat_send_player(name, "Formspec test enabled!") - else - minetest.chat_send_player(name, "Formspec test disabled!") - end - end -}) - -minetest.log("info", "experimental modname="..dump(minetest.get_current_modname())) -minetest.log("info", "experimental modpath="..dump(minetest.get_modpath("experimental"))) -minetest.log("info", "experimental worldpath="..dump(minetest.get_worldpath())) - - -core.register_on_mods_loaded(function() - core.log("action", "Yeah experimental loaded mods.") -end) - --- END diff --git a/games/minimal/mods/experimental/mod.conf b/games/minimal/mods/experimental/mod.conf deleted file mode 100644 index 018e761b3..000000000 --- a/games/minimal/mods/experimental/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = experimental -description = Minimal mod to test features -depends = default, stairs diff --git a/games/minimal/mods/experimental/modchannels.lua b/games/minimal/mods/experimental/modchannels.lua deleted file mode 100644 index 8fce6cfc4..000000000 --- a/games/minimal/mods/experimental/modchannels.lua +++ /dev/null @@ -1,16 +0,0 @@ --- --- Mod channels experimental handlers --- -local mod_channel = core.mod_channel_join("experimental_preview") - -core.register_on_modchannel_message(function(channel, sender, message) - print("[minimal][modchannels] Server received message `" .. message - .. "` on channel `" .. channel .. "` from sender `" .. sender .. "`") - - if mod_channel:is_writeable() then - mod_channel:send_all("experimental answers to preview") - mod_channel:leave() - end -end) - -print("[minimal][modchannels] Code loaded!") diff --git a/games/minimal/mods/experimental/textures/experimental_dummyball.png b/games/minimal/mods/experimental/textures/experimental_dummyball.png Binary files differdeleted file mode 100644 index 256414f46..000000000 --- a/games/minimal/mods/experimental/textures/experimental_dummyball.png +++ /dev/null diff --git a/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png b/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png Binary files differdeleted file mode 100644 index 587923c86..000000000 --- a/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png +++ /dev/null diff --git a/games/minimal/mods/experimental/textures/experimental_tiled.png b/games/minimal/mods/experimental/textures/experimental_tiled.png Binary files differdeleted file mode 100644 index 67397b902..000000000 --- a/games/minimal/mods/experimental/textures/experimental_tiled.png +++ /dev/null diff --git a/games/minimal/mods/give_initial_stuff/init.lua b/games/minimal/mods/give_initial_stuff/init.lua deleted file mode 100644 index 29b835c7d..000000000 --- a/games/minimal/mods/give_initial_stuff/init.lua +++ /dev/null @@ -1,16 +0,0 @@ -minetest.register_on_newplayer(function(player) - print("[minimal] giving initial stuff to player") - player:get_inventory():add_item('main', 'default:pick_stone') - player:get_inventory():add_item('main', 'default:torch 99') - player:get_inventory():add_item('main', 'default:cobble 99') - player:get_inventory():add_item('main', 'default:wood 99') - player:get_inventory():add_item('main', 'default:axe_steel') - player:get_inventory():add_item('main', 'default:shovel_steel') - player:get_inventory():add_item('main', 'default:pick_wood') - player:get_inventory():add_item('main', 'default:pick_steel') - player:get_inventory():add_item('main', 'default:pick_mese') - player:get_inventory():add_item('main', 'default:mese 99') - player:get_inventory():add_item('main', 'default:water_source 99') - player:get_inventory():add_item('main', 'experimental:tester_tool_1') -end) - diff --git a/games/minimal/mods/give_initial_stuff/mod.conf b/games/minimal/mods/give_initial_stuff/mod.conf deleted file mode 100644 index bd293f418..000000000 --- a/games/minimal/mods/give_initial_stuff/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = give_initial_stuff -description = Gives items to players on join -depends = default diff --git a/games/minimal/mods/legacy/init.lua b/games/minimal/mods/legacy/init.lua deleted file mode 100644 index 98ad69be0..000000000 --- a/games/minimal/mods/legacy/init.lua +++ /dev/null @@ -1,128 +0,0 @@ --- legacy (Minetest 0.4 mod) --- Provides as much backwards-compatibility as feasible - --- --- Aliases to support loading 0.3 and old 0.4 worlds and inventories --- - -minetest.register_alias("stone", "default:stone") -minetest.register_alias("stone_with_coal", "default:stone_with_coal") -minetest.register_alias("stone_with_iron", "default:stone_with_iron") -minetest.register_alias("dirt_with_grass", "default:dirt_with_grass") -minetest.register_alias("dirt_with_grass_footsteps", "default:dirt_with_grass_footsteps") -minetest.register_alias("dirt", "default:dirt") -minetest.register_alias("sand", "default:sand") -minetest.register_alias("gravel", "default:gravel") -minetest.register_alias("sandstone", "default:sandstone") -minetest.register_alias("clay", "default:clay") -minetest.register_alias("brick", "default:brick") -minetest.register_alias("tree", "default:tree") -minetest.register_alias("jungletree", "default:jungletree") -minetest.register_alias("junglegrass", "default:junglegrass") -minetest.register_alias("leaves", "default:leaves") -minetest.register_alias("cactus", "default:cactus") -minetest.register_alias("papyrus", "default:papyrus") -minetest.register_alias("bookshelf", "default:bookshelf") -minetest.register_alias("glass", "default:glass") -minetest.register_alias("wooden_fence", "default:fence_wood") -minetest.register_alias("rail", "default:rail") -minetest.register_alias("ladder", "default:ladder") -minetest.register_alias("wood", "default:wood") -minetest.register_alias("mese", "default:mese") -minetest.register_alias("cloud", "default:cloud") -minetest.register_alias("water_flowing", "default:water_flowing") -minetest.register_alias("water_source", "default:water_source") -minetest.register_alias("lava_flowing", "default:lava_flowing") -minetest.register_alias("lava_source", "default:lava_source") -minetest.register_alias("torch", "default:torch") -minetest.register_alias("sign_wall", "default:sign_wall") -minetest.register_alias("furnace", "default:furnace") -minetest.register_alias("chest", "default:chest") -minetest.register_alias("locked_chest", "default:chest_locked") -minetest.register_alias("cobble", "default:cobble") -minetest.register_alias("mossycobble", "default:mossycobble") -minetest.register_alias("steelblock", "default:steelblock") -minetest.register_alias("nyancat", "default:nyancat") -minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow") -minetest.register_alias("sapling", "default:sapling") -minetest.register_alias("apple", "default:apple") - -minetest.register_alias("WPick", "default:pick_wood") -minetest.register_alias("STPick", "default:pick_stone") -minetest.register_alias("SteelPick", "default:pick_steel") -minetest.register_alias("MesePick", "default:pick_mese") -minetest.register_alias("WShovel", "default:shovel_wood") -minetest.register_alias("STShovel", "default:shovel_stone") -minetest.register_alias("SteelShovel", "default:shovel_steel") -minetest.register_alias("WAxe", "default:axe_wood") -minetest.register_alias("STAxe", "default:axe_stone") -minetest.register_alias("SteelAxe", "default:axe_steel") -minetest.register_alias("WSword", "default:sword_wood") -minetest.register_alias("STSword", "default:sword_stone") -minetest.register_alias("SteelSword", "default:sword_steel") - -minetest.register_alias("Stick", "default:stick") -minetest.register_alias("paper", "default:paper") -minetest.register_alias("book", "default:book") -minetest.register_alias("lump_of_coal", "default:coal_lump") -minetest.register_alias("lump_of_iron", "default:iron_lump") -minetest.register_alias("lump_of_clay", "default:clay_lump") -minetest.register_alias("steel_ingot", "default:steel_ingot") -minetest.register_alias("clay_brick", "default:clay_brick") -minetest.register_alias("scorched_stuff", "default:scorched_stuff") - --- --- Old items --- - -minetest.register_craftitem(":rat", { - description = "Rat", - inventory_image = "rat.png", - on_drop = function(item, dropper, pos) - item:take_item() - return item - end, - on_place = function(item, dropped, pointed) - pos = minetest.get_pointed_thing_position(pointed, true) - if pos ~= nil then - item:take_item() - return item - end - end -}) - -minetest.register_craftitem(":cooked_rat", { - description = "Cooked rat", - inventory_image = "cooked_rat.png", - on_use = minetest.item_eat(6), -}) - -minetest.register_craftitem(":firefly", { - description = "Firefly", - inventory_image = "firefly.png", - on_drop = function(item, dropper, pos) - item:take_item() - return item - end, - on_place = function(item, dropped, pointed) - pos = minetest.get_pointed_thing_position(pointed, true) - if pos ~= nil then - item:take_item() - return item - end - end -}) - -minetest.register_craft({ - type = "cooking", - output = "cooked_rat", - recipe = "rat", -}) - -minetest.register_craft({ - type = "cooking", - output = "scorched_stuff", - recipe = "cooked_rat", -}) - --- END diff --git a/games/minimal/mods/legacy/mod.conf b/games/minimal/mods/legacy/mod.conf deleted file mode 100644 index 12102e1ee..000000000 --- a/games/minimal/mods/legacy/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = legacy -description = Aliases allowing support for 0.3.x worlds -depends = default diff --git a/games/minimal/mods/legacy/textures/apple_iron.png b/games/minimal/mods/legacy/textures/apple_iron.png Binary files differdeleted file mode 100644 index db5945856..000000000 --- a/games/minimal/mods/legacy/textures/apple_iron.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/cooked_rat.png b/games/minimal/mods/legacy/textures/cooked_rat.png Binary files differdeleted file mode 100644 index 776dc4ee0..000000000 --- a/games/minimal/mods/legacy/textures/cooked_rat.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/dungeon_master.png b/games/minimal/mods/legacy/textures/dungeon_master.png Binary files differdeleted file mode 100644 index d52d8ccd7..000000000 --- a/games/minimal/mods/legacy/textures/dungeon_master.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/fireball.png b/games/minimal/mods/legacy/textures/fireball.png Binary files differdeleted file mode 100644 index 124469ce4..000000000 --- a/games/minimal/mods/legacy/textures/fireball.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/firefly.png b/games/minimal/mods/legacy/textures/firefly.png Binary files differdeleted file mode 100644 index ea95a6a84..000000000 --- a/games/minimal/mods/legacy/textures/firefly.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/oerkki1.png b/games/minimal/mods/legacy/textures/oerkki1.png Binary files differdeleted file mode 100644 index 061709c80..000000000 --- a/games/minimal/mods/legacy/textures/oerkki1.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/oerkki1_damaged.png b/games/minimal/mods/legacy/textures/oerkki1_damaged.png Binary files differdeleted file mode 100644 index b2a30337e..000000000 --- a/games/minimal/mods/legacy/textures/oerkki1_damaged.png +++ /dev/null diff --git a/games/minimal/mods/legacy/textures/rat.png b/games/minimal/mods/legacy/textures/rat.png Binary files differdeleted file mode 100644 index 04cf9b865..000000000 --- a/games/minimal/mods/legacy/textures/rat.png +++ /dev/null diff --git a/games/minimal/mods/stairs/init.lua b/games/minimal/mods/stairs/init.lua deleted file mode 100644 index 74b7890ee..000000000 --- a/games/minimal/mods/stairs/init.lua +++ /dev/null @@ -1,93 +0,0 @@ -stairs = {} - --- Node will be called stairs:stair_<subname> -function stairs.register_stair(subname, recipeitem, groups, images, description) - minetest.register_node(":stairs:stair_" .. subname, { - description = description, - drawtype = "nodebox", - tiles = images, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = true, - groups = groups, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - }) - - minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 4', - recipe = { - {recipeitem, "", ""}, - {recipeitem, recipeitem, ""}, - {recipeitem, recipeitem, recipeitem}, - }, - }) -end - --- Node will be called stairs:slab_<subname> -function stairs.register_slab(subname, recipeitem, groups, images, description) - minetest.register_node(":stairs:slab_" .. subname, { - description = description, - drawtype = "nodebox", - tiles = images, - paramtype = "light", - is_ground_content = true, - groups = groups, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, - }) - - minetest.register_craft({ - output = 'stairs:slab_' .. subname .. ' 3', - recipe = { - {recipeitem, recipeitem, recipeitem}, - }, - }) -end - --- Nodes will be called stairs:{stair,slab}_<subname> -function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab) - stairs.register_stair(subname, recipeitem, groups, images, desc_stair) - stairs.register_slab(subname, recipeitem, groups, images, desc_slab) -end - -stairs.register_stair_and_slab("wood", "default:wood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - {"default_wood.png"}, - "Wooden stair", - "Wooden slab") - -stairs.register_stair_and_slab("stone", "default:stone", - {cracky=3}, - {"default_stone.png"}, - "Stone stair", - "Stone slab") - -stairs.register_stair_and_slab("cobble", "default:cobble", - {cracky=3}, - {"default_cobble.png"}, - "Cobble stair", - "Cobble slab") - -stairs.register_stair_and_slab("brick", "default:brick", - {cracky=3}, - {"default_brick.png"}, - "Brick stair", - "Brick slab") - -stairs.register_stair_and_slab("sandstone", "default:sandstone", - {crumbly=2,cracky=2}, - {"default_sandstone.png"}, - "Sandstone stair", - "Sandstone slab") diff --git a/games/minimal/mods/stairs/mod.conf b/games/minimal/mods/stairs/mod.conf deleted file mode 100644 index 32bda004a..000000000 --- a/games/minimal/mods/stairs/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = stairs -description = Adds stairs and slabs -depends = default diff --git a/games/minimal/mods/test/crafting.lua b/games/minimal/mods/test/crafting.lua deleted file mode 100644 index 8964bd25a..000000000 --- a/games/minimal/mods/test/crafting.lua +++ /dev/null @@ -1,71 +0,0 @@ -local function test_clear_craft() - minetest.log("info", "Testing clear_craft") - -- Clearing by output - minetest.register_craft({ - output = "foo", - recipe = {{"bar"}} - }) - minetest.register_craft({ - output = "foo 4", - recipe = {{"foo", "bar"}} - }) - assert(#minetest.get_all_craft_recipes("foo") == 2) - minetest.clear_craft({output="foo"}) - assert(minetest.get_all_craft_recipes("foo") == nil) - -- Clearing by input - minetest.register_craft({ - output = "foo 4", - recipe = {{"foo", "bar"}} - }) - assert(#minetest.get_all_craft_recipes("foo") == 1) - minetest.clear_craft({recipe={{"foo", "bar"}}}) - assert(minetest.get_all_craft_recipes("foo") == nil) -end -test_clear_craft() - -local function test_get_craft_result() - minetest.log("info", "test_get_craft_result()") - -- normal - local input = { - method = "normal", - width = 2, - items = {"", "default:coal_lump", "", "default:stick"} - } - minetest.log("info", "torch crafting input: "..dump(input)) - local output, decremented_input = minetest.get_craft_result(input) - minetest.log("info", "torch crafting output: "..dump(output)) - minetest.log("info", "torch crafting decremented input: "..dump(decremented_input)) - assert(output.item) - minetest.log("info", "torch crafting output.item:to_table(): "..dump(output.item:to_table())) - assert(output.item:get_name() == "default:torch") - assert(output.item:get_count() == 4) - -- fuel - local input = { - method = "fuel", - width = 1, - items = {"default:coal_lump"} - } - minetest.log("info", "coal fuel input: "..dump(input)) - local output, decremented_input = minetest.get_craft_result(input) - minetest.log("info", "coal fuel output: "..dump(output)) - minetest.log("info", "coal fuel decremented input: "..dump(decremented_input)) - assert(output.time) - assert(output.time > 0) - -- cook - local input = { - method = "cooking", - width = 1, - items = {"default:cobble"} - } - minetest.log("info", "cobble cooking input: "..dump(output)) - local output, decremented_input = minetest.get_craft_result(input) - minetest.log("info", "cobble cooking output: "..dump(output)) - minetest.log("info", "cobble cooking decremented input: "..dump(decremented_input)) - assert(output.time) - assert(output.time > 0) - assert(output.item) - minetest.log("info", "cobble cooking output.item:to_table(): "..dump(output.item:to_table())) - assert(output.item:get_name() == "default:stone") - assert(output.item:get_count() == 1) -end -test_get_craft_result() diff --git a/games/minimal/mods/test/formspec.lua b/games/minimal/mods/test/formspec.lua deleted file mode 100644 index d2123b4af..000000000 --- a/games/minimal/mods/test/formspec.lua +++ /dev/null @@ -1,229 +0,0 @@ -local color = minetest.colorize
-
-local clip_fs = [[
- style_type[label,button,image_button,item_image_button,
- tabheader,scrollbar,table,animated_image
- ,field,textarea,checkbox,dropdown;noclip=%c]
-
- label[0,0;A clipping test]
- button[0,1;3,0.8;x;A clipping test]
- image_button[0,2;3,0.8;bubble.png;x2;A clipping test]
- item_image_button[0,3;3,0.8;default:sword_steel;x3;A clipping test]
- tabheader[0,4.7;3,0.63;x4;Clip,Test,Text,Tabs;1;false;false]
- field[0,5;3,0.8;x5;Title;]
- textarea[0,6;3,1;x6;Title;]
- checkbox[0,7.5;x7;This is a test;true]
- dropdown[0,8;3,0.8;x8;Select An Item,One,Two,Three,Four,Five;1]
- scrollbar[0,9;3,0.8;horizontal;x9;3]
- tablecolumns[text;text]
- table[0,10;3,1;x10;one,two,three,four;1]
- animated_image[-0.5,11;4.5,1;;test_animation.png;4;100]
-]]
-
-
-local style_fs = [[
- style[one_btn1;bgcolor=red;textcolor=yellow;bgcolor_hovered=orange;
- bgcolor_pressed=purple]
- button[0,0;2.5,0.8;one_btn1;Button]
-
- style[one_btn2;border=false;textcolor=cyan] ]]..
- "button[0,1.05;2.5,0.8;one_btn2;Text " .. color("#FF0", "Yellow") .. [[]
-
- style[one_btn3;bgimg=bubble.png;bgimg_hovered=default_apple.png;
- bgimg_pressed=heart.png]
- button[0,2.1;1,1;one_btn3;Bor]
-
- style[one_btn4;bgimg=bubble.png;bgimg_hovered=default_apple.png;
- bgimg_pressed=heart.png;border=false]
- button[1.25,2.1;1,1;one_btn4;Bub]
-
- style[one_btn5;bgimg=bubble.png;bgimg_hovered=default_apple.png;
- bgimg_pressed=heart.png;border=false;alpha=false]
- button[0,3.35;1,1;one_btn5;Alph]
-
- style[one_btn6;border=true]
- image_button[0,4.6;1,1;bubble.png;one_btn6;Border]
-
- style[one_btn7;border=false]
- image_button[1.25,4.6;1,1;bubble.png;one_btn7;NoBor]
-
- style[one_btn8;border=false]
- image_button[0,5.85;1,1;bubble.png;one_btn8;Border;false;true;heart.png]
-
- style[one_btn9;border=true]
- image_button[1.25,5.85;1,1;bubble.png;one_btn9;NoBor;false;false;heart.png]
-
- style[one_btn10;alpha=false]
- image_button[0,7.1;1,1;bubble.png;one_btn10;NoAlpha]
-
- style[one_btn11;alpha=true]
- image_button[1.25,7.1;1,1;bubble.png;one_btn11;Alpha]
-
- style[one_btn12;border=true]
- item_image_button[0,8.35;1,1;default:sword_steel;one_btn12;Border]
-
- style[one_btn13;border=false]
- item_image_button[1.25,8.35;1,1;default:sword_steel;one_btn13;NoBor]
-
- style[one_btn14;border=false;bgimg=test_bg.png;bgimg_hovered=test_bg_hovered.png;bgimg_pressed=test_bg_pressed.png;fgimg=bubble.png;fgimg_hovered=default_apple.png;fgimg_pressed=heart.png]
- image_button[0,9.6;1,1;bubble.png;one_btn14;Bg]
-
- style[one_btn15;border=false;bgimg=test_bg.png;bgimg_hovered=test_bg_hovered.png;bgimg_pressed=test_bg_pressed.png]
- item_image_button[1.25,9.6;1,1;default:sword_steel;one_btn15;Bg]
-
- style[one_btn16;border=false;bgimg=test_bg_9slice.png;bgimg_hovered=test_bg_9slice_hovered.png;bgimg_pressed=test_bg_9slice_pressed.png;bgimg_middle=4,6]
- button[2.5,9.6;2,1;one_btn16;9-Slice Bg]
-
-
-
- container[2.75,0]
-
- style[one_tb1;textcolor=Yellow]
- tabheader[0,3;2.5,0.63;one_tb1;Yellow,Text,Tabs;1;false;false]
-
- style[one_f1;textcolor=yellow]
- field[0,4.25;2.5,0.8;one_f1;Field One;Yellow Text]
-
- style[one_f2;border=false;textcolor=cyan]
- field[0,5.75;2.5,0.8;one_f2;Field Two;Borderless Cyan Text]
-
- style[one_f3;textcolor=yellow]
- textarea[0,7.025;2.5,0.8;one_f3;Label;]] ..
- minetest.formspec_escape("Yellow Text\nLine two") .. [[ ]
-
- style[one_f4;border=false;textcolor=cyan]
- textarea[0,8.324999999999999;2.5,0.8;one_f4;Label;]] ..
- minetest.formspec_escape("Borderless Cyan Text\nLine two") .. [[ ]
-
- container_end[]
-]]
-
---style_type[label;textcolor=green]
---label[0,0;Green]
---style_type[label;textcolor=blue]
---label[0,1;Blue]
---style_type[label;textcolor=;border=true]
---label[1.2,0;Border]
---style_type[label;border=true;bgcolor=red]
---label[1.2,1;Background]
---style_type[label;border=;bgcolor=]
---label[0.75,2;Reset]
-
-
-local pages = {
- [[
- formspec_version[3]
- size[12,12]
- image_button[0,0;1,1;logo.png;;1x1]
- image_button[1,0;2,2;logo.png;;2x2]
- button[0,2;1,1;;1x1]
- button[1,2;2,2;;2x2]
- item_image[0,4;1,1;air]
- item_image[1,4;2,2;air]
- item_image_button[0,6;1,1;test:node;;1x1]
- item_image_button[1,6;2,2;test:node;;2x2]
- field[3,.5;3,.5;name;Field;text]
- pwdfield[6,.5;3,1;name;Password Field]
- field[3,1;3,1;;Read-Only Field;text]
- textarea[3,2;3,.5;name;Textarea;text]
- textarea[6,2;3,2;name;Textarea;text\nmore text]
- textarea[3,3;3,1;;Read-Only Textarea;text\nmore text]
- textlist[3,4;3,2;name;Textlist,Perfect Coordinates;1;false]
- tableoptions[highlight=#ABCDEF75;background=#00000055;border=false]
- table[6,4;3,2;name;Table,Cool Stuff,Foo,Bar;2]
- dropdown[3,6;3,1;name;This,is,a,dropdown;1]
- dropdown[6,6;3,2;name;I,am,a,bigger,dropdown;5]
- image[0,8;3,2;ignore.png]
- box[3,7;3,1;#00A3FF]
- checkbox[3,8;name;Check me!;false]
- checkbox[3,9;name;Uncheck me now!;true]
- scrollbar[0,11.5;11.5,.5;horizontal;name;500]
- scrollbar[11.5,0;.5,11.5;vertical;name;0]
- list[current_player;main;6,8;3,2;1]
- button[9,0;2.5,1;name;]
- button[9,1;2.5,1;name;]
- button[9,2;2.5,1;name;] ]]..
- "label[9,0.5;This is a label.\nLine\nLine\nLine\nEnd]"..
- [[button[9,3;1,1;name;]
- vertlabel[9,4;VERT]
- label[10,3;HORIZ]
- tabheader[6.5,0;6,0.65;name;Tab 1,Tab 2,Tab 3,Secrets;1;false;false]
- ]],
-
- "formspec_version[3]size[12,12]" ..
- ("label[0.375,0.375;Styled - %s %s]"):format(
- color("#F00", "red text"),
- color("#77FF00CC", "green text")) ..
- "label[6.375,0.375;Unstyled]" ..
- "box[0,0.75;12,0.1;#999]" ..
- "box[6,0.85;0.1,11.15;#999]" ..
- "container[0.375,1.225]" ..
- style_fs ..
- "container_end[]container[6.375,1.225]" ..
- style_fs:gsub("one_", "two_"):gsub("style%[[^%]]+%]", ""):gsub("style_type%[[^%]]+%]", "") ..
- "container_end[]",
-
- "formspec_version[3]size[12,13]" ..
- "label[0.1,0.5;Clip]" ..
- "container[-2.5,1]" .. clip_fs:gsub("%%c", "false") .. "container_end[]" ..
- "label[11,0.5;Noclip]" ..
- "container[11.5,1]" .. clip_fs:gsub("%%c", "true") .. "container_end[]",
-
- [[
- formspec_version[3]
- size[12,12]
- animated_image[0.5,0.5;1,1;;test_animation.png;4;100]
- animated_image[0.5,1.75;1,1;;test_animation.jpg;4;100]
- animated_image[1.75,0.5;1,1;;test_animation.png;100;100]
- animated_image[3,0.5;1,1;ani_img_1;test_animation.png;4;1000]
- button[4.25,0.5;1,1;ani_btn_1;Current
-Number]
- animated_image[3,1.75;1,1;ani_img_2;test_animation.png;4;1000;2]
- button[4.25,1.75;1,1;ani_btn_2;Current
-Number]
- animated_image[3,3;1,1;;test_animation.png;4;0]
- animated_image[3,4.25;1,1;;test_animation.png;4;0;3]
- animated_image[5.5,0.5;5,2;;test_animation.png;4;100]
- animated_image[5.5,2.75;5,2;;test_animation.jpg;4;100]
- ]]
-}
-
-local function show_test_formspec(pname, page_id)
- page_id = page_id or 2
-
- local fs = pages[page_id] .. "tabheader[0,0;6,0.65;maintabs;Real Coord,Styles,Noclip,MiscEle;" .. page_id .. ";false;false]"
-
- minetest.show_formspec(pname, "test:formspec", fs)
-end
-
-minetest.register_on_player_receive_fields(function(player, formname, fields)
- if formname ~= "test:formspec" then
- return false
- end
-
- if fields.maintabs then
- show_test_formspec(player:get_player_name(), tonumber(fields.maintabs))
- return true
- end
-
- if fields.ani_img_1 and fields.ani_btn_1 then
- minetest.chat_send_all(fields.ani_img_1)
- elseif fields.ani_img_2 and fields.ani_btn_2 then
- minetest.chat_send_all(fields.ani_img_2)
- end
-end)
-
-minetest.register_node("test:node", {
- tiles = { "air.png" }
-})
-
-minetest.register_chatcommand("formspec", {
- func = function(name)
- if not minetest.get_player_by_name(name) then
- return false, "You need to be online!"
- end
-
- show_test_formspec(name)
- return true, "Opened formspec"
- end,
-})
diff --git a/games/minimal/mods/test/init.lua b/games/minimal/mods/test/init.lua deleted file mode 100644 index 4e2a51086..000000000 --- a/games/minimal/mods/test/init.lua +++ /dev/null @@ -1,15 +0,0 @@ --- --- Minimal Development Test --- Mod: test --- - - --- Try out PseudoRandom -pseudo = PseudoRandom(13) -assert(pseudo:next() == 22290) -assert(pseudo:next() == 13854) - -local modpath = minetest.get_modpath("test") -dofile(modpath .. "/player.lua") -dofile(modpath .. "/formspec.lua") -dofile(modpath .. "/crafting.lua") diff --git a/games/minimal/mods/test/mod.conf b/games/minimal/mods/test/mod.conf deleted file mode 100644 index ae6387e09..000000000 --- a/games/minimal/mods/test/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = test -description = Adds unit tests for the engine -optional_depends = default diff --git a/games/minimal/mods/test/player.lua b/games/minimal/mods/test/player.lua deleted file mode 100644 index 563d0d985..000000000 --- a/games/minimal/mods/test/player.lua +++ /dev/null @@ -1,76 +0,0 @@ --- --- Minimal Development Test --- Mod: test --- - --- --- HP Change Reasons --- -local expect = nil -local function run_hpchangereason_tests(player) - expect = { type = "set_hp", from = "mod" } - player:set_hp(3) - assert(expect == nil) - - expect = { a = 234, type = "set_hp", from = "mod" } - player:set_hp(7, { a= 234 }) - assert(expect == nil) - - expect = { df = 3458973454, type = "fall", from = "mod" } - player:set_hp(10, { type = "fall", df = 3458973454 }) - assert(expect == nil) -end -minetest.register_on_player_hpchange(function(player, hp, reason) - if not expect then - return - end - - for key, value in pairs(reason) do - assert(expect[key] == value) - end - - for key, value in pairs(expect) do - assert(reason[key] == value) - end - - expect = nil -end) - - -local function run_player_meta_tests(player) - local meta = player:get_meta() - meta:set_string("foo", "bar") - assert(meta:contains("foo")) - assert(meta:get_string("foo") == "bar") - assert(meta:get("foo") == "bar") - - local meta2 = player:get_meta() - assert(meta2:get_string("foo") == "bar") - assert(meta2:get("foo") == "bar") - assert(meta:equals(meta2)) - assert(player:get_attribute("foo") == "bar") - - meta:set_string("bob", "dillan") - assert(meta:get_string("foo") == "bar") - assert(meta:get_string("bob") == "dillan") - assert(meta:get("bob") == "dillan") - assert(meta2:get_string("foo") == "bar") - assert(meta2:get_string("bob") == "dillan") - assert(meta2:get("bob") == "dillan") - assert(meta:equals(meta2)) - assert(player:get_attribute("foo") == "bar") - assert(player:get_attribute("bob") == "dillan") - - meta:set_string("foo", "") - assert(not meta:contains("foo")) - assert(meta:get("foo") == nil) - assert(meta:get_string("foo") == "") - assert(meta:equals(meta2)) -end - -local function run_player_tests(player) - run_hpchangereason_tests(player) - run_player_meta_tests(player) - minetest.chat_send_all("All tests pass!") -end -minetest.register_on_joinplayer(run_player_tests) diff --git a/games/minimal/mods/test/textures/test_animation.jpg b/games/minimal/mods/test/textures/test_animation.jpg Binary files differdeleted file mode 100644 index b98ca2677..000000000 --- a/games/minimal/mods/test/textures/test_animation.jpg +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_animation.png b/games/minimal/mods/test/textures/test_animation.png Binary files differdeleted file mode 100644 index 1752362ff..000000000 --- a/games/minimal/mods/test/textures/test_animation.png +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_bg.png b/games/minimal/mods/test/textures/test_bg.png Binary files differdeleted file mode 100644 index f0f392926..000000000 --- a/games/minimal/mods/test/textures/test_bg.png +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_bg_9slice.png b/games/minimal/mods/test/textures/test_bg_9slice.png Binary files differdeleted file mode 100644 index f9fe6870b..000000000 --- a/games/minimal/mods/test/textures/test_bg_9slice.png +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_bg_9slice_hovered.png b/games/minimal/mods/test/textures/test_bg_9slice_hovered.png Binary files differdeleted file mode 100644 index e614a5eee..000000000 --- a/games/minimal/mods/test/textures/test_bg_9slice_hovered.png +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_bg_9slice_pressed.png b/games/minimal/mods/test/textures/test_bg_9slice_pressed.png Binary files differdeleted file mode 100644 index 125c774fb..000000000 --- a/games/minimal/mods/test/textures/test_bg_9slice_pressed.png +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_bg_hovered.png b/games/minimal/mods/test/textures/test_bg_hovered.png Binary files differdeleted file mode 100644 index b9ce8fd31..000000000 --- a/games/minimal/mods/test/textures/test_bg_hovered.png +++ /dev/null diff --git a/games/minimal/mods/test/textures/test_bg_pressed.png b/games/minimal/mods/test/textures/test_bg_pressed.png Binary files differdeleted file mode 100644 index 76aafb8c1..000000000 --- a/games/minimal/mods/test/textures/test_bg_pressed.png +++ /dev/null |