inital upload

master
Tre 2017-11-04 08:20:34 -05:00 committed by GitHub
parent 1d9aa2e793
commit 282ed5307f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 211 additions and 0 deletions

6
depends.txt Normal file
View File

@ -0,0 +1,6 @@
default

92
init.lua Normal file
View File

@ -0,0 +1,92 @@
xp = {}
xp.values = {}
dofile(minetest.get_modpath("xp").."/values.lua")
xp.level = {}
xp.xp = {}
xp.huds = {}
local mod_storage = minetest.get_mod_storage()
local blue = minetest.get_color_escape_sequence("#0000ff")
function xp.add_xp(player,XP)
local name = player:get_player_name()
XP = xp.xp[name]+XP
local level = xp.level[name]
if (math.floor(1.15^level)+100-XP)<1 then
XP = XP-(math.floor(1.15^level)+100)
level = level+1
xp.level[name] = level
mod_storage:set_int(name.."_level",level)
player:set_nametag_attributes({text = name.."\n"..blue..level})
end
xp.xp[name] = XP
mod_storage:set_int(name.."_xp",XP)
xp.update_hud(player,level,XP)
end
function xp.update_hud(player,level,XP)
local name = player:get_player_name()
if xp.huds[name] then
player:hud_change(xp.huds[name],"text","Level: "..level.."\nXP: "..XP.."\nXP needed: "..(math.floor(1.15^level)+100-XP))
else
xp.huds[name] = player:hud_add({
hud_elem_type = "text",
position = {x = 0, y = 0.5},
offset = {x = 10, y = 0},
scale = {x = 100, y = 100},
text = "Level: "..level.."\nXP: "..XP.."\nXP needed: "..(math.floor(1.15^level)+100-XP),
number = 0xFFFFFF,
alignment = {x = 1, y = 0.5},
direction = 2,
})
minetest.chat_send_all("test")
end
end
minetest.register_on_joinplayer(function(player)
minetest.chat_send_all("test")
local name = player:get_player_name()
local level = mod_storage:get_int(name.."_level")
local XP = mod_storage:get_int(name.."_xp")
if level == 0 then
level = 1
mod_storage:set_int(name.."_level",level)
end
if XP == 0 then
XP = 0
mod_storage:set_int(name.."_xp",XP)
end
xp.level[name] = level
xp.xp[name] = XP
player:set_nametag_attributes({text = name.."\n"..blue..""..level})
xp.update_hud(player,level,XP)
end)
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
xp.huds[name] = nil
xp.level[name] = nil
xp.xp[name] = nil
end)
minetest.register_on_dignode(function(pos, oldnode, digger)
local XP = xp.values[oldnode.name]
if XP then
xp.add_xp(digger,XP)
end
end)
minetest.register_chatcommand("getxp",{
privs = {server = true},
params = "<name>",
description = "returns the xp level of a player",
func = function(name, param)
local level = mod_storage:get_int(param.."_level")
local XP = mod_storage:get_int(param.."_xp")
minetest.chat_send_player(name,"Level: "..level.."\nXP: "..XP.."\nXP needed: "..(math.floor(1.15^level)+100-XP))
end,
})

113
values.lua Normal file
View File

