parent
db07b76c1a
commit
701ef92c12
|
@ -1,6 +1,3 @@
|
|||
-- This sets the map chests
|
||||
local mod = "skywars"
|
||||
local function fill_chest_inv() end
|
||||
local function fill_chests() end
|
||||
|
||||
|
||||
|
@ -13,22 +10,15 @@ end
|
|||
|
||||
|
||||
|
||||
function fill_chest_inv(chest, arena)
|
||||
-- returns an itemstacks table that contains the chosen treasures
|
||||
local treasures = skywars.select_random_treasures(chest, arena)
|
||||
local meta = minetest.get_meta(chest.pos)
|
||||
local inv = meta:get_inventory()
|
||||
|
||||
inv:set_list("main", {})
|
||||
for i=1, #treasures do
|
||||
inv:set_stack("main", i, treasures[i])
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
function fill_chests(arena)
|
||||
for i=1, #arena.chests do
|
||||
fill_chest_inv(arena.chests[i], arena)
|
||||
for i, chest in pairs(arena.chests) do
|
||||
local treasures = skywars.select_random_treasures(chest, arena)
|
||||
local meta = minetest.get_meta(chest.pos)
|
||||
local inv = meta:get_inventory()
|
||||
|
||||
inv:set_list("main", {})
|
||||
for i=1, #treasures do
|
||||
inv:set_stack("main", i, treasures[i])
|
||||
end
|
||||
end
|
||||
end
|
|
@ -165,7 +165,7 @@ function async_reset_map(arena, debug, recursive_data)
|
|||
end
|
||||
arena.is_resetting = false
|
||||
|
||||
-- Removing the original map nodes from the actual map to preserve eventual changes made
|
||||
-- Removing the reset nodes from the actual map to preserve eventual changes made
|
||||
-- to the latter during the reset.
|
||||
local actual_maps = skywars.load_table("maps")
|
||||
if not actual_maps[arena.name] or not actual_maps[arena.name].nodes then
|
||||
|
@ -177,8 +177,9 @@ function async_reset_map(arena, debug, recursive_data)
|
|||
local old_node = original_map_nodes[serialized_pos]
|
||||
local pos = minetest.deserialize(serialized_pos)
|
||||
local actual_node = minetest.get_node(pos)
|
||||
local is_old_node_still_reset = (actual_node.name == old_node.name)
|
||||
|
||||
if old_node and actual_node.name == old_node.name then
|
||||
if old_node and is_old_node_still_reset then
|
||||
actual_map_nodes[serialized_pos] = nil
|
||||
end
|
||||
end
|
||||
|
|
|
@ -103,4 +103,12 @@ minetest.register_node("skywars:test_node", {
|
|||
description = "Skywars test block, don't use it!",
|
||||
groups = {crumbly=1, soil=1},
|
||||
tiles = {"test_node.png"},
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
minetest.register_on_mods_loaded(function()
|
||||
for i, arena in pairs(arena_lib.mods["skywars"].arenas) do
|
||||
arena.is_resetting = false
|
||||
end
|
||||
end)
|
20
commands.lua
20
commands.lua
|
@ -271,9 +271,9 @@ ChatCmdBuilder.new("skywars", function(cmd)
|
|||
|
||||
|
||||
cmd:sub("copytreasures :fromarena :toarena",
|
||||
function(sender, from, to)
|
||||
local from_arena, from = get_valid_arena(from, sender)
|
||||
local to_arena, to = get_valid_arena(to, sender, true)
|
||||
function(sender, from_name, to_name)
|
||||
local from_arena, from_name = get_valid_arena(from_name, sender)
|
||||
local to_arena, to_name = get_valid_arena(to_name, sender, true)
|
||||
|
||||
if not to_arena or not from_arena then
|
||||
return
|
||||
|
@ -284,8 +284,8 @@ ChatCmdBuilder.new("skywars", function(cmd)
|
|||
|
||||
to_arena.treasures = table.copy(from_arena.treasures)
|
||||
|
||||
arena_lib.change_arena_property(sender, "skywars", to, "treasures", to_arena.treasures, false)
|
||||
skywars.print_msg(sender, skywars.T("@1 treasures have been copied to @2!", from, to))
|
||||
arena_lib.change_arena_property(sender, "skywars", to_name, "treasures", to_arena.treasures, false)
|
||||
skywars.print_msg(sender, skywars.T("@1 treasures have been copied to @2!", from_name, to_name))
|
||||
end)
|
||||
|
||||
|
||||
|
@ -716,9 +716,9 @@ ChatCmdBuilder.new("skywars", function(cmd)
|
|||
|
||||
|
||||
cmd:sub("copykits :fromarena :toarena",
|
||||
function(sender, from, to)
|
||||
local from_arena, from = get_valid_arena(from, sender)
|
||||
local to_arena, to = get_valid_arena(to, sender, true)
|
||||
function(sender, from_name, to_name)
|
||||
local from_arena, from_name = get_valid_arena(from_name, sender)
|
||||
local to_arena, to_name = get_valid_arena(to_name, sender, true)
|
||||
|
||||
if not from_arena or not to_arena then
|
||||
return
|
||||
|
@ -729,8 +729,8 @@ ChatCmdBuilder.new("skywars", function(cmd)
|
|||
|
||||
to_arena.kits = table.copy(from_arena.kits)
|
||||
|
||||
arena_lib.change_arena_property(sender, "skywars", to, "kits", to_arena.kits, false)
|
||||
skywars.print_msg(sender, skywars.T("@1 kits have been copied to @2!", from, to))
|
||||
arena_lib.change_arena_property(sender, "skywars", to_name, "kits", to_arena.kits, false)
|
||||
skywars.print_msg(sender, skywars.T("@1 kits have been copied to @2!", from_name, to_name))
|
||||
end)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue