2023-11-19 01:48:35 +01:00
|
|
|
local S = minetest.get_translator()
|
|
|
|
|
2023-12-15 00:09:59 +01:00
|
|
|
local phil = "exchangeclone:philosophers_stone"
|
|
|
|
|
2023-05-23 16:53:45 +02:00
|
|
|
local function show_enchanting(player)
|
|
|
|
local player_meta = player:get_meta()
|
2023-06-21 23:45:22 +02:00
|
|
|
player_meta:set_int("mcl_enchanting:num_bookshelves", 8) -- 15 for max enchantments
|
2023-11-19 01:48:35 +01:00
|
|
|
player_meta:set_string("mcl_enchanting:table_name", S("Enchanting Table").." (".. S("Philosopher's Stone")..")")
|
2023-05-23 16:53:45 +02:00
|
|
|
mcl_enchanting.show_enchanting_formspec(player)
|
|
|
|
end
|
|
|
|
|
2023-12-21 01:52:46 +01:00
|
|
|
local width = (exchangeclone.mcl and 9) or 8
|
|
|
|
|
|
|
|
local repairing_formspec =
|
|
|
|
"size["..tostring(width)..", 7]"..
|
|
|
|
"label[0.5,0.5;Repairing]"..
|
2023-12-21 21:37:52 +01:00
|
|
|
"label["..tostring(width/3-0.5)..",0.5;Dust]"..
|
2023-12-21 01:52:46 +01:00
|
|
|
"list[current_player;exchangeclone_covalence_dust;"..tostring(width/3-0.5)..",1;1,1]"..
|
|
|
|
"label["..tostring(width/2-0.5)..",0.5;Gear]"..
|
|
|
|
"list[current_player;exchangeclone_covalence_gear;"..tostring(width/2-0.5)..",1;1,1]"..
|
|
|
|
"label["..tostring(2*width/3-0.5)..",0.5;Output]"..
|
|
|
|
"list[current_player;exchangeclone_covalence_output;"..tostring(2*width/3-0.5)..",1;1,1]"..
|
|
|
|
exchangeclone.inventory_formspec(0,2.75)..
|
|
|
|
"listring[current_player;main]"..
|
2023-12-21 21:37:52 +01:00
|
|
|
"listring[current_player;exchangeclone_covalence_gear]"..
|
2023-12-21 01:52:46 +01:00
|
|
|
"listring[current_player;main]"..
|
2023-12-21 21:37:52 +01:00
|
|
|
"listring[current_player;exchangeclone_covalence_dust]"..
|
2023-12-21 01:52:46 +01:00
|
|
|
"listring[current_player;main]"..
|
2023-12-21 21:37:52 +01:00
|
|
|
"listring[current_player;exchangeclone_covalence_output]"..
|
2023-12-21 01:52:46 +01:00
|
|
|
"listring[current_player;main]"
|
|
|
|
|
|
|
|
if exchangeclone.mcl then
|
|
|
|
repairing_formspec = repairing_formspec..
|
|
|
|
mcl_formspec.get_itemslot_bg(width/3-0.5,1,1,1)..
|
|
|
|
mcl_formspec.get_itemslot_bg(width/2-0.5,1,1,1)..
|
|
|
|
mcl_formspec.get_itemslot_bg(2*width/3-0.5,1,1,1)
|
|
|
|
end
|
|
|
|
|
2023-05-23 16:53:45 +02:00
|
|
|
exchangeclone.node_transmutations = {
|
|
|
|
{ --use
|
|
|
|
["mcl_core:stone"] = "mcl_core:cobble",
|
|
|
|
["mcl_core:cobble"] = "mcl_core:stone",
|
|
|
|
["mcl_core:dirt_with_grass"] = "mcl_core:sand",
|
|
|
|
["mcl_core:dirt"] = "mcl_core:sand",
|
|
|
|
["mcl_core:sand"] = "mcl_core:dirt_with_grass",
|
2023-09-25 16:41:23 +02:00
|
|
|
["mcl_core:podzol"] = "mcl_core:redsand",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_core:redsand"] = "mcl_core:podzol",
|
2023-12-21 01:52:46 +01:00
|
|
|
["mcl_flowers:tallgrass"] = "mcl_flowers:fern",
|
|
|
|
["mcl_flowers:fern"] = "mcl_flowers:tallgrass",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_core:redsandstone"] = "mcl_core:gravel",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_farming:pumpkin"] = "mcl_farming:melon",
|
|
|
|
["mcl_farming:melon"] = "mcl_farming:pumpkin",
|
|
|
|
["mcl_core:water_source"] = "mcl_core:ice",
|
|
|
|
["mclx_core:river_water_source"] = "mcl_core:ice",
|
2023-11-08 01:02:24 +01:00
|
|
|
["mcl_core:ice"] = "mcl_core:water_source",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_core:lava_source"] = "mcl_core:obsidian",
|
2023-11-08 01:02:24 +01:00
|
|
|
["mcl_core:obsidian"] = "mcl_core:lava_source",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_flowers:dandelion"] = "mcl_flowers:poppy",
|
|
|
|
["mcl_flowers:poppy"] = "mcl_flowers:dandelion",
|
|
|
|
["mcl_mushrooms:mushroom_brown"] = "mcl_mushrooms:mushroom_red",
|
|
|
|
["mcl_mushrooms:mushroom_red"] = "mcl_mushrooms:mushroom_brown",
|
|
|
|
["mcl_core:acacialeaves"] = "mcl_core:birchleaves",
|
|
|
|
["mcl_core:birchleaves"] = "mcl_core:darkleaves",
|
|
|
|
["mcl_core:darkleaves"] = "mcl_core:jungleleaves",
|
|
|
|
["mcl_core:jungleleaves"] = "mcl_mangrove:mangroveleaves",
|
|
|
|
["mcl_mangrove:mangroveleaves"] = "mcl_core:leaves",
|
|
|
|
["mcl_core:leaves"] = "mcl_core:spruceleaves",
|
|
|
|
["mcl_core:spruceleaves"] = "mcl_core:acacialeaves",
|
|
|
|
["mcl_core:acaciatree"] = "mcl_core:birchtree",
|
|
|
|
["mcl_core:birchtree"] = "mcl_core:darktree",
|
|
|
|
["mcl_core:darktree"] = "mcl_core:jungletree",
|
|
|
|
["mcl_core:jungletree"] = "mcl_mangrove:mangrove_tree",
|
|
|
|
["mcl_mangrove:mangrove_tree"] = "mcl_core:tree",
|
|
|
|
["mcl_core:tree"] = "mcl_core:sprucetree",
|
|
|
|
["mcl_core:sprucetree"] = "mcl_core:acaciatree",
|
|
|
|
["mcl_crimson:warped_fungus"] = "mcl_crimson:crimson_fungus",
|
|
|
|
["mcl_crimson:warped_hyphae"] = "mcl_crimson:crimson_hyphae",
|
|
|
|
["mcl_crimson:warped_nylium"] = "mcl_crimson:crimson_nylium",
|
|
|
|
["mcl_crimson:warped_roots"] = "mcl_crimson:crimson_roots",
|
|
|
|
["mcl_crimson:warped_wart_block"] = "mcl_nether:nether_wart_block",
|
|
|
|
["mcl_crimson:crimson_fungus"] = "mcl_crimson:warped_fungus",
|
|
|
|
["mcl_crimson:crimson_hyphae"] = "mcl_crimson:warped_hyphae",
|
|
|
|
["mcl_crimson:crimson_nylium"] = "mcl_crimson:warped_nylium",
|
|
|
|
["mcl_crimson:crimson_roots"] = "mcl_crimson:warped_roots",
|
|
|
|
["mcl_nether:nether_wart_block"] = "mcl_crimson:warped_wart_block",
|
|
|
|
["mcl_core:glass"] = "mcl_core:sand",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_blackstone:blackstone"] = "mcl_blackstone:basalt",
|
|
|
|
["mcl_blackstone:basalt"] = "mcl_blackstone:blackstone",
|
2023-12-21 01:52:46 +01:00
|
|
|
["mcl_flowers:double_grass"] = "mcl_flowers:fern",
|
2023-05-23 16:53:45 +02:00
|
|
|
--["mcl_flowers:double_grass_top"] = "air",
|
|
|
|
["mcl_core:andesite"] = "mcl_core:diorite",
|
|
|
|
["mcl_core:diorite"] = "mcl_core:granite",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_core:granite"] = "mcl_deepslate:tuff",
|
|
|
|
["mcl_deepslate:tuff"] = "mcl_core:andesite",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_deepslate:deepslate"] = "mcl_deepslate:deepslate_cobbled",
|
|
|
|
["mcl_deepslate:deepslate_cobbled"] = "mcl_deepslate:deepslate",
|
|
|
|
["mcl_core:stone_with_coal"] = "mcl_deepslate:deepslate_with_coal",
|
|
|
|
["mcl_core:stone_with_iron"] = "mcl_deepslate:deepslate_with_iron",
|
|
|
|
["mcl_core:stone_with_lapis"] = "mcl_deepslate:deepslate_with_lapis",
|
|
|
|
["mcl_core:stone_with_gold"] = "mcl_deepslate:deepslate_with_gold",
|
|
|
|
["mcl_core:stone_with_emerald"] = "mcl_deepslate:deepslate_with_emerald",
|
|
|
|
["mcl_core:stone_with_redstone"] = "mcl_deepslate:deepslate_with_redstone",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_core:stone_with_redstone_lit"] = "mcl_deepslate:deepslate_with_redstone_lit",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_core:stone_with_diamond"] = "mcl_deepslate:deepslate_with_diamond",
|
|
|
|
["mcl_copper:stone_with_copper"] = "mcl_deepslate:deepslate_with_copper",
|
|
|
|
["mcl_deepslate:deepslate_with_coal"] = "mcl_core:stone_with_coal",
|
|
|
|
["mcl_deepslate:deepslate_with_iron"] = "mcl_core:stone_with_iron",
|
|
|
|
["mcl_deepslate:deepslate_with_lapis"] = "mcl_core:stone_with_lapis",
|
|
|
|
["mcl_deepslate:deepslate_with_gold"] = "mcl_core:stone_with_gold",
|
|
|
|
["mcl_deepslate:deepslate_with_emerald"] = "mcl_core:stone_with_emerald",
|
|
|
|
["mcl_deepslate:deepslate_with_redstone"] = "mcl_core:stone_with_redstone",
|
|
|
|
["mcl_deepslate:deepslate_with_diamond"] = "mcl_core:stone_with_diamond",
|
|
|
|
["mcl_deepslate:deepslate_with_copper"] = "mcl_copper:stone_with_copper",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_end:end_stone"] = "mcl_nether:netherrack",
|
2023-09-25 16:41:23 +02:00
|
|
|
["mcl_nether:soul_sand"] = "mcl_blackstone:soul_soil",
|
|
|
|
["mcl_blackstone:soul_soil"] = "mcl_nether:soul_sand",
|
2023-05-23 16:53:45 +02:00
|
|
|
|
|
|
|
["default:stone"] = "default:cobble",
|
|
|
|
["default:desert_stone"] = "default:desert_cobble",
|
|
|
|
["default:cobble"] = "default:stone",
|
|
|
|
["default:desert_cobble"] = "default:desert_stone",
|
|
|
|
["default:dirt_with_grass"] = "default:sand",
|
2023-09-25 16:41:23 +02:00
|
|
|
["default:dirt_with_snow"] = "default:sand",
|
2023-05-23 16:53:45 +02:00
|
|
|
["default:dirt_with_dry_grass"] = "default:sand",
|
|
|
|
["default:dry_dirt_with_dry_grass"] = "default:desert_sand",
|
|
|
|
["default:dirt"] = "default:sand",
|
|
|
|
["default:dry_dirt"] = "default:desert_sand",
|
|
|
|
["default:dirt_with_coniferous_litter"] = "default:sand",
|
|
|
|
["default:dirt_with_rainforest_litter"] = "default:sand",
|
|
|
|
["default:sand"] = "default:dirt_with_grass",
|
|
|
|
["default:desert_sand"] = "default:dry_dirt_with_dry_grass",
|
|
|
|
["default:silver_sand"] = "default:dirt_with_grass",
|
|
|
|
["default:grass_1"] = "default:dry_shrub",
|
|
|
|
["default:grass_2"] = "default:dry_shrub",
|
|
|
|
["default:grass_3"] = "default:dry_shrub",
|
|
|
|
["default:grass_4"] = "default:dry_shrub",
|
|
|
|
["default:grass_5"] = "default:dry_shrub",
|
|
|
|
["default:gravel"] = "default:sandstone",
|
2023-09-25 16:41:23 +02:00
|
|
|
["default:sandstone"] = "default:gravel",
|
|
|
|
["default:desert_sandstone"] = "default:gravel",
|
|
|
|
["default:silver_sandstone"] = "default:gravel",
|
2023-05-23 16:53:45 +02:00
|
|
|
["default:water_source"] = "default:ice",
|
|
|
|
["default:river_water_source"] = "default:ice",
|
2023-11-08 01:02:24 +01:00
|
|
|
["default:ice"] = "default:water_source",
|
2023-05-23 16:53:45 +02:00
|
|
|
["default:lava_source"] = "default:obsidian",
|
2023-11-08 01:02:24 +01:00
|
|
|
["default:obsidian"] = "default:lava_source",
|
2023-05-23 16:53:45 +02:00
|
|
|
["flowers:mushroom_brown"] = "flowers:mushroom_red",
|
|
|
|
["flowers:mushroom_red"] = "flowers:mushroom_brown",
|
|
|
|
["flowers:dandelion_yellow"] = "flowers:rose",
|
|
|
|
["flowers:rose"] = "flowers:dandelion_yellow",
|
|
|
|
["default:acacia_tree"] = "default:tree",
|
|
|
|
["default:tree"] = "default:aspen_tree",
|
|
|
|
["default:aspen_tree"] = "default:jungletree",
|
|
|
|
["default:jungletree"] = "default:pine_tree",
|
|
|
|
["default:pine_tree"] = "default:acacia_tree",
|
|
|
|
["default:acacia_leaves"] = "default:leaves",
|
|
|
|
["default:leaves"] = "default:aspen_leaves",
|
|
|
|
["default:aspen_leaves"] = "default:jungleleaves",
|
|
|
|
["default:jungleleaves"] = "default:pine_needles",
|
|
|
|
["default:pine_needles"] = "default:acacia_leaves",
|
|
|
|
["default:acacia_bush_leaves"] = "default:bush_leaves",
|
|
|
|
["default:bush_leaves"] = "default:pine_bush_needles",
|
|
|
|
["default:pine_bush_needles"] = "default:acacia_bush_leaves",
|
|
|
|
["default:acacia_bush_stem"] = "default:bush_stem",
|
|
|
|
["default:bush_stem"] = "default:pine_bush_stem",
|
|
|
|
["default:pine_bush_stem"] = "default:acacia_bush_stem",
|
|
|
|
["default:glass"] = "default:sand",
|
|
|
|
},
|
|
|
|
{ --sneak+use
|
|
|
|
["mcl_core:stone"] = "mcl_core:dirt_with_grass",
|
|
|
|
["mcl_core:cobble"] = "mcl_core:dirt_with_grass",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_deepslate:deepslate"] = "mcl_core:podzol",
|
|
|
|
["mcl_deepslate:deepslate_cobbled"] = "mcl_core:podzol",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_core:sand"] = "mcl_core:cobble",
|
|
|
|
["mcl_core:redsand"] = "mcl_core:cobble",
|
|
|
|
["mcl_core:dirt_with_grass"] = "mcl_core:cobble",
|
2023-09-25 16:41:23 +02:00
|
|
|
["mcl_core:dirt"] = "mcl_core:cobble",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_core:podzol"] = "mcl_deepslate:deepslate_cobbled",
|
2023-09-25 16:41:23 +02:00
|
|
|
["mcl_deepslate:tuff"] = "mcl_core:granite",
|
|
|
|
["mcl_core:granite"] = "mcl_core:diorite",
|
|
|
|
["mcl_core:diorite"] = "mcl_core:andesite",
|
|
|
|
["mcl_core:andesite"] = "mcl_deepslate:tuff",
|
2023-05-23 16:53:45 +02:00
|
|
|
["mcl_core:acacialeaves"] = "mcl_core:spruceleaves",
|
|
|
|
["mcl_core:birchleaves"] = "mcl_core:acacialeaves",
|
|
|
|
["mcl_core:darkleaves"] = "mcl_core:birchleaves",
|
|
|
|
["mcl_core:jungleleaves"] = "mcl_core:darkleaves",
|
|
|
|
["mcl_mangrove:mangroveleaves"] = "mcl_core:jungleleaves",
|
|
|
|
["mcl_core:leaves"] = "mcl_mangrove:mangroveleaves",
|
|
|
|
["mcl_core:spruceleaves"] = "mcl_core:leaves",
|
|
|
|
["mcl_core:acaciatree"] = "mcl_core:sprucetree",
|
|
|
|
["mcl_core:birchtree"] = "mcl_core:acaciatree",
|
|
|
|
["mcl_core:darktree"] = "mcl_core:birchtree",
|
|
|
|
["mcl_core:jungletree"] = "mcl_core:darktree",
|
|
|
|
["mcl_mangrove:mangrove_tree"] = "mcl_core:jungletree",
|
|
|
|
["mcl_core:tree"] = "mcl_mangrove:mangrove_tree",
|
|
|
|
["mcl_core:sprucetree"] = "mcl_core:tree",
|
2023-05-26 18:55:55 +02:00
|
|
|
["mcl_nether:netherrack"] = "mcl_end:end_stone",
|
2023-05-23 16:53:45 +02:00
|
|
|
|
|
|
|
["default:stone"] = "default:dirt_with_grass",
|
|
|
|
["default:cobble"] = "default:dirt_with_grass",
|
|
|
|
["default:desert_stone"] = "default:dry_dirt_with_dry_grass",
|
|
|
|
["default:desert_cobble"] = "default:dry_dirt_with_dry_grass",
|
|
|
|
["default:dry_dirt_with_dry_grass"] = "default:desert_cobble",
|
|
|
|
["default:dirt_with_dry_grass"] = "default:cobble",
|
|
|
|
["default:dirt_with_grass"] = "default:cobble",
|
2023-09-25 16:41:23 +02:00
|
|
|
["default:dirt_with_snow"] = "default:cobble",
|
|
|
|
["default:dirt"] = "default:cobble",
|
|
|
|
["default:dry_dirt"] = "default:desert_cobble",
|
|
|
|
["default:dirt_with_coniferous_litter"] = "default:cobble",
|
|
|
|
["default:dirt_with_rainforest_litter"] = "default:cobble",
|
2023-05-23 16:53:45 +02:00
|
|
|
["default:sand"] = "default:cobble",
|
|
|
|
["default:desert_sand"] = "default:desert_cobble",
|
|
|
|
["default:silver_sand"] = "default:cobble",
|
|
|
|
["default:acacia_tree"] = "default:pine_tree",
|
|
|
|
["default:tree"] = "default:acacia_tree",
|
|
|
|
["default:aspen_tree"] = "default:tree",
|
|
|
|
["default:jungletree"] = "default:aspen_tree",
|
|
|
|
["default:pine_tree"] = "default:jungletree",
|
|
|
|
["default:acacia_leaves"] = "default:pine_needles",
|
|
|
|
["default:leaves"] = "default:acacia_leaves",
|
|
|
|
["default:aspen_leaves"] = "default:leaves",
|
|
|
|
["default:jungleleaves"] = "default:aspen_leaves",
|
|
|
|
["default:pine_needles"] = "default:jungleleaves",
|
|
|
|
["default:acacia_bush_leaves"] = "default:pine_bush_needles",
|
|
|
|
["default:bush_leaves"] = "default:acacia_bush_leaves",
|
|
|
|
["default:pine_bush_needles"] = "default:bush_leaves",
|
|
|
|
["default:acacia_bush_stem"] = "default:pine_bush_stem",
|
|
|
|
["default:bush_stem"] = "default:acacia_bush_stem",
|
|
|
|
["default:pine_bush_stem"] = "default:bush_stem",
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-08-07 22:56:29 +02:00
|
|
|
exchangeclone.stone_action = {
|
|
|
|
start_action = function(player, center, range, mode)
|
2023-11-19 01:48:35 +01:00
|
|
|
-- Yes, I named the cooldown Phil. His last name is Osophersstone.
|
2023-08-07 22:56:29 +02:00
|
|
|
if exchangeclone.check_cooldown(player, "phil") then return end
|
|
|
|
exchangeclone.play_ability_sound(player)
|
|
|
|
return mode
|
|
|
|
end,
|
|
|
|
action = function(player, pos, node, mode)
|
2023-05-23 16:53:45 +02:00
|
|
|
local new_node = exchangeclone.node_transmutations[mode][node.name]
|
|
|
|
if not new_node and mode == 2 then
|
|
|
|
new_node = exchangeclone.node_transmutations[1][node.name]
|
|
|
|
end
|
|
|
|
if new_node then
|
2023-08-07 22:56:29 +02:00
|
|
|
if minetest.is_protected(pos, player:get_player_name()) then
|
|
|
|
minetest.record_protection_violation(pos, player:get_player_name())
|
2023-05-23 16:53:45 +02:00
|
|
|
else
|
2023-05-26 18:55:55 +02:00
|
|
|
node.name = new_node
|
2023-08-07 22:56:29 +02:00
|
|
|
minetest.swap_node(pos, node)
|
2023-05-23 16:53:45 +02:00
|
|
|
end
|
|
|
|
end
|
2023-08-07 22:56:29 +02:00
|
|
|
return true
|
|
|
|
end,
|
|
|
|
end_action = function(player, center, range, data)
|
|
|
|
exchangeclone.start_cooldown(player, "phil", 0.3)
|
2023-05-23 16:53:45 +02:00
|
|
|
end
|
2023-08-07 22:56:29 +02:00
|
|
|
}
|
2023-05-23 16:53:45 +02:00
|
|
|
|
2024-01-19 23:12:25 +01:00
|
|
|
local on_left_click
|
2023-09-29 01:23:49 +02:00
|
|
|
if exchangeclone.mcl then
|
2023-06-21 23:45:22 +02:00
|
|
|
on_left_click = function(itemstack, player, pointed_thing)
|
|
|
|
if player:get_player_control().sneak then
|
|
|
|
show_enchanting(player)
|
|
|
|
else
|
2023-12-21 01:52:46 +01:00
|
|
|
if player:get_player_control().aux1 then
|
|
|
|
minetest.show_formspec(player:get_player_name(), "exchangeclone_repairing", repairing_formspec)
|
|
|
|
else
|
2023-09-25 16:41:23 +02:00
|
|
|
mcl_crafting_table.show_crafting_form(player)
|
2023-12-21 01:52:46 +01:00
|
|
|
end
|
2023-05-23 16:53:45 +02:00
|
|
|
end
|
|
|
|
end
|
2023-12-21 01:52:46 +01:00
|
|
|
else
|
|
|
|
on_left_click = function(itemstack, player, pointed_thing)
|
|
|
|
minetest.show_formspec(player:get_player_name(), "exchangeclone_repairing", repairing_formspec)
|
|
|
|
end
|
2023-05-23 16:53:45 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
local function on_right_click(itemstack, player, pointed_thing)
|
2023-06-21 23:45:22 +02:00
|
|
|
local click_test = exchangeclone.check_on_rightclick(itemstack, player, pointed_thing)
|
|
|
|
if click_test ~= false then
|
|
|
|
return click_test
|
|
|
|
end
|
|
|
|
if player:get_player_control().aux1 then
|
2024-01-24 04:23:32 +01:00
|
|
|
return exchangeclone.charge_update(itemstack, player)
|
2023-06-21 23:45:22 +02:00
|
|
|
end
|
|
|
|
local center = player:get_pos()
|
|
|
|
if pointed_thing and pointed_thing.type == "node" then
|
|
|
|
center = pointed_thing.under
|
|
|
|
end
|
2023-05-23 16:53:45 +02:00
|
|
|
if player:get_player_control().sneak then
|
2024-01-24 04:23:32 +01:00
|
|
|
local range = tonumber(itemstack:get_meta():get_int("exchangeclone_tool_charge"))
|
2023-08-07 22:56:29 +02:00
|
|
|
exchangeclone.node_radius_action(player, center, range, exchangeclone.stone_action, 2)
|
2023-06-21 23:45:22 +02:00
|
|
|
else
|
2024-01-24 04:23:32 +01:00
|
|
|
local range = itemstack:get_meta():get_int("exchangeclone_tool_charge")
|
2023-08-07 22:56:29 +02:00
|
|
|
exchangeclone.node_radius_action(player, center, range, exchangeclone.stone_action, 1)
|
2023-05-23 16:53:45 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
minetest.register_tool("exchangeclone:philosophers_stone", {
|
2023-11-19 01:48:35 +01:00
|
|
|
description = S("Philosopher's Stone").."\n"..S("Always returned when crafting"),
|
2023-05-23 16:53:45 +02:00
|
|
|
inventory_image = "exchangeclone_philosophers_stone.png",
|
|
|
|
wield_image = "exchangeclone_philosophers_stone.png",
|
2024-01-24 04:23:32 +01:00
|
|
|
exchangeclone_tool_charge = 0,
|
2023-05-23 16:53:45 +02:00
|
|
|
on_use = on_left_click,
|
|
|
|
on_place = on_right_click,
|
|
|
|
on_secondary_use = on_right_click,
|
2023-09-25 16:41:23 +02:00
|
|
|
groups = {philosophers_stone = 1, disable_repair = 1, fire_immune = 1}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
2023-11-08 01:02:24 +01:00
|
|
|
local diamond = exchangeclone.itemstrings.diamond
|
2023-12-15 00:09:59 +01:00
|
|
|
local corner = exchangeclone.itemstrings.glowstoneworth
|
|
|
|
local side = exchangeclone.itemstrings.redstoneworth
|
2023-05-23 16:53:45 +02:00
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "exchangeclone:philosophers_stone",
|
|
|
|
recipe = {
|
|
|
|
{corner, side, corner},
|
|
|
|
{side, diamond, side},
|
|
|
|
{corner, side, corner}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_core:coal_lump",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-23 16:53:45 +02:00
|
|
|
"mcl_core:charcoal_lump",
|
|
|
|
"mcl_core:charcoal_lump",
|
|
|
|
"mcl_core:charcoal_lump",
|
|
|
|
"mcl_core:charcoal_lump"
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_core:charcoal_lump 4",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-23 16:53:45 +02:00
|
|
|
"mcl_core:coal_lump"
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.iron,
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.coal,
|
|
|
|
exchangeclone.itemstrings.coal,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.coal.." 2",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.iron
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-12-15 00:09:59 +01:00
|
|
|
output = exchangeclone.itemstrings.copper.." 2",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-12-15 00:09:59 +01:00
|
|
|
output = exchangeclone.itemstrings.iron.." 2",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
|
|
|
exchangeclone.itemstrings.copper,
|
|
|
|
exchangeclone.itemstrings.copper,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
2023-11-08 01:02:24 +01:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_throwing:ender_pearl",
|
2023-11-10 03:35:23 +01:00
|
|
|
type = "shapeless",
|
2023-11-08 01:02:24 +01:00
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
"mcl_core:iron_ingot",
|
|
|
|
"mcl_core:iron_ingot",
|
|
|
|
"mcl_core:iron_ingot",
|
|
|
|
"mcl_core:iron_ingot",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-10-06 02:19:48 +02:00
|
|
|
output = "default:tin_ingot 4",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-23 16:53:45 +02:00
|
|
|
"default:copper_ingot",
|
|
|
|
"default:copper_ingot",
|
|
|
|
"default:copper_ingot",
|
2023-10-06 02:19:48 +02:00
|
|
|
"default:copper_ingot",
|
|
|
|
"default:copper_ingot",
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-10-06 02:19:48 +02:00
|
|
|
output = "default:copper_ingot 5",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-23 16:53:45 +02:00
|
|
|
"default:tin_ingot",
|
|
|
|
"default:tin_ingot",
|
2023-10-06 02:19:48 +02:00
|
|
|
"default:tin_ingot",
|
|
|
|
"default:tin_ingot",
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.iron.." 8",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.gold
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.gold,
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
|
|
|
exchangeclone.itemstrings.iron,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-10 03:35:23 +01:00
|
|
|
output = exchangeclone.itemstrings.emeraldworth,
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.gold,
|
|
|
|
exchangeclone.itemstrings.gold,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.gold.." 2",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-10 03:35:23 +01:00
|
|
|
exchangeclone.itemstrings.emeraldworth,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.diamond,
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-10 03:35:23 +01:00
|
|
|
exchangeclone.itemstrings.emeraldworth,
|
|
|
|
exchangeclone.itemstrings.emeraldworth,
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-10 03:35:23 +01:00
|
|
|
output = exchangeclone.itemstrings.emeraldworth.." 2",
|
2023-05-23 16:53:45 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.diamond
|
2023-05-23 16:53:45 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|
|
|
|
|
2023-05-26 18:55:55 +02:00
|
|
|
minetest.register_craft({
|
2023-11-10 03:35:23 +01:00
|
|
|
output = "mcl_nether:glowstone_dust",
|
2023-05-26 18:55:55 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-10 03:35:23 +01:00
|
|
|
"mesecons:redstone",
|
|
|
|
"mesecons:redstone",
|
|
|
|
"mesecons:redstone",
|
|
|
|
"mesecons:redstone",
|
|
|
|
"mesecons:redstone",
|
|
|
|
"mesecons:redstone",
|
2023-05-26 18:55:55 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-26 18:55:55 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-10 03:35:23 +01:00
|
|
|
output = "mesecons:redstone 6",
|
2023-05-26 18:55:55 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-10 03:35:23 +01:00
|
|
|
"mcl_nether:glowstone_dust",
|
2023-05-26 18:55:55 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-26 18:55:55 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-10 03:35:23 +01:00
|
|
|
output = "mcl_core:lapis",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-10 03:35:23 +01:00
|
|
|
"mcl_nether:glowstone_dust",
|
|
|
|
"mcl_nether:glowstone_dust"
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-11-10 03:35:23 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_nether:glowstone_dust 2",
|
2023-05-26 18:55:55 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-26 18:55:55 +02:00
|
|
|
"mcl_core:lapis",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-27 02:24:02 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = "exchangeclone:alchemical_coal",
|
2023-05-27 02:24:02 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-11-08 01:02:24 +01:00
|
|
|
exchangeclone.itemstrings.coal,
|
|
|
|
exchangeclone.itemstrings.coal,
|
|
|
|
exchangeclone.itemstrings.coal,
|
|
|
|
exchangeclone.itemstrings.coal,
|
2023-05-27 02:24:02 +02:00
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-27 02:24:02 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2023-11-08 01:02:24 +01:00
|
|
|
output = exchangeclone.itemstrings.coal.." 4",
|
2023-05-27 02:24:02 +02:00
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-27 02:24:02 +02:00
|
|
|
"exchangeclone:alchemical_coal",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-27 02:24:02 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "exchangeclone:mobius_fuel",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-27 02:24:02 +02:00
|
|
|
"exchangeclone:alchemical_coal",
|
|
|
|
"exchangeclone:alchemical_coal",
|
|
|
|
"exchangeclone:alchemical_coal",
|
|
|
|
"exchangeclone:alchemical_coal",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-27 02:24:02 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "exchangeclone:alchemical_coal 4",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-27 02:24:02 +02:00
|
|
|
"exchangeclone:mobius_fuel",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-27 02:24:02 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "exchangeclone:aeternalis_fuel",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-27 02:24:02 +02:00
|
|
|
"exchangeclone:mobius_fuel",
|
|
|
|
"exchangeclone:mobius_fuel",
|
|
|
|
"exchangeclone:mobius_fuel",
|
|
|
|
"exchangeclone:mobius_fuel",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-27 02:24:02 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "exchangeclone:mobius_fuel 4",
|
|
|
|
type = "shapeless",
|
|
|
|
recipe = {
|
2023-12-15 00:09:59 +01:00
|
|
|
phil,
|
2023-05-27 02:24:02 +02:00
|
|
|
"exchangeclone:aeternalis_fuel",
|
|
|
|
},
|
2023-12-15 00:09:59 +01:00
|
|
|
replacements = {{phil, phil}}
|
2023-05-23 16:53:45 +02:00
|
|
|
})
|