--[[ 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; }; };