local sound_mod = default local gold_itemstring = "default:gold_ingot" local water_itemstring = "bucket:bucket_water" local stick_itemstring = "default:stick" if why.mcl then sound_mod = mcl_sounds gold_itemstring = "mcl_core:gold_ingot" water_itemstring = "mcl_buckets:bucket_water" stick_itemstring = "mcl_core:stick" end ---------------------USELESS BEANS, BEANGOTS, AND BLOCKS----------------------------------- minetest.register_node("useless_beans:useless_bean", { description = "Useless Bean", drawtype = "plantlike", tiles = {"useless_beans_useless_bean.png"}, sounds = sound_mod.node_sound_leaves_default, groups = {useless = 1, dig_immediate = 3, dig_by_piston = 1, plant = 1, craftitem = 1, deco_block = 1, dig_by_water = 1}, inventory_image = "useless_beans_useless_bean.png", wield_image = "useless_beans_useless_bean.png", walkable = false }) minetest.register_decoration({ deco_type = "simple", place_on = {"group:sand", "group:soil", "mcl_mud:mud"}, sidelen = 16, noise_params = { offset = 0.0, scale = 0.01, spread = {x = 100, y = 100, z = 100}, seed = 2020, octaves = 3, persist = 0.6 }, y_min = 4, y_max = 30000, decoration = "useless_beans:useless_bean", height = 1, }) minetest.register_craft({ output = "useless_beans:useless_bean 64", type = "shapeless", recipe = {"useless_beans:useless_bean"} }) minetest.register_node("useless_beans:useless_bean_block", { description = "Useless Bean Block", tiles = {"useless_beans_useless_bean_block.png"}, sounds = sound_mod.node_sound_leaves_default, groups = {useless = 1, dig_immediate = 3, plant = 1, deco_block = 1, bouncy = 150, fall_damage_add_percent = -100}, }) minetest.register_craft({ output = "useless_beans:useless_bean_block", recipe = { {"useless_beans:useless_bean", "useless_beans:useless_bean", "useless_beans:useless_bean"}, {"useless_beans:useless_bean", "useless_beans:useless_bean", "useless_beans:useless_bean"}, {"useless_beans:useless_bean", "useless_beans:useless_bean", "useless_beans:useless_bean"} } }) minetest.register_craft({ output = "useless_beans:useless_bean 10", type = "shapeless", recipe = {"useless_beans:useless_bean_block"} }) minetest.register_craftitem("useless_beans:useless_bean_ingot", { description = "Beangot (Useless Bean Ingot)", inventory_image = "useless_beans_useless_bean_ingot.png", wield_image = "useless_beans_useless_bean_ingot.png", groups = {useless = 1,} }) minetest.register_craft({ output = "useless_beans:useless_bean_ingot", type = "cooking", recipe = "useless_beans:useless_bean", time = 20 }) minetest.register_node("useless_beans:useless_bean_ingot_block", { description = "Beangot Block", tiles = {"useless_beans_useless_bean_ingot_block.png"}, sounds = sound_mod.node_sound_metal_default, groups = {useless = 1, plant = 1, deco_block = 1, fall_damage_add_percent = 500, pickaxey=4, cracky=3}, _mcl_blast_resistance = 6, _mcl_hardness = 3, }) minetest.register_craft({ output = "useless_beans:useless_bean_ingot_block", recipe = { {"useless_beans:useless_bean_ingot", "useless_beans:useless_bean_ingot", "useless_beans:useless_bean_ingot"}, {"useless_beans:useless_bean_ingot", "useless_beans:useless_bean_ingot", "useless_beans:useless_bean_ingot"}, {"useless_beans:useless_bean_ingot", "useless_beans:useless_bean_ingot", "useless_beans:useless_bean_ingot"} } }) minetest.register_node("useless_beans:useless_bean_gold", { description = "Golden Useless Bean", drawtype = "plantlike", tiles = {"useless_beans_useless_bean_gold.png"}, sounds = sound_mod.node_sound_leaves_default, groups = {useless = 1, dig_immediate = 3, dig_by_piston = 1, plant = 1, craftitem = 1, deco_block = 1, dig_by_water = 1}, inventory_image = "useless_beans_useless_bean_gold.png", wield_image = "useless_beans_useless_bean_gold.png", walkable = false }) minetest.register_craft({ output = "useless_beans:useless_bean_gold", recipe = { {gold_itemstring, gold_itemstring, gold_itemstring}, {gold_itemstring, "useless_beans:useless_bean", gold_itemstring}, {gold_itemstring, gold_itemstring, gold_itemstring} } }) if why.mcl then minetest.register_node("useless_beans:useless_bean_gold_enchanted", { description = "Enchanted Golden Useless Bean", drawtype = "plantlike", tiles = {"useless_beans_useless_bean_gold.png" .. mcl_enchanting.overlay}, sounds = sound_mod.node_sound_leaves_default, groups = {useless = 1, dig_immediate = 3, dig_by_piston = 1, plant = 1, craftitem = 1, deco_block = 1, dig_by_water = 1}, inventory_image = "useless_beans_useless_bean_gold.png" .. mcl_enchanting.overlay, wield_image = "useless_beans_useless_bean_gold.png" .. mcl_enchanting.overlay, walkable = false }) minetest.register_craft({ output = "useless_beans:useless_bean_gold_enchanted", recipe = { {"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"}, {"mcl_core:gold_nugget", "useless_beans:useless_bean", "mcl_core:gold_nugget"}, {"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"} } }) end ---------------------USELESS BEAN LIQUID---------------------------- local USE_TEXTURE_ALPHA = true if minetest.features.use_texture_alpha_string_modes then USE_TEXTURE_ALPHA = "blend" end local WATER_VISC = 1 minetest.register_node("useless_beans:useless_bean_liquid_flowing", { description = "Flowing Useless Bean Liquid", _doc_items_create_entry = false, wield_image = "useless_beans_water_flowing_animated.png^[verticalframe:64:0", drawtype = "flowingliquid", tiles = {"useless_beans_water_flowing_animated.png^[verticalframe:64:0"}, special_tiles = { { image="useless_beans_water_flowing_animated.png", backface_culling=false, animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5} }, { image="useless_beans_water_flowing_animated.png", backface_culling=false, animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5} }, }, color = "#3FE43F", sounds = sound_mod.node_sound_water_default, is_ground_content = false, use_texture_alpha = USE_TEXTURE_ALPHA, paramtype = "light", paramtype2 = "flowingliquid", walkable = false, pointable = false, diggable = false, buildable_to = true, drop = "", drowning = 4, liquidtype = "flowing", liquid_alternative_flowing = "useless_beans:useless_bean_liquid_flowing", liquid_alternative_source = "useless_beans:useless_bean_liquid_source", liquid_viscosity = WATER_VISC, liquid_range = 7, waving = 3, post_effect_color = {a=60, r=24.7, g=89.4, b=60}, groups = {useless = 1, water = 3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, melt_around=1, dig_by_piston=1}, _mcl_blast_resistance = 100, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, }) minetest.register_node("useless_beans:useless_bean_liquid_source", { description = "Useless Bean Liquid Source", _doc_items_entry_name = "Useless Bean Liquid", _doc_items_longdesc = "Water is abundant in oceans and also appears in a few springs in the ground. You can swim easily in water, but you need to catch your breath from time to time.".."\n\n".. "Water interacts with lava in various ways:".."\n".. "• When water is directly above or horizontally next to a lava source, the lava turns into obsidian.".."\n".. "• When flowing water touches flowing lava either from above or horizontally, the lava turns into cobblestone.".."\n".. "• When water is directly below lava, the water turns into stone.".."\n".. "Unfortunately, this is useless bean liquid, not water, so the above information is, like the liquid, useless.", _doc_items_hidden = false, drawtype = "liquid", waving = 3, tiles = { {name="useless_beans_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} }, special_tiles = { -- New-style water source material (mostly unused) { name="useless_beans_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}, backface_culling = false, } }, color = "#3FE43F", sounds = sound_mod.node_sound_water_default, is_ground_content = false, use_texture_alpha = USE_TEXTURE_ALPHA, paramtype = "light", walkable = false, pointable = false, diggable = false, buildable_to = true, drop = "", drowning = 4, liquidtype = "source", liquid_alternative_flowing = "useless_beans:useless_bean_liquid_flowing", liquid_alternative_source = "useless_beans:useless_bean_liquid_source", liquid_viscosity = WATER_VISC, liquid_range = 7, post_effect_color = {a=60, r=24.7, g=89.4, b=60}, stack_max = 64, groups = {useless = 1, water = 3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, melt_around=1, dig_by_piston=1}, _mcl_blast_resistance = 100, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, }) if why.mcl then mcl_buckets.register_liquid({ source_place = "useless_beans:useless_bean_liquid_source", source_take = {"useless_beans:useless_bean_liquid_source"}, bucketname = "useless_beans:bucket_useless_bean_liquid", inventory_image = "useless_beans_bucket_useless_bean_liquid.png", name = "Useless Bean Liquid Bucket", longdesc = "A bucket can be used to collect and release liquids. This one is filled with useless bean liquid.", usagehelp = "Place it to empty the bucket and create a useless bean liquid source.", tt_help = "Places a useless bean liquid source", groups = { useless = 1 }, }) else bucket.register_liquid("useless_beans:useless_bean_liquid_source", "useless_beans:useless_bean_liquid_flowing", "useless_beans:bucket_useless_bean_liquid", "useless_beans_bucket_useless_bean_liquid.png", "Useless Bean Liquid Bucket") end minetest.register_craft({ output = "useless_beans:bucket_useless_bean_liquid", type = "shapeless", recipe = {"useless_beans:useless_bean", water_itemstring} }) ---------------------USELESS BEAN TOOLS/ARMOR------------------------ if why.mcl or minetest.get_modpath("3d_armor") then if why.mcl then mcl_armor.register_set({ name = "useless_bean", description = "Useless Bean", descriptions = why.mineclonia and { head = "Useless Bean Helmet", torso = "Useless Bean Chestplate", legs = "Useless Bean Leggings", feet = "Useless Bean Boots", }, durability = 0, points = { head = 0, torso = 0, legs = 0, feet = 0, }, toughness = 0, groups = {useless = 1}, craft_material = "useless_beans:useless_bean_ingot", cook_material = "useless_beans:useless_bean_ingot_block", repair_material = "useless_beans:useless_bean_ingot" }) else for name, type in pairs({Helmet = "head", Chestplate = "torso", Leggings = "legs", Boots = "feet"}) do armor:register_armor("useless_beans:"..name:lower().."_useless_bean", { description = "Useless Bean "..name, texture = "useless_beans_"..name:lower().."_useless_bean.png", inventory_image = "useless_beans_inv_"..name:lower().."_useless_bean.png", preview = "useless_beans_"..name:lower().."_useless_bean.png", groups = {["armor_"..type] = 1, useless = 1} }) end local b = "useless_beans:useless_bean" minetest.register_craft({ output = "useless_beans:helmet_useless_bean", recipe = { {b, b, b}, {b, "",b}, } }) minetest.register_craft({ output = "useless_beans:chestplate_useless_bean", recipe = { {b, "",b}, {b, b, b}, {b, b, b}, } }) minetest.register_craft({ output = "useless_beans:leggings_useless_bean", recipe = { {b, b, b}, {b, "",b}, {b, "",b}, } }) minetest.register_craft({ output = "useless_beans:boots_useless_bean", recipe = { {b, "",b}, {b, "",b} } }) end local bean_hud = {} local function add_bean_hud(player) bean_hud[player] = { bean_blur = player:hud_add({ hud_elem_type = "image", position = {x = 0.5, y = 0.5}, scale = {x = -101, y = -101}, text = "useless_beans_useless_bean_helmet_vision.png", z_index = -200 }), } end local function remove_bean_hud(player) if bean_hud[player] then player:hud_remove(bean_hud[player].bean_blur) bean_hud[player] = nil end end local bean_helmet_base_def = {} if why.mcl then --bean_helmet_base_def.on_secondary_use = mcl_armor.equip_on_use bean_helmet_base_def._on_equip = add_bean_hud bean_helmet_base_def._on_unequip = remove_bean_hud else bean_helmet_base_def.on_equip = add_bean_hud bean_helmet_base_def.on_unequip = remove_bean_hud end minetest.override_item("useless_beans:helmet_useless_bean", bean_helmet_base_def) minetest.register_on_joinplayer(function(player) if why.mcl then if player:get_inventory():get_stack("armor", 2):get_name() == "useless_beans:helmet_useless_bean" then add_bean_hud(player) end else local _, armor_inv = armor:get_valid_player(player, "3d_armor") if not armor_inv then return end for i = 1, 6 do local stack = armor_inv:get_stack("armor", i) if stack:get_name() == "useless_beans:helmet_useless_bean" then add_bean_hud(player) break end end end end) minetest.register_on_dieplayer(function(player) if why.mcl then if not minetest.settings:get_bool("mcl_keepInventory") then remove_bean_hud(player) end else if minetest.settings:get("bones_mode") ~= "keep" then remove_bean_hud(player) end end end) minetest.register_on_leaveplayer(function(player) bean_hud[player] = nil end) end for name, long_name in pairs({pick = "Pickaxe", axe = "Axe", hoe = "Hoe", sword = "Sword", shovel = "Shovel"}) do minetest.register_tool("useless_beans:"..name.."_useless_bean", { description = "Useless Bean "..long_name, on_use = function() end, on_secondary_use = function() end, on_place = function() end, inventory_image = "useless_beans_"..name.."_useless_bean.png", wield_image = "useless_beans_"..name.."_useless_bean.png", groups = {useless = 1} }) end minetest.register_craft({ output = "useless_beans:pick_useless_bean", recipe = { {"useless_bean:useless_bean", "useless_bean:useless_bean", "useless_bean:useless_bean"}, {"", stick_itemstring, ""}, {"", stick_itemstring, ""} } }) minetest.register_craft({ output = "useless_beans:axe_useless_bean", recipe = { {"useless_bean:useless_bean", "useless_bean:useless_bean", ""}, {"useless_bean:useless_bean", stick_itemstring, ""}, {"", stick_itemstring, ""} } }) minetest.register_craft({ output = "useless_beans:hoe_useless_bean", recipe = { {"useless_bean:useless_bean", "useless_bean:useless_bean", ""}, {"", stick_itemstring, ""}, {"", stick_itemstring, ""} } }) minetest.register_craft({ output = "useless_beans:shovel_useless_bean", recipe = { {"", "useless_bean:useless_bean", ""}, {"", stick_itemstring, ""}, {"", stick_itemstring, ""} } }) minetest.register_craft({ output = "useless_beans:sword_useless_bean", recipe = { {"", "useless_bean:useless_bean", ""}, {"", "useless_bean:useless_bean", ""}, {"", stick_itemstring, ""} } })