diff --git a/init.lua b/init.lua index cbfa994..d098847 100644 --- a/init.lua +++ b/init.lua @@ -588,25 +588,25 @@ witchcraft.pot = { --new recipes witchcraft.pot_new = { - {"blue", "blue2", "flowers:waterlily", "brown", "default:dirt", "", ""}, - {"blue2", "green", "default:papyrus", "", "", "", ""}, - {"green", "green2", "default:sapling", "", "", "", ""}, - {"green2", "yellow", "default:mese_crystal_fragment", "", "", "", ""}, - {"yellow", "ggreen", "flowers:mushroom_brown", "", "", "", ""}, - {"ggreen", "cyan", "witchcraft:slime_bottle", "", "", "", ""}, - {"cyan", "gcyan", "witchcraft:bottle_medicine", "", "", "", ""}, - {"gcyan", "orange", "default:torch", "", "", "", ""}, - {"orange", "yllwgrn", "tnt:gunpowder", "", "", "", ""}, - {"yllwgrn", "gold", "default:steel_ingot", "", "", "", ""}, + {"blue", "blue2", "flowers:waterlily", "brown", "default:dirt", "red", "purple"}, + {"blue2", "green", "default:papyrus", "", "", "gred", "magenta"}, + {"green", "green2", "default:sapling", "", "", "yellow", "yllwgrn"}, + {"green2", "yellow", "default:mese_crystal_fragment", "", "", "blue", "cyan"}, + {"yellow", "ggreen", "flowers:mushroom_brown", "", "", "green", "yllwgrn"}, + {"ggreen", "cyan", "witchcraft:slime_bottle", "", "", "gcyan", "aqua"}, + {"cyan", "gcyan", "witchcraft:bottle_medicine", "", "", "blue", "blue2"}, + {"gcyan", "orange", "default:torch", "", "", "ggreen", "aqua"}, + {"orange", "yllwgrn", "tnt:gunpowder", "", "", "red", "redbrown"}, + {"yllwgrn", "gold", "default:steel_ingot", "", "", "green", "green2"}, {"gold", "aqua", "default:diamond", "", "", "", ""}, {"aqua", "", "", "", "", "", ""}, - {"brown", "redbrown", "flowers:mushroom_red", "", "", "", ""}, + {"brown", "redbrown", "flowers:mushroom_red", "", "", "red", "redbrown"}, {"redbrown", "gred", "default:apple", "", "", "", ""}, - {"gred", "red", "witchcraft:herbs", "", "", "", ""}, - {"red", "magenta", "witchcraft:tooth", "", "", "", ""}, - {"magenta", "gpurple", "witchcraft:bottle_slime", "", "", "", ""}, - {"gpurple", "purple", "witchcraft:bone_bottle", "", "", "", ""}, - {"purple", "darkpurple", "default:glass", "", "", "", ""}, + {"gred", "red", "witchcraft:herbs", "", "", "blue2", "magenta"}, + {"red", "magenta", "witchcraft:tooth", "", "", "blue", "purple"}, + {"magenta", "gpurple", "witchcraft:bottle_slime", "", "", "cyan", "darkpurple"}, + {"gpurple", "purple", "witchcraft:bone_bottle", "", "", "yllwgrn", "green2"}, + {"purple", "darkpurple", "default:glass", "", "", "yellow", "green"}, {"darkpurple", "silver", "default:steel_ingot", "", "", "", ""}, {"silver", "grey", "witchcraft:bone", "", "", "", ""}, {"grey", "aqua", "default:diamond", "", "", "", ""}, diff --git a/scrolls.lua b/scrolls.lua index 3f634e6..9102599 100644 --- a/scrolls.lua +++ b/scrolls.lua @@ -44,10 +44,14 @@ minetest.register_craftitem("witchcraft:scroll_fireball", { 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:fireball") - obj:setvelocity(vec) - + 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, @@ -365,7 +369,7 @@ minetest.register_entity("witchcraft:ice", { damage = 2, collisionbox = {0, 0, 0, 0, 0, 0}, on_step = function(self, obj, pos) - local remove = minetest.after(2, function() + local remove = minetest.after(10, function() self.object:remove() end) local pos = self.object:getpos() @@ -380,6 +384,25 @@ minetest.register_entity("witchcraft:ice", { 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(