Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:MinecraftConnect » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Aucun résumé des modifications
Hiob (discussion | contributions)
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
local p = {}
local p = {}
local buttonCount = 0


function p.button(frame)
function p.button(frame)
Ligne 15 : Ligne 16 :
     local adresseComplete = (port == '25565') and server or (server .. ':' .. port)
     local adresseComplete = (port == '25565') and server or (server .. ':' .. port)
      
      
     -- Génération d'un ID unique (CORRIGÉ)
     -- Génération d'un ID unique
     local uniqueId = 'mc-btn-' .. mw.hash.hashValue('crc32', server .. port)
    buttonCount = buttonCount + 1
     local uniqueId = 'mc-btn-' .. buttonCount
      
      
     -- HTML du bouton
     -- HTML du bouton avec mw.html
     local html = mw.html.create('button')
     local button = mw.html.create('button')
         :addClass('mw-ui-button mw-ui-progressive minecraft-connect-btn')
         :addClass('mw-ui-button mw-ui-progressive minecraft-connect-btn')
         :attr('type', 'button')
         :attr('type', 'button')
         :attr('id', uniqueId)
         :attr('id', uniqueId)
         :attr('data-copy-text', adresseComplete)
         :attr('data-copy-text', adresseComplete)
         :attr('title', 'Cliquer pour copier : ' .. mw.text.encode(adresseComplete))
         :attr('title', 'Cliquer pour copier : ' .. adresseComplete)
         :wikitext(mw.text.encode(texte) .. ' 📋')
         :wikitext(texte .. ' 📋')
      
      
     return tostring(html)
    -- IMPORTANT : Retourner avec frame:preprocess pour que le HTML soit interprété
     return frame:preprocess(tostring(button))
end
end


return p
return p

Version du 10 novembre 2025 à 13:50

La documentation pour ce module peut être créée à Module:MinecraftConnect/doc

local p = {}
local buttonCount = 0

function p.button(frame)
    -- Récupération des arguments
    local args = frame.args
    if not args[1] and frame:getParent() then
        args = frame:getParent().args
    end
    
    local server = mw.text.trim(args[1] or args.serveur or 'play.exemple.fr')
    local port = mw.text.trim(args[2] or args.port or '25565')
    local texte = mw.text.trim(args[3] or args.texte or "Copier l'adresse")
    
    -- Construction de l'adresse complète
    local adresseComplete = (port == '25565') and server or (server .. ':' .. port)
    
    -- Génération d'un ID unique
    buttonCount = buttonCount + 1
    local uniqueId = 'mc-btn-' .. buttonCount
    
    -- HTML du bouton avec mw.html
    local button = mw.html.create('button')
        :addClass('mw-ui-button mw-ui-progressive minecraft-connect-btn')
        :attr('type', 'button')
        :attr('id', uniqueId)
        :attr('data-copy-text', adresseComplete)
        :attr('title', 'Cliquer pour copier : ' .. adresseComplete)
        :wikitext(texte .. ' 📋')
    
    -- IMPORTANT : Retourner avec frame:preprocess pour que le HTML soit interprété
    return frame:preprocess(tostring(button))
end

return p
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.