[GAME] Moontest! (Back from the Dead!) [GAME]

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 21:18

Likwid H-Craft wrote:
Zsoltisawesome wrote:
Likwid H-Craft wrote:To what you know, my first post on, here will be edit when Needed like the very first post since it be easy know...

So, just what you know so I don't keep posting what I am working on etc.


Cool! That's Great. Did You Notice you are a Top Contributor?


Yeah and I am, planning use the nether mod to see if I can, make moon a place.


it will you just need to re texture the blocks and just set it from (-500) to (wanted number)
Last edited by LionLAD on Thu Mar 28, 2013 21:19, edited 1 time in total.
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Inocudom
Member
 
Posts: 2889
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

by Inocudom » Thu Mar 28, 2013 21:20

Another neat idea would be the spawning of ancient, abandoned moon bases. The bases could have the look of a futuristic, high-tech society. Perhaps it is a good thing that the civilization that built the bases no longer exists?
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:21

For All Of You That Are Making your own version, here are the modified files contents from the builtin folder

Privileges.lua:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
-- Minetest: builtin/privileges.lua

--
-- Privileges
--

minetest.registered_privileges = {}

function minetest.register_privilege(name, param)
    local function fill_defaults(def)
        if def.give_to_singleplayer == nil then
            def.give_to_singleplayer = true
        end
        if def.description == nil then
            def.description = "(no description)"
        end
    end
    local def = {}
    if type(param) == "table" then
        def = param
    else
        def = {description = param}
    end
    fill_defaults(def)
    minetest.registered_privileges[name] = def
end

minetest.register_privilege("interact", {
    description = "Can interact with things and modify the world",
    give_to_singleplayer = true,
})

minetest.register_privilege("goto", {
    description = "Can use /goto command",
    give_to_singleplayer = false,
})


minetest.register_privilege("bring", {
    description = "Can warp other players",
    give_to_singleplayer = false,
})


minetest.register_privilege("privs", {
    description = "Can modify privileges",
    give_to_singleplayer = false,
})

minetest.register_privilege("basic_privs", {
    description = "Can modify 'shout' and 'interact' privileges",
    give_to_singleplayer = false,
})

minetest.register_privilege("server", {
    description = "Can do server maintenance stuff",
    give_to_singleplayer = false,
})

minetest.register_privilege("shout", {
    description = "Can speak in chat",
    give_to_singleplayer = true,
})

minetest.register_privilege("ban", {
    description = "Can ban and unban players",
    give_to_singleplayer = false,
})

minetest.register_privilege("give", {
    description = "Can use /give and /giveme",
    give_to_singleplayer = false,
})

minetest.register_privilege("password", {
    description = "Can use /setpassword and /clearpassword",
    give_to_singleplayer = false,
})

minetest.register_privilege("fly", {
    description = "Can fly using the free_move mode",
    give_to_singleplayer = false,
})

minetest.register_privilege("fast", {
    description = "Can walk fast using the fast_move mode",
    give_to_singleplayer = false,
})

minetest.register_privilege("noclip", {
    description = "Can fly through walls",
    give_to_singleplayer = false,
})
minetest.register_privilege("rollback", {
    description = "Can use the rollback functionality",
    give_to_singleplayer = false,
})


chatcommands.lua:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
-- Minetest: builtin/chatcommands.lua

--
-- Chat command handler
--

minetest.chatcommands = {}
function minetest.register_chatcommand(cmd, def)
    def = def or {}
    def.params = def.params or ""
    def.description = def.description or ""
    def.privs = def.privs or {}
    minetest.chatcommands[cmd] = def
end

minetest.register_on_chat_message(function(name, message)
    local cmd, param = string.match(message, "^/([^ ]+) *(.*)")
    if not param then
        param = ""
    end
    local cmd_def = minetest.chatcommands[cmd]
    if cmd_def then
        local has_privs, missing_privs = minetest.check_player_privs(name, cmd_def.privs)
        if has_privs then
            cmd_def.func(name, param)
        else
            minetest.chat_send_player(name, "You don't have permission to run this command (missing privileges: "..table.concat(missing_privs, ", ")..")")
        end
        return true -- handled chat message
    end
    return false
end)

--
-- Chat commands
--
minetest.register_chatcommand("me", {
    params = "<action>",
    description = "chat action (eg. /me orders a pizza)",
    privs = {shout=true},
    func = function(name, param)
        minetest.chat_send_all("* " .. name .. " " .. param)
    end,
})

