alchemical/mobius/aeternalis/dark/red yay cool
|
@ -45,7 +45,7 @@ If you have a suggestion or notice a bug, visit the [GitHub issues page](https:/
|
|||
![Minetest Game Screenshot](screenshot_mtg.png)
|
||||
|
||||
## Sources/license:
|
||||
This mod is inspired by the "Equivalent Exchange" mod for MineCraft, and forked and modified from Enchant97's mod [Element Exchange](https://github.com/enchant97/minetest_element_exchange). Both this mod and Element Exchange are licensed under GPLv3+. The textures for the Constructor, Deconstructor, Collector, and Orb are from Element Exchange and have the same license. The texture for the Philosopher's Stone is my own and also licensed under GPLv3+ just to make things easy.
|
||||
This mod is inspired by the "Equivalent Exchange" mod for MineCraft, and forked and modified from Enchant97's mod [Element Exchange](https://github.com/enchant97/minetest_element_exchange). Both this mod and Element Exchange are licensed under GPLv3+. The textures for the Constructor, Deconstructor, Collector, and Orb are from Element Exchange and have the same license.The Alchemical Coal, Mobius Fuel, and Aeternalis Fuel textures are modified versions of MineClone's coal texture (CC-BY-SA-3.0). All other textures are my own (inspired by Equivalent Exchange) and licensed under GPLv3+ just to make it match Element Exchange.
|
||||
|
||||
Copyright (C) 2023 ThePython10110
|
||||
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
2.1
|
||||
The Energy Collector setting is now energy/second instead of second/energy to fit much higher costs than Element Exchange (default is 5 energy/s).
|
||||
Fixed Exchange Orb energy value (forgot to change it after changing the recipe)
|
||||
PS's enchanting table now is limited to 10-bookshelf enchantments to make it more balanced.
|
||||
Added Alchemical Coal, Mobius Fuel, Aeternalis Fuel, Dark Matter, and Red Matter
|
||||
Added Dark Matter sword, pickaxe, axe, shovel, hoe, and shears
|
||||
Changed constructor, deconstructor, and collector recipes and energy values to make them cheaper
|
||||
The Constructor, Deconstructor, and Energy Collector are now not unbreakable in MineClone (I really should test in survival).
|
||||
The Energy Collector now drops its contents when broken in MineClone.
|
||||
|
@ -33,4 +36,4 @@
|
|||
Tuff, blackstone, and basalt are now transmutable (MineClone).
|
||||
A couple of minor transmutation changes (MineClone).
|
||||
Changed emerald value to 4096 (MineClone).
|
||||
Gold cannot be crafted into diamonds using the PS; it can now be crafted into emeralds and emeralds into diamonds (MineClone).
|
||||
Gold cannot be crafted into diamonds using the PS; it can now be crafted into emeralds and emeralds into diamonds (MineClone).
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
local sound_mod = mcl_sounds or default
|
||||
|
||||
function get_element_constructor_formspec()
|
||||
if not exchangeclone.mineclone then
|
||||
local formspec = {
|
||||
|
@ -167,7 +169,7 @@ minetest.register_node("exchangeclone:element_constructor", {
|
|||
groups = {cracky = 2, container = 4, pickaxey = 2},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 6,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
sounds = sound_mod.node_sound_metal_defaults(),
|
||||
is_ground_content = false,
|
||||
can_dig = can_dig,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
|
|
|
@ -0,0 +1,144 @@
|
|||
local sound_mod = mcl_sounds or default
|
||||
|
||||
local function get_level(level)
|
||||
if exchangeclone.mineclone then
|
||||
return nil
|
||||
else
|
||||
return level
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_craftitem("exchangeclone:alchemical_coal", {
|
||||
description = "Alchemical Coal",
|
||||
wield_image = "exchangeclone_alchemical_coal.png",
|
||||
inventory_image = "exchangeclone_alchemical_coal.png",
|
||||
groups = { craftitem=1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("exchangeclone:mobius_fuel", {
|
||||
description = "Mobius Fuel",
|
||||
wield_image = "exchangeclone_mobius_fuel.png",
|
||||
inventory_image = "exchangeclone_mobius_fuel.png",
|
||||
groups = { craftitem=1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("exchangeclone:aeternalis_fuel", {
|
||||
description = "Aeternalis Fuel",
|
||||
wield_image = "exchangeclone_aeternalis_fuel.png",
|
||||
inventory_image = "exchangeclone_aeternalis_fuel.png",
|
||||
groups = { craftitem=1},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "exchangeclone:alchemical_coal",
|
||||
burntime = 320,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "exchangeclone:mobius_fuel",
|
||||
burntime = 1280,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "exchangeclone:aeternalis_fuel",
|
||||
burntime = 5120,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("exchangeclone:dark_matter", {
|
||||
description = "Dark Matter Orb",
|
||||
wield_image = "exchangeclone_dark_matter.png",
|
||||
inventory_image = "exchangeclone_dark_matter.png",
|
||||
groups = {craftitem = 1}
|
||||
})
|
||||
|
||||
minetest.register_craftitem("exchangeclone:red_matter", {
|
||||
description = "Red Matter Orb",
|
||||
wield_image = "exchangeclone_red_matter.png",
|
||||
inventory_image = "exchangeclone_red_matter.png",
|
||||
groups = {craftitem = 1},
|
||||
})
|
||||
|
||||
minetest.register_node("exchangeclone:dark_matter_block", {
|
||||
description = "Dark Matter Block",
|
||||
tiles = {"exchangeclone_dark_matter_block.png"},
|
||||
is_ground_content = false,
|
||||
light_source = 10,
|
||||
sounds = sound_mod.node_sound_stone_defaults(),
|
||||
groups = {pickaxey=5, material_stone=1, cracky = 3, level = get_level(4)}, --ridiculous workaround
|
||||
_mcl_blast_resistance = 1500,
|
||||
_mcl_hardness = 75,
|
||||
})
|
||||
|
||||
minetest.register_node("exchangeclone:red_matter_block", {
|
||||
description = "Red Matter Block",
|
||||
tiles = {"exchangeclone_red_matter_block.png"},
|
||||
is_ground_content = false,
|
||||
light_source = 14,
|
||||
sounds = sound_mod.node_sound_stone_defaults(),
|
||||
-- TODO: Change level to 5 when adding Red Matter tools
|
||||
groups = {pickaxey=5, material_stone=1, cracky = 3, level = get_level(4)},
|
||||
_mcl_blast_resistance = 1500,
|
||||
_mcl_hardness = 100,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:dark_matter",
|
||||
recipe = {
|
||||
{"exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel"},
|
||||
{"exchangeclone:aeternalis_fuel", "mcl_core:diamondblock", "exchangeclone:aeternalis_fuel"},
|
||||
{"exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:dark_matter",
|
||||
recipe = {
|
||||
{"exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel"},
|
||||
{"exchangeclone:aeternalis_fuel", "default:diamondblock", "exchangeclone:aeternalis_fuel"},
|
||||
{"exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:red_matter",
|
||||
recipe = {
|
||||
{"exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel"},
|
||||
{"exchangeclone:dark_matter", "exchangeclone:dark_matter", "exchangeclone:dark_matter"},
|
||||
{"exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel", "exchangeclone:aeternalis_fuel"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:dark_matter_block 4",
|
||||
recipe = {
|
||||
{"exchangeclone:dark_matter", "exchangeclone:dark_matter"},
|
||||
{"exchangeclone:dark_matter", "exchangeclone:dark_matter"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:red_matter_block 4",
|
||||
recipe = {
|
||||
{"exchangeclone:red_matter", "exchangeclone:red_matter"},
|
||||
{"exchangeclone:red_matter", "exchangeclone:red_matter"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:dark_matter 4",
|
||||
recipe = {
|
||||
{"exchangeclone:dark_matter_block","exchangeclone:dark_matter_block}"},
|
||||
{"exchangeclone:dark_matter_block","exchangeclone:dark_matter_block}"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:red_matter 4",
|
||||
recipe = {
|
||||
{"exchangeclone:red_matter_block","exchangeclone:red_matter_block}"},
|
||||
{"exchangeclone:red_matter_block","exchangeclone:red_matter_block}"}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,229 @@
|
|||
local wield_scale
|
||||
if exchangeclone.mineclone then
|
||||
local wield_scale = mcl_vars.tool_wield_scale
|
||||
else
|
||||
local wield_scale = {x=1,y=1,z=1}
|
||||
end
|
||||
|
||||
local make_grass_path
|
||||
local make_stripped_trunk
|
||||
if exchangeclone.mineclone then
|
||||
make_grass_path = function(itemstack, placer, pointed_thing)
|
||||
-- Use pointed node's on_rightclick function first, if present
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
if placer and not placer:get_player_control().sneak then
|
||||
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
||||
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack
|
||||
end
|
||||
end
|
||||
|
||||
-- Only make grass path if tool used on side or top of target node
|
||||
if pointed_thing.above.y < pointed_thing.under.y then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if (minetest.get_item_group(node.name, "path_creation_possible") == 1) then
|
||||
local above = table.copy(pointed_thing.under)
|
||||
above.y = above.y + 1
|
||||
if minetest.get_node(above).name == "air" then
|
||||
if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pointed_thing.under, placer:get_player_name())
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
-- Add wear (as if digging a shovely node)
|
||||
local toolname = itemstack:get_name()
|
||||
local wear = mcl_autogroup.get_wear(toolname, "shovely")
|
||||
if wear then
|
||||
itemstack:add_wear(wear)
|
||||
end
|
||||
end
|
||||
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above}, true)
|
||||
minetest.swap_node(pointed_thing.under, {name="mcl_core:grass_path"})
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
make_stripped_trunk = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type ~= "node" then return end
|
||||
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
local node_name = minetest.get_node(pointed_thing.under).name
|
||||
|
||||
local noddef = minetest.registered_nodes[node_name]
|
||||
|
||||
if not noddef then
|
||||
minetest.log("warning", "Trying to right click with an axe the unregistered node: " .. tostring(node_name))
|
||||
return
|
||||
end
|
||||
|
||||
if not placer:get_player_control().sneak and noddef.on_rightclick then
|
||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||
end
|
||||
if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pointed_thing.under, placer:get_player_name())
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if noddef._mcl_stripped_variant == nil then
|
||||
return itemstack
|
||||
else
|
||||
minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2})
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
-- Add wear (as if digging a axey node)
|
||||
local toolname = itemstack:get_name()
|
||||
local wear = mcl_autogroup.get_wear(toolname, "axey")
|
||||
if wear then
|
||||
itemstack:add_wear(wear)
|
||||
end
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
||||
local carve_pumpkin
|
||||
if minetest.get_modpath("mcl_farming") then
|
||||
carve_pumpkin = function(itemstack, placer, pointed_thing)
|
||||
-- Use pointed node's on_rightclick function first, if present
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
if placer and not placer:get_player_control().sneak then
|
||||
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
||||
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack
|
||||
end
|
||||
end
|
||||
|
||||
-- Only carve pumpkin if used on side
|
||||
if pointed_thing.above.y ~= pointed_thing.under.y then
|
||||
return
|
||||
end
|
||||
if node.name == "mcl_farming:pumpkin" then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
-- Add wear (as if digging a shearsy node)
|
||||
local toolname = itemstack:get_name()
|
||||
local wear = mcl_autogroup.get_wear(toolname, "shearsy")
|
||||
if wear then
|
||||
itemstack:add_wear(wear)
|
||||
end
|
||||
|
||||
end
|
||||
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = pointed_thing.above}, true)
|
||||
local dir = vector.subtract(pointed_thing.under, pointed_thing.above)
|
||||
local param2 = minetest.dir_to_facedir(dir)
|
||||
minetest.set_node(pointed_thing.under, {name="mcl_farming:pumpkin_face", param2 = param2})
|
||||
minetest.add_item(pointed_thing.above, "mcl_farming:pumpkin_seeds 4")
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_tool("exchangeclone:pick_dark_matter", {
|
||||
description = "Dark Matter Pickaxe\nImage coming soon.",
|
||||
groups = { tool=1, pickaxe=1, dig_speed_class=7, enchantability=0 },
|
||||
wield_scale = wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=7},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
cracky = {times={[1]=1.5, [2]=0.75, [3]=0.325}, uses=0, maxlevel=4},
|
||||
},
|
||||
},
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 16, level = 7, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("exchangeclone:shovel_dark_matter", {
|
||||
description = "Dark Matter Shovel\nImage coming soon.",
|
||||
groups = { tool=1, shovel=1, dig_speed_class=7, enchantability=0 },
|
||||
wield_scale = wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=7},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
crumbly = {times={[1]=0.9, [2]=0.45, [3]=0.225}, uses=0, maxlevel=4},
|
||||
},
|
||||
},
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
on_place = make_grass_path,
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
shovely = { speed = 16, level = 7, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("exchangeclone:axe_dark_matter", {
|
||||
description = "Dark Matter Axe\nImage coming soon.",
|
||||
groups = { tool=1, axe=1, dig_speed_class=7, enchantability=0 },
|
||||
wield_scale = wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=16},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
choppy = {times={[1]=1.5, [2]=0.75, [3]=0.38}, uses=0, maxlevel=4},
|
||||
},
|
||||
},
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
on_place = make_stripped_trunk,
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
axey = { speed = 16, level = 7, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("exchangeclone:sword_dark_matter", {
|
||||
description = "Dark Matter Sword\nImage coming soon.",
|
||||
groups = { tool=1, sword=1, dig_speed_class=7, enchantability=0 },
|
||||
wield_scale = wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.25,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=14},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
snappy = {times={[1]=0.95, [2]=0.45, [3]=0.15}, uses=0, maxlevel=4},
|
||||
},
|
||||
},
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
swordy = { speed = 16, level = 7, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
local diamond_itemstring = "default:diamond"
|
||||
if exchangeclone.mineclone then
|
||||
diamond_itemstring = "mcl_core:diamond"
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:shovel_dark_matter",
|
||||
recipe = {
|
||||
{"", "exchangeclone:dark_matter", ""},
|
||||
{"", diamond_itemstring, ""},
|
||||
{"", diamond_itemstring, ""}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:pick_dark_matter",
|
||||
recipe = {
|
||||
{"exchangeclone:dark_matter", "exchangeclone:dark_matter", "exchangeclone:dark_matter"},
|
||||
{"", diamond_itemstring, ""},
|
||||
{"", diamond_itemstring, ""}
|
||||
}
|
||||
})
|
|
@ -1,3 +1,5 @@
|
|||
local sound_mod = mcl_sounds or default
|
||||
|
||||
--Renamed "fuel" inventory to "main" to (almost) work with hoppers
|
||||
|
||||
function get_element_deconstructor_formspec()
|
||||
|
@ -148,7 +150,7 @@ minetest.register_node("exchangeclone:element_deconstructor", {
|
|||
groups = {cracky = 2, container = 3, pickaxey = 2},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 6,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
sounds = sound_mod.node_sound_metal_defaults(),
|
||||
is_ground_content = false,
|
||||
can_dig = can_dig,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
|
|
14
energy.lua
|
@ -6,6 +6,13 @@ exchangeclone.mtg_energy_values = {
|
|||
element_constructor = 92168,
|
||||
energy_collector = 23901,
|
||||
philosophers_stone = 9984,
|
||||
alchemical_coal = 512,
|
||||
mobius_fuel = 2048,
|
||||
aeternalis_fuel = 8192,
|
||||
dark_matter = 139264,
|
||||
dark_matter_block = 139264,
|
||||
red_matter = 466944,
|
||||
red_matter_block = 466944,
|
||||
},
|
||||
["beds"] = {
|
||||
bed_bottom = 168,
|
||||
|
@ -310,6 +317,13 @@ exchangeclone.mcl_energy_values = {
|
|||
energy_collector = 23883,
|
||||
orb = 33792,
|
||||
philosophers_stone = 9984,
|
||||
alchemical_coal = 512,
|
||||
mobius_fuel = 2048,
|
||||
aeternalis_fuel = 8192,
|
||||
dark_matter = 139264,
|
||||
dark_matter_block = 139264,
|
||||
red_matter = 466944,
|
||||
red_matter_block = 466944,
|
||||
},
|
||||
["mcl_core"] = {
|
||||
stonebrickmossy = 9,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
local sound_mod = mcl_sounds or default
|
||||
|
||||
local function get_energy_collector_formspec()
|
||||
if not exchangeclone.mineclone then
|
||||
local formspec = {
|
||||
|
@ -136,7 +138,7 @@ minetest.register_node("exchangeclone:energy_collector", {
|
|||
groups = {cracky = 2, container = 2, pickaxey = 2},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 6,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
sounds = sound_mod.node_sound_metal_defaults(),
|
||||
is_ground_content = false,
|
||||
can_dig = can_dig,
|
||||
on_timer = on_timer,
|
||||
|
|
2
init.lua
|
@ -29,5 +29,7 @@ dofile(default_path.."/constructor.lua")
|
|||
dofile(default_path.."/deconstructor.lua")
|
||||
dofile(default_path.."/energy_collector.lua")
|
||||
dofile(default_path.."/orb.lua")
|
||||
dofile(default_path.."/craftitems.lua")
|
||||
dofile(default_path.."/dark_and_red_tools.lua")
|
||||
dofile(default_path.."/philosophers_stone.lua")
|
||||
dofile(default_path.."/energy.lua")
|
|
@ -1,6 +1,6 @@
|
|||
local function show_enchanting(player)
|
||||
local player_meta = player:get_meta()
|
||||
player_meta:set_int("mcl_enchanting:num_bookshelves", 15)
|
||||
player_meta:set_int("mcl_enchanting:num_bookshelves", 10)
|
||||
player_meta:set_string("mcl_enchanting:table_name", "Enchanting Table")
|
||||
mcl_enchanting.show_enchanting_formspec(player)
|
||||
end
|
||||
|
@ -666,4 +666,96 @@ minetest.register_craft({
|
|||
"mcl_core:lapis",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:alchemical_coal",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"mcl_core:coal_lump",
|
||||
"mcl_core:coal_lump",
|
||||
"mcl_core:coal_lump",
|
||||
"mcl_core:coal_lump",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:alchemical_coal",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"default:coal_lump",
|
||||
"default:coal_lump",
|
||||
"default:coal_lump",
|
||||
"default:coal_lump",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:coal_lump 4",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"exchangeclone:alchemical_coal",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:coal_lump 4",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"exchangeclone:alchemical_coal",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:mobius_fuel",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"exchangeclone:alchemical_coal",
|
||||
"exchangeclone:alchemical_coal",
|
||||
"exchangeclone:alchemical_coal",
|
||||
"exchangeclone:alchemical_coal",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:alchemical_coal 4",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"exchangeclone:mobius_fuel",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:aeternalis_fuel",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"exchangeclone:mobius_fuel",
|
||||
"exchangeclone:mobius_fuel",
|
||||
"exchangeclone:mobius_fuel",
|
||||
"exchangeclone:mobius_fuel",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "exchangeclone:mobius_fuel 4",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"exchangeclone:philosophers_stone",
|
||||
"exchangeclone:aeternalis_fuel",
|
||||
},
|
||||
replacements = {{"exchangeclone:philosophers_stone", "exchangeclone:philosophers_stone"}}
|
||||
})
|
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.3 KiB |