@ -0,0 +1,113 @@
xp.values["default:dirt"] = 1
xp.values["default:stone"] = 1
xp.values["default:cobble"] = 1
xp.values["default:stonebrick"] = 1
xp.values["default:stone_block"] = 1
xp.values["default:mossycobble"] = 1
xp.values["default:desert_stone"] = 1
xp.values["default:desert_cobble"] = 1
xp.values["default:desert_stonebrick"] = 1
xp.values["default:desert_stone_block"] = 1
xp.values["default:sandstone"] = 1
xp.values["default:sandstonebrick"] = 1
xp.values["default:sandstone_block"] = 1
xp.values["default:desert_sandstone"] = 1
xp.values["default:desert_sandstone_brick"] = 1
xp.values["default:desert_sandstone_block"] = 1
xp.values["default:silver_sandstone"] = 1
xp.values["default:silver_sandstone_brick"] = 1
xp.values["default:silver_sandstone_block"] = 1
xp.values["default:dirt"] = 1
xp.values["default:dirt_with_grass"] = 1
xp.values["default:dirt_with_grass_footsteps"] = 1
xp.values["default:dirt_with_dry_grass"] = 1
xp.values["default:dirt_with_snow"] = 1
xp.values["default:dirt_with_rainforest_litter"] = 1
xp.values["default:sand"] = 1
xp.values["default:desert_sand"] = 1
xp.values["default:silver_sand"] = 1
xp.values["default:gravel"] = 1
xp.values["default:clay"] = 1
xp.values["default:snow"] = 1
xp.values["default:snowblock"] = 1
xp.values["default:ice"] = 1
xp.values["default:obsidian"] = 1
xp.values["default:obsidianbrick"] = 1
xp.values["default:obsidian_block"] = 1
xp.values["default:tree"] = 1
xp.values["default:wood"] = 1
xp.values["default:leaves"] = 1
xp.values["default:sapling"] = 1
xp.values["default:apple"] = 1
xp.values["default:jungletree"] = 1
xp.values["default:junglewood"] = 1
xp.values["default:jungleleaves"] = 1
xp.values["default:junglesapling"] = 1
xp.values["default:pine_tree"] = 1
xp.values["default:pine_wood"] = 1
xp.values["default:pine_needles"] = 1
xp.values["default:pine_sapling"] = 1
xp.values["default:acacia_tree"] = 1
xp.values["default:acacia_wood"] = 1
xp.values["default:acacia_leaves"] = 1
xp.values["default:acacia_sapling"] = 1
xp.values["default:aspen_tree"] = 1
xp.values["default:aspen_wood"] = 1
xp.values["default:aspen_leaves"] = 1
xp.values["default:aspen_sapling"] = 1
xp.values["default:stone_with_coal"] = 1
xp.values["default:coalblock"] = 1
xp.values["default:stone_with_iron"] = 1
xp.values["default:steelblock"] = 1
xp.values["default:stone_with_copper"] = 1
xp.values["default:copperblock"] = 1
xp.values["default:stone_with_tin"] = 1
xp.values["default:tinblock"] = 1
xp.values["default:bronzeblock"] = 1
xp.values["default:stone_with_gold"] = 1
xp.values["default:goldblock"] = 1
xp.values["default:stone_with_mese"] = 1
xp.values["default:mese"] = 1
xp.values["default:stone_with_diamond"] = 1
xp.values["default:diamondblock"] = 1
xp.values["default:cactus"] = 1
xp.values["default:papyrus"] = 1
xp.values["default:dry_shrub"] = 1
xp.values["default:junglegrass"] = 1
xp.values["default:grass_1"] = 1
xp.values["default:grass_2"] = 1
xp.values["default:grass_3"] = 1
xp.values["default:grass_4"] = 1
xp.values["default:grass_5"] = 1
xp.values["default:dry_grass_1"] = 1
xp.values["default:dry_grass_2"] = 1
xp.values["default:dry_grass_3"] = 1
xp.values["default:dry_grass_4"] = 1
xp.values["default:dry_grass_5"] = 1
xp.values["default:bush_stem"] = 1
xp.values["default:bush_leaves"] = 1
xp.values["default:bush_sapling"] = 1
xp.values["default:acacia_bush_stem"] = 1
xp.values["default:acacia_bush_leaves"] = 1
xp.values["default:acacia_bush_sapling"] = 1
xp.values["default:coral_brown"] = 1
xp.values["default:coral_orange"] = 1
xp.values["default:coral_skeleton"] = 1
xp.values["default:chest"] = 1
xp.values["default:chest_locked"] = 1
xp.values["default:bookshelf"] = 1
xp.values["default:sign_wall_wood"] = 1
xp.values["default:sign_wall_steel"] = 1
xp.values["default:ladder_wood"] = 1
xp.values["default:ladder_steel"] = 1
xp.values["default:fence_wood"] = 1
xp.values["default:fence_acacia_wood"] = 1
xp.values["default:fence_junglewood"] = 1
xp.values["default:fence_pine_wood"] = 1
xp.values["default:fence_aspen_wood"] = 1
xp.values["default:glass"] = 1
xp.values["default:obsidian_glass"] = 1
xp.values["default:brick"] = 1
xp.values["default:meselamp"] = 1
xp.values["default:mese_post_light"] = 1