Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
可打印版不再被支持且可能有渲染错误。请更新您的浏览器书签并改用浏览器默认的打印功能。
暂告一段落

!!!

用于获取hash的脚本:

local http = require "socket.http"
local json = require "json"

info = {}

function http.get(u)
   local t = {}
   local r, c, h = http.request{
      url = u,
      sink = ltn12.sink.table(t)}
   return table.concat(t)
end

function tos(id)
    local s = string.format( "== %s ==\n<pre>\n", id)
    for k, c in pairs(info[id]) do
        s = s..string.format( "|%s=%s\n", k, c)
    end
    return s.."</pre>\n\n"
end

manifest = json.decode(http.get("https://launchermeta.mojang.com/mc/game/version_manifest.json"))

ed = {}
f = assert(io.open("./1.txt", "r"))
for l in f:lines() do
    local v = string.match(l, "== (.+) ==")
    if  v~= nil then 
        ed[v] = true
        print("Skip "..v.."...")
    end
end
f:close()

f = assert(io.open("./1.txt", "a"))

for _, c in ipairs(manifest.versions) do
    if ed[c.id] == nil then
        info[c.id] = {}
        info[c.id].json = string.gsub(c.url,"https://launchermeta.mojang.com/v1/packages/(.+)/.+.json", "%1")
        local version = json.decode(http.get(c.url))
        if version.downloads.client then info[c.id].clienthash = string.gsub(version.downloads.client.url, "https://launcher.mojang.com/v1/objects/(.+)/client.jar", "%1") end
        if version.downloads.server then info[c.id].serverhash = string.gsub(version.downloads.server.url, "https://launcher.mojang.com/v1/objects/(.+)/server.jar", "%1") end
        if version.downloads.windows_server then info[c.id].windows = string.gsub(version.downloads.windows_server.url, "https://launcher.mojang.com/v1/objects/(.+)/windows_server.exe", "%1") end
        f:write(tos(c.id))
        f:flush()
        print(c.id.."...")
    end
end
f:close()
Advertisement