minetest.register_chatcommand("help", {
    privs = {},
    params = "(nothing)/all/privs/<cmd>",
    description = "Get help for commands or list privileges",
    func = function(name, param)
        local format_help_line = function(cmd, def)
            local msg = "/"..cmd
            if def.params and def.params ~= "" then msg = msg .. " " .. def.params end
            if def.description and def.description ~= "" then msg = msg .. ": " .. def.description end
            return msg
        end
        if param == "" then
            local msg = ""
            cmds = {}
            for cmd, def in pairs(minetest.chatcommands) do
                if minetest.check_player_privs(name, def.privs) then
                    table.insert(cmds, cmd)
                end
            end
            minetest.chat_send_player(name, "Available commands: "..table.concat(cmds, " "))
            minetest.chat_send_player(name, "Use '/help <cmd>' to get more information, or '/help all' to list everything.")
        elseif param == "all" then
            minetest.chat_send_player(name, "Available commands:")
            for cmd, def in pairs(minetest.chatcommands) do
                if minetest.check_player_privs(name, def.privs) then
                    minetest.chat_send_player(name, format_help_line(cmd, def))
                end
            end
        elseif param == "privs" then
            minetest.chat_send_player(name, "Available privileges:")
            for priv, def in pairs(minetest.registered_privileges) do
                minetest.chat_send_player(name, priv..": "..def.description)
            end
        else
            local cmd = param
            def = minetest.chatcommands[cmd]
            if not def then
                minetest.chat_send_player(name, "Command not available: "..cmd)
            else
                minetest.chat_send_player(name, format_help_line(cmd, def))
            end
        end
    end,
})
minetest.register_chatcommand("privs", {
    params = "<name>",
    description = "print out privileges of player",
    func = function(name, param)
        if param == "" then
            param = name
        else
            --[[if not minetest.check_player_privs(name, {privs=true}) then
                minetest.chat_send_player(name, "Privileges of "..param.." are hidden from you.")
                return
            end]]
        end
        minetest.chat_send_player(name, "Privileges of "..param..": "..minetest.privs_to_string(minetest.get_player_privs(param), ' '))
    end,
})
minetest.register_chatcommand("grant", {
    params = "<name> <privilege>|all",
    description = "Give privilege to player",
    privs = {},
    func = function(name, param)
        if not minetest.check_player_privs(name, {privs=true}) and
                not minetest.check_player_privs(name, {basic_privs=true}) then
            minetest.chat_send_player(name, "Your privileges are insufficient.")
            return
        end
        local grantname, grantprivstr = string.match(param, "([^ ]+) (.+)")
        if not grantname or not grantprivstr then
            minetest.chat_send_player(name, "Invalid parameters (see /help grant)")
            return
        end
        local grantprivs = minetest.string_to_privs(grantprivstr)
        if grantprivstr == "all" then
            grantprivs = minetest.registered_privileges
        end
        local privs = minetest.get_player_privs(grantname)
        local privs_known = true
        for priv, _ in pairs(grantprivs) do
            if priv ~= "interact" and priv ~= "shout" and priv ~= "interact_extra" and not minetest.check_player_privs(name, {privs=true}) then
                minetest.chat_send_player(name, "Your privileges are insufficient.")
                return
            end
            if not minetest.registered_privileges[priv] then
                minetest.chat_send_player(name, "Unknown privilege: "..priv)
                privs_known = false
            end
            privs[priv] = true
        end
        if not privs_known then
            return
        end
        minetest.set_player_privs(grantname, privs)
        minetest.log(name..' granted ('..minetest.privs_to_string(grantprivs, ', ')..') privileges to '..grantname)
        minetest.chat_send_player(name, "Privileges of "..grantname..": "..minetest.privs_to_string(minetest.get_player_privs(grantname), ' '))
        if grantname ~= name then
            minetest.chat_send_player(grantname, name.." granted you privileges: "..minetest.privs_to_string(grantprivs, ' '))
        end
    end,
})
minetest.register_chatcommand("revoke", {
    params = "<name> <privilege>|all",
    description = "Remove privilege from player",
    privs = {},
    func = function(name, param)
        if not minetest.check_player_privs(name, {privs=true}) and
                not minetest.check_player_privs(name, {basic_privs=true}) then
            minetest.chat_send_player(name, "Your privileges are insufficient.")
            return
        end
        local revokename, revokeprivstr = string.match(param, "([^ ]+) (.+)")
        if not revokename or not revokeprivstr then
            minetest.chat_send_player(name, "Invalid parameters (see /help revoke)")
            return
        end
        local revokeprivs = minetest.string_to_privs(revokeprivstr)
        local privs = minetest.get_player_privs(revokename)
        for priv, _ in pairs(revokeprivs) do
            if priv ~= "interact" and priv ~= "shout" and priv ~= "interact_extra" and not minetest.check_player_privs(name, {privs=true}) then
                minetest.chat_send_player(name, "Your privileges are insufficient.")
                return
            end
        end
        if revokeprivstr == "all" then
            privs = {}
        else
            for priv, _ in pairs(revokeprivs) do
                privs[priv] = nil
            end
        end
        minetest.set_player_privs(revokename, privs)
        minetest.log(name..' revoked ('..minetest.privs_to_string(revokeprivs, ', ')..') privileges from '..revokename)
        minetest.chat_send_player(name, "Privileges of "..revokename..": "..minetest.privs_to_string(minetest.get_player_privs(revokename), ' '))
        if revokename ~= name then
            minetest.chat_send_player(revokename, name.." revoked privileges from you: "..minetest.privs_to_string(revokeprivs, ' '))
        end
    end,
})
minetest.register_chatcommand("setpassword", {
    params = "<name> <password>",
    description = "set given password",
    privs = {password=true},
    func = function(name, param)
        local toname, raw_password = string.match(param, "^([^ ]+) +(.+)$")
        if not toname then
            toname = string.match(param, "^([^ ]+) *$")
            raw_password = nil
        end
        if not toname then
            minetest.chat_send_player(name, "Name field required")
            return
        end
        local actstr = "?"
        if not raw_password then
            minetest.set_player_password(toname, "")
            actstr = "cleared"
        else
            minetest.set_player_password(toname, minetest.get_password_hash(toname, raw_password))
            actstr = "set"
        end
        minetest.chat_send_player(name, "Password of player ""..toname.."" "..actstr)
        if toname ~= name then
            minetest.chat_send_player(toname, "Your password was "..actstr.." by "..name)
        end
    end,
})
minetest.register_chatcommand("clearpassword", {
    params = "<name>",
    description = "set empty password",
    privs = {password=true},
    func = function(name, param)
        toname = param
        if toname == "" then
            minetest.chat_send_player(name, "Name field required")
            return
        end
        minetest.set_player_password(toname, '')
        minetest.chat_send_player(name, "Password of player ""..toname.."" cleared")
    end,
})

