--[[ More Blocks: crafting recipes Copyright (c) 2011-2017 Hugo Locurcio and contributors. 2018-2023 Och_Noe Licensed under the zlib license. See LICENSE.md for more information. --]] minetest.register_craft({ output = "default:stick", recipe = {{"default:dry_shrub"},} }) minetest.register_craft({ output = "default:stick", recipe = {{"group:sapling"},} }) minetest.register_craft({ output = "default:wood 2", recipe = { {"group:wood","",""}, {"group:wood","",""}, {"","",""}} }) minetest.register_craft({ output = "default:wood", recipe = { {"default:stick", "default:stick"}, {"default:stick", "default:stick"}, } }) minetest.register_craft({ output = "default:dirt_with_grass", type = "shapeless", recipe = {"default:junglegrass", "default:dirt"}, }) minetest.register_craft({ output = "default:dirt_with_grass", type = "shapeless", recipe = {"default:mese", "default:dirt"}, }) minetest.register_craft({ output = "default:mossycobble", type = "shapeless", recipe = {"default:junglegrass", "default:cobble"}, }) minetest.register_craft({ output = "default:mossycobble", type = "shapeless", recipe = {"default:mese_crystal_fragment", "default:cobble"}, }) minetest.register_craft({ output = "moreblocks:wood_tile 9", recipe = { {"default:wood", "default:wood", "default:wood"}, {"default:wood", "default:wood", "default:wood"}, {"default:wood", "default:wood", "default:wood"}, } }) minetest.register_craft({ output = "moreblocks:wood_tile_flipped", recipe = {{"moreblocks:wood_tile"},} }) minetest.register_craft({ output = "moreblocks:wood_tile_center 9", recipe = { {"default:wood", "default:wood", "default:wood"}, {"default:wood", "moreblocks:wood_tile", "default:wood"}, {"default:wood", "default:wood", "default:wood"}, } }) minetest.register_craft({ output = "moreblocks:wood_tile_full 4", recipe = { {"moreblocks:wood_tile", "moreblocks:wood_tile"}, {"moreblocks:wood_tile", "moreblocks:wood_tile"}, } }) minetest.register_craft({ output = "moreblocks:wood_tile_up", recipe = { {"default:stick"}, {"moreblocks:wood_tile_center"}, } }) minetest.register_craft({ output = "moreblocks:wood_tile_down", recipe = { {"moreblocks:wood_tile_center"}, {"default:stick"}, } }) minetest.register_craft({ output = "moreblocks:wood_tile_left", recipe = { {"default:stick", "moreblocks:wood_tile_center"}, } }) minetest.register_craft({ output = "moreblocks:wood_tile_right", recipe = { {"moreblocks:wood_tile_center", "default:stick"}, } }) minetest.register_craft({ output = "moreblocks:circle_stone_bricks 8", recipe = { {"default:stone", "default:stone", "default:stone"}, {"default:stone", "", "default:stone"}, {"default:stone", "default:stone", "default:stone"}, } }) minetest.register_craft({ output = "moreblocks:all_faces_tree 8", recipe = { {"default:tree", "default:tree", "default:tree"}, {"default:tree", "", "default:tree"}, {"default:tree", "default:tree", "default:tree"}, } }) minetest.register_craft({ output = "moreblocks:all_faces_jungle_tree 8", recipe = { {"default:jungletree", "default:jungletree", "default:jungletree"}, {"default:jungletree", "", "default:jungletree"}, {"default:jungletree", "default:jungletree", "default:jungletree"}, } }) minetest.register_craft({ output = "moreblocks:all_faces_pine_tree 8", recipe = { {"default:pine_tree", "default:pine_tree", "default:pine_tree"}, {"default:pine_tree", "", "default:pine_tree"}, {"default:pine_tree", "default:pine_tree", "default:pine_tree"}, } }) minetest.register_craft({ output = "moreblocks:all_faces_acacia_tree 8", recipe = { {"default:acacia_tree", "default:acacia_tree", "default:acacia_tree"}, {"default:acacia_tree", "", "default:acacia_tree"}, {"default:acacia_tree", "default:acacia_tree", "default:acacia_tree"}, } }) minetest.register_craft({ output = "moreblocks:all_faces_aspen_tree 8", recipe = { {"default:aspen_tree", "default:aspen_tree", "default:aspen_tree"}, {"default:aspen_tree", "", "default:aspen_tree"}, {"default:aspen_tree", "default:aspen_tree", "default:aspen_tree"}, } }) minetest.register_craft({ output = "moreblocks:all_faces_mushroom_tree 8", recipe = { {"ethereal:mushroom_trunk", "ethereal:mushroom_trunk", "ethereal:mushroom_trunk"}, {"ethereal:mushroom_trunk", "", "ethereal:mushroom_trunk"}, {"ethereal:mushroom_trunk", "ethereal:mushroom_trunk", "ethereal:mushroom_trunk"}, } }) minetest.register_craft({ output = "moreblocks:sweeper 4", recipe = { {"default:junglegrass"}, {"default:stick"}, } }) minetest.register_craft({ output = "moreblocks:stone_tile 4", recipe = { {"default:cobble", "default:cobble"}, {"default:cobble", "default:cobble"}, } }) -- added 2020-04-27 - requested by ywang minetest.register_craft({ output = "moreblocks:stone_tile 36", recipe = { {"moreblocks:cobble_compressed", "moreblocks:cobble_compressed"}, {"moreblocks:cobble_compressed", "moreblocks:cobble_compressed"}, } }) -- added 2020-08-29 - requested by ywang minetest.register_craft({ output = "moreblocks:stone_tile 324", recipe = { {"moreblocks:cobble_condensed", "moreblocks:cobble_condensed"}, {"moreblocks:cobble_condensed", "moreblocks:cobble_condensed"}, } }) minetest.register_craft({ output = "moreblocks:split_stone_tile", recipe = { {"moreblocks:stone_tile"}, } }) minetest.register_craft({ output = "moreblocks:split_stone_tile 9", recipe = { {"moreblocks:stone_tile","moreblocks:stone_tile","moreblocks:stone_tile"}, {"moreblocks:stone_tile","moreblocks:stone_tile","moreblocks:stone_tile"}, {"moreblocks:stone_tile","moreblocks:stone_tile","moreblocks:stone_tile"}, } }) minetest.register_craft({ output = "moreblocks:split_stone_tile_alt", recipe = { {"moreblocks:split_stone_tile"}, } }) minetest.register_craft({ output = "moreblocks:split_stone_tile_alt 9", recipe = { {"moreblocks:split_stone_tile","moreblocks:split_stone_tile","moreblocks:split_stone_tile"}, {"moreblocks:split_stone_tile","moreblocks:split_stone_tile","moreblocks:split_stone_tile"}, {"moreblocks:split_stone_tile","moreblocks:split_stone_tile","moreblocks:split_stone_tile"}, } }) minetest.register_craft({ output = "moreblocks:stone_tile", recipe = { {"moreblocks:split_stone_tile_alt"}, } }) minetest.register_craft({ output = "moreblocks:stone_tile 9", recipe = { {"moreblocks:split_stone_tile_alt","moreblocks:split_stone_tile_alt","moreblocks:split_stone_tile_alt"}, {"moreblocks:split_stone_tile_alt","moreblocks:split_stone_tile_alt","moreblocks:split_stone_tile_alt"}, {"moreblocks:split_stone_tile_alt","moreblocks:split_stone_tile_alt","moreblocks:split_stone_tile_alt"}, } }) minetest.register_craft({ output = "moreblocks:grey_bricks 2", type = "shapeless", recipe = {"default:stone", "default:brick"}, }) minetest.register_craft({ output = "moreblocks:grey_bricks 2", type = "shapeless", recipe = {"default:stonebrick", "default:brick"}, }) minetest.register_craft({ output = "moreblocks:empty_bookshelf", type = "shapeless", recipe = {"moreblocks:sweeper", "default:bookshelf"}, replacements = {{"default:bookshelf", "default:book 3"}}, -- When obtaining an empty bookshelf, return the books used in it as well }) minetest.register_craft({ output = "moreblocks:coal_stone_bricks 4", recipe = { {"moreblocks:coal_stone", "moreblocks:coal_stone"}, {"moreblocks:coal_stone", "moreblocks:coal_stone"}, } }) minetest.register_craft({ output = "moreblocks:iron_stone_bricks 4", recipe = { {"moreblocks:iron_stone", "moreblocks:iron_stone"}, {"moreblocks:iron_stone", "moreblocks:iron_stone"}, } }) minetest.register_craft({ output = "moreblocks:plankstone 4", recipe = { {"default:stone", "default:wood"}, {"default:wood", "default:stone"}, } }) minetest.register_craft({ output = "moreblocks:plankstone 4", recipe = { {"default:wood", "default:stone"}, {"default:stone", "default:wood"}, } }) minetest.register_craft({ output = "moreblocks:coal_checker 4", recipe = { {"default:stone", "default:coal_lump"}, {"default:coal_lump", "default:stone"}, } }) minetest.register_craft({ output = "moreblocks:coal_checker 4", recipe = { {"default:coal_lump", "default:stone"}, {"default:stone", "default:coal_lump"}, } }) minetest.register_craft({ output = "moreblocks:iron_checker 4", recipe = { {"default:steel_ingot", "default:stone"}, {"default:stone", "default:steel_ingot"}, } }) minetest.register_craft({ output = "moreblocks:iron_checker 4", recip/* Minetest Copyright (C) 2017 nerzhul, Loic Blot <loic.blot@unix-experience.fr> This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #pragma once #include <string> #include "irrlichttypes_bloated.h" #include "hud.h" #include "skyparams.h" enum ClientEventType : u8 { CE_NONE, CE_PLAYER_DAMAGE, CE_PLAYER_FORCE_MOVE, CE_DEATHSCREEN, CE_SHOW_FORMSPEC, CE_SHOW_LOCAL_FORMSPEC, CE_SPAWN_PARTICLE, CE_ADD_PARTICLESPAWNER, CE_DELETE_PARTICLESPAWNER, CE_HUDADD, CE_HUDRM, CE_HUDCHANGE, CE_SET_SKY, CE_SET_SUN, CE_SET_MOON, CE_SET_STARS, CE_OVERRIDE_DAY_NIGHT_RATIO, CE_CLOUD_PARAMS, CLIENTEVENT_MAX, }; struct ClientEvent { ClientEventType type; union { // struct{ //} none; struct { u16 amount; } player_damage; struct { f32 pitch; f32 yaw; } player_force_move; struct { bool set_camera_point_target; f32 camera_point_target_x; f32 camera_point_target_y; f32 camera_point_target_z; } deathscreen; struct { std::string *formspec; std::string *formname; } show_formspec; // struct{ //} textures_updated; struct { v3f *pos; v3f *vel; v3f *acc; f32 expirationtime; f32 size; bool collisiondetection; bool collision_removal; bool object_collision; bool vertical; std::string *texture; struct TileAnimationParams animation; u8 glow; } spawn_particle; struct { u16 amount; f32 spawntime; v3f *minpos; v3f *maxpos; v3f *minvel; v3f *maxvel; v3f *minacc; v3f *maxacc; f32 minexptime; f32 maxexptime; f32 minsize; f32 maxsize; bool collisiondetection; bool collision_removal; bool object_collision; u16 attached_id; bool vertical; std::string *texture; u64 id; struct TileAnimationParams animation; u8 glow; } add_particlespawner; struct { u32 id; } delete_particlespawner; struct { u32 server_id; u8 type; v2f *pos; std::string *name; v2f *scale; std::string *text; u32 number; u32 item; u32 dir; v2f *align; v2f *offset; v3f *world_pos; v2s32 *size; s16 z_index; } hudadd; struct { u32 id; } hudrm; struct { u32 id; HudElementStat stat; v2f *v2fdata; std::string *sdata; u32 data; v3f *v3fdata; v2s32 *v2s32data; } hudchange; SkyboxParams *set_sky; struct { bool do_override; float ratio_f; } override_day_night_ratio; struct { f32 density; u32 color_bright; u32 color_ambient; f32 height; f32 thickness; f32 speed_x; f32 speed_y; } cloud_params; SunParams *sun_params; MoonParams *moon_params; StarParams *star_params; }; }; :glass"} }) minetest.register_craft({ type = "shapeless", output = "moreblocks:red_tinted_glass 8", recipe = {"default:glass", "default:glass", "default:glass", "default:glass", "dye:red", "default:glass", "default:glass", "default:glass", "default:glass"} }) minetest.register_craft({ type = "shapeless", output = "moreblocks:white_tinted_glass 8", recipe = {"default:glass", "default:glass", "default:glass", "default:glass", "dye:white", "default:glass", "default:glass", "default:glass", "default:glass"} }) minetest.register_craft({ type = "shapeless", output = "moreblocks:yellow_tinted_glass 8", recipe = {"default:glass", "default:glass", "default:glass", "default:glass", "dye:yellow", "default:glass", "default:glass", "default:glass", "default:glass"} }) --]] -- "brown_tinted_glass" -- "dark_blue_tinted_glass" -- "dark_brown_tinted_glass" -- "dark_cyan_tinted_glass" -- "dark_green_tinted_glass" -- "dark_grey_tinted_glass" -- "dark_magenta_tinted_glass" -- "dark_orange_tinted_glass" -- "dark_pink_tinted_glass" -- "dark_red_tinted_glass" -- "dark_violet_tinted_glass" -- "dark_yellow_tinted_glass" -- "orange_tinted_glass" -- "pink_tinted_glass" -- "violet_tinted_glass" minetest.register_craft({ output = "moreblocks:gravel_stonebrick 2", recipe = { { "default:gravel" }, { "default:stonebrick"}, } }) minetest.register_craft({ output = "moreblocks:gravel_slope 6", recipe = { { "","","" }, { "","","default:gravel", }, { "", "default:gravel", "default:gravel" }, } }) -- first part of the 2m slope (1/4 node) minetest.register_craft({ output = "moreblocks:gravel_slope_2a 8", recipe = { { "","","" }, { "","","", }, { "", "default:gravel", "default:gravel" }, } }) -- second part of the 2m slope (3/4 node) minetest.register_craft({ output = "moreblocks:gravel_slope_2b 4", recipe = { { "","","default:gravel", }, { "","","" }, { "", "default:gravel", "default:gravel" }, } }) -- first part of the 3m slope (1/6 node) minetest.register_craft({ output = "moreblocks:gravel_slope_3a 18", recipe = { { "","","" }, { "","","", }, { "default:gravel", "default:gravel", "default:gravel" }, } }) -- second part of the 3m slope (3/6 node) minetest.register_craft({ output = "moreblocks:gravel_slope_3b 8", recipe = { { "","","" }, { "","","default:gravel", }, { "default:gravel", "default:gravel", "default:gravel" }, } }) -- third part of the 3m slope (5/6 node) minetest.register_craft({ output = "moreblocks:gravel_slope_3c 6", recipe = { { "","","default:gravel", }, { "","default:gravel","" }, { "default:gravel", "default:gravel", "default:gravel" }, } }) -- ------------------------------------------------- -- ------------------------------------------------- -- (hopefully) temporary addition: permafrost nodes -- ------------------------------------------------- -- 2020-07-02 Och Noe -- ------------------------------------------------- -- ------------------------------------------------- -- permafrost minetest.register_craft({ output = "default:permafrost 2", recipe = { {"default:snowblock","",""}, {"default:dirt","",""}, {"","",""}, }, }) minetest.register_craft({ output = "default:permafrost 6", recipe = { {"default:ice","",""}, {"default:dirt","default:dirt","default:dirt",}, {"","",""}, }, }) -- permafrost with stones minetest.register_craft({ output = "default:permafrost_with_stones 2", recipe = { {"default:snowblock","",""}, {"default:gravel","",""}, {"","",""}, }, }) minetest.register_craft({ output = "default:permafrost_with_stones 6", recipe = { {"default:ice","",""}, {"default:gravel","default:gravel","default:gravel",}, {"","",""}, }, }) -- permafrost with moss minetest.register_craft({ output = "default:permafrost_with_moss 2", recipe = { {"default:snowblock","",""}, {"default:dirt_with_grass","",""}, {"","",""}, }, }) minetest.register_craft({ output = "default:permafrost_with_moss 6", recipe = { {"default:ice","",""}, {"default:dirt_with_grass","default:dirt_with_grass","default:dirt_with_grass"}, {"","",""}, }, }) -- dry dirt - should be in another mod minetest.register_craft({ output = "default:dry_dirt 2", recipe = { {"ethereal:dry_dirt","",""}, {"ethereal:dry_dirt","",""}, {"","",""}, }, }) minetest.register_craft({ output = "ethereal:dry_dirt 2", recipe = { {"default:dry_dirt","",""}, {"default:dry_dirt","",""}, {"","",""}, }, }) -- stone tiles back to cobble minetest.register_craft({ output = "default:cobble 4", recipe = { {"moreblocks:stone_tile", "moreblocks:stone_tile"}, {"moreblocks:stone_tile", "moreblocks:stone_tile"}, } }) -- gravel slopes (2,3) back to gravel -- 1/2 + 1/2 minetest.register_craft({ output = "default:gravel", recipe = { {"moreblocks:gravel_slope_2a", "",""}, {"moreblocks:gravel_slope_2b", "",""}, { "","","" }, } }) -- 3/6 + 3/6 minetest.register_craft({ output = "default:gravel", recipe = { {"moreblocks:gravel_slope_3b", "",""}, {"moreblocks:gravel_slope_3b", "",""}, { "","","" }, } }) -- 1/6 + 5/6 minetest.register_craft({ output = "default:gravel", recipe = { {"moreblocks:gravel_slope_3a", "",""}, {"moreblocks:gravel_slope_3c", "",""}, { "","","" }, } }) -- 2022-08-23 default:marram_grass minetest.register_craft({ output = "default:marram_grass", recipe = { {"default:grass", "",""}, {"default:sand", "",""}, { "","","" }, } }) -- 2023-08-21 default:dry_dirt_with_dry_grass minetest.register_craft({ output = "default:dry_dirt_with_dry_grass", recipe = { { "default:dry_grass_1","","" }, { "default:dry_dirt","","" }, { "","","" }, } })