Remplissage du dépôt.

This commit is contained in:
sys4-fr 2018-09-07 23:55:16 +02:00
commit d84214148d
20 changed files with 222 additions and 0 deletions

72
dagger.lua Executable file
View 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
View File

@ -0,0 +1,5 @@
default
stairs
mobs
worldedit
watershed?

7
init.lua Executable file
View 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
View 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
View 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
View 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

File diff suppressed because one or more lines are too long

BIN
sounds/default_dig_dark.ogg Executable file

Binary file not shown.

BIN
textures/lavatemple_brick.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

BIN
textures/lavatemple_dagger_0.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

BIN
textures/lavatemple_dagger_1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

BIN
textures/lavatemple_dagger_2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

BIN
textures/lavatemple_dagger_3.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

BIN
textures/lavatemple_dagger_4.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

BIN
textures/lavatemple_dagger_5.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

BIN
textures/lavatemple_dagger_6.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

BIN
textures/lavatemple_ladder.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B