minetest.register_chatcommand("auth_reload", {
    params = "",
    description = "reload authentication data",
    privs = {server=true},
    func = function(name, param)
        local done = minetest.auth_reload()
        if done then
            minetest.chat_send_player(name, "Done.")
        else
            minetest.chat_send_player(name, "Failed.")
        end
    end,
})

minetest.register_chatcommand("goto", {
    params = "<X>,<Y>,<Z> | <to_name> | <name> <X>,<Y>,<Z> | <name> <to_name>",
    description = "go to to given position",
    privs = {goto=true},
    func = function(name, param)
        -- Returns (pos, true) if found, otherwise (pos, false)
        local function find_free_position_near(pos)
            local tries = {
                {x=1,y=0,z=0},
                {x=-1,y=0,z=0},
                {x=0,y=0,z=1},
                {x=0,y=0,z=-1},
            }
            for _, d in ipairs(tries) do
                local p = {x = pos.x+d.x, y = pos.y+d.y, z = pos.z+d.z}
                local n = minetest.env:get_node(p)
                if not minetest.registered_nodes[n.name].walkable then
                    return p, true
                end
            end
            return pos, false
        end

        local teleportee = nil
        local p = {}
        p.x, p.y, p.z = string.match(param, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$")
        teleportee = minetest.env:get_player_by_name(name)
        if teleportee and p.x and p.y and p.z then
            minetest.chat_send_player(name, "Warping to ("..p.x..", "..p.y..", "..p.z..")")
            teleportee:setpos(p)
            return
        end
       
        local teleportee = nil
        local p = nil
        local target_name = nil
        target_name = string.match(param, "^([^ ]+)$")
        teleportee = minetest.env:get_player_by_name(name)
        if target_name then
            local target = minetest.env:get_player_by_name(target_name)
            if target then
                p = target:getpos()
            end
        end
        if teleportee and p then
            p = find_free_position_near(p)
            minetest.chat_send_player(name, "Warping to "..target_name.." at ("..p.x..", "..p.y..", "..p.z..")")
            teleportee:setpos(p)
            return
        end
       
        if minetest.check_player_privs(name, {bring=true}) then
            local teleportee = nil
            local p = {}
            local teleportee_name = nil
            teleportee_name, p.x, p.y, p.z = string.match(param, "^([^ ]+) +([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$")
            if teleportee_name then
                teleportee = minetest.env:get_player_by_name(teleportee_name)
            end
            if teleportee and p.x and p.y and p.z then
                minetest.chat_send_player(name, "Teleporting "..teleportee_name.." to ("..p.x..", "..p.y..", "..p.z..")")
                teleportee:setpos(p)
                return
            end
           
            local teleportee = nil
            local p = nil
            local teleportee_name = nil
            local target_name = nil
            teleportee_name, target_name = string.match(param, "^([^ ]+) +([^ ]+)$")
            if teleportee_name then
                teleportee = minetest.env:get_player_by_name(teleportee_name)
            end
            if target_name then
                local target = minetest.env:get_player_by_name(target_name)
                if target then
                    p = target:getpos()
                end
            end
            if teleportee and p then
                p = find_free_position_near(p)
                minetest.chat_send_player(name, "Warping "..teleportee_name.." to "..target_name.." at ("..p.x..", "..p.y..", "..p.z..")")
                teleportee:setpos(p)
                return
            end
        end

        minetest.chat_send_player(name, "Invalid parameters (""..param.."") or player not found (see /help teleport)")
        return
    end,
})

minetest.register_chatcommand("set", {
    params = "[-n] <name> <value> | <name>",
    description = "set or read server configuration setting",
    privs = {server=true},
    func = function(name, param)
        local arg, setname, setvalue = string.match(param, "(-[n]) ([^ ]+) (.+)")
        if arg and arg == "-n" and setname and setvalue then
            minetest.setting_set(setname, setvalue)
            minetest.chat_send_player(name, setname.." = "..setvalue)
            return
        end
        local setname, setvalue = string.match(param, "([^ ]+) (.+)")
        if setname and setvalue then
            if not minetest.setting_get(setname) then
                minetest.chat_send_player(name, "Failed. Use '/set -n <name> <value>' to create a new setting.")
                return
            end
            minetest.setting_set(setname, setvalue)
            minetest.chat_send_player(name, setname.." = "..setvalue)
            return
        end
        local setname = string.match(param, "([^ ]+)")
        if setname then
            local setvalue = minetest.setting_get(setname)
            if not setvalue then
                setvalue = "<not set>"
            end
            minetest.chat_send_player(name, setname.." = "..setvalue)
            return
        end
        minetest.chat_send_player(name, "Invalid parameters (see /help set)")
    end,
})

minetest.register_chatcommand("mods", {
    params = "",
    description = "lists mods installed on the server",
    privs = {},
    func = function(name, param)
        local response = ""
        local modnames = minetest.get_modnames()
        for i, mod in ipairs(modnames) do
            response = response .. mod
            -- Add space if not at the end
            if i ~= #modnames then
                response = response .. " "
            end
        end
        minetest.chat_send_player(name, response)
    end,
})

local function handle_give_command(cmd, giver, receiver, stackstring)
    minetest.log("action", giver.." invoked "..cmd..', stackstring="'
            ..stackstring..'"')
    minetest.log(cmd..' invoked, stackstring="'..stackstring..'"')
    local itemstack = ItemStack(stackstring)
    if itemstack:is_empty() then
        minetest.chat_send_player(giver, 'error: cannot give an empty item')
        return
    elseif not itemstack:is_known() then
        minetest.chat_send_player(giver, 'error: cannot give an unknown item')
        return
    end
    local receiverref = minetest.env:get_player_by_name(receiver)
    if receiverref == nil then
        minetest.chat_send_player(giver, receiver..' is not a known player')
        return
    end
    local leftover = receiverref:get_inventory():add_item("main", itemstack)
    if leftover:is_empty() then
        partiality = ""
    elseif leftover:get_count() == itemstack:get_count() then
        partiality = "could not be "
    else
        partiality = "partially "
    end
    -- The actual item stack string may be different from what the "giver"
    -- entered (e.g. big numbers are always interpreted as 2^16-1).
    stackstring = itemstack:to_string()
    if giver == receiver then
        minetest.chat_send_player(giver, '"'..stackstring
            ..'" '..partiality..'added to inventory.');
    else
        minetest.chat_send_player(giver, '"'..stackstring
            ..'" '..partiality..'added to '..receiver..'\'s inventory.');
        minetest.chat_send_player(receiver, '"'..stackstring
            ..'" '..partiality..'added to inventory.');
    end
end

minetest.register_chatcommand("give", {
    params = "<name> <itemstring>",
    description = "give item to player",
    privs = {give=true},
    func = function(name, param)
        local toname, itemstring = string.match(param, "^([^ ]+) +(.+)$")
        if not toname or not itemstring then
            minetest.chat_send_player(name, "name and itemstring required")
            return
        end
        handle_give_command("/give", name, toname, itemstring)
    end,
})
minetest.register_chatcommand("giveme", {
    params = "<itemstring>",
    description = "give item to yourself",
    privs = {give=true},
    func = function(name, param)
        local itemstring = string.match(param, "(.+)$")
        if not itemstring then
            minetest.chat_send_player(name, "itemstring required")
            return
        end
        handle_give_command("/giveme", name, name, itemstring)
    end,
})
minetest.register_chatcommand("spawnentity", {
    params = "<entityname>",
    description = "spawn entity at your position",
    privs = {give=true, interact=true},
    func = function(name, param)
        local entityname = string.match(param, "(.+)$")
        if not entityname then
            minetest.chat_send_player(name, "entityname required")
            return
        end
        print('/spawnentity invoked, entityname="'..entityname..'"')
        local player = minetest.env:get_player_by_name(name)
        if player == nil then
            print("Unable to spawn entity, player is nil")
            return true -- Handled chat message
        end
        local p = player:getpos()
        p.y = p.y + 1
        minetest.env:add_entity(p, entityname)
        minetest.chat_send_player(name, '"'..entityname
                ..'" spawned.');
    end,
})
minetest.register_chatcommand("pulverize", {
    params = "",
    description = "delete item in hand",
    privs = {},
    func = function(name, param)
        local player = minetest.env:get_player_by_name(name)
        if player == nil then
            print("Unable to pulverize, player is nil")
            return true -- Handled chat message
        end
        if player:get_wielded_item():is_empty() then
            minetest.chat_send_player(name, 'Unable to pulverize, no item in hand.')
        else
            player:set_wielded_item(nil)
            minetest.chat_send_player(name, 'An item was pulverized.')
        end
    end,
})

-- Key = player name
minetest.rollback_punch_callbacks = {}

minetest.register_on_punchnode(function(pos, node, puncher)
    local name = puncher:get_player_name()
    if minetest.rollback_punch_callbacks[name] then
        minetest.rollback_punch_callbacks[name](pos, node, puncher)
        minetest.rollback_punch_callbacks[name] = nil
    end
end)

minetest.register_chatcommand("rollback_check", {
    params = "[<range>] [<seconds>]",
    description = "check who has last touched a node or near it, "..
            "max. <seconds> ago (default range=0, seconds=86400=24h)",
    privs = {rollback=true},
    func = function(name, param)
        local range, seconds = string.match(param, "(%d+) *(%d*)")
        range = tonumber(range) or 0
        seconds = tonumber(seconds) or 86400
        minetest.chat_send_player(name, "Punch a node (limits set: range="..
                dump(range).." seconds="..dump(seconds).."s)")
        minetest.rollback_punch_callbacks[name] = function(pos, node, puncher)
            local name = puncher:get_player_name()
            minetest.chat_send_player(name, "Checking...")
            local actor, act_p, act_seconds =
                    minetest.rollback_get_last_node_actor(pos, range, seconds)
            if actor == "" then
                minetest.chat_send_player(name, "Nobody has touched the "..
                        "specified location in "..dump(seconds).." seconds")
                return
            end
            local nodedesc = "this node"
            if act_p.x ~= pos.x or act_p.y ~= pos.y or act_p.z ~= pos.z then
                nodedesc = minetest.pos_to_string(act_p)
            end
            local nodename = minetest.env:get_node(act_p).name
            minetest.chat_send_player(name, "Last actor on "..nodedesc..
                    " was "..actor..", "..dump(act_seconds)..
                    "s ago (node is now "..nodename..")")
        end
    end,
})

minetest.register_chatcommand("rollback", {
    params = "<player name> [<seconds>] | :<actor> [<seconds>]",
    description = "revert actions of a player; default for <seconds> is 60",
    privs = {rollback=true},
    func = function(name, param)
        local target_name, seconds = string.match(param, ":([^ ]+) *(%d*)")
        if not target_name then
            local player_name = nil;
            player_name, seconds = string.match(param, "([^ ]+) *(%d*)")
            if not player_name then
                minetest.chat_send_player(name, "Invalid parameters. See /help rollback and /help rollback_check")
                return
            end
            target_name = "player:"..player_name
        end
        seconds = tonumber(seconds) or 60
        minetest.chat_send_player(name, "Reverting actions of "..
                dump(target_name).." since "..dump(seconds).." seconds.")
        local success, log = minetest.rollback_revert_actions_by(
                target_name, seconds)
        if #log > 10 then
            minetest.chat_send_player(name, "(log is too long to show)")
        else
            for _,line in ipairs(log) do
                minetest.chat_send_player(name, line)
            end
        end
        if success then
            minetest.chat_send_player(name, "Reverting actions succeeded.")
        else
            minetest.chat_send_player(name, "Reverting actions FAILED.")
        end
    end,
})

minetest.register_chatcommand("status", {
    params = "",
    description = "print server status line",
    privs = {},
    func = function(name, param)
        minetest.chat_send_player(name, minetest.get_server_status())
    end,
})

minetest.register_chatcommand("time", {
    params = "<0...24000>",
    description = "set time of day",
    privs = {settime=true},
    func = function(name, param)
        if param == "" then
            minetest.chat_send_player(name, "Missing Time Value!")
            return
        end
        local newtime = tonumber(param)
        if newtime == nil then
            minetest.chat_send_player(name, "Invalid time")
        else
            minetest.env:set_timeofday((newtime % 24000) / 24000)
            minetest.chat_send_player(name, "Time of day changed to " .. newtime)
            minetest.log("action", name .. " sets time to " .. newtime)
        end
    end,
})

minetest.register_chatcommand("shutdown", {
    params = "",
    description = "shutdown server",
    privs = {server=true},
    func = function(name, param)
        minetest.log("action", name .. " shuts down server")
        minetest.request_shutdown()
        minetest.chat_send_all("*** Server shutting down (operator request).")
    end,
})

minetest.register_chatcommand("ban", {
    params = "<name>",
    description = "ban IP of player",
    privs = {ban=true},
    func = function(name, param)
        if param == "" then
            minetest.chat_send_player(name, "Ban list: " .. minetest.get_ban_list())
            return
        end
        if not minetest.env:get_player_by_name(param) then
            minetest.chat_send_player(name, "No such player")
            return
        end
        if not minetest.ban_player(param) then
            minetest.chat_send_player(name, "Failed to ban player")
        else
            local desc = minetest.get_ban_description(param)
            minetest.chat_send_player(name, "Banned " .. desc .. ".")
            minetest.log("action", name .. " bans " .. desc .. ".")
        end
    end,
})

minetest.register_chatcommand("unban", {
    params = "<name/ip>",
    description = "remove IP ban",
    privs = {ban=true},
    func = function(name, param)
        if not minetest.unban_player_or_ip(param) then
            minetest.chat_send_player(name, "Failed to unban player/IP")
        else
            minetest.chat_send_player(name, "Unbanned " .. param)
            minetest.log("action", name .. " unbans " .. param)
        end
    end,
})

minetest.register_chatcommand("clearobjects", {
    params = "",
    description = "clear all objects in world",
    privs = {server=true},
    func = function(name, param)
        minetest.log("action", name .. " clears all objects")
        minetest.chat_send_all("Clearing all objects.  This may take long.  You may experience a timeout.  (by " .. name .. ")")
        minetest.env:clear_objects()
        minetest.log("action", "object clearing done")
        minetest.chat_send_all("*** Cleared all objects.")
    end,
})


So Far That's All The Code I've Edited...
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 21:23

ok i had an idea the moon does technically have a night and day cycle but ... what if we just slow it like hell??

EDIT: or speed it up?
Last edited by LionLAD on Thu Mar 28, 2013 21:23, edited 1 time in total.
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:23

Inocudom wrote:Another neat idea would be the spawning of ancient, abandoned moon bases. The bases could have the look of a futuristic, high-tech society. Perhaps it is a good thing that the civilization that built the bases no longer exists?
High Res, Futuristic node textures anyone? :D
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:25

captainfap wrote:ok i had an idea the moon does technically have a night and day cycle but ... what if we just slow it like hell??

EDIT: or speed it up?


slowing would be the option and the time_speed thing could work to our advantage...
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 21:27

hmmm yes it would but how slow do you think might be a good avantage point

edit: the lower you go in numbers the slower it get and time_speed = 1 = 24 hours the higher you go in numbers the faster time goes
Last edited by LionLAD on Thu Mar 28, 2013 21:28, edited 1 time in total.
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:30

captainfap wrote:hmmm yes it would but how slow do you think might be a good avantage point

edit: the lower you go in numbers the slower it get and time_speed = 1 = 24 hours the higher you go in numbers the faster time goes


how bout we try 0.16 :D
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 21:32

hmmm would that work??
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 21:32

...

EDIT: testing i'll just sit here for a while
Last edited by LionLAD on Thu Mar 28, 2013 21:33, edited 1 time in total.
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:36

captainfap wrote:...

EDIT: testing i'll just sit here for a while

LOL, ur gonna be waiting bout 150 hours XD
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:38

Zsoltisawesome wrote:
captainfap wrote:...

EDIT: testing i'll just sit here for a while

LOL, ur gonna be waiting bout 150 hours XD

Umm, Try 36 full day should be 10 min
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 21:51

minetest.conf:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
server_name = Moontest server
server_description = Welcome To The Moon!
default_game = moontest
motd = Welcome to this awesome Moontest server!
fixed_map_seed = 8019431187
give_initial_stuff = true
default_privs = interact, shout
unlimited_player_transfer_distance = true
movement_acceleration_default = 5
movement_acceleration_air = 4
movement_acceleration_fast = 12
movement_speed_walk = 6
movement_speed_crouch = 3.35
movement_speed_fast = 22
movement_speed_climb = 4
movement_speed_jump = 8.5
movement_speed_descend = 8
movement_gravity = 1.5696
address = 65.130.248.140
anisotropic_filter = 0
bilinear_filter = 0
creative_mode = 0
enable_3d_clouds = 1
enable_damage = 1
enable_particles = 1
enable_shaders = 0
mip_map = 0
new_style_leaves = 1
opaque_water = 0
port = 30000
preload_item_visuals = 1
server_announce = 0
server_dedicated = false
smooth_lighting = 1
trilinear_filter = 0
fast_move = true
free_move = true
enable_clouds = false
time_speed= 36
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 22:12

... ok hmmm the .conf file looks good from my perspective
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 22:20

ok i had an idea... we can pre make a world for them than set time_speed = 0 and we can just go into the world setting than type time_of_day = 05000 as you wanted?

EDIT: yea i was first on the third page :)
Last edited by LionLAD on Thu Mar 28, 2013 22:20, edited 1 time in total.
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 22:21

