API

Mga shader pack

Binabago ng shader pack ang hitsura ng buong imahe: mga kulay, ilaw at mga epekto. Data ito, hindi mod: ini-install ito ng manlalaro sa pamamagitan ng pagkopya ng folder nito.

Pag-install ng pack

Kopyahin ang folder ng pack sa shaderpacks/ sa loob ng folder ng laro. Patuloy na gagana ang parehong pack kapag nag-update ang Minecraft, dahil iniaangkop ito ng Crafting sa laro.

Text
shaderpacks/sepia/
├── shaderpack.json
├── tone.glsl
└── vignette.glsl

Ang file ng pack

Pinapangalanan ng shaderpack.json ang pack at inilalista ang mga pass nito. Tumatakbo ang mga ito nang sunud-sunod, bawat isa sa imaheng nagawa ng nauna.

shaderpacks/sepia/shaderpack.jsonJSON
{ "name": "Sepia", "passes": ["tone.glsl", "vignette.glsl"] }

Isang pass

Ang pass ay isang GLSL file na may iisang function:

shaderpacks/sepia/tone.glslGLSL
vec4 effect(vec4 color, vec2 uv) {
    float grey = dot(color.rgb, vec3(0.299, 0.587, 0.114));
    return vec4(grey * 1.07, grey * 0.74, grey * 0.43, 1.0);
}

Ang color ay ang kulay ng pixel at ang uv ang posisyon nito sa screen, mula (0, 0) hanggang (1, 1). Ibinabalik ng function ang bagong kulay. May tatlo pang magagamit sa bawat pass:

Pangalan Ano ang ibinibigay
crafting_scene(uv) binabasa ang imahe sa anumang posisyon: blur, mga gilid, distortion
crafting_screen ang laki ng screen sa mga pixel (vec2)
crafting_time ang oras sa segundo: mga animation, pulso

Higit pang halimbawa

Isang vignette na nagdidilim sa mga sulok:

shaderpacks/sepia/vignette.glslGLSL
vec4 effect(vec4 color, vec2 uv) {
    vec2 d = uv - 0.5;
    d.x *= crafting_screen.x / crafting_screen.y;
    float v = smoothstep(0.85, 0.25, length(d));
    return vec4(color.rgb * v, 1.0);
}

Isang banayad na alon, gamit ang crafting_time at crafting_scene:

shaderpacks/sepia/wave.glslGLSL
vec4 effect(vec4 color, vec2 uv) {
    vec2 shift = vec2(sin(uv.y * 30.0 + crafting_time * 2.0) * 0.002, 0.0);
    return crafting_scene(uv + shift);
}

Pagpili ng pack

Sa folder ng laro, buksan ang config/crafting/client.toml at itakda ang shader_pack sa pangalan ng folder ng pack. Ang walang laman ay nangangahulugang wala. Pagkatapos, simulan ang laro.

config/crafting/client.tomlTOML
shader_pack = "sepia"

Gumagana ang pack sa loob ng mga mundo; normal ang hitsura ng mga menu.

Kapag may error ang isang pass

Magpapakita ang laro ng babala tungkol sa resource at mananatiling normal ang imahe. Sinasabi ng log ng laro kung ano ang mali, sa anong file at linya.