Initial commit

master
theraven262 2017-09-28 14:47:05 +02:00
parent 5bec2290c8
commit 230efac717
5 changed files with 322 additions and 0 deletions

11
craftitems.lua Normal file
View File

@ -0,0 +1,11 @@
---( Craftitems )---
minetest.register_craftitem("conjuration:soul_crystal", {
description = "Soul Crystal",
inventory_image = "(default_diamond.png^[colorize:#0040FF50)^((default_diamond.png^[transformFY)^[colorize:#0040FF50)",
})
minetest.register_craftitem("conjuration:soul_shards", {
description = "Soul Shards",
inventory_image = "(default_mineral_mese.png^[brighten)^[colorize:#0040FF99",
})

128
crafts.lua Normal file
View File

@ -0,0 +1,128 @@
---( Crafts )---
minetest.register_craft({
output = "conjuration:soul_shards",
recipe = {
{"", "default:coal_lump", ""},
{"default:mese_crystal", "default:diamond", "default:mese_crystal"},
{"", "default:coal_lump", ""}
}
})
---( Books )---
minetest.register_craft({
output = "conjuration:book_pickaxelesser",
recipe = {
{"", "default:pick_wood", ""},
{"", "default:book", ""},
{"", "conjuration:soul_crystal", ""}
}
})
minetest.register_craft({
output = "conjuration:book_pickaxe",
recipe = {
{"", "default:pick_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_pickaxegreater",
recipe = {
{"", "default:pick_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "conjuration:soul_crystal", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_shovellesser",
recipe = {
{"", "default:shovel_wood", ""},
{"", "default:book", ""},
{"", "conjuration:soul_crystal", ""}
}
})
minetest.register_craft({
output = "conjuration:book_shovel",
recipe = {
{"", "default:shovel_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_shovelgreater",
recipe = {
{"", "default:shovel_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "conjuration:soul_crystal", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_axelesser",
recipe = {
{"", "default:axe_wood", ""},
{"", "default:book", ""},
{"", "conjuration:soul_crystal", ""}
}
})
minetest.register_craft({
output = "conjuration:book_axe",
recipe = {
{"", "default:axe_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_axegreater",
recipe = {
{"", "default:axe_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "conjuration:soul_crystal", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_swordlesser",
recipe = {
{"", "default:sword_wood", ""},
{"", "default:book", ""},
{"", "conjuration:soul_crystal", ""}
}
})
minetest.register_craft({
output = "conjuration:book_sword",
recipe = {
{"", "default:sword_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "", "conjuration:soul_crystal"}
}
})
minetest.register_craft({
output = "conjuration:book_swordgreater",
recipe = {
{"", "default:sword_wood", ""},
{"", "default:book", ""},
{"conjuration:soul_crystal", "conjuration:soul_crystal", "conjuration:soul_crystal"}
}
})
---( Cooking )---
minetest.register_craft({
type = "cooking",
output = "conjuration:soul_crystal",
recipe = "conjuration:soul_shards",
})

1
depends.txt Normal file
View File

@ -0,0 +1 @@
default

9
init.lua Normal file
View File

@ -0,0 +1,9 @@
conjuration = {}
---( Loading The Files )---
local conjured_path = minetest.get_modpath("conjuration")
dofile(conjured_path .. "/tools.lua")
dofile(conjured_path .. "/craftitems.lua")
dofile(conjured_path .. "/crafts.lua")

173
tools.lua Normal file
View File

@ -0,0 +1,173 @@
---( Tools )---
---( First come the Books )---
tool_type = {
"Pickaxe",
"Axe",
"Shovel",
"Sword"
}
book_level = {
{"Lesser", 100000, 50},
{"", 18000, 75},
{"Greater", 4000, 99}
}
local function scan(inv)
for s=1,32 do
local stack = inv:get_stack("main", s)
local theName = stack:get_name()
for i=1,4 do
if theName == 'conjuration:' .. tool_type[i]:lower() then
return 0
end
end
end
return 1
end
for i=1,4 do
for _, rowc in ipairs(book_level) do
local level = rowc[1]
local level_wear = rowc[2]
local color_int = rowc[3]
local inventory_image = "(default_book.png^[colorize:#008080" .. color_int .. ")^(default_bookshelf_slot.png^[colorize:#0040FF" .. color_int .. ")"
local level_name = ""
if level == "Lesser" or level == "Greater" then
level_name = level .. " "
end
minetest.register_tool("conjuration:book_" .. tool_type[i]:lower() .. level:lower(), {
description = level_name .. "Book of Conjure " .. tool_type[i],
inventory_image = inventory_image,
tool_capabilities = {
full_punch_interval = 1.1,
},
sound = {breaks = "default_cool_lava"},
on_use = function(itemstack, player)
wear = itemstack:get_wear()
itemstack:set_wear(wear + level_wear)
local inv = player:get_inventory()
local full_slots = 1
local item_in_use = 0
local error_control = 0
for s=1,8 do
local tool_present = scan(inv)
if inv:get_stack("main", s):is_empty() == true and tool_present == 1 then
inv:set_stack("main", s, "conjuration:" .. tool_type[i]:lower())
conjuration.special_effects(player)
error_control = 1
else if error_control == 0 then
error_control = 1
minetest.sound_play("default_place_node_metal", player)
end
end
end
return itemstack
end
})
end
end
conjuration.special_effects = function(player)
minetest.sound_play("default_cool_lava", player)
local blue_screen = player:hud_add({
hud_elem_type = "image",
position = {x=0.5, y=0.5},
scale = {x=200, y=200},
text = "default_snow.png^[colorize:#0040FF99",
offset = {x=0, y=0},
})
minetest.after(0.1, function()
player:hud_remove(blue_screen)
end)
minetest.after(0.4, function()
minetest.sound_play("default_place_node_metal", player)
end)
end
---( Tools (Yea, actual tools.) )---
---( Pickaxe )---
minetest.register_tool("conjuration:pickaxe", {
description = "Bound Pickaxe",
inventory_image = "(default_tool_diamondpick.png^[brighten)^[colorize:#0040ff99",
tool_capabilities = {
full_punch_interval = 0.9,
max_drop_level=3,
groupcaps={
cracky = {times={[1]=2.0, [2]=1.0, [3]=0.50}, uses=6, maxlevel=3},
},
damage_groups = {fleshy=5},
},
sound = {breaks = "default_cool_lava"},
groups = {not_in_creative_inventory = 1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
---( Shovel )---
minetest.register_tool("conjuration:shovel", {
description = "Bound Shovel",
inventory_image = "(default_tool_diamondshovel.png^[brighten)^[colorize:#0040ff99",
wield_image = "((default_tool_diamondshovel.png^[brighten)^[colorize:#0040ff99)^[transformR90",
tool_capabilities = {
full_punch_interval = 1.0,
max_drop_level=1,
groupcaps={
crumbly = {times={[1]=1.10, [2]=0.50, [3]=0.30}, uses=6, maxlevel=3},
},
damage_groups = {fleshy=4},
},
sound = {breaks = "default_cool_lava"},
groups = {not_in_creative_inventory = 1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
---( Axe )---
minetest.register_tool("conjuration:axe", {
description = "Bound Axe",
inventory_image = "(default_tool_diamondaxe.png^[brighten)^[colorize:#0040ff99",
tool_capabilities = {
full_punch_interval = 0.9,
max_drop_level=1,
groupcaps={
choppy={times={[1]=2.20, [2]=1.00, [3]=0.60}, uses=6, maxlevel=3},
},
damage_groups = {fleshy=6},
},
sound = {breaks = "default_cool_lava"},
groups = {not_in_creative_inventory = 1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
---( Sword )---
minetest.register_tool("conjuration:sword", {
description = "Bound Sword",
inventory_image = "(default_tool_diamondsword.png^[brighten)^[colorize:#0040ff99",
tool_capabilities = {
full_punch_interval = 0.7,
max_drop_level=1,
groupcaps={
snappy={times={[1]=1.90, [2]=0.90, [3]=0.30}, uses=6, maxlevel=3},
},
damage_groups = {fleshy=8},
},
sound = {breaks = "default_cool_lava"},
groups = {not_in_creative_inventory = 1},
on_drop = function(itemstack, dropper, pos)
return
end,
})