diff --git a/_arena_lib/arena_callbacks.lua b/_arena_lib/arena_callbacks.lua index c064754..e98e2a8 100644 --- a/_arena_lib/arena_callbacks.lua +++ b/_arena_lib/arena_callbacks.lua @@ -257,7 +257,7 @@ function create_barrier_cage(player) } player:set_physics_override({gravity=0, jump=0}) - player:add_player_velocity(vector.multiply(player:get_player_velocity(), -1)) + player:add_velocity(vector.multiply(player:get_velocity(), -1)) for _, relative_pos in pairs(glass_nodes) do local node_pos = vector.round(vector.add(original_pos, relative_pos)) @@ -303,7 +303,7 @@ function keep_teleporting(player, pos, seconds, current_second) if current_second > seconds then return end minetest.after(step, function() - player:add_player_velocity(vector.multiply(player:get_player_velocity(), -1)) + player:add_velocity(vector.multiply(player:get_velocity(), -1)) player:set_pos(pos) keep_teleporting(player, pos, seconds, current_second + step) end) diff --git a/_map_handler/map_reset.lua b/_map_handler/map_reset.lua index 1fb854c..875906e 100644 --- a/_map_handler/map_reset.lua +++ b/_map_handler/map_reset.lua @@ -1,15 +1,14 @@ -local function delete_drops() end local function async_reset_map() end local function reset_node_inventory() end +local on_step = minetest.registered_entities["__builtin:item"].on_step +minetest.registered_entities["__builtin:item"].match_id = -2 +minetest.registered_entities["__builtin:item"].last_age = 0 local get_position_from_hash = minetest.get_position_from_hash local hash_node_position = minetest.hash_node_position local deserialize = minetest.deserialize local add_node = minetest.add_node local get_node = minetest.get_node local get_inventory = minetest.get_inventory -local on_step = minetest.registered_entities["__builtin:item"].on_step -minetest.registered_entities["__builtin:item"].match_id = -2 -minetest.registered_entities["__builtin:item"].last_age = 0 function skywars.reset_map(arena, debug, debug_data) diff --git a/_map_handler/map_saving.lua b/_map_handler/map_saving.lua index 5c489e4..82fae6a 100644 --- a/_map_handler/map_saving.lua +++ b/_map_handler/map_saving.lua @@ -3,7 +3,7 @@ local get_inventory = minetest.get_inventory local hash_node_position = minetest.hash_node_position -minetest.register_on_placenode(function(pos, newnode, player, oldnode, itemstack, pointed_thing) +minetest.register_on_placenode(function(pos, newnode, player, oldnode) local pl_name = player:get_player_name() local arena = arena_lib.get_arena_by_player(pl_name) if arena_lib.get_mod_by_player(pl_name) ~= "skywars" then return end @@ -113,7 +113,7 @@ function save_node(arena, pos, node) if not arena then return end initialize_map_data(maps, arena) - -- If this block has not been changed yet then save it. + -- If this node has not been changed yet then save it. if not maps[arena.name].changed_nodes[hash_pos] then maps[arena.name].changed_nodes[hash_pos] = node skywars.overwrite_table("maps", maps) @@ -127,34 +127,4 @@ function initialize_map_data(maps, arena) if not maps[arena.name] then maps[arena.name] = {} end if not maps[arena.name].changed_nodes then maps[arena.name].changed_nodes = {} end if not maps[arena.name].always_to_be_reset_nodes then maps[arena.name].always_to_be_reset_nodes = {} end -end - - - --- --- ! LEGACY SUPPORT FOR SERIALIZED POSITIONS. --- Converting all the serialized positions into --- hashes. --- -local maps = skywars.load_table("maps") - -for arena_name, map in pairs(maps) do - initialize_map_data(maps, {name = arena_name}) - - for pos, node in pairs(map.changed_nodes) do - if minetest.deserialize(pos) and pos then - local hash_pos = minetest.hash_node_position(minetest.deserialize(pos)) - map.changed_nodes[pos] = nil - map.changed_nodes[hash_pos] = node - end - end - for pos, bool in pairs(map.always_to_be_reset_nodes) do - if minetest.deserialize(pos) and pos then - local hash_pos = minetest.hash_node_position(minetest.deserialize(pos)) - map.always_to_be_reset_nodes[pos] = nil - map.always_to_be_reset_nodes[hash_pos] = bool - end - end -end - -skywars.overwrite_table("maps", maps) \ No newline at end of file +end \ No newline at end of file