diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-06-07 18:34:21 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-06-07 18:34:21 +0200 |
commit | 20b8961640b6c22d4149f7268d403cb4609a03fb (patch) | |
tree | 0acdb70090ee8db3e77b5a5ad4573cdd13503e8f /lobby.lua | |
parent | cc84f066b001f4ea875b115ace6d533d1bc8b4f3 (diff) | |
download | skycraft-20b8961640b6c22d4149f7268d403cb4609a03fb.tar.xz |
New file Structure
Diffstat (limited to 'lobby.lua')
-rw-r--r-- | lobby.lua | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/lobby.lua b/lobby.lua deleted file mode 100644 index adb8c5d..0000000 --- a/lobby.lua +++ /dev/null @@ -1,79 +0,0 @@ -skycraft.lobby_pos = {x = 0, y = 10000, z = 0} - -function skycraft.join_lobby(name) - local player = minetest.get_player_by_name(name) - if not player then return false, "You have to be online to use this command" end - minetest.chat_send_all(skycraft.get_player_name(name) .. " joined the Lobby") - local pos = player:get_pos() - if pos.y < 5000 and (pos.y > 1000 or pos.y < -100) then player:get_meta():set_string("skycraft:skyblock_pos", minetest.pos_to_string(pos)) end - player:set_pos(skycraft.lobby_pos) -end - -function skycraft.join_skyblock(name) - local player = minetest.get_player_by_name(name) - if not player then return false, "You have to be online to use this command" end - local old_pos = player:get_pos() - if old_pos.y < 5000 then return false, "You are already on the Skyblock map." end - minetest.chat_send_all(skycraft.get_player_name(name) .. " joined Skyblock") - local pos = minetest.string_to_pos(player:get_meta():get_string("skycraft:skyblock_pos")) - if pos then - player:set_pos(pos) - else - skycraft.spawn_player(player) - end -end - -function skycraft.lobby_tick() - local players = minetest.get_connected_players() - for _, player in pairs(players) do - local name = player:get_player_name() - local privs = minetest.get_player_privs(name) - local pos = player:get_pos() - privs.skycraft = (pos.y < 5000 or privs.protection_bypass) and true or nil - minetest.set_player_privs(name, privs) - end - minetest.after(0.5, skycraft.lobby_tick) -end - -minetest.register_chatcommand("lobby", { - description = "Warp to the Lobby", - func = skycraft.join_lobby -}) - -minetest.register_chatcommand("skyblock", { - description = "Join Skyblock", - func = skycraft.join_skyblock -}) - -minetest.register_chatcommand("shop", { - description = "Join Skyblock", - func = function(name) - skycraft.join_lobby(name) - local player = minetest.get_player_by_name(name) - if player then - player:set_pos({x = 25, y = 10000, z = 25}) - end - end -}) -minetest.register_on_joinplayer(function(player) - minetest.after(0.5, skycraft.join_lobby, player:get_player_name()) -end) - -minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage) - if player:get_pos().y > 5000 then - minetest.chat_send_player(hitter:get_player_name(), minetest.colorize("#FF6737", "You can not do PvP here!")) - return true - end -end) - -minetest.register_on_player_hpchange(function(player, hp_change) - return (player:get_pos().y > 5000) and 0 or hp_change -end, true) - -minetest.register_on_mods_loaded(function() - function mcl_spawn.get_world_spawn_pos() - return skycraft.lobby_pos - end -end) - -minetest.after(0.5, skycraft.lobby_tick) |