Stein.world Wiki
Advertisement

This module serves the purpose of displaying all relevant information about a crafting recipe in a way reminiscent of the in-game UI.

Syntax

{{#invoke:Profs|prof
|Item = Item name
|Link = Image link
|Required level = Required level
|Crafting time = Crafting time
|Obtained = Way to obtain item, overrides default value of the item. "none" removes it altogether
|EXP_red = exp
|EXP_orange = exp
|EXP_green = exp
|EXP_white = exp
|Text = text at bottom of box
|material 1|material 1 amount|material 1 image link
|material 2|material 2 amount|material 2 image link
|material 3|material 3 amount|material 3 image link
...
}}

Examples

{{#invoke:Profs|prof
|Item = Used Trousers
|Link = Template_Test
|Required level = 2
|Crafting time = 10s
|Obtained = none
|EXP_red = 20
|EXP_orange = 15
|EXP_green = 10
|EXP_white = 5
|Torn Hide|1|Crafting_Materials#Torn_Hide
|Dirty Fiber|3|Crafting_Materials#Dirty_Fiber
|Livisum|3|Crafting_Materials#Livisum
|Healing Potion|7|Consumables#Healing_Potion
}}
Required level: 2
EXP: 20/15/10/5
Icon legs farmer leather

Used Trousers


Legs

+1 Armor

Used Trousers

Resources:Crafting time: 10s

Prof hide torn
1

Torn Hide


Resource

1 Currency gold

Prof fiber dirty
3

Dirty Fiber


Resource

1 Currency gold

Prof Livisum
3

Livisum


Resource

20 Currency gold

Healing potion small
7

Healing Potion


Consumable

Casttime: 0.50 sec

Cooldown: 60.00 sec

Heals yourself for 35 Health

1 Currency gold
Level: 1


{{#invoke:Profs|prof
|Item = Spruce Bark
|Link = Template_Test
|Required level = 28
|Obtained = none
|EXP_red = 190
|EXP_orange = 143
|EXP_green = 95
|EXP_white = 48
|Text = Gathered from Spruce Trees
}}
Required level: 28
EXP: 190/143/95/48
Prof bark spruce

Spruce Bark


Resource

5 Currency gold

Spruce Bark
Learned from a book

Gathered from Spruce Trees

local p = {}
local item = require("Module:Item")

function p.prof(frame)
    local data = frame.args
    local link = data["Link"] or ""

    local div = mw.html.create('div')
    div:addClass("stein-box-inner-color")
    div:addClass("stein-text-border")
    div:cssText([[
        /*background: #9a7753;*/
        width: 97%;
        /*color: #fff;*/
        padding: 5px;
        display: inline-block;
        /*box-shadow: 0 0 0 3px rgb(38, 33, 25);*/
        border-radius: 3px;
        /*border: 2px solid rgba(38, 24, 8, 0.4);*/
        margin-top: 10px;
        margin-left: 5px;
        font-size: 18px;
    ]])
    div = div:tag("span")
        div:css("float", "right")
        div:css("text-align", "right")
        div:wikitext("Required level: "..data["Required level"])

        div:wikitext("<br />EXP: ")
        div = div:tag("span")
            div:css("color", "rgb(239, 23, 38)")
            div:wikitext(data["EXP_red"])
        div = div:done()
        div:wikitext("/")
        div = div:tag("span")
            div:css("color", "rgb(239, 186, 23)")
            div:wikitext(data["EXP_orange"])
        div = div:done()
        div:wikitext("/")
        div = div:tag("span")
            div:css("color", "rgb(95, 216, 36)")
            div:wikitext(data["EXP_green"])
        div = div:done()
        --div:wikitext("/"..data["EXP_white"])
        div:wikitext("/")
        div = div:tag("span")
            div:css("color", "rgb(95, 216, 36)")
            div:wikitext(data["EXP_white"])
        div = div:done()
    div = div:done()

    div:wikitext(item.item({args={[1]=data["Item"], ["Obtained"]=data["Obtained"], ["Link"]=link, ["Obtained text"]="toomanycustomparametersmakemyprogrammerheartcry.sob"}}))

    div = div:tag("p")
        if data[1] ~= nil then
            div:wikitext("Resources:")
        end

        div = div:tag("span")
            div:css("float", "right")
            if data["Crafting time"] then
                div:wikitext("Crafting time: "..data["Crafting time"])
            end
        div = div:done()
    div = div:done()

    local i = 1
    while data[i] ~= nil do
        div:wikitext(item.slimItem({args={[1]=data[i], ["Amount"]=data[i+1], ["Link"]=data[i+2], ["Obtained text"]="toomanycustomparametersmakemyprogrammerheartcry.sob"}}))
        i = i + 3
    end

    if data["Text"] then div:wikitext(data["Text"]) end

    div:allDone()

    return tostring(div)
end

return p
Advertisement