Remplissage du dépôt.
							
								
								
									
										72
									
								
								dagger.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					-- Based on compass mod by Echo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local function tick()
 | 
				
			||||||
 | 
						minetest.after(1, tick)
 | 
				
			||||||
 | 
						local players  = minetest.get_connected_players()
 | 
				
			||||||
 | 
						for i,player in ipairs(players) do
 | 
				
			||||||
 | 
							local target = lavatemple.mapgen_data.pos;
 | 
				
			||||||
 | 
							if not target then return end
 | 
				
			||||||
 | 
							local pos = player:getpos()
 | 
				
			||||||
 | 
							local dir = player:get_look_yaw()
 | 
				
			||||||
 | 
							local angle_north = math.deg(math.atan2(target.x - pos.x, target.z - pos.z))
 | 
				
			||||||
 | 
							if angle_north < 0 then angle_north = angle_north + 360 end
 | 
				
			||||||
 | 
							local angle_dir = 90 - math.deg(dir)
 | 
				
			||||||
 | 
							local angle_relative = (angle_north - angle_dir) % 360
 | 
				
			||||||
 | 
							local compass_image = math.floor((angle_relative/30) + 0.5)%12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							local wielded_item = player:get_wielded_item():get_name()
 | 
				
			||||||
 | 
							if string.sub(wielded_item, 0, 18) == "lavatemple:dagger_" then
 | 
				
			||||||
 | 
								player:set_wielded_item("lavatemple:dagger_"..compass_image)
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								if player:get_inventory() then
 | 
				
			||||||
 | 
									for i,stack in ipairs(player:get_inventory():get_list("main")) do
 | 
				
			||||||
 | 
										if string.sub(stack:get_name(), 0, 18) == "lavatemple:dagger_" and
 | 
				
			||||||
 | 
										   stack:get_name() ~= "lavatemple:dagger_"..compass_image then
 | 
				
			||||||
 | 
											player:get_inventory():set_stack("main", i, ItemStack("lavatemple:dagger_"..compass_image))
 | 
				
			||||||
 | 
										end
 | 
				
			||||||
 | 
									end
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tick()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local images = {
 | 
				
			||||||
 | 
						"lavatemple_dagger_0.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_1.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_2.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_3.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_4.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_5.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_6.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_5.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_4.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_3.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_2.png",
 | 
				
			||||||
 | 
						"lavatemple_dagger_1.png",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local i
 | 
				
			||||||
 | 
					for i,img in ipairs(images) do
 | 
				
			||||||
 | 
						local inv = 1
 | 
				
			||||||
 | 
						if i == 1 then
 | 
				
			||||||
 | 
							inv = 0
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
						minetest.register_tool("lavatemple:dagger_"..(i-1), {
 | 
				
			||||||
 | 
							description = "Lava dagger",
 | 
				
			||||||
 | 
							inventory_image = img,
 | 
				
			||||||
 | 
							wield_image = img,
 | 
				
			||||||
 | 
							groups = {not_in_creative_inventory=inv},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						output = 'lavatemple:dagger_1',
 | 
				
			||||||
 | 
						recipe = {
 | 
				
			||||||
 | 
							{'zmobs:lava_orb', 'default:steel_ingot', 'zmobs:lava_orb'},
 | 
				
			||||||
 | 
							{'zmobs:lava_orb', 'default:steel_ingot', 'zmobs:lava_orb'},
 | 
				
			||||||
 | 
							{'zmobs:lava_orb', 'default:stick', 'zmobs:lava_orb'}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										5
									
								
								depends.txt
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					default
 | 
				
			||||||
 | 
					stairs
 | 
				
			||||||
 | 
					mobs
 | 
				
			||||||
 | 
					worldedit
 | 
				
			||||||
 | 
					watershed?
 | 
				
			||||||
							
								
								
									
										7
									
								
								init.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					lavatemple = {}
 | 
				
			||||||
 | 
					local MODPATH = minetest.get_modpath("lavatemple")
 | 
				
			||||||
 | 
					dofile(MODPATH.."/nodes.lua")
 | 
				
			||||||
 | 
					dofile(MODPATH.."/items.lua")
 | 
				
			||||||
 | 
					dofile(MODPATH.."/mapgen.lua")
 | 
				
			||||||
 | 
					dofile(MODPATH.."/dagger.lua")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										31
									
								
								items.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_tool("lavatemple:darkpick", {
 | 
				
			||||||
 | 
						description = "Dark Pickaxe",
 | 
				
			||||||
 | 
						inventory_image = "lavatemple_tool_darkpick.png",
 | 
				
			||||||
 | 
						tool_capabilities = {
 | 
				
			||||||
 | 
							full_punch_interval = 1.0,
 | 
				
			||||||
 | 
							max_drop_level=0,
 | 
				
			||||||
 | 
							groupcaps={
 | 
				
			||||||
 | 
								dark = {times={[1]=0.25}, uses=0, maxlevel=1},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							damage_groups = {},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("lavatemple:teleport_orb", {
 | 
				
			||||||
 | 
						description = "Teleport'orb (does nothing yet)",
 | 
				
			||||||
 | 
						inventory_image = "lavatemple_teleport_orb.png",
 | 
				
			||||||
 | 
						on_place = function(itemstack, placer, pointed_thing)
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- MODIFICATION MADE FOR MFF
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						output = "lavatemple:ladder 4",
 | 
				
			||||||
 | 
						recipe = {
 | 
				
			||||||
 | 
							{"default:obsidianbrick", "dye:red", "default:obsidianbrick"},
 | 
				
			||||||
 | 
							{"default:obsidianbrick", "default:obsidianbrick", "default:obsidianbrick"},
 | 
				
			||||||
 | 
							{"default:obsidianbrick", "", "default:obsidianbrick"}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										57
									
								
								mapgen.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					lavatemple.mapgen_data = {}
 | 
				
			||||||
 | 
					lavatemple.file = minetest.get_worldpath()..'/lavatemple.mt'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- try to load the data from file
 | 
				
			||||||
 | 
					local f = io.open(lavatemple.file, "r")
 | 
				
			||||||
 | 
					if f then
 | 
				
			||||||
 | 
						local contents = f:read()
 | 
				
			||||||
 | 
						io.close(f)
 | 
				
			||||||
 | 
						if contents ~= nil then
 | 
				
			||||||
 | 
							lavatemple.mapgen_data = minetest.deserialize(contents)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- generate position of the temple (if not done already)
 | 
				
			||||||
 | 
					if type (lavatemple.mapgen_data) ~= "table" or
 | 
				
			||||||
 | 
					   lavatemple.mapgen_data.pos == nil or
 | 
				
			||||||
 | 
					   lavatemple.mapgen_data.pos.x == nil or
 | 
				
			||||||
 | 
					   lavatemple.mapgen_data.pos.y == nil or
 | 
				
			||||||
 | 
					   lavatemple.mapgen_data.pos.z == nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						-- generate the temple position
 | 
				
			||||||
 | 
						math.randomseed(os.time())
 | 
				
			||||||
 | 
						lavatemple.mapgen_data.pos = {
 | 
				
			||||||
 | 
							x=math.random(-2000,2000),
 | 
				
			||||||
 | 
							y=math.random(-500,-50),
 | 
				
			||||||
 | 
							z=math.random(-2000,2000)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						-- save data
 | 
				
			||||||
 | 
						local f = io.open(lavatemple.file, "w")
 | 
				
			||||||
 | 
						f:write(minetest.serialize(lavatemple.mapgen_data))
 | 
				
			||||||
 | 
						io.close(f)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_generated(function(minp,maxp,seed)
 | 
				
			||||||
 | 
						local ltp = lavatemple.mapgen_data.pos
 | 
				
			||||||
 | 
						if ltp.x > minp.x and ltp.x < maxp.x and
 | 
				
			||||||
 | 
						   ltp.y > minp.y and ltp.y < maxp.y and
 | 
				
			||||||
 | 
						   ltp.z > minp.z and ltp.z < maxp.z then
 | 
				
			||||||
 | 
							local f = io.open(minetest.get_modpath("lavatemple").."/schems/lavatemple.we", "r")
 | 
				
			||||||
 | 
							if not f then return end
 | 
				
			||||||
 | 
							local contents = f:read()
 | 
				
			||||||
 | 
							io.close(f)
 | 
				
			||||||
 | 
							if not contents then return end
 | 
				
			||||||
 | 
							-- Clear the area since worldedit doesn't save "air" nodes
 | 
				
			||||||
 | 
							pos1, pos2, count = worldedit.allocate(ltp, contents)
 | 
				
			||||||
 | 
							for x=pos1.x,pos2.x do
 | 
				
			||||||
 | 
							for y=pos1.y,pos2.y do
 | 
				
			||||||
 | 
							for z=pos1.z,pos2.z do
 | 
				
			||||||
 | 
								minetest.remove_node({x=x,y=y,z=z})
 | 
				
			||||||
 | 
							end end end
 | 
				
			||||||
 | 
							-- Deserialize the temple
 | 
				
			||||||
 | 
							--worldedit.deserialize(ltp, contents, minetest|.env)
 | 
				
			||||||
 | 
							worldedit.deserialize(ltp, contents, minetest)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										49
									
								
								nodes.lua
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("lavatemple:brick", {
 | 
				
			||||||
 | 
						description = "Darkbrick",
 | 
				
			||||||
 | 
						tiles = {"lavatemple_brick.png"},
 | 
				
			||||||
 | 
						groups = {dark=1},
 | 
				
			||||||
 | 
						sounds = default.node_sound_stone_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					stairs.register_stair_and_slab(
 | 
				
			||||||
 | 
						"lavatemple_brick",
 | 
				
			||||||
 | 
						"lavatemple:brick",
 | 
				
			||||||
 | 
						{dark=1},
 | 
				
			||||||
 | 
						{"lavatemple_brick.png"},
 | 
				
			||||||
 | 
						"Darkbrick Stair",
 | 
				
			||||||
 | 
						"Darkbrick Slab",
 | 
				
			||||||
 | 
						default.node_sound_stone_defaults()
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("lavatemple:ladder", {
 | 
				
			||||||
 | 
						description = "Darkbrick Ladder",
 | 
				
			||||||
 | 
						drawtype = "nodebox",
 | 
				
			||||||
 | 
						tiles = {"lavatemple_ladder.png"},
 | 
				
			||||||
 | 
						inventory_image = "lavatemple_ladder_inv.png",
 | 
				
			||||||
 | 
						wield_image = "lavatemple_ladder_inv.png",
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						climbable = true,
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						node_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							wall_top    = {-0.375, 0.4375, -0.5, 0.375, 0.5, 0.5},
 | 
				
			||||||
 | 
							wall_bottom = {-0.375, -0.5, -0.5, 0.375, -0.4375, 0.5},
 | 
				
			||||||
 | 
							wall_side   = {-0.5, -0.5, -0.375, -0.4375, 0.5, 0.375},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						selection_box = {type = "wallmounted"},
 | 
				
			||||||
 | 
						legacy_wallmounted = true,
 | 
				
			||||||
 | 
						groups = {dark=1, cracky = 1},
 | 
				
			||||||
 | 
						sounds = default.node_sound_stone_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("lavatemple:fence_brick", {
 | 
				
			||||||
 | 
						description = "Darkbrick fence",
 | 
				
			||||||
 | 
						drawtype = "fencelike",
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						tiles = {"lavatemple_brick.png"},
 | 
				
			||||||
 | 
						groups = {dark=1},
 | 
				
			||||||
 | 
						sounds = default.node_sound_stone_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										1
									
								
								schems/lavatemple.we
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								sounds/default_dig_dark.ogg
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_brick.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 239 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_0.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 365 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_1.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 365 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_2.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 365 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_3.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 365 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_4.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 365 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_5.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 361 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_dagger_6.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 156 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_ladder.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 429 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_ladder_inv.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 372 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_teleport_orb.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 524 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/lavatemple_tool_darkpick.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 204 B  |