Merge submodule witchcraft into mods directory
3
.gitmodules
vendored
@ -64,9 +64,6 @@
|
||||
[submodule "mods/playereffects"]
|
||||
path = mods/playereffects
|
||||
url = git://repo.or.cz/minetest_playereffects.git
|
||||
[submodule "mods/witchcraft"]
|
||||
path = mods/witchcraft
|
||||
url = https://github.com/D00Med/witchcraft.git
|
||||
[submodule "mods/morefarming"]
|
||||
path = mods/morefarming
|
||||
url = https://github.com/sys4-fr/morefarming.git
|
||||
|
@ -1 +0,0 @@
|
||||
Subproject commit 0baf0cb53b89e34809e372abf4d8540242f0c450
|
164
mods/witchcraft/brewing_stand.lua
Normal file
@ -0,0 +1,164 @@
|
||||
--brewing stand and level 2 potions
|
||||
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.8.1 - Glass
|
||||
|
||||
minetest.register_node("witchcraft:brewing_stand", {
|
||||
tiles = {
|
||||
"witchcraft_brewing_stand_top.png",
|
||||
"witchcraft_brewing_stand_top.png",
|
||||
"witchcraft_brewing_stand_side.png",
|
||||
"witchcraft_brewing_stand_side.png",
|
||||
"witchcraft_brewing_stand_side.png",
|
||||
"witchcraft_brewing_stand_side.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
use_texture_alpha = true,
|
||||
paramtype = "light",
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'witchcraft:brewing_stand_unready'}, rarity = 1},
|
||||
}
|
||||
},
|
||||
groups = {cracky=1, oddly_breakable_by_hand=1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.4375, 0.25}, -- NodeBox1
|
||||
{-0.0625, -0.5, -0.0625, 0.0625, 0, 0.0625}, -- NodeBox2
|
||||
{-0.5, 0, -0.125, 0.5, 0.0625, 0.125}, -- NodeBox3
|
||||
{-0.4375, -0.1875, -0.0625, -0.3125, 0.375, 0.0625}, -- NodeBox4
|
||||
{0.3125, -0.1875, -0.0625, 0.4375, 0.375, 0.0625}, -- NodeBox5
|
||||
{-0.125, 0.0625, -0.125, 0.125, 0.125, 0.125}, -- NodeBox6
|
||||
{-0.1875, 0.125, -0.125, 0.1875, 0.375, 0.125}, -- NodeBox7
|
||||
{-0.125, 0.125, -0.1875, 0.125, 0.375, 0.1875}, -- NodeBox8
|
||||
{-0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox9
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, item, _)
|
||||
local wield_item = clicker:get_wielded_item():get_name()
|
||||
local new_item = wield_item.."_2"
|
||||
if minetest.get_item_group(wield_item, "potion") ~= 0 then
|
||||
minetest.set_node(pos, {name="witchcraft:brewing_stand_active", param2=node.param2})
|
||||
item:take_item()
|
||||
minetest.after(30, function()
|
||||
minetest.set_node(pos, {name="witchcraft:brewing_stand_unready", param2=node.param2})
|
||||
minetest.add_item(pos, new_item)
|
||||
end)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("witchcraft:brewing_stand_active", {
|
||||
tiles = {
|
||||
"witchcraft_brewing_stand_top.png",
|
||||
"witchcraft_brewing_stand_top.png",
|
||||
"witchcraft_brewing_stand_side.png",
|
||||
"witchcraft_brewing_stand_side.png",
|
||||
"witchcraft_brewing_stand_side.png",
|
||||
"witchcraft_brewing_stand_side.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
use_texture_alpha = true,
|
||||
paramtype = "light",
|
||||
light_source = 1,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'witchcraft:brewing_stand_unready'}, rarity = 1},
|
||||
}
|
||||
},
|
||||
groups = {cracky=1, oddly_breakable_by_hand=1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.4375, 0.25}, -- NodeBox1
|
||||
{-0.0625, -0.5, -0.0625, 0.0625, 0, 0.0625}, -- NodeBox2
|
||||
{-0.5, 0, -0.125, 0.5, 0.0625, 0.125}, -- NodeBox3
|
||||
{-0.4375, -0.1875, -0.0625, -0.3125, 0.375, 0.0625}, -- NodeBox4
|
||||
{0.3125, -0.1875, -0.0625, 0.4375, 0.375, 0.0625}, -- NodeBox5
|
||||
{-0.125, 0.0625, -0.125, 0.125, 0.125, 0.125}, -- NodeBox6
|
||||
{-0.1875, 0.125, -0.125, 0.1875, 0.375, 0.125}, -- NodeBox7
|
||||
{-0.125, 0.125, -0.1875, 0.125, 0.375, 0.1875}, -- NodeBox8
|
||||
{-0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox9
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("witchcraft:brewing_stand_unready", {
|
||||
description = "brewing stand",
|
||||
tiles = {
|
||||
"witchcraft_brewing_stand_top.png^[colorize:black:100",
|
||||
"witchcraft_brewing_stand_top.png^[colorize:black:100",
|
||||
"witchcraft_brewing_stand_side.png^[colorize:black:100",
|
||||
"witchcraft_brewing_stand_side.png^[colorize:black:100",
|
||||
"witchcraft_brewing_stand_side.png^[colorize:black:100",
|
||||
"witchcraft_brewing_stand_side.png^[colorize:black:100"
|
||||
},
|
||||
inventory_image = "witchcraft_brewing_stand_inv.png",
|
||||
drawtype = "nodebox",
|
||||
use_texture_alpha = true,
|
||||
paramtype = "light",
|
||||
light_source = 1,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'witchcraft:brewing_stand_unready'}, rarity = 1},
|
||||
}
|
||||
},
|
||||
groups = {cracky=1, oddly_breakable_by_hand=1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.4375, 0.25}, -- NodeBox1
|
||||
{-0.0625, -0.5, -0.0625, 0.0625, 0, 0.0625}, -- NodeBox2
|
||||
{-0.5, 0, -0.125, 0.5, 0.0625, 0.125}, -- NodeBox3
|
||||
{-0.4375, -0.1875, -0.0625, -0.3125, 0.375, 0.0625}, -- NodeBox4
|
||||
{0.3125, -0.1875, -0.0625, 0.4375, 0.375, 0.0625}, -- NodeBox5
|
||||
{-0.125, 0.0625, -0.125, 0.125, 0.125, 0.125}, -- NodeBox6
|
||||
{-0.1875, 0.125, -0.125, 0.1875, 0.375, 0.125}, -- NodeBox7
|
||||
{-0.125, 0.125, -0.1875, 0.125, 0.375, 0.1875}, -- NodeBox8
|
||||
{-0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox9
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, item, _)
|
||||
local wield_item = clicker:get_wielded_item():get_name()
|
||||
if wield_item == "default:mese_crystal_fragment" then
|
||||
minetest.set_node(pos, {name="witchcraft:brewing_stand", param2=node.param2})
|
||||
item:take_item()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
--end of GENERATED CODE
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"witchcraft:brewing_stand_active"},
|
||||
interval = 0.5,
|
||||
chance = 1,
|
||||
action = function(pos, node)
|
||||
minetest.add_particlespawner({
|
||||
amount = 2,
|
||||
time = 1,
|
||||
minpos = {x=pos.x-0.1, y=pos.y, z=pos.z-0.1},
|
||||
maxpos = {x=pos.x+0.1, y=pos.y, z=pos.z+0.1},
|
||||
minvel = {x=0, y=0.5, z=0},
|
||||
maxvel = {x=0, y=0.6, z=0},
|
||||
minacc = {x=0, y=0.2, z=0},
|
||||
maxacc = {x=0, y=0.3, z=0},
|
||||
minexptime = 1,
|
||||
maxexptime = 2,
|
||||
minsize = 0.5,
|
||||
maxsize = 1,
|
||||
collisiondetection = false,
|
||||
texture = "witchcraft_smoke.png"
|
||||
})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:brewing_stand_unready',
|
||||
recipe = {
|
||||
{'', '', ''},
|
||||
{'group:stick', 'default:diamond', 'group:stick'},
|
||||
{'', 'default:obsidian_shard', ''},
|
||||
}
|
||||
})
|
11
mods/witchcraft/depends.txt
Normal file
@ -0,0 +1,11 @@
|
||||
default
|
||||
vessels
|
||||
tnt
|
||||
fire
|
||||
playereffects
|
||||
farming?
|
||||
lightning?
|
||||
pmobs?
|
||||
hud_hunger?
|
||||
moreplants?
|
||||
horror?
|
3803
mods/witchcraft/init.lua
Normal file
2467
mods/witchcraft/init_old.lua
Normal file
29
mods/witchcraft/license.txt
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
License for Code
|
||||
----------------
|
||||
|
||||
Copyright (C) 2016 D00Med <heiselong@gmx.com>
|
||||
|
||||
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.
|
||||
|
||||
License for Textures, Models and Sounds
|
||||
---------------------------------------
|
||||
|
||||
CC-BY-SA 3.0 UNPORTED. Created by D00Med
|
||||
|
||||
All potion bottles derived from
|
||||
vessels_glass_bottle.png (by Authors)
|
||||
|
||||
kilbith (WTFPL)
|
19
mods/witchcraft/models/3quarters.obj
Normal file
@ -0,0 +1,19 @@
|
||||
mtllib 3 4ths.mtl
|
||||
o converted_out
|
||||
v 0.375 -0.25 -0.375
|
||||
v 0.375 -0.25 0.375
|
||||
v 0.375 0.1875 0.375
|
||||
v 0.375 0.1875 -0.375
|
||||
v -0.375 -0.25 -0.375
|
||||
v -0.375 -0.25 0.375
|
||||
v -0.375 0.1875 0.375
|
||||
v -0.375 0.1875 -0.375
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox21
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
19
mods/witchcraft/models/4th.obj
Normal file
@ -0,0 +1,19 @@
|
||||
mtllib 1 4th.mtl
|
||||
o converted_out
|
||||
v 0.375 -0.25 -0.375
|
||||
v 0.375 -0.25 0.375
|
||||
v 0.375 -0.0625 0.375
|
||||
v 0.375 -0.0625 -0.375
|
||||
v -0.375 -0.25 -0.375
|
||||
v -0.375 -0.25 0.375
|
||||
v -0.375 -0.0625 0.375
|
||||
v -0.375 -0.0625 -0.375
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox21
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
19
mods/witchcraft/models/full.obj
Normal file
@ -0,0 +1,19 @@
|
||||
mtllib full.mtl
|
||||
o converted_out
|
||||
v 0.375 -0.25 -0.375
|
||||
v 0.375 -0.25 0.375
|
||||
v 0.375 0.375 0.375
|
||||
v 0.375 0.375 -0.375
|
||||
v -0.375 -0.25 -0.375
|
||||
v -0.375 -0.25 0.375
|
||||
v -0.375 0.375 0.375
|
||||
v -0.375 0.375 -0.375
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox21
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
19
mods/witchcraft/models/half.obj
Normal file
@ -0,0 +1,19 @@
|
||||
mtllib half.mtl
|
||||
o converted_out
|
||||
v 0.375 -0.25 -0.375
|
||||
v 0.375 -0.25 0.375
|
||||
v 0.375 0.0625 0.375
|
||||
v 0.375 0.0625 -0.375
|
||||
v -0.375 -0.25 -0.375
|
||||
v -0.375 -0.25 0.375
|
||||
v -0.375 0.0625 0.375
|
||||
v -0.375 0.0625 -0.375
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox21
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
80
mods/witchcraft/readme.txt
Normal file
@ -0,0 +1,80 @@
|
||||
Witchcraft by D00Med
|
||||
Some notes:
|
||||
>farming_redo is required for the mod even though this is not shown in depends.txt
|
||||
>mobs_redo is optionally required for the mod, but since pmobs requires it, it is assumed that if you have pmobs then you have mobs.
|
||||
>Some potions are dangerous!
|
||||
|
||||
Some crafting recipes:
|
||||
|
||||
herbs(shapeless):
|
||||
weed or groundfungus or bush
|
||||
|
||||
jar of eyes:
|
||||
eye, X, X
|
||||
eye, X. X
|
||||
drinking glass, X, X
|
||||
|
||||
eyes(shapeless):
|
||||
jar of eyes
|
||||
|
||||
magic cooking pot:
|
||||
copper lump, X, copper lump
|
||||
copper lump, X, copper lump
|
||||
X, copper lump, X
|
||||
|
||||
the magic cooking pot cooks its contents without fire, so there is no need to light a fire underneath.
|
||||
|
||||
potion shelf:
|
||||
wood, wood, wood
|
||||
potion, potion, potion
|
||||
wood, wood, wood
|
||||
|
||||
empty scroll:
|
||||
paper, diamond, paper
|
||||
paper, paper, paper
|
||||
|
||||
Need some slime? try scraping it out of an empty cauldron with a drinking glass.
|
||||
|
||||
Potion ingredients(may be slightly inaccurate):
|
||||
>herbs
|
||||
>jar of eyes
|
||||
>diamond
|
||||
>apple
|
||||
>gold lumps
|
||||
>mese crystal fragment
|
||||
>obsidian shard
|
||||
>jar of slime
|
||||
>curlyfruit
|
||||
>mushroom(moreplants)
|
||||
>red mushroom(flowers)
|
||||
>grass
|
||||
>umbrella plant
|
||||
>glass
|
||||
>glass fragments
|
||||
>flint
|
||||
>tnt
|
||||
>copper block
|
||||
>steel block
|
||||
>steel ingot
|
||||
>lilypad
|
||||
>dirt
|
||||
>sand
|
||||
>gravel
|
||||
>bucket of water
|
||||
>bullrush
|
||||
>bones
|
||||
|
||||
About the recipes:
|
||||
|
||||
init.lua contains the pot recipes. For each pot there is a line similar to the one below, in the 'witchraft.pot' table.
|
||||
|
||||
{"blue", "brown", "default:dirt", "blue2", "moreplants:bullrush", "red", "purple"},
|
||||
{"potion name", "result1", "ingredient1", "result2", "ingredient2", "combine potion", "combine result"}
|
||||
|
||||
The first column of the table("blue"), is the color of the current potion pot. In the example, it is the blue pot, so the ingredients and results in the other columns
|
||||
will apply to the blue pot, ie: the blue pot must be rightclicked. It is important that the name of the pot is in the name of it's texture, eg: a blue pot has the texture "witchraft_pot_blue.png"
|
||||
|
||||
The second and fourth columns are the two possible results after adding new ingredients. The last column is the result after combining the current potion with another.
|
||||
|
||||
The third and fifth columns are the ingredients required. The ingredient req. to make the potion in column 2 must be in column 3, and the ingredient req. to make the potion in columns 4 must be in columns 5.
|
||||
The 6th column is the potion that can be combined with the current potion to make a new potion.
|
BIN
mods/witchcraft/recipes.gfie
Normal file
BIN
mods/witchcraft/screenshot.png
Normal file
After Width: | Height: | Size: 95 KiB |
426
mods/witchcraft/scrolls.lua
Normal file
@ -0,0 +1,426 @@
|
||||
--scrolls
|
||||
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll_day", {
|
||||
description = "Scroll of day",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_sun_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item)
|
||||
minetest.set_timeofday(0.5)
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll_night", {
|
||||
description = "Scroll of night",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_moon_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item)
|
||||
minetest.set_timeofday(0)
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("pmobs")then
|
||||
minetest.register_craftitem("witchcraft:scroll_wild", {
|
||||
description = "Scroll of Wild",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_dark_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item, placer)
|
||||
local pos = placer:getpos();
|
||||
minetest.env:add_entity(pos, "pmobs:dog")
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll_fireball", {
|
||||
description = "Scroll of fireball",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_fire_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item, placer, pos)
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local obj = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:fireball")
|
||||
local obj2 = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:fireball")
|
||||
local obj3 = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:fireball")
|
||||
local obj4 = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:fireball")
|
||||
obj2:setvelocity({x=dir.x*7+0.5,y=dir.y*7,z=dir.z*7+0.5})
|
||||
obj3:setvelocity({x=dir.x*7-0.5,y=dir.y*7,z=dir.z*7-0.5})
|
||||
obj4:setvelocity({x=dir.x*7,y=dir.y*7-0.5,z=dir.z*7})
|
||||
obj:setvelocity({x=dir.x*7,y=dir.y*7+0.5,z=dir.z*7})
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("lightning") then
|
||||
minetest.register_craftitem("witchcraft:scroll_lightning", {
|
||||
description = "Scroll of lightning",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_thunder_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item, placer, pos)
|
||||
local playerpos = placer:getpos();
|
||||
local dir = placer:get_look_dir();
|
||||
lightning.strike({x=playerpos.x+dir.x*2,y=playerpos.y+0+dir.y,z=playerpos.z+dir.z*2})
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll_icicle", {
|
||||
description = "Scroll of icicle",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_ice_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item, placer, pos)
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local vec = {x=dir.x*7,y=dir.y*7,z=dir.z*7}
|
||||
local obj = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:ice")
|
||||
local obj2 = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+1+dir.z}, "witchcraft:ice")
|
||||
local obj3 = minetest.env:add_entity({x=playerpos.x+1+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:ice")
|
||||
obj:setvelocity(vec)
|
||||
obj2:setvelocity(vec)
|
||||
obj3:setvelocity(vec)
|
||||
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll_nature", {
|
||||
description = "Scroll of nature",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_leaf_over.png",
|
||||
stack_max = 1,
|
||||
on_use = function(item, placer, pos)
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local vec = {x=dir.x*6,y=dir.y*6,z=dir.z*6}
|
||||
local obj = minetest.env:add_entity({x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, "witchcraft:tree")
|
||||
obj:setvelocity(vec)
|
||||
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll", {
|
||||
description = "Blank Scroll",
|
||||
inventory_image = "witchcraft_scroll.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("witchcraft:scroll_recipe", {
|
||||
description = "Recipe Scroll",
|
||||
inventory_image = "witchcraft_scroll.png^witchcraft_writing_over.png",
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
local formspec = "size[10,9]"..
|
||||
"background[-0.6,-0.5;11.5,10.4;witchcraft_recipes.png]";
|
||||
|
||||
minetest.show_formspec(user:get_player_name(), "witchcraft:scroll", formspec);
|
||||
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("pmobs")then
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_wild',
|
||||
recipe = {
|
||||
{'mobs:meat_raw'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll',
|
||||
recipe = {
|
||||
{'default:paper', 'default:paper', ''},
|
||||
{'default:paper', 'default:paper', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_recipe',
|
||||
recipe = {
|
||||
{'dye:black'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_icicle',
|
||||
recipe = {
|
||||
{'default:ice'},
|
||||
{'default:diamond'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_fireball',
|
||||
recipe = {
|
||||
{'default:obsidian_shard'},
|
||||
{'default:diamond'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_nature',
|
||||
recipe = {
|
||||
{'default:leaves'},
|
||||
{'default:diamond'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_day',
|
||||
recipe = {
|
||||
{'default:torch'},
|
||||
{'default:diamond'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_night',
|
||||
recipe = {
|
||||
{'default:coal_lump'},
|
||||
{'default:diamond'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'witchcraft:scroll_lightning',
|
||||
recipe = {
|
||||
{'default:steel_ingot'},
|
||||
{'default:diamond'},
|
||||
{'witchcraft:scroll'},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
--scroll powers
|
||||
|
||||
minetest.register_entity("witchcraft:fireball", {
|
||||
textures = {"tnt_boom.png"},
|
||||
velocity = 0.1,
|
||||
damage = 2,
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
on_step = function(self, obj, pos)
|
||||
local remove = minetest.after(2, function()
|
||||
self.object:remove()
|
||||
end)
|
||||
local pos = self.object:getpos()
|
||||
local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
|
||||
for k, obj in pairs(objs) do
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= "witchcraft:fireball" and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval=1.0,
|
||||
damage_groups={fleshy=3},
|
||||
}, nil)
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
end
|
||||
for dx=0,1 do
|
||||
for dy=0,1 do
|
||||
for dz=0,1 do
|
||||
local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
|
||||
local t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
local n = minetest.env:get_node(p).name
|
||||
if n ~= "witchcraft:fireball" and n ~="default:dirt_with_grass" and n ~="default:dirt_with_dry_grass" and n ~="default:stone" then
|
||||
if minetest.registered_nodes[n].groups.flammable --[[or math.random(1, 100) <= 1]] then
|
||||
minetest.env:set_node(t, {name="fire:basic_flame"})
|
||||
self.object:remove()
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
hit_node = function(self, pos, node)
|
||||
-- local pos = self.object:getpos()
|
||||
for dx=-4,4 do
|
||||
for dy=-4,4 do
|
||||
for dz=-4,4 do
|
||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
local t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
local n = minetest.env:get_node(pos).name
|
||||
if math.random(1, 50) <= 35 then
|
||||
minetest.env:remove_node(p)
|
||||
end
|
||||
if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <=5 then
|
||||
minetest.env:set_node(t, {name="fire:basic_flame"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local apos = self.object:getpos()
|
||||
local vec = self.object:getvelocity()
|
||||
local part = minetest.add_particlespawner(
|
||||
6, --amount
|
||||
0.3, --time
|
||||
{x=apos.x-0.3, y=apos.y-0.3, z=apos.z-0.3}, --minpos
|
||||
{x=apos.x+0.3, y=apos.y+0.3, z=apos.z+0.3}, --maxpos
|
||||
{x=-0, y=-0, z=-0}, --minvel
|
||||
{x=0, y=0, z=0}, --maxvel
|
||||
{x=0,y=-0.5,z=0}, --minacc
|
||||
{x=-vec.x,y=-vec.y,z=-vec.z}, --maxacc
|
||||
0.1, --minexptime
|
||||
0.3, --maxexptime
|
||||
1, --minsize
|
||||
2, --maxsize
|
||||
false, --collisiondetection
|
||||
"witchcraft_flame.png" --texture
|
||||
)
|
||||
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
|
||||
minetest.register_entity("witchcraft:tree", {
|
||||
textures = {"witchcraft_skin.png"},
|
||||
velocity = 1,
|
||||
damage = 2,
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
on_step = function(self, obj, pos)
|
||||
local remove = minetest.after(2, function()
|
||||
self.object:remove()
|
||||
end)
|
||||
local pos = self.object:getpos()
|
||||
local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
|
||||
for k, obj in pairs(objs) do
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= "witchcraft:tree" and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
obj:remove()
|
||||
local treepos = self.object:getpos()
|
||||
default.grow_new_jungle_tree(treepos)
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
end
|
||||
for dx=0,1 do
|
||||
for dy=0,1 do
|
||||
for dz=0,1 do
|
||||
local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
|
||||
local t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
local n = minetest.env:get_node(p).name
|
||||
if n ~= "witchcraft:tree" and n ~="air" then
|
||||
local treepos = self.object:getpos()
|
||||
default.grow_new_jungle_tree(treepos)
|
||||
self.object:remove()
|
||||
elseif n == "default:wood" or n =="default:tree" or n =="default:dirt_with_grass" or n =="default:dirt_with_dry_grass" then
|
||||
self.hit_node(self, pos, node)
|
||||
self.object:remove()
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
hit_node = function(self, pos, node)
|
||||
local treepos = self.object:getpos()
|
||||
default.grow_new_jungle_tree(treepos)
|
||||
end
|
||||
|
||||
local apos = self.object:getpos()
|
||||
local part = minetest.add_particlespawner(
|
||||
6, --amount
|
||||
0.3, --time
|
||||
{x=apos.x-0.3, y=apos.y-0.3, z=apos.z-0.3}, --minpos
|
||||
{x=apos.x+0.3, y=apos.y+0.3, z=apos.z+0.3}, --maxpos
|
||||
{x=-0, y=-0, z=-0}, --minvel
|
||||
{x=0, y=0, z=0}, --maxvel
|
||||
{x=0,y=-0.5,z=0}, --minacc
|
||||
{x=0.5,y=0.5,z=0.5}, --maxacc
|
||||
0.1, --minexptime
|
||||
0.3, --maxexptime
|
||||
1, --minsize
|
||||
2, --maxsize
|
||||
false, --collisiondetection
|
||||
"witchcraft_leaf_over.png" --texture
|
||||
)
|
||||
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_entity("witchcraft:ice", {
|
||||
visual="sprite",
|
||||
visual_size={x=1,y=1},
|
||||
physical=false,
|
||||
textures={"witchcraft_ice.png"},
|
||||
velocity = 1,
|
||||
rotate = 90,
|
||||
auto_rotate = true,
|
||||
damage = 2,
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
on_step = function(self, obj, pos)
|
||||
local remove = minetest.after(10, function()
|
||||
self.object:remove()
|
||||
end)
|
||||
local pos = self.object:getpos()
|
||||
local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
|
||||
for k, obj in pairs(objs) do
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= "witchcraft:ice" and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval=1.0,
|
||||
damage_groups={fleshy=1},
|
||||
}, nil)
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
for dx=0,1 do
|
||||
for dy=0,1 do
|
||||
for dz=0,1 do
|
||||
local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
|
||||
local t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
local n = minetest.env:get_node(p).name
|
||||
if n == "default:water_source" or n =="default:river_water_source" then
|
||||
local pos = self.object:getpos()
|
||||
minetest.set_node(pos, {name="default:ice"})
|
||||
self.object:remove()
|
||||
elseif n ~= "air" then
|
||||
local velo = self.object:getvelocity()
|
||||
self.object:setvelocity({x=velo.x*-1, y=velo.y*0, z=velo.z*1})
|
||||
--self.object:remove()
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local apos = self.object:getpos()
|
||||
local part = minetest.add_particlespawner(
|
||||
10, --amount
|
||||
0.3, --time
|
||||
{x=apos.x-0.3, y=apos.y-0.3, z=apos.z-0.3}, --minpos
|
||||
{x=apos.x+0.3, y=apos.y+0.3, z=apos.z+0.3}, --maxpos
|
||||
{x=-0, y=-0, z=-0}, --minvel
|
||||
{x=0, y=0, z=0}, --maxvel
|
||||
{x=0,y=-0.5,z=0}, --minacc
|
||||
{x=0.5,y=0.5,z=0.5}, --maxacc
|
||||
0.1, --minexptime
|
||||
0.3, --maxexptime
|
||||
0.2, --minsize
|
||||
0.5, --maxsize
|
||||
false, --collisiondetection
|
||||
"witchcraft_light_over.png" --texture
|
||||
)
|
||||
end
|
||||
end
|
||||
})
|
2
mods/witchcraft/sounds/license.txt
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
Pop sound from www.freesfx.co.uk
|
BIN
mods/witchcraft/sounds/pop.ogg
Normal file
BIN
mods/witchcraft/textures/vessels_shelf_overlay.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
mods/witchcraft/textures/witchcraft_bone.png
Normal file
After Width: | Height: | Size: 217 B |
BIN
mods/witchcraft/textures/witchcraft_bone_bottle.png
Normal file
After Width: | Height: | Size: 266 B |
BIN
mods/witchcraft/textures/witchcraft_brewing_stand_inv.png
Normal file
After Width: | Height: | Size: 228 B |
BIN
mods/witchcraft/textures/witchcraft_brewing_stand_side.png
Normal file
After Width: | Height: | Size: 493 B |
BIN
mods/witchcraft/textures/witchcraft_brewing_stand_top.png
Normal file
After Width: | Height: | Size: 458 B |
BIN
mods/witchcraft/textures/witchcraft_bubble.png
Normal file
After Width: | Height: | Size: 127 B |
BIN
mods/witchcraft/textures/witchcraft_bubbles.png
Normal file
After Width: | Height: | Size: 162 B |
BIN
mods/witchcraft/textures/witchcraft_bubbles_pink.png
Normal file
After Width: | Height: | Size: 167 B |
BIN
mods/witchcraft/textures/witchcraft_candle.png
Normal file
After Width: | Height: | Size: 303 B |
BIN
mods/witchcraft/textures/witchcraft_candle_top.png
Normal file
After Width: | Height: | Size: 683 B |
BIN
mods/witchcraft/textures/witchcraft_dagger.png
Normal file
After Width: | Height: | Size: 172 B |
BIN
mods/witchcraft/textures/witchcraft_dark_over.png
Normal file
After Width: | Height: | Size: 155 B |
BIN
mods/witchcraft/textures/witchcraft_effect.png
Normal file
After Width: | Height: | Size: 79 B |
BIN
mods/witchcraft/textures/witchcraft_fire_over.png
Normal file
After Width: | Height: | Size: 135 B |
BIN
mods/witchcraft/textures/witchcraft_flame.png
Normal file
After Width: | Height: | Size: 306 B |
BIN
mods/witchcraft/textures/witchcraft_herb_bottle.png
Normal file
After Width: | Height: | Size: 227 B |
BIN
mods/witchcraft/textures/witchcraft_herbs.png
Normal file
After Width: | Height: | Size: 258 B |
BIN
mods/witchcraft/textures/witchcraft_horn.png
Normal file
After Width: | Height: | Size: 193 B |
BIN
mods/witchcraft/textures/witchcraft_ice.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
mods/witchcraft/textures/witchcraft_ice_over.png
Normal file
After Width: | Height: | Size: 137 B |
BIN
mods/witchcraft/textures/witchcraft_jar_eyes.png
Normal file
After Width: | Height: | Size: 401 B |
BIN
mods/witchcraft/textures/witchcraft_jar_slime.png
Normal file
After Width: | Height: | Size: 338 B |
BIN
mods/witchcraft/textures/witchcraft_launcher.png
Normal file
After Width: | Height: | Size: 352 B |
BIN
mods/witchcraft/textures/witchcraft_launcher_potion.png
Normal file
After Width: | Height: | Size: 134 B |
BIN
mods/witchcraft/textures/witchcraft_leaf_over.png
Normal file
After Width: | Height: | Size: 143 B |
BIN
mods/witchcraft/textures/witchcraft_light_over.png
Normal file
After Width: | Height: | Size: 120 B |
BIN
mods/witchcraft/textures/witchcraft_medicine_bottle.png
Normal file
After Width: | Height: | Size: 277 B |
BIN
mods/witchcraft/textures/witchcraft_moon_over.png
Normal file
After Width: | Height: | Size: 157 B |
BIN
mods/witchcraft/textures/witchcraft_mud_bottle.png
Normal file
After Width: | Height: | Size: 230 B |
BIN
mods/witchcraft/textures/witchcraft_penta.png
Normal file
After Width: | Height: | Size: 414 B |
BIN
mods/witchcraft/textures/witchcraft_pentablock.png
Normal file
After Width: | Height: | Size: 438 B |
BIN
mods/witchcraft/textures/witchcraft_pentagram.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
mods/witchcraft/textures/witchcraft_portal.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
mods/witchcraft/textures/witchcraft_pot_aqua.png
Normal file
After Width: | Height: | Size: 679 B |
BIN
mods/witchcraft/textures/witchcraft_pot_blue.png
Normal file
After Width: | Height: | Size: 698 B |
BIN
mods/witchcraft/textures/witchcraft_pot_blue2.png
Normal file
After Width: | Height: | Size: 665 B |
BIN
mods/witchcraft/textures/witchcraft_pot_bottom.png
Normal file
After Width: | Height: | Size: 86 B |
BIN
mods/witchcraft/textures/witchcraft_pot_brown.png
Normal file
After Width: | Height: | Size: 694 B |
BIN
mods/witchcraft/textures/witchcraft_pot_cyan.png
Normal file
After Width: | Height: | Size: 683 B |
BIN
mods/witchcraft/textures/witchcraft_pot_darkpurple.png
Normal file
After Width: | Height: | Size: 667 B |
BIN
mods/witchcraft/textures/witchcraft_pot_gcyan.png
Normal file
After Width: | Height: | Size: 1017 B |
BIN
mods/witchcraft/textures/witchcraft_pot_ggreen.png
Normal file
After Width: | Height: | Size: 961 B |
BIN
mods/witchcraft/textures/witchcraft_pot_gold.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mods/witchcraft/textures/witchcraft_pot_gpurple.png
Normal file
After Width: | Height: | Size: 968 B |
BIN
mods/witchcraft/textures/witchcraft_pot_gred.png
Normal file
After Width: | Height: | Size: 981 B |
BIN
mods/witchcraft/textures/witchcraft_pot_green.png
Normal file
After Width: | Height: | Size: 693 B |
BIN
mods/witchcraft/textures/witchcraft_pot_green2.png
Normal file
After Width: | Height: | Size: 698 B |
BIN
mods/witchcraft/textures/witchcraft_pot_grey.png
Normal file
After Width: | Height: | Size: 674 B |
BIN
mods/witchcraft/textures/witchcraft_pot_inv.png
Normal file
After Width: | Height: | Size: 437 B |
BIN
mods/witchcraft/textures/witchcraft_pot_magenta.png
Normal file
After Width: | Height: | Size: 661 B |
BIN
mods/witchcraft/textures/witchcraft_pot_orange.png
Normal file
After Width: | Height: | Size: 658 B |
BIN
mods/witchcraft/textures/witchcraft_pot_purple.png
Normal file
After Width: | Height: | Size: 657 B |
BIN
mods/witchcraft/textures/witchcraft_pot_red.png
Normal file
After Width: | Height: | Size: 643 B |
BIN
mods/witchcraft/textures/witchcraft_pot_redbrown.png
Normal file
After Width: | Height: | Size: 689 B |
BIN
mods/witchcraft/textures/witchcraft_pot_side.png
Normal file
After Width: | Height: | Size: 285 B |
BIN
mods/witchcraft/textures/witchcraft_pot_silver.png
Normal file
After Width: | Height: | Size: 664 B |
BIN
mods/witchcraft/textures/witchcraft_pot_top.png
Normal file
After Width: | Height: | Size: 351 B |
BIN
mods/witchcraft/textures/witchcraft_pot_yellow.png
Normal file
After Width: | Height: | Size: 665 B |
BIN
mods/witchcraft/textures/witchcraft_pot_yllwgrn.png
Normal file
After Width: | Height: | Size: 679 B |
BIN
mods/witchcraft/textures/witchcraft_potion_aqua.png
Normal file
After Width: | Height: | Size: 388 B |
BIN
mods/witchcraft/textures/witchcraft_potion_blue.png
Normal file
After Width: | Height: | Size: 377 B |
BIN
mods/witchcraft/textures/witchcraft_potion_blue2.png
Normal file
After Width: | Height: | Size: 394 B |
BIN
mods/witchcraft/textures/witchcraft_potion_brown.png
Normal file
After Width: | Height: | Size: 382 B |
BIN
mods/witchcraft/textures/witchcraft_potion_cyan.png
Normal file
After Width: | Height: | Size: 385 B |
BIN
mods/witchcraft/textures/witchcraft_potion_darkpurple.png
Normal file
After Width: | Height: | Size: 391 B |
BIN
mods/witchcraft/textures/witchcraft_potion_gcyan.png
Normal file
After Width: | Height: | Size: 544 B |
BIN
mods/witchcraft/textures/witchcraft_potion_ggreen.png
Normal file
After Width: | Height: | Size: 550 B |
BIN
mods/witchcraft/textures/witchcraft_potion_gold.png
Normal file
After Width: | Height: | Size: 424 B |
BIN
mods/witchcraft/textures/witchcraft_potion_gpurple.png
Normal file
After Width: | Height: | Size: 546 B |
BIN
mods/witchcraft/textures/witchcraft_potion_gred.png
Normal file
After Width: | Height: | Size: 552 B |
BIN
mods/witchcraft/textures/witchcraft_potion_green.png
Normal file
After Width: | Height: | Size: 392 B |
BIN
mods/witchcraft/textures/witchcraft_potion_green2.png
Normal file
After Width: | Height: | Size: 391 B |
BIN
mods/witchcraft/textures/witchcraft_potion_grey.png
Normal file
After Width: | Height: | Size: 373 B |
BIN
mods/witchcraft/textures/witchcraft_potion_magenta.png
Normal file
After Width: | Height: | Size: 395 B |
BIN
mods/witchcraft/textures/witchcraft_potion_orange.png
Normal file
After Width: | Height: | Size: 395 B |
BIN
mods/witchcraft/textures/witchcraft_potion_purple.png
Normal file
After Width: | Height: | Size: 387 B |
BIN
mods/witchcraft/textures/witchcraft_potion_red.png
Normal file
After Width: | Height: | Size: 375 B |
BIN
mods/witchcraft/textures/witchcraft_potion_redbrown.png
Normal file
After Width: | Height: | Size: 378 B |
BIN
mods/witchcraft/textures/witchcraft_potion_silver.png
Normal file
After Width: | Height: | Size: 419 B |
BIN
mods/witchcraft/textures/witchcraft_potion_yellgrn.png
Normal file
After Width: | Height: | Size: 393 B |
BIN
mods/witchcraft/textures/witchcraft_potion_yellow.png
Normal file
After Width: | Height: | Size: 398 B |
BIN
mods/witchcraft/textures/witchcraft_recipes.png
Normal file
After Width: | Height: | Size: 465 KiB |