Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 0d8fa05588 | 
| @@ -2,8 +2,8 @@ default | |||||||
| vessels | vessels | ||||||
| tnt | tnt | ||||||
| fire | fire | ||||||
|  | player_physics | ||||||
| playereffects | playereffects | ||||||
| player_monoids? |  | ||||||
| farming? | farming? | ||||||
| lightning? | lightning? | ||||||
| pmobs? | pmobs? | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								screenshot.png
									
									
									
									
									
								
							
							
						
						| Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 95 KiB | 
							
								
								
									
										154
									
								
								scrolls.lua
									
									
									
									
									
								
							
							
						
						| @@ -1,7 +1,8 @@ | |||||||
| --scrolls | --scrolls | ||||||
|  |  | ||||||
|  | minetest.register_craftitem( | ||||||
| minetest.register_craftitem("witchcraft:scroll_day", { | 	"witchcraft:scroll_day", | ||||||
|  | 	{ | ||||||
| 		description = "Scroll of day", | 		description = "Scroll of day", | ||||||
| 		inventory_image = "witchcraft_scroll.png^witchcraft_sun_over.png", | 		inventory_image = "witchcraft_scroll.png^witchcraft_sun_over.png", | ||||||
| 		stack_max = 1, | 		stack_max = 1, | ||||||
| @@ -12,7 +13,9 @@ minetest.register_craftitem("witchcraft:scroll_day", { | |||||||
| 		end, | 		end, | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craftitem("witchcraft:scroll_night", { | minetest.register_craftitem( | ||||||
|  | 	"witchcraft:scroll_night", | ||||||
|  | 	{ | ||||||
| 		description = "Scroll of night", | 		description = "Scroll of night", | ||||||
| 		inventory_image = "witchcraft_scroll.png^witchcraft_moon_over.png", | 		inventory_image = "witchcraft_scroll.png^witchcraft_moon_over.png", | ||||||
| 		stack_max = 1, | 		stack_max = 1, | ||||||
| @@ -24,30 +27,42 @@ minetest.register_craftitem("witchcraft:scroll_night", { | |||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| if minetest.get_modpath("pmobs") then | if minetest.get_modpath("pmobs") then | ||||||
| minetest.register_craftitem("witchcraft:scroll_wild", { | 	minetest.register_craftitem( | ||||||
|  | 		"witchcraft:scroll_wild", | ||||||
|  | 		{ | ||||||
| 			description = "Scroll of Wild", | 			description = "Scroll of Wild", | ||||||
| 			inventory_image = "witchcraft_scroll.png^witchcraft_dark_over.png", | 			inventory_image = "witchcraft_scroll.png^witchcraft_dark_over.png", | ||||||
| 			stack_max = 1, | 			stack_max = 1, | ||||||
| 			on_use = function(item, placer) | 			on_use = function(item, placer) | ||||||
| 				local pos = placer:getpos(); | 				local pos = placer:getpos(); | ||||||
| 	minetest.env:add_entity(pos, "pmobs:dog") | 				minetest.add_entity(pos, "pmobs:dog") | ||||||
| 				item:take_item() | 				item:take_item() | ||||||
| 				return item | 				return item | ||||||
| 			end, | 			end, | ||||||
| 		}) | 		}) | ||||||
| end | end | ||||||
|  |  | ||||||
| minetest.register_craftitem("witchcraft:scroll_fireball", { | minetest.register_craftitem( | ||||||
|  | 	"witchcraft:scroll_fireball", | ||||||
|  | 	{ | ||||||
| 		description = "Scroll of fireball", | 		description = "Scroll of fireball", | ||||||
| 		inventory_image = "witchcraft_scroll.png^witchcraft_fire_over.png", | 		inventory_image = "witchcraft_scroll.png^witchcraft_fire_over.png", | ||||||
| 		stack_max = 1, | 		stack_max = 1, | ||||||
| 		on_use = function(item, placer, pos) | 		on_use = function(item, placer, pos) | ||||||
| 			local dir = placer:get_look_dir(); | 			local dir = placer:get_look_dir(); | ||||||
| 			local playerpos = placer:getpos(); | 			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 obj = minetest.add_entity( | ||||||
| 	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") | 				{x=playerpos.x+dir.x*1.5,y=playerpos.y+1.5+dir.y,z=playerpos.z+0+dir.z}, | ||||||
| 	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") | 				"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") | 			local obj2 = minetest.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.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.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}) | 			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}) | 			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}) | 			obj4:setvelocity({x=dir.x*7,y=dir.y*7-0.5,z=dir.z*7}) | ||||||
| @@ -58,7 +73,9 @@ minetest.register_craftitem("witchcraft:scroll_fireball", { | |||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| if minetest.get_modpath("lightning") then | if minetest.get_modpath("lightning") then | ||||||
| minetest.register_craftitem("witchcraft:scroll_lightning", { | 	minetest.register_craftitem( | ||||||
|  | 		"witchcraft:scroll_lightning", | ||||||
|  | 		{ | ||||||
| 			description = "Scroll of lightning", | 			description = "Scroll of lightning", | ||||||
| 			inventory_image = "witchcraft_scroll.png^witchcraft_thunder_over.png", | 			inventory_image = "witchcraft_scroll.png^witchcraft_thunder_over.png", | ||||||
| 			stack_max = 1, | 			stack_max = 1, | ||||||
| @@ -72,7 +89,9 @@ minetest.register_craftitem("witchcraft:scroll_lightning", { | |||||||
| 		}) | 		}) | ||||||
| end | end | ||||||
|  |  | ||||||
| minetest.register_craftitem("witchcraft:scroll_icicle", { | minetest.register_craftitem( | ||||||
|  | 	"witchcraft:scroll_icicle", | ||||||
|  | 	{ | ||||||
| 		description = "Scroll of icicle", | 		description = "Scroll of icicle", | ||||||
| 		inventory_image = "witchcraft_scroll.png^witchcraft_ice_over.png", | 		inventory_image = "witchcraft_scroll.png^witchcraft_ice_over.png", | ||||||
| 		stack_max = 1, | 		stack_max = 1, | ||||||
| @@ -80,9 +99,9 @@ minetest.register_craftitem("witchcraft:scroll_icicle", { | |||||||
| 			local dir = placer:get_look_dir(); | 			local dir = placer:get_look_dir(); | ||||||
| 			local playerpos = placer:getpos(); | 			local playerpos = placer:getpos(); | ||||||
| 			local vec = {x=dir.x*7,y=dir.y*7,z=dir.z*7} | 			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 obj = minetest.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 obj2 = minetest.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") | 			local obj3 = minetest.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) | 			obj:setvelocity(vec) | ||||||
| 			obj2:setvelocity(vec) | 			obj2:setvelocity(vec) | ||||||
| 			obj3:setvelocity(vec) | 			obj3:setvelocity(vec) | ||||||
| @@ -92,8 +111,9 @@ minetest.register_craftitem("witchcraft:scroll_icicle", { | |||||||
| 		end, | 		end, | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem( | ||||||
| minetest.register_craftitem("witchcraft:scroll_nature", { | 	"witchcraft:scroll_nature", | ||||||
|  | 	{ | ||||||
| 		description = "Scroll of nature", | 		description = "Scroll of nature", | ||||||
| 		inventory_image = "witchcraft_scroll.png^witchcraft_leaf_over.png", | 		inventory_image = "witchcraft_scroll.png^witchcraft_leaf_over.png", | ||||||
| 		stack_max = 1, | 		stack_max = 1, | ||||||
| @@ -101,7 +121,7 @@ minetest.register_craftitem("witchcraft:scroll_nature", { | |||||||
| 			local dir = placer:get_look_dir(); | 			local dir = placer:get_look_dir(); | ||||||
| 			local playerpos = placer:getpos(); | 			local playerpos = placer:getpos(); | ||||||
| 			local vec = {x=dir.x*6,y=dir.y*6,z=dir.z*6} | 			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") | 			local obj = minetest.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) | 			obj:setvelocity(vec) | ||||||
| 			 | 			 | ||||||
| 			item:take_item() | 			item:take_item() | ||||||
| @@ -109,26 +129,29 @@ minetest.register_craftitem("witchcraft:scroll_nature", { | |||||||
| 		end, | 		end, | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craftitem("witchcraft:scroll", { | minetest.register_craftitem( | ||||||
|  | 	"witchcraft:scroll", | ||||||
|  | 	{ | ||||||
| 		description = "Blank Scroll", | 		description = "Blank Scroll", | ||||||
| 		inventory_image = "witchcraft_scroll.png", | 		inventory_image = "witchcraft_scroll.png", | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craftitem("witchcraft:scroll_recipe", { | minetest.register_craftitem( | ||||||
|  | 	"witchcraft:scroll_recipe", | ||||||
|  | 	{ | ||||||
| 		description = "Recipe Scroll", | 		description = "Recipe Scroll", | ||||||
| 		inventory_image = "witchcraft_scroll.png^witchcraft_writing_over.png", | 		inventory_image = "witchcraft_scroll.png^witchcraft_writing_over.png", | ||||||
| 		on_use = function(itemstack, user, pointed_thing)			 | 		on_use = function(itemstack, user, pointed_thing)			 | ||||||
|      |  | ||||||
| 			local formspec = "size[10,9]".. | 			local formspec = "size[10,9]".. | ||||||
| 				"background[-0.6,-0.5;11.5,10.4;witchcraft_recipes.png]"; | 				"background[-0.6,-0.5;11.5,10.4;witchcraft_recipes.png]"; | ||||||
| 			 | 			 | ||||||
| 			minetest.show_formspec(user:get_player_name(), "witchcraft:scroll", formspec);	 | 			minetest.show_formspec(user:get_player_name(), "witchcraft:scroll", formspec);	 | ||||||
| 	 |  | ||||||
| 		end, | 		end, | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| if minetest.get_modpath("pmobs")then | if minetest.get_modpath("pmobs")then | ||||||
| minetest.register_craft({ | 	minetest.register_craft( | ||||||
|  | 		{ | ||||||
| 			output = 'witchcraft:scroll_wild', | 			output = 'witchcraft:scroll_wild', | ||||||
| 			recipe = { | 			recipe = { | ||||||
| 				{'mobs:meat_raw'}, | 				{'mobs:meat_raw'}, | ||||||
| @@ -138,7 +161,8 @@ minetest.register_craft({ | |||||||
| 	 | 	 | ||||||
| end | end | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll', | 		output = 'witchcraft:scroll', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:paper', 'default:paper', ''}, | 			{'default:paper', 'default:paper', ''}, | ||||||
| @@ -146,7 +170,8 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_recipe', | 		output = 'witchcraft:scroll_recipe', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'dye:black'}, | 			{'dye:black'}, | ||||||
| @@ -154,7 +179,8 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_icicle', | 		output = 'witchcraft:scroll_icicle', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:ice'}, | 			{'default:ice'}, | ||||||
| @@ -163,7 +189,8 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_fireball', | 		output = 'witchcraft:scroll_fireball', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:obsidian_shard'}, | 			{'default:obsidian_shard'}, | ||||||
| @@ -172,7 +199,8 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_nature', | 		output = 'witchcraft:scroll_nature', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:leaves'}, | 			{'default:leaves'}, | ||||||
| @@ -181,7 +209,8 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_day', | 		output = 'witchcraft:scroll_day', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:torch'}, | 			{'default:torch'}, | ||||||
| @@ -190,7 +219,8 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_night', | 		output = 'witchcraft:scroll_night', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:coal_lump'}, | 			{'default:coal_lump'}, | ||||||
| @@ -200,7 +230,8 @@ minetest.register_craft({ | |||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft( | ||||||
|  | 	{ | ||||||
| 		output = 'witchcraft:scroll_lightning', | 		output = 'witchcraft:scroll_lightning', | ||||||
| 		recipe = { | 		recipe = { | ||||||
| 			{'default:steel_ingot'}, | 			{'default:steel_ingot'}, | ||||||
| @@ -209,24 +240,32 @@ minetest.register_craft({ | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  |  | ||||||
| --scroll powers | --scroll powers | ||||||
|  |  | ||||||
| minetest.register_entity("witchcraft:fireball", { | minetest.register_entity( | ||||||
|  | 	"witchcraft:fireball", | ||||||
|  | 	{ | ||||||
| 		textures = {"tnt_boom.png"}, | 		textures = {"tnt_boom.png"}, | ||||||
| 		velocity = 0.1, | 		velocity = 0.1, | ||||||
| 		damage = 2, | 		damage = 2, | ||||||
| 		collisionbox = {0, 0, 0, 0, 0, 0}, | 		collisionbox = {0, 0, 0, 0, 0, 0}, | ||||||
| 		on_step = function(self, obj, pos)		 | 		on_step = function(self, obj, pos)		 | ||||||
| 		local remove = minetest.after(2, function()  | 			local remove = minetest.after( | ||||||
|  | 				2, | ||||||
|  | 				function()  | ||||||
| 					self.object:remove() | 					self.object:remove() | ||||||
| 				end) | 				end) | ||||||
| 			local pos = self.object:getpos() | 			local pos = self.object:getpos() | ||||||
| 			local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)	 | 			local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)	 | ||||||
| 			for k, obj in pairs(objs) do | 			for k, obj in pairs(objs) do | ||||||
| 				if obj:get_luaentity() ~= nil then | 				if obj:get_luaentity() ~= nil then | ||||||
| 					if obj:get_luaentity().name ~= "witchcraft:fireball" and obj:get_luaentity().name ~= "__builtin:item" then | 					if obj:get_luaentity().name ~= "witchcraft:fireball" | ||||||
| 						obj:punch(self.object, 1.0, { | 						and obj:get_luaentity().name ~= "__builtin:item" | ||||||
|  | 						and obj:get_luaentity().name ~= "gauges:hp_bar" | ||||||
|  | 					then | ||||||
|  | 						obj:punch( | ||||||
|  | 							self.object, 1.0, | ||||||
|  | 							{ | ||||||
| 								full_punch_interval=1.0, | 								full_punch_interval=1.0, | ||||||
| 								damage_groups={fleshy=3}, | 								damage_groups={fleshy=3}, | ||||||
| 							}, nil) | 							}, nil) | ||||||
| @@ -239,10 +278,11 @@ minetest.register_entity("witchcraft:fireball", { | |||||||
| 					for dz=0,1 do | 					for dz=0,1 do | ||||||
| 						local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz} | 						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 t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} | ||||||
| 								local n = minetest.env:get_node(p).name | 						local n = minetest.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 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 | 							if minetest.registered_nodes[n].groups.flammable --[[or math.random(1, 100) <= 1]] then | ||||||
| 										minetest.env:set_node(t, {name="fire:basic_flame"}) | 								minetest.set_node(t, {name="fire:basic_flame"}) | ||||||
| 								self.object:remove() | 								self.object:remove() | ||||||
| 								return | 								return | ||||||
| 							end | 							end | ||||||
| @@ -257,12 +297,12 @@ minetest.register_entity("witchcraft:fireball", { | |||||||
| 						for dz=-4,4 do | 						for dz=-4,4 do | ||||||
| 							local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} | 							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 t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} | ||||||
| 					local n = minetest.env:get_node(pos).name | 							local n = minetest.get_node(pos).name | ||||||
| 							if math.random(1, 50) <= 35 then | 							if math.random(1, 50) <= 35 then | ||||||
| 						minetest.env:remove_node(p) | 								minetest.remove_node(p) | ||||||
| 							end | 							end | ||||||
| 							if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <=5 then | 							if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <=5 then | ||||||
| 										minetest.env:set_node(t, {name="fire:basic_flame"}) | 								minetest.set_node(t, {name="fire:basic_flame"}) | ||||||
| 							end | 							end | ||||||
| 						end | 						end | ||||||
| 					end | 					end | ||||||
| @@ -293,20 +333,27 @@ minetest.register_entity("witchcraft:fireball", { | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| minetest.register_entity("witchcraft:tree", { | minetest.register_entity( | ||||||
|  | 	"witchcraft:tree", | ||||||
|  | 	{ | ||||||
| 		textures = {"witchcraft_skin.png"}, | 		textures = {"witchcraft_skin.png"}, | ||||||
| 		velocity = 1, | 		velocity = 1, | ||||||
| 		damage = 2, | 		damage = 2, | ||||||
| 		collisionbox = {0, 0, 0, 0, 0, 0}, | 		collisionbox = {0, 0, 0, 0, 0, 0}, | ||||||
| 		on_step = function(self, obj, pos)		 | 		on_step = function(self, obj, pos)		 | ||||||
| 		local remove = minetest.after(2, function()  | 			local remove = minetest.after( | ||||||
|  | 				2, | ||||||
|  | 				function()  | ||||||
| 					self.object:remove() | 					self.object:remove() | ||||||
| 				end) | 				end) | ||||||
| 			local pos = self.object:getpos() | 			local pos = self.object:getpos() | ||||||
| 			local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)	 | 			local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)	 | ||||||
| 			for k, obj in pairs(objs) do | 			for k, obj in pairs(objs) do | ||||||
| 				if obj:get_luaentity() ~= nil then | 				if obj:get_luaentity() ~= nil then | ||||||
| 					if obj:get_luaentity().name ~= "witchcraft:tree" and obj:get_luaentity().name ~= "__builtin:item" then | 					if obj:get_luaentity().name ~= "witchcraft:tree" | ||||||
|  | 						and obj:get_luaentity().name ~= "__builtin:item" | ||||||
|  | 						and obj:get_luaentity().name ~= "gauges:hp_bar" | ||||||
|  | 					then | ||||||
| 						obj:remove() | 						obj:remove() | ||||||
| 						local treepos = self.object:getpos() | 						local treepos = self.object:getpos() | ||||||
| 						default.grow_new_jungle_tree(treepos) | 						default.grow_new_jungle_tree(treepos) | ||||||
| @@ -319,7 +366,7 @@ minetest.register_entity("witchcraft:tree", { | |||||||
| 					for dz=0,1 do | 					for dz=0,1 do | ||||||
| 						local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz} | 						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 t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} | ||||||
| 								local n = minetest.env:get_node(p).name | 						local n = minetest.get_node(p).name | ||||||
| 						if n ~= "witchcraft:tree" and n ~="air" then	 | 						if n ~= "witchcraft:tree" and n ~="air" then	 | ||||||
| 							local treepos = self.object:getpos() | 							local treepos = self.object:getpos() | ||||||
| 							default.grow_new_jungle_tree(treepos) | 							default.grow_new_jungle_tree(treepos) | ||||||
| @@ -358,7 +405,9 @@ minetest.register_entity("witchcraft:tree", { | |||||||
| 		end, | 		end, | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| minetest.register_entity("witchcraft:ice", { | minetest.register_entity( | ||||||
|  | 	"witchcraft:ice", | ||||||
|  | 	{ | ||||||
| 		visual="sprite", | 		visual="sprite", | ||||||
| 		visual_size={x=1,y=1}, | 		visual_size={x=1,y=1}, | ||||||
| 		physical=false, | 		physical=false, | ||||||
| @@ -376,8 +425,13 @@ minetest.register_entity("witchcraft:ice", { | |||||||
| 			local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)	 | 			local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)	 | ||||||
| 			for k, obj in pairs(objs) do | 			for k, obj in pairs(objs) do | ||||||
| 				if obj:get_luaentity() ~= nil then | 				if obj:get_luaentity() ~= nil then | ||||||
| 					if obj:get_luaentity().name ~= "witchcraft:ice" and obj:get_luaentity().name ~= "__builtin:item" then | 					if obj:get_luaentity().name ~= "witchcraft:ice" | ||||||
| 					obj:punch(self.object, 1.0, { | 						and obj:get_luaentity().name ~= "__builtin:item" | ||||||
|  | 						and obj:get_luaentity().name ~= "gauges:hp_bar" | ||||||
|  | 					then | ||||||
|  | 						obj:punch( | ||||||
|  | 							self.object, 1.0, | ||||||
|  | 							{ | ||||||
| 								full_punch_interval=1.0, | 								full_punch_interval=1.0, | ||||||
| 								damage_groups={fleshy=1}, | 								damage_groups={fleshy=1}, | ||||||
| 							}, nil) | 							}, nil) | ||||||
| @@ -389,7 +443,7 @@ minetest.register_entity("witchcraft:ice", { | |||||||
| 						for dz=0,1 do | 						for dz=0,1 do | ||||||
| 							local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz} | 							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 t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} | ||||||
| 								local n = minetest.env:get_node(p).name | 							local n = minetest.get_node(p).name | ||||||
| 							if n == "default:water_source" or n =="default:river_water_source" then	 | 							if n == "default:water_source" or n =="default:river_water_source" then	 | ||||||
| 								local pos = self.object:getpos() | 								local pos = self.object:getpos() | ||||||
| 								minetest.set_node(pos, {name="default:ice"}) | 								minetest.set_node(pos, {name="default:ice"}) | ||||||
|   | |||||||
| Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 388 B | 
| Before Width: | Height: | Size: 356 B After Width: | Height: | Size: 377 B | 
| Before Width: | Height: | Size: 350 B After Width: | Height: | Size: 394 B | 
| Before Width: | Height: | Size: 354 B After Width: | Height: | Size: 382 B | 
| Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 385 B | 
| Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 391 B | 
| Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 544 B | 
| Before Width: | Height: | Size: 378 B After Width: | Height: | Size: 550 B | 
| Before Width: | Height: | Size: 365 B After Width: | Height: | Size: 424 B | 
| Before Width: | Height: | Size: 375 B After Width: | Height: | Size: 546 B | 
| Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 552 B | 
| Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 392 B | 
| Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 391 B | 
| Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 373 B | 
| Before Width: | Height: | Size: 350 B After Width: | Height: | Size: 395 B | 
| Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 395 B | 
| Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 387 B | 
| Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 375 B | 
| Before Width: | Height: | Size: 354 B After Width: | Height: | Size: 378 B | 
| Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 419 B | 
| Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 393 B | 
| Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 398 B |