captainfap wrote:... ok hmmm the .conf file looks good from my perspective

Cool! i removed all the personal stuff
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 22:21

captainfap wrote:ok i had an idea... we can pre make a world for them than set time_speed = 0 and we can just go into the world setting than type time_of_day = 05000 as you wanted?

EDIT: yea i was first on the third page :)


is that even possible?
EDIT: just check the minetest.conf.example and it aint possible
Last edited by Zsoltisawesome on Thu Mar 28, 2013 22:23, edited 1 time in total.
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 22:45

well it is i'll post a screen shot of what im talking about
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 22:49

captainfap wrote:well it is i'll post a screen shot of what im talking about


OK Cool
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Thu Mar 28, 2013 22:50

ok so what i mean is go to minetest-0.4.5/worlds/worldname/env_meta.txt... there you find the some numbers change it to look like this...

Image

than the world be at that time the next time you log in
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Thu Mar 28, 2013 22:55

captainfap wrote:ok so what i mean is go to minetest-0.4.5/worlds/worldname/env_meta.txt... there you find the some numbers change it to look like this...

Image

than the world be at that time the next time you log in


AW CMON!!!!!!!!!!!!! cant go to imgur its blocked on this computer
Last edited by Zsoltisawesome on Thu Mar 28, 2013 22:55, edited 1 time in total.
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
Likwid H-Craft
Member
 
