Misc Fixes & Enhancements
parent
a3b44aa1d6
commit
ed09d01004
2
mod.conf
2
mod.conf
|
@ -1,5 +1,5 @@
|
|||
name = elidragon
|
||||
description = The plugins for the Elidragon Server
|
||||
author = Fleckenstein
|
||||
depends = worldedit, moreores, moretrees, default, flowers
|
||||
depends = worldedit, moreores, moretrees, default, flowers, areas
|
||||
optional_depends = irc
|
||||
|
|
|
@ -8,7 +8,7 @@ local nodes = {
|
|||
{"Anton", "elidragon_anton.png", "a"},
|
||||
{"Max Glueckstaler", "elidragon_max_glueckstaler.png", "mg"},
|
||||
{"Olliy", "elidragon_olliy.png", "o"},
|
||||
{"Skyblock", "elidragon_skyblock.png", "sky"},
|
||||
{"Island", "elidragon_island.png", "sky"},
|
||||
{"Python", "default_rainforest_litter.png^elidragon_python.png", "py"},
|
||||
{"Tux", "default_ice.png^elidragon_tux.png", "tux"},
|
||||
}
|
||||
|
@ -20,5 +20,7 @@ for _, def in pairs(nodes) do
|
|||
groups = {cracky = 3, stone = 1},
|
||||
stack_max = 1,
|
||||
})
|
||||
minetest.register_alias("elidragon_server:" .. def[3] .. "block", name)
|
||||
if def[3] then
|
||||
minetest.register_alias("elidragon_server:" .. def[3] .. "block", name)
|
||||
end
|
||||
end
|
||||
|
|
26
ranks.lua
26
ranks.lua
|
@ -37,12 +37,17 @@ elidragon.ranks = {
|
|||
},
|
||||
}
|
||||
|
||||
if not elidragon.savedata.ranks then
|
||||
function elidragon.load_legacy_ranks()
|
||||
local file = io.open(minetest.get_worldpath() .. "/ranks.json", "r")
|
||||
local jsondata = file:read()
|
||||
elidragon.savedata.ranks = minetest.parse_json(jsondata)
|
||||
if file then
|
||||
local ranks = minetest.parse_json(file:read())
|
||||
file:close()
|
||||
return ranks
|
||||
end
|
||||
end
|
||||
|
||||
elidragon.savedata.ranks = elidragon.savedata.ranks or elidragon.load_legacy_ranks() or {}
|
||||
|
||||
function elidragon.get_rank(name)
|
||||
return elidragon.get_rank_by_name(elidragon.savedata.ranks[name] or "player")
|
||||
end
|
||||
|
@ -97,10 +102,11 @@ minetest.register_chatcommand("rank", {
|
|||
description = "Set a player's rank (admin|moderator|helper|builder|vip|player)",
|
||||
privs = {privs = true},
|
||||
func = function(name, param)
|
||||
local target = param:split(' ')[1]
|
||||
local player = minetest.get_player_by_name(name)
|
||||
local rank = param:split(' ')[2]
|
||||
if not elidragon.get_rank_by_name(rank) then
|
||||
local target = param:split(" ")[1]
|
||||
local rank = param:split(" ")[2]
|
||||
local target_ref = minetest.get_player_by_name(name)
|
||||
local rank_ref = elidragon.get_rank_by_name(rank)
|
||||
if not rank_ref then
|
||||
minetest.chat_send_player(name, "Invalid Rank: " .. rank)
|
||||
else
|
||||
local privs = {}
|
||||
|
@ -113,10 +119,10 @@ minetest.register_chatcommand("rank", {
|
|||
end
|
||||
end
|
||||
minetest.set_player_privs(target, privs)
|
||||
if player then
|
||||
player:set_nametag_attributes({color = rank.color})
|
||||
if target_ref then
|
||||
target_ref:set_nametag_attributes({color = rank_ref.color})
|
||||
end
|
||||
minetest.chat_send_all(target .. " is now a " .. minetest.colorize(rank.color, rank.name))
|
||||
minetest.chat_send_all(target .. " is now a " .. minetest.colorize(rank_ref.color, rank_ref.name))
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
Binary file not shown.
Before Width: | Height: | Size: 47 KiB |
Loading…
Reference in New Issue