Posts: 1113
Joined: Sun Jan 06, 2013 14:20

by Likwid H-Craft » Fri Mar 29, 2013 03:11

I not making my own I am helping you, but later maybe make my own, so I can have minetest default and a, new area...

Oh and how deep should the ore be?
My Domain's/others:
http://likwidtest.hj.cx/ (Not Done)
 

prestidigitator
Member
 
Posts: 632
Joined: Thu Feb 21, 2013 23:54

by prestidigitator » Fri Mar 29, 2013 04:53

You know what would be really neat? (The moon rock/sand textures and the issue of tiling someone mentioned made me think of this.) Procedural textures, like in Blender. Might not be too difficult to add them to the "[cmd..." style texture formats, either, so the client/server communication wouldn't have to change a bit. I think the only real thing that would have to be added is code to the client to render the textures. As long as it was a requirement that the texture noise functions have a period that is a multiple of 1 (that is, a whole number of blocks on a side), the client could cache texture blocks to help performance. Eventually the procedural textures could even be implemented in GLSL for little to no performance hit.

The great benefit here would be that not every block of the same type (dirt, grass, etc.) would have to look exactly the same. The eye would detect much fewer periodically repeating patterns. It's also very easy to make noise-based textures automatically tile seamlessly.
Last edited by prestidigitator on Fri Mar 29, 2013 04:54, edited 1 time in total.
 

User avatar
Likwid H-Craft
Member
 
Posts: 1113
Joined: Sun Jan 06, 2013 14:20

by Likwid H-Craft » Fri Mar 29, 2013 13:22

Ok, to what you know if didn't see my list but I made sounds so if you like, Zsoltisawesome I can send them to you, soon as I get them the right pich.
My Domain's/others:
http://likwidtest.hj.cx/ (Not Done)
 

User avatar
jojoa1997
Member
 
Posts: 2890
Joined: Thu Dec 13, 2012 05:11

by jojoa1997 » Fri Mar 29, 2013 13:36

What did I do that i am added to the contribufters
Coding;
1X coding
3X debugging
12X tweaking to be just right
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Fri Mar 29, 2013 13:43

jojoa1997 wrote:Maybe have an earth texture and a sun texture in The sky. You could have both things moving at different speeds so sometimes earth an moon is up and other times just the sun is up.



this jojoa
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Likwid H-Craft
Member
 
Posts: 1113
Joined: Sun Jan 06, 2013 14:20

by Likwid H-Craft » Fri Mar 29, 2013 13:44

I wish we can do this it will, make it possble go other places...

http://www.youtube.com/watch?v=IolGDRokUW8&feature=player_embedded
Last edited by Likwid H-Craft on Fri Mar 29, 2013 13:44, edited 1 time in total.
My Domain's/others:
http://likwidtest.hj.cx/ (Not Done)
 

User avatar
LionLAD
Member
 
Posts: 307
Joined: Wed Jul 11, 2012 21:50

by LionLAD » Fri Mar 29, 2013 13:46

Zsoltisawesome wrote:
captainfap wrote:ok so what i mean is go to minetest-0.4.5/worlds/worldname/env_meta.txt... there you find the some numbers change it to look like this...

Image

than the world be at that time the next time you log in


AW CMON!!!!!!!!!!!!! cant go to imgur its blocked on this computer


... oh that sucks but i'll tell you the directory to it minetest-0.4.5/worlds/worldname/env_meta.txt and it the env_mesta.txt there will something like this game_time = 320 time_of_day = 0EnvArgsEnd change both to 05000 as you wanted
In game names:LAD,captainLAD,LionLAD
This is a signature virus. Add me to your signature so that I can multiply.
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Fri Mar 29, 2013 15:19

Likwid H-Craft wrote:Ok, to what you know if didn't see my list but I made sounds so if you like, Zsoltisawesome I can send them to you, soon as I get them the right pich.


Nice! I Just Sent A Pull Request into minecraft/common for obsidian stairs
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

User avatar
Zsoltisawesome
Member
 
Posts: 177
Joined: Sun Dec 18, 2011 18:07
GitHub: realtinymonster
IRC: zsoltisawesome microcarrot
In-game: ManOfMinetest24 Name zsoltisawesome

by Zsoltisawesome » Fri Mar 29, 2013 15:19

captainfap wrote:
Zsoltisawesome wrote:
captainfap wrote:ok so what i mean is go to minetest-0.4.5/worlds/worldname/env_meta.txt... there you find the some numbers change it to look like this...

Image

than the world be at that time the next time you log in


AW CMON!!!!!!!!!!!!! cant go to imgur its blocked on this computer


... oh that sucks but i'll tell you the directory to it minetest-0.4.5/worlds/worldname/env_meta.txt and it the env_mesta.txt there will something like this game_time = 320 time_of_day = 0EnvArgsEnd change both to 05000 as you wanted


You Explained it well enough :D
Check Out Moontest! www.tinyurl.com/moontest
Buddies: Likwid H-Craft, 0gb.us, Death, Starfellow, and many more!
 

PreviousNext

Return to WIP Mods

Who is online

Users browsing this forum: No registered users and 2 guests

cron