관련 문서: MineTweaker #!if 문서명2 != null
, [[]]#!if 문서명3 != null
, [[]]#!if 문서명4 != null
, [[]]#!if 문서명5 != null
, [[]]#!if 문서명6 != null
, [[]] [[프로그래밍 언어|'''프로그래밍 언어 {{{#!wiki style="font-family: Times New Roman, serif; display: inline;" ]] {{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px" {{{#!wiki style="display: inline-table; min-width: 40%; min-height: calc(1.5em + 5px)" {{{#!folding [ 목록 ] {{{#!wiki style="margin: -5px -1px" <colbgcolor=royalblue><colcolor=#fff> ※ 나무위키에 등재된 프로그래밍 언어 목록
#!syntax java
println("Hello world!");
마인크래프트 의 모드인 MineTweaker 의 스크립트에 사용되는 프로그래밍 언어 . 보통은 젠스크립트로 읽는다.2. 기본 스크립트 이용법 처음 마인트위커(1.8.9 이후의 경우 크래프트 트위커)를 설치한 후 처음 실행한다면 자신의 마인크래프트 폴더에 scripts 라는 폴더가 생성된다. 이 폴더 안에 스크립트가 없을 경우에는 마인트위커는 명령어 외에는 아무런 기능도 제공하지 못하므로 스크립트 파일을 해당 폴더에 생성하고 그 뒤 메모장 등 텍스트 편집 프로그램으로 열어 코드를 작성할 필요가 있다. 이 코드를 자신의 스크립트에 넣고 실행한다면 마인트위커 로그 파일에 Hello world! 라는 메시지가 출력되게 된다.#!syntax java
print("Hello world!");
응용하자면 print 코드는 스크립트 내부 변수를 확인할때도 사용 가능하다. 이 스크립트의 경우 Hello world! 1235 가 출력되게 된다#!syntax java
var namu = 1234 as int;
namu = namu + 1;
print("Hello world! " + namu);
이 코드에서 사용되는 var 부분은 변수이며, 하위 항목에 더 자세히 설명되어 있다. 스크립트 내에 설명을 추가하거나 실행되기 원치 않는 스크립트를 삭제하지 않고 비활성화하고싶다면 주석을 사용할 수 있다.Java 와 같이 "//"를 이용해 한줄 주석을, "/* */"을 이용해 여러줄 주석을 넣을 수 있다. 단, 한글이나 특수문자를 입력하면 안된다. (자세한 이유는 아래 항목 참조)#!syntax java
// this is a single line comment
/* this is a
multi line
comment */
2.3. 상수, 변수, 자료형 스크립트 내에서 잦은 빈도로 사용되는 값의 경우 상수 또는 변수로 지정하여 코딩 효율성을 늘릴 수 있다. var는 변수값을, val은 상수값을 의미한다. 변수값의 경우 스크립트 내에서 변경할 수 있는 반면 상수값의 경우 코드 내에서 한번 정의된 이후 절대 바뀔 일이 없는 경우에 주로 사용된다.#!syntax java
var namu1 = 1 as long;
val namu2 = 1 as long;
val pi = 3.1415926535 as double;
namu1 = namu1 + 1;
print("namu1 = " + namu1); // 2
namu2 = namu2 + 1; //Error
print("namu2 = " + namu2);
자료형이 변수 이름 앞에 붙는 Java등의 언어와 달리 ZenScript에서 변수의 자료형은 변수값 뒤에 붙는다. 위의 예제와 같이 as <자료형> 이렇게 입력하면 된다. 자료형 종류 설명 import int 32비트 정수이며 가장 기본적인 정수값 유형으로 범위는 -21억 4748만 3648 ~ 21억 4748만 3647이다. as <자료형>을 뒤에 붙여 따로 지정하지 않으면 해당 정수값은 이 자료형으로 설정된다. long 64비트 정수. 범위는 약 ±922경이다. short 16비트 정수. 범위는 -32768 ~ 32767이다. byte 8비트 정수. 범위는 -128 ~ 127이다. float 32비트 자연수이다. double 64비트 자연수. float보다 더 정밀하거나 큰 숫자를 지정 가능하다. boolean true(참) 또는 false(거짓)만을 가지는 자료형이다. if문에서 사용 가능하다. String 문자열을 나타내는 자료형이다. 두개의 " 사이에 있는 내용은 문자열이 되며 as String 을 입력하지 않아도 된다. IItemStack 마인트위커 내에서의 아이템 묶음(ItemStack) 자료형이다. 별도의 클래스이므로 import가 필요하다. import crafttweaker.item.IItemStack; IIngredient 아이템, 광석사전 등 조합 재료에 붙는 자료형이다. 별도의 클래스이므로 import가 필요하다. import crafttweaker.item.IIngredient;
조건문은 자신이 작성한 코드를 특정 조건을 만족할 경우 실행되게 하는 데 사용된다.#!syntax java
val namu = 0;
if (namu == 0) { // true
print("Namu is zero!");
} else {
print("Namu is NOT zero!");
}
var wiki = namu != 0 ? "namu" : "wiki";
print(wiki); // wiki
JavaScript/Java/C에 익숙하다면 AND 와 OR 연산자가 이 프로그래밍 언어들과 다른 점에 유의해야 한다.#!syntax java
val a = true;
val b = false;
print("a AND b = " + (a & b)); //false
print("a OR b = " + (a | b)); //true
모드 구성이 다른 다수의 모드팩에서 스크립트가 모드 구성에 따라 다르게 동작하게 만들려면 if문과 함께 모드 감지 코드를 사용하면 된다. in 다음에 붙는 문자열은 모드의 ID이다.#!syntax java
if (loadedMods in "namu"){
print("Namu is loaded");
}
if (loadedMods in "thermalfoundation"){
print("Thermal Foundation is loaded");
}
if (loadedMods in "ic2"){
print("IndustrialCraft 2 is loaded");
}
그러나 if문 안에도 모드팩 내에 없는 모드의 아이템을 넣으면 오류가 발생하게 되므로 주의가 필요하다. 모드의 유무에 의해 특정 아이템/액체/함수 등이 있거나 없을 수 있다면 아래의 프리프로세서를 사용하자. 단, 프리프로세서는 크래프트 트위커의 고유 기능으로 마인트위커에서는 사용 불가하다. 만일 해당 스크립트 파일 전체가 특정 모드를 위한것이라면 프리프로세서를 사용하는 것이 권장된다. 모드ID 부분에는 해당 스크립트가 실행되기위해 필요한 모드의 ID를 사용하면 된다.#!syntax java
#modloaded 모드ID
모드 ID는 띄어쓰기로 구분하여 여러 개 입력할 수 있으며, 아래의 예제는 IC2 와 팅커스 컨스트럭트 가 동시에 로딩된 경우에만 해당 스크립트가 실행되도록 만든다.#!syntax java
#modloaded ic2 tconstruct
2.5. 한글/특수문자 입력 방법 마인트위커 스크립트 내(주석, 문자열 포함)에 한글과 같이 한 글자에 2바이트를 사용하는 문자를 직접 사용하면 오류가 발생한다. 그러나 문자열의 경우 한글과 특수문자를 입력하는 방법이 있으며 다음과 같다:이 링크 로 들어간다.JavaScript/Java/C 라고 적힌 부분 오른쪽을 보면 ES6, C-Style, \n etc라고 적힌 부분이 있다. 그중 \n etc 에만 체크한다. 맨 윗칸(초록색 칸)에 변환을 원하는 문자열을 넣고 Convert 버튼을 누른다. JavaScript/Java/C 라고 적힌 칸에 있는 문자열을 복사하여 사용한다. 이 방법으로 "나무위키"를 변환했다면 \uB098\uBB34\uC704\uD0A4 가 출력될 것이다. 이렇게 변환된 문자열을 print 코드에 넣고 실행하면 마인트위커 로그에 "나무위키" 라고 뜨게 되며, 참나무 묘목의 이름도 "나무위키"로 변하게 된다. 또한 이 예제에 나오지 않은 함수에서도 문자열이 필요한곳이라면 대부분 활용 가능하다.#!syntax java
val str = "\uB098\uBB34\uC704\uD0A4";
print(str);
<minecraft:sapling:0>.displayName = str;
마인트위커를 사용하여 할 수 있는 가장 기본적인 변경은 작업대 조합법을 추가/삭제하는 것이다. 유형 조합법을 추가하는 코드는 다음과 같다:#!syntax java
recipes.addShaped(<결과물>, <조합법>);
이 코드는 recipes 객체의 addShaped 함수를 호출하는 것을 의미한다. recipes 객체는 작업대 조합법의 추가/삭제만을 담당하며, 화로나 모드 레시피를 추가/삭제하기 위해서는 그들만의 객체에서 함수를 호출해야한다. 이제 함수를 제대로 호출하는 방법을 알아보자. 다음은 바닐라 마인크래프트의 곡괭이 조합법이다:#!wiki if문 접기/펼치기
{{{#!wiki 레거시 문법 접기/펼치기
## sNxN
{{{#!if s3x3
{{{#!if s1 ??= s3x3; s2 ??= s3x3; s3 ??= s3x3; s4 ??= s3x3; s5 ??= s3x3; s6 ??= s3x3; s7 ??= s3x3; s8 ??= s3x3; s9 ??= s3x3
}}}{{{#!if s3x3확장자
{{{#!if s1Format ??= s3x3확장자; s2Format ??= s3x3확장자; s3Format ??= s3x3확장자; s4Format ??= s3x3확장자; s5Format ??= s3x3확장자; s6Format ??= s3x3확장자; s7Format ??= s3x3확장자; s8Format ??= s3x3확장자; s9Format ??= s3x3확장자
}}}}}}{{{#!if l3x3
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a3x3 = l3x3.substring(delim+1)
}}}{{{#!if l3x3 = l3x3.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l3x3; s2Link ??= l3x3; s3Link ??= l3x3; s4Link ??= l3x3; s5Link ??= l3x3; s6Link ??= l3x3; s7Link ??= l3x3; s8Link ??= l3x3; s9Link ??= l3x3
}}}}}}{{{#!if a3x3
{{{#!if s1Anchor ??= a3x3; s2Anchor ??= a3x3; s3Anchor ??= a3x3; s4Anchor ??= a3x3; s5Anchor ??= a3x3; s6Anchor ??= a3x3; s7Anchor ??= a3x3; s8Anchor ??= a3x3; s9Anchor ??= a3x3
}}}}}}{{{#!if c3x3
{{{#!if s1Count ??= c3x3; s2Count ??= c3x3; s3Count ??= c3x3; s4Count ??= c3x3; s5Count ??= c3x3; s6Count ??= c3x3; s7Count ??= c3x3; s8Count ??= c3x3; s9Count ??= c3x3
}}}}}}}}}{{{#!if s2x2
{{{#!if s1 ??= s2x2; s2 ??= s2x2; s4 ??= s2x2; s5 ??= s2x2
}}}{{{#!if s2x2확장자
{{{#!if s1Format ??= s2x2확장자; s2Format ??= s2x2확장자; s4Format ??= s2x2확장자; s5Format ??= s2x2확장자
}}}}}}{{{#!if l2x2
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a2x2 = l2x2.substring(delim+1)
}}}{{{#!if l2x2 = l2x2.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l2x2; s2Link ??= l2x2; s4Link ??= l2x2; s5Link ??= l2x2
}}}}}}{{{#!if a2x2
{{{#!if s1Anchor ??= a2x2; s2Anchor ??= a2x2; s4Anchor ??= a2x2; s5Anchor ??= a2x2
}}}}}}{{{#!if c2x2
{{{#!if s1Count ??= c2x2; s2Count ??= c2x2; s4Count ??= c2x2; s5Count ??= c2x2
}}}}}}}}}
## sN확장자
{{{#!if s1Format ??= s1확장자; s2Format ??= s2확장자; s3Format ??= s3확장자; s4Format ??= s4확장자; s5Format ??= s5확장자; s6Format ??= s6확장자; s7Format ??= s7확장자; s8Format ??= s8확장자; s9Format ??= s9확장자; outputFormat ??= output확장자
}}}
## lN
{{{#!if l1
{{{#!if s1 += "; [[" + l1 + "]]"
}}}}}}{{{#!if l2
{{{#!if s2 += "; [[" + l2 + "]]"
}}}}}}{{{#!if l3
{{{#!if s3 += "; [[" + l3 + "]]"
}}}}}}{{{#!if l4
{{{#!if s4 += "; [[" + l4 + "]]"
}}}}}}{{{#!if l5
{{{#!if s5 += "; [[" + l5 + "]]"
}}}}}}{{{#!if l6
{{{#!if s6 += "; [[" + l6 + "]]"
}}}}}}{{{#!if l7
{{{#!if s7 += "; [[" + l7 + "]]"
}}}}}}{{{#!if l8
{{{#!if s8 += "; [[" + l8 + "]]"
}}}}}}{{{#!if l9
{{{#!if s9 += "; [[" + l9 + "]]"
}}}}}}
## aN
{{{#!if s1Anchor ??= a1; s2Anchor ??= a2; s3Anchor ??= a3; s4Anchor ??= a4; s5Anchor ??= a5; s6Anchor ??= a6; s7Anchor ??= a7; s8Anchor ??= a8; s9Anchor ??= a9; outputAnchor ??= output_anchor
}}}
## cN, qty
{{{#!if s1Count ??= c1; s2Count ??= c2; s3Count ??= c3; s4Count ??= c4; s5Count ??= c5; s6Count ??= c6; s7Count ??= c7; s8Count ??= c8; s9Count ??= c9; outputCount ??= qty
}}}
## b, l, f
{{{#!if back ??= (b == "b") ? true : null; shapeless ??= (l == "l") ? true : null; fixed ??= (f == "f") ? true : null
}}}}}}
## type 확인
{{{#!if arrowSuf = (back != null) ? "B" : ""
}}}{{{#!if shapeless = (shapeless != null) ? true : false
}}}{{{#!if fixed = (fixed != null) ? true : false
}}}{{{#!if typeIcon = shapeless ? "shapeless" : fixed ? "fixed" : ""
}}}
## 2x2, 3x3
{{{#!if this['2x2']
{{{#!if s1 ??= this['2x2']; s2 ??= this['2x2']; s4 ??= this['2x2']; s5 ??= this['2x2']
}}}}}}{{{#!if this['3x3']
{{{#!if s1 ??= this['3x3']; s2 ??= this['3x3']; s3 ??= this['3x3']; s4 ??= this['3x3']; s5 ??= this['3x3']; s6 ??= this['3x3']; s7 ??= this['3x3']; s8 ??= this['3x3']; s9 ??= this['3x3']
}}}}}}
## 무형 제작법
{{{#!if shapeless
## N = null일 시 N+1값 할당
{{{#!if this["8"] ??= this["9"]
}}}{{{#!if this["7"] ??= this["8"]
}}}{{{#!if this["6"] ??= this["7"]
}}}{{{#!if this["5"] ??= this["6"]
}}}{{{#!if this["4"] ??= this["5"]
}}}{{{#!if this["3"] ??= this["4"]
}}}{{{#!if this["2"] ??= this["3"]
}}}{{{#!if this["1"] ??= this["2"]
}}}
### input 개수
{{{#!if input = this["9"] ? 9 : this["8"] ? 8 : this["7"] ? 7 : this["6"] ? 6 : this["5"] ? 5 : this["4"] ? 4 : this["3"] ? 3 : this["2"] ? 2 : 1
}}}
### input 값에 따라 슬롯 배치 및 값 할당
{{{#!if input == 1 && (s5 ??= this["1"])
}}}{{{#!if input > 1 && input < 5 && (s1 ??= this["1"]; s2 ??= this["2"]; s4 ??= this["3"]; s5 ??= this["4"])
}}}{{{#!if input > 4 && (s1 ??= this["1"]; s2 ??= this["2"]; s3 ??= this["3"]; s4 ??= this["4"]; s5 ??= this["5"]; s6 ??= this["6"]; s7 ??= this["7"]; s8 ??= this["8"]; s9 ??= this["9"])
}}}}}}
## 유형 제작법
{{{#!if !shapeless && (pat || pat1 || pat2 || pat3)
{{{#!if keys = {"A":null,"B":null,"C":null,"D":null,"E":null,"F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":null,"N":null,"O":null,"P":null,"Q":null,"R":null,"S":null,"T":null,"U":null,"V":null,"W":null,"X":null,"Y":null,"Z":null,"a":null,"b":null,"c":null,"d":null,"e":null,"f":null,"g":null,"h":null,"i":null,"j":null,"k":null,"l":null,"m":null,"n":null,"o":null,"p":null,"q":null,"r":null,"s":null,"t":null,"u":null,"v":null,"w":null,"x":null,"y":null,"z":null,"#":null,"_":null, "-":null, " ":null}
}}}
### 같은 이름의 변수 존재시 keys에 값 할당
{{{#!if A != null && (keys["A"] = A)
}}}{{{#!if B != null && (keys["B"] = B)
}}}{{{#!if C != null && (keys["C"] = C)
}}}{{{#!if D != null && (keys["D"] = D)
}}}{{{#!if E != null && (keys["E"] = E)
}}}{{{#!if F != null && (keys["F"] = F)
}}}{{{#!if G != null && (keys["G"] = G)
}}}{{{#!if H != null && (keys["H"] = H)
}}}{{{#!if I != null && (keys["I"] = I)
}}}{{{#!if J != null && (keys["J"] = J)
}}}{{{#!if K != null && (keys["K"] = K)
}}}{{{#!if L != null && (keys["L"] = L)
}}}{{{#!if M != null && (keys["M"] = M)
}}}{{{#!if N != null && (keys["N"] = N)
}}}{{{#!if O != null && (keys["O"] = O)
}}}{{{#!if P != null && (keys["P"] = P)
}}}{{{#!if Q != null && (keys["Q"] = Q)
}}}{{{#!if R != null && (keys["R"] = R)
}}}{{{#!if S != null && (keys["S"] = S)
}}}{{{#!if T != null && (keys["T"] = T)
}}}{{{#!if U != null && (keys["U"] = U)
}}}{{{#!if V != null && (keys["V"] = V)
}}}{{{#!if W != null && (keys["W"] = W)
}}}{{{#!if X != null && (keys["X"] = X)
}}}{{{#!if Y != null && (keys["Y"] = Y)
}}}{{{#!if Z != null && (keys["Z"] = Z)
}}}{{{#!if a != null && (keys["a"] = a)
}}}{{{#!if b != null && (keys["b"] = b)
}}}{{{#!if c != null && (keys["c"] = c)
}}}{{{#!if d != null && (keys["d"] = d)
}}}{{{#!if e != null && (keys["e"] = e)
}}}{{{#!if f != null && (keys["f"] = f)
}}}{{{#!if g != null && (keys["g"] = g)
}}}{{{#!if h != null && (keys["h"] = h)
}}}{{{#!if i != null && (keys["i"] = i)
}}}{{{#!if j != null && (keys["j"] = j)
}}}{{{#!if k != null && (keys["k"] = k)
}}}{{{#!if l != null && (keys["l"] = l)
}}}{{{#!if m != null && (keys["m"] = m)
}}}{{{#!if n != null && (keys["n"] = n)
}}}{{{#!if o != null && (keys["o"] = o)
}}}{{{#!if p != null && (keys["p"] = p)
}}}{{{#!if q != null && (keys["q"] = q)
}}}{{{#!if r != null && (keys["r"] = r)
}}}{{{#!if s != null && (keys["s"] = s)
}}}{{{#!if t != null && (keys["t"] = t)
}}}{{{#!if u != null && (keys["u"] = u)
}}}{{{#!if v != null && (keys["v"] = v)
}}}{{{#!if w != null && (keys["w"] = w)
}}}{{{#!if x != null && (keys["x"] = x)
}}}{{{#!if y != null && (keys["y"] = y)
}}}{{{#!if z != null && (keys["z"] = z)
}}}{{{#!if this["#"] != null && (keys["#"] = this["#"])
}}}
### pat 파싱 및 null.length 방지를 위해 빈 문자열 할당
{{{#!if pat != null
{{{#!if pat1 = pat
{{{#!if (sep = pat1.indexOf("/")) != -1
{{{#!if pat2 = pat1.substring(sep+1); pat1 = pat1.substring(0,sep)
}}}{{{#!if (sep = pat2.indexOf("/")) != -1
{{{#!if pat3 = pat2.substring(sep+1); pat2 = pat2.substring(0,sep)
}}}}}}}}}}}}}}}{{{#!if pat1 ??= ""; pat2 ??= ""; pat3 ??= ""
}}}
### 제작법 행, 열 개수
{{{#!if col = pat1.length > pat2.length ? (pat1.length > pat3.length ? pat1.length : pat3.length) : (pat2.length > pat3.length ? pat2.length : pat3.length)
}}}{{{#!if row = pat3 ? 3 : pat2 ? 2 : 1
}}}
### 제작법 행, 열 개수에 따라 슬롯 배치 및 값 할당
{{{#!if row == 3
{{{#!if col == 3 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1,2)]; s3 ??= keys[pat1.substring(2)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1,2)]; s6 ??= keys[pat2.substring(2)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1,2)]; s9 ??= keys[pat3.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2]; s8 ??= keys[pat3])
}}}}}}{{{#!if row == 2
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)]; s7 ??= keys[pat2.substring(0,1)]; s8 ??= keys[pat2.substring(1,2)]; s9 ??= keys[pat2.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2];)
}}}}}}{{{#!if row == 1
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)])
}}}{{{#!if col == 2 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1)])
}}}{{{#!if col == 1 && (s5 ??= keys[pat1];)
}}}}}}}}}
## s1 세부속성 확인 (; 검색)
{{{#!if (sep = s1.indexOf(";")) != -1
{{{#!if s1Attr = " " + s1.substring(sep+1)
}}}{{{#!if s1 = s1.substring(0,sep).trim()
}}}}}}
## s1Format 확인 (. 검색)
{{{#!if (delim = s1.lastIndexOf(".")) != -1
{{{#!if s1Format = s1.substring(delim+1)
}}}{{{#!if s1Format = ((s1Format == "gif") || (s1Format == "webp") || (s1Format == "png") || (s1Format == "jpg") || (s1Format == "svg") || (s1Format == "bmp")) ? s1Format : null
}}}{{{#!if s1 = (s1Format != null) ? s1.substring(0,delim) : s1
}}}}}}{{{#!if s1Format ??= "png"
}}}
## s1 각 세부속성 확인
{{{#!if s1Attr
### s1Link 확인 ([[]] 검색)
{{{#!if ((delim = s1Attr.indexOf("[[")) != -1) && ((endDelim = s1Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s1Link = s1Attr.substring(delim+2,endDelim)
}}}{{{#!if s1Attr = s1Attr.substring(0,delim) + s1Attr.substring(endDelim+2)
}}}
#### s1Anchor 확인 (# 검색)
{{{#!if (delim = s1Link.indexOf("#")) != -1
{{{#!if s1Anchor = s1Link.substring(delim+1)
}}}{{{#!if s1Link = s1Link.substring(0,delim)
}}}}}}{{{#!if s1Anchor ??= s1.substring(s1.indexOf("/")+1)
}}}{{{#!if s1Link ||= calleeTitle
}}}}}}
### s1Count 확인
{{{#!if s1Attr = s1Attr.trim()
}}}{{{#!if s1Count = s1Attr ? +s1Attr : null
}}}}}}
## s2 세부속성 확인 (; 검색)
{{{#!if (sep = s2.indexOf(";")) != -1
{{{#!if s2Attr = " " + s2.substring(sep+1)
}}}{{{#!if s2 = s2.substring(0,sep).trim()
}}}}}}
## s2Format 확인 (. 검색)
{{{#!if (delim = s2.lastIndexOf(".")) != -1
{{{#!if s2Format = s2.substring(delim+1)
}}}{{{#!if s2Format = ((s2Format == "gif") || (s2Format == "webp") || (s2Format == "png") || (s2Format == "jpg") || (s2Format == "svg") || (s2Format == "bmp")) ? s2Format : null
}}}{{{#!if s2 = (s2Format != null) ? s2.substring(0,delim) : s2
}}}}}}{{{#!if s2Format ??= "png"
}}}
## s2 각 세부속성 확인
{{{#!if s2Attr
### s2Link 확인 ([[]] 검색)
{{{#!if ((delim = s2Attr.indexOf("[[")) != -1) && ((endDelim = s2Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s2Link = s2Attr.substring(delim+2,endDelim)
}}}{{{#!if s2Attr = s2Attr.substring(0,delim) + s2Attr.substring(endDelim+2)
}}}
#### s2Anchor 확인 (# 검색)
{{{#!if (delim = s2Link.indexOf("#")) != -1
{{{#!if s2Anchor = s2Link.substring(delim+1)
}}}{{{#!if s2Link = s2Link.substring(0,delim)
}}}}}}{{{#!if s2Anchor ??= s2.substring(s2.indexOf("/")+1)
}}}{{{#!if s2Link ||= calleeTitle
}}}}}}
### s2Count 확인
{{{#!if s2Attr = s2Attr.trim()
}}}{{{#!if s2Count = s2Attr ? +s2Attr : null
}}}}}}
## s3 세부속성 확인 (; 검색)
{{{#!if (sep = s3.indexOf(";")) != -1
{{{#!if s3Attr = " " + s3.substring(sep+1)
}}}{{{#!if s3 = s3.substring(0,sep).trim()
}}}}}}
## s3Format 확인 (. 검색)
{{{#!if (delim = s3.lastIndexOf(".")) != -1
{{{#!if s3Format = s3.substring(delim+1)
}}}{{{#!if s3Format = ((s3Format == "gif") || (s3Format == "webp") || (s3Format == "png") || (s3Format == "jpg") || (s3Format == "svg") || (s3Format == "bmp")) ? s3Format : null
}}}{{{#!if s3 = (s3Format != null) ? s3.substring(0,delim) : s3
}}}}}}{{{#!if s3Format ??= "png"
}}}
## s3 각 세부속성 확인
{{{#!if s3Attr
### s3Link 확인 ([[]] 검색)
{{{#!if ((delim = s3Attr.indexOf("[[")) != -1) && ((endDelim = s3Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s3Link = s3Attr.substring(delim+2,endDelim)
}}}{{{#!if s3Attr = s3Attr.substring(0,delim) + s3Attr.substring(endDelim+2)
}}}
#### s3Anchor 확인 (# 검색)
{{{#!if (delim = s3Link.indexOf("#")) != -1
{{{#!if s3Anchor = s3Link.substring(delim+1)
}}}{{{#!if s3Link = s3Link.substring(0,delim)
}}}}}}{{{#!if s3Anchor ??= s3.substring(s3.indexOf("/")+1)
}}}{{{#!if s3Link ||= calleeTitle
}}}}}}
### s3Count 확인
{{{#!if s3Attr = s3Attr.trim()
}}}{{{#!if s3Count = s3Attr ? +s3Attr : null
}}}}}}
## s4 세부속성 확인 (; 검색)
{{{#!if (sep = s4.indexOf(";")) != -1
{{{#!if s4Attr = " " + s4.substring(sep+1)
}}}{{{#!if s4 = s4.substring(0,sep).trim()
}}}}}}
## s4Format 확인 (. 검색)
{{{#!if (delim = s4.lastIndexOf(".")) != -1
{{{#!if s4Format = s4.substring(delim+1)
}}}{{{#!if s4Format = ((s4Format == "gif") || (s4Format == "webp") || (s4Format == "png") || (s4Format == "jpg") || (s4Format == "svg") || (s4Format == "bmp")) ? s4Format : null
}}}{{{#!if s4 = (s4Format != null) ? s4.substring(0,delim) : s4
}}}}}}{{{#!if s4Format ??= "png"
}}}
## s4 각 세부속성 확인
{{{#!if s4Attr
### s4Link 확인 ([[]] 검색)
{{{#!if ((delim = s4Attr.indexOf("[[")) != -1) && ((endDelim = s4Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s4Link = s4Attr.substring(delim+2,endDelim)
}}}{{{#!if s4Attr = s4Attr.substring(0,delim) + s4Attr.substring(endDelim+2)
}}}
#### s4Anchor 확인 (# 검색)
{{{#!if (delim = s4Link.indexOf("#")) != -1
{{{#!if s4Anchor = s4Link.substring(delim+1)
}}}{{{#!if s4Link = s4Link.substring(0,delim)
}}}}}}{{{#!if s4Anchor ??= s4.substring(s4.indexOf("/")+1)
}}}{{{#!if s4Link ||= calleeTitle
}}}}}}
### s4Count 확인
{{{#!if s4Attr = s4Attr.trim()
}}}{{{#!if s4Count = s4Attr ? +s4Attr : null
}}}}}}
## s5 세부속성 확인 (; 검색)
{{{#!if (sep = s5.indexOf(";")) != -1
{{{#!if s5Attr = " " + s5.substring(sep+1)
}}}{{{#!if s5 = s5.substring(0,sep).trim()
}}}}}}
## s5Format 확인 (. 검색)
{{{#!if (delim = s5.lastIndexOf(".")) != -1
{{{#!if s5Format = s5.substring(delim+1)
}}}{{{#!if s5Format = ((s5Format == "gif") || (s5Format == "webp") || (s5Format == "png") || (s5Format == "jpg") || (s5Format == "svg") || (s5Format == "bmp")) ? s5Format : null
}}}{{{#!if s5 = (s5Format != null) ? s5.substring(0,delim) : s5
}}}}}}{{{#!if s5Format ??= "png"
}}}
## s5 각 세부속성 확인
{{{#!if s5Attr
### s5Link 확인 ([[]] 검색)
{{{#!if ((delim = s5Attr.indexOf("[[")) != -1) && ((endDelim = s5Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s5Link = s5Attr.substring(delim+2,endDelim)
}}}{{{#!if s5Attr = s5Attr.substring(0,delim) + s5Attr.substring(endDelim+2)
}}}
#### s5Anchor 확인 (# 검색)
{{{#!if (delim = s5Link.indexOf("#")) != -1
{{{#!if s5Anchor = s5Link.substring(delim+1)
}}}{{{#!if s5Link = s5Link.substring(0,delim)
}}}}}}{{{#!if s5Anchor ??= s5.substring(s5.indexOf("/")+1)
}}}{{{#!if s5Link ||= calleeTitle
}}}}}}
### s5Count 확인
{{{#!if s5Attr = s5Attr.trim()
}}}{{{#!if s5Count = s5Attr ? +s5Attr : null
}}}}}}
## s6 세부속성 확인 (; 검색)
{{{#!if (sep = s6.indexOf(";")) != -1
{{{#!if s6Attr = " " + s6.substring(sep+1)
}}}{{{#!if s6 = s6.substring(0,sep).trim()
}}}}}}
## s6Format 확인 (. 검색)
{{{#!if (delim = s6.lastIndexOf(".")) != -1
{{{#!if s6Format = s6.substring(delim+1)
}}}{{{#!if s6Format = ((s6Format == "gif") || (s6Format == "webp") || (s6Format == "png") || (s6Format == "jpg") || (s6Format == "svg") || (s6Format == "bmp")) ? s6Format : null
}}}{{{#!if s6 = (s6Format != null) ? s6.substring(0,delim) : s6
}}}}}}{{{#!if s6Format ??= "png"
}}}
## s6 각 세부속성 확인
{{{#!if s6Attr
### s6Link 확인 ([[]] 검색)
{{{#!if ((delim = s6Attr.indexOf("[[")) != -1) && ((endDelim = s6Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s6Link = s6Attr.substring(delim+2,endDelim)
}}}{{{#!if s6Attr = s6Attr.substring(0,delim) + s6Attr.substring(endDelim+2)
}}}
#### s6Anchor 확인 (# 검색)
{{{#!if (delim = s6Link.indexOf("#")) != -1
{{{#!if s6Anchor = s6Link.substring(delim+1)
}}}{{{#!if s6Link = s6Link.substring(0,delim)
}}}}}}{{{#!if s6Anchor ??= s6.substring(s6.indexOf("/")+1)
}}}{{{#!if s6Link ||= calleeTitle
}}}}}}
### s6Count 확인
{{{#!if s6Attr = s6Attr.trim()
}}}{{{#!if s6Count = s6Attr ? +s6Attr : null
}}}}}}
## s7 세부속성 확인 (; 검색)
{{{#!if (sep = s7.indexOf(";")) != -1
{{{#!if s7Attr = " " + s7.substring(sep+1)
}}}{{{#!if s7 = s7.substring(0,sep).trim()
}}}}}}
## s7Format 확인 (. 검색)
{{{#!if (delim = s7.lastIndexOf(".")) != -1
{{{#!if s7Format = s7.substring(delim+1)
}}}{{{#!if s7Format = ((s7Format == "gif") || (s7Format == "webp") || (s7Format == "png") || (s7Format == "jpg") || (s7Format == "svg") || (s7Format == "bmp")) ? s7Format : null
}}}{{{#!if s7 = (s7Format != null) ? s7.substring(0,delim) : s7
}}}}}}{{{#!if s7Format ??= "png"
}}}
## s7 각 세부속성 확인
{{{#!if s7Attr
### s7Link 확인 ([[]] 검색)
{{{#!if ((delim = s7Attr.indexOf("[[")) != -1) && ((endDelim = s7Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s7Link = s7Attr.substring(delim+2,endDelim)
}}}{{{#!if s7Attr = s7Attr.substring(0,delim) + s7Attr.substring(endDelim+2)
}}}
#### s7Anchor 확인 (# 검색)
{{{#!if (delim = s7Link.indexOf("#")) != -1
{{{#!if s7Anchor = s7Link.substring(delim+1)
}}}{{{#!if s7Link = s7Link.substring(0,delim)
}}}}}}{{{#!if s7Anchor ??= s7.substring(s7.indexOf("/")+1)
}}}{{{#!if s7Link ||= calleeTitle
}}}}}}
### s7Count 확인
{{{#!if s7Attr = s7Attr.trim()
}}}{{{#!if s7Count = s7Attr ? +s7Attr : null
}}}}}}
## s8 세부속성 확인 (; 검색)
{{{#!if (sep = s8.indexOf(";")) != -1
{{{#!if s8Attr = " " + s8.substring(sep+1)
}}}{{{#!if s8 = s8.substring(0,sep).trim()
}}}}}}
## s8Format 확인 (. 검색)
{{{#!if (delim = s8.lastIndexOf(".")) != -1
{{{#!if s8Format = s8.substring(delim+1)
}}}{{{#!if s8Format = ((s8Format == "gif") || (s8Format == "webp") || (s8Format == "png") || (s8Format == "jpg") || (s8Format == "svg") || (s8Format == "bmp")) ? s8Format : null
}}}{{{#!if s8 = (s8Format != null) ? s8.substring(0,delim) : s8
}}}}}}{{{#!if s8Format ??= "png"
}}}
## s8 각 세부속성 확인
{{{#!if s8Attr
### s8Link 확인 ([[]] 검색)
{{{#!if ((delim = s8Attr.indexOf("[[")) != -1) && ((endDelim = s8Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s8Link = s8Attr.substring(delim+2,endDelim)
}}}{{{#!if s8Attr = s8Attr.substring(0,delim) + s8Attr.substring(endDelim+2)
}}}
#### s8Anchor 확인 (# 검색)
{{{#!if (delim = s8Link.indexOf("#")) != -1
{{{#!if s8Anchor = s8Link.substring(delim+1)
}}}{{{#!if s8Link = s8Link.substring(0,delim)
}}}}}}{{{#!if s8Anchor ??= s8.substring(s8.indexOf("/")+1)
}}}{{{#!if s8Link ||= calleeTitle
}}}}}}
### s8Count 확인
{{{#!if s8Attr = s8Attr.trim()
}}}{{{#!if s8Count = s8Attr ? +s8Attr : null
}}}}}}
## s9 세부속성 확인 (; 검색)
{{{#!if (sep = s9.indexOf(";")) != -1
{{{#!if s9Attr = " " + s9.substring(sep+1)
}}}{{{#!if s9 = s9.substring(0,sep).trim()
}}}}}}
## s9Format 확인 (. 검색)
{{{#!if (delim = s9.lastIndexOf(".")) != -1
{{{#!if s9Format = s9.substring(delim+1)
}}}{{{#!if s9Format = ((s9Format == "gif") || (s9Format == "webp") || (s9Format == "png") || (s9Format == "jpg") || (s9Format == "svg") || (s9Format == "bmp")) ? s9Format : null
}}}{{{#!if s9 = (s9Format != null) ? s9.substring(0,delim) : s9
}}}}}}{{{#!if s9Format ??= "png"
}}}
## s9 각 세부속성 확인
{{{#!if s9Attr
### s9Link 확인 ([[]] 검색)
{{{#!if ((delim = s9Attr.indexOf("[[")) != -1) && ((endDelim = s9Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s9Link = s9Attr.substring(delim+2,endDelim)
}}}{{{#!if s9Attr = s9Attr.substring(0,delim) + s9Attr.substring(endDelim+2)
}}}
#### s9Anchor 확인 (# 검색)
{{{#!if (delim = s9Link.indexOf("#")) != -1
{{{#!if s9Anchor = s9Link.substring(delim+1)
}}}{{{#!if s9Link = s9Link.substring(0,delim)
}}}}}}{{{#!if s9Anchor ??= s9.substring(s9.indexOf("/")+1)
}}}{{{#!if s9Link ||= calleeTitle
}}}}}}
### s9Count 확인
{{{#!if s9Attr = s9Attr.trim()
}}}{{{#!if s9Count = s9Attr ? +s9Attr : null
}}}}}}
## output 세부속성 확인 (; 검색)
{{{#!if (sep = output.indexOf(";")) != -1
{{{#!if outputAttr = " " + output.substring(sep+1)
}}}{{{#!if output = output.substring(0,sep).trim()
}}}}}}
## outputFormat 확인 (. 검색)
{{{#!if (delim = output.lastIndexOf(".")) != -1
{{{#!if outputFormat = output.substring(delim+1)
}}}{{{#!if outputFormat = ((outputFormat == "gif") || (outputFormat == "webp") || (outputFormat == "png") || (outputFormat == "jpg") || (outputFormat == "svg") || (outputFormat == "bmp")) ? outputFormat : null
}}}{{{#!if output = (outputFormat != null) ? output.substring(0,delim) : output
}}}}}}{{{#!if outputFormat ??= "png"
}}}
## output 각 세부속성 확인
{{{#!if outputAttr
### outputLink 확인 ([[]] 검색)
{{{#!if ((delim = outputAttr.indexOf("[[")) != -1) && ((endDelim = outputAttr.indexOf("]]",delim+2)) != -1)
{{{#!if outputLink = outputAttr.substring(delim+2,endDelim)
}}}{{{#!if outputAttr = outputAttr.substring(0,delim) + outputAttr.substring(endDelim+2)
}}}
#### outputAnchor 확인 (# 검색)
{{{#!if (delim = outputLink.indexOf("#")) != -1
{{{#!if outputAnchor = outputLink.substring(delim+1)
}}}{{{#!if outputLink = outputLink.substring(0,delim)
}}}}}}{{{#!if outputAnchor ??= output.substring(output.indexOf("/")+1)
}}}{{{#!if outputLink ||= calleeTitle
}}}}}}
### outputCount 확인
{{{#!if outputAttr = outputAttr.trim()
}}}{{{#!if outputCount = outputAttr ? +outputAttr : null
}}}}}}
#!wiki class="base-container"
{{{#!wiki class="input-grid"
{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s1Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s1Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s2Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s2Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s3Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s3Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s4Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s4Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s5Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s5Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s6Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s6Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s7Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s7Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s8Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s8Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s9Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s9Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}}}}{{{#!wiki class="arrow"
[[파일:마인크래프트/GUI/제작대/화살표.svg|width=40]]}}}{{{#!wiki class="end-column"
{{{#!wiki class="type-icon"
{{{#!if typeIcon
[[파일:마인크래프트/GUI/제작법/타입.svg|width=18]]}}}}}}{{{#!wiki class="output"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리결과.svg|width=52]]}}}{{{#!wiki class="output-content item"
[[파일:mc/iron_pickaxe.|width=32]]}}}{{{#!if outputCount != null
{{{#!wiki class="output-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if outputLink != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="type-icon"
}}}}}}#!if cap != null
{{{-2 }}}#!style
.base-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 216px;
aspect-ratio: 216 / 124;
border: 2px solid;
border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB;
background-color: #C6C6C6;
font-size: 0;
}
.input-grid {
display: flex;
flex-wrap: wrap;
width: calc(108/212*100%);
aspect-ratio: 1;
}
.input {
width: calc(1/3*100%);
aspect-ratio: 1;
}
.slot {
width: 100%;
aspect-ratio: 1;
background-color: #8B8B8B;
}
.input:hover .item, .output:hover .item { background-color: #C5C5C5; }
.input-content {
width: 100%;
aspect-ratio: 1;
margin-top: -100%;
}
.item {
padding: calc(2/36*100%);
background-clip: content-box;
}
.arrow { width: calc(40/212*100%); }
.end-column {
display: inline-flex;
justify-content: space-between;
align-items: flex-end;
flex-direction: column;
width: calc(52/212*100%);
aspect-ratio: 52 / 108;
}
.type-icon {
width: calc(18/52*100%);
aspect-ratio: 1;
}
.output {
width: 100%;
aspect-ratio: 1;
}
.output-content {
width: 100%;
aspect-ratio: 1;
padding: calc(8/52*100%);
margin-top: -100%;
}
.output .item { padding: calc(10/52*100%); }
addShaped 함수의 <조합법>은 2차원 배열 형태로 아이템 코드를 받는다. 위 조합법의 2차원 배열 코드는 다음과 같다:
#!syntax java
[[<minecraft:iron_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>],
[null, <minecraft:stick>, null],
[null, <minecraft:stick>, null]]
여기서 null 은 빈칸을 의미한다. 아이템 코드의 형식은 <모드 이름:아이템 문자 아이디>이다. /mt hand 또는 /mt name 명령어를 통해 얻을 수 있다. 명령어에 대한 설명은 아래의 명령어 항목을 참조하자. 아래와 같이 띄어쓰지 않고 한줄로도 할 수 있다.#!syntax java
[[<minecraft:iron_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>], [null, <minecraft:stick>, null], [null, <minecraft:stick>, null]]
<결과물> 에 철 곡괭이의 아이템 코드를, <조합법>에 위에서 작성한 2차원 배열을 넣으면 다음과 같이 된다:#!syntax java
recipes.addShaped(<minecraft:iron_pickaxe>,
[[<minecraft:iron_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>],
[null, <minecraft:stick>, null],
[null, <minecraft:stick>, null]]);
무형 조합법은 형태가 없이 재료의 종류만 맞으면 조합창 어느곳에 아이템이 위치해도 조합이 가능한 조합법이다. 무형 조합법 추가 함수 addShapeless는 유형 조합법 추가 함수 addShaped와 같이 매개변수가 2개이지만, <조합법> 매개변수가 1차원 배열이라는 점이 다르다.#!syntax java
recipes.addShapeless(<결과물>, <조합법>);
다음은 석탄/목탄과 나무막대 1개를 조합창에 위치 상관없이 어디에나 놓기만 하면 횃불 4개가 만들어지는 조합법을 추가하는 코드이다.#!syntax java
recipes.addShapeless(<minecraft:torch> * 4, [<minecraft:coal:*>, <minecraft:stick>]);
<minecraft:coal:*>와 같이 아이템 문자 아이디 옆에 있는 메타데이터 변수에 숫자 대신 " * "를 입력하면 해당 아이템의 메타데이터에 상관없이 재료로 이용 가능하며, <minecraft:torch> * 4 와 같이 아이템 코드 밖에 " * "와 숫자를 쓰면 해당 조합의 결과물로 얻어질 아이템의 개수를 지정 가능하다. 위 조합법을 적용하면 다음과 같은 조합이 가능하며, 석탄/목탄과 나무 막대를 조합창 어느곳에 두어도 개수만 맞으면 조합이 될 것이다:#!wiki if문 접기/펼치기
{{{#!wiki 레거시 문법 접기/펼치기
## sNxN
{{{#!if s3x3
{{{#!if s1 ??= s3x3; s2 ??= s3x3; s3 ??= s3x3; s4 ??= s3x3; s5 ??= s3x3; s6 ??= s3x3; s7 ??= s3x3; s8 ??= s3x3; s9 ??= s3x3
}}}{{{#!if s3x3확장자
{{{#!if s1Format ??= s3x3확장자; s2Format ??= s3x3확장자; s3Format ??= s3x3확장자; s4Format ??= s3x3확장자; s5Format ??= s3x3확장자; s6Format ??= s3x3확장자; s7Format ??= s3x3확장자; s8Format ??= s3x3확장자; s9Format ??= s3x3확장자
}}}}}}{{{#!if l3x3
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a3x3 = l3x3.substring(delim+1)
}}}{{{#!if l3x3 = l3x3.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l3x3; s2Link ??= l3x3; s3Link ??= l3x3; s4Link ??= l3x3; s5Link ??= l3x3; s6Link ??= l3x3; s7Link ??= l3x3; s8Link ??= l3x3; s9Link ??= l3x3
}}}}}}{{{#!if a3x3
{{{#!if s1Anchor ??= a3x3; s2Anchor ??= a3x3; s3Anchor ??= a3x3; s4Anchor ??= a3x3; s5Anchor ??= a3x3; s6Anchor ??= a3x3; s7Anchor ??= a3x3; s8Anchor ??= a3x3; s9Anchor ??= a3x3
}}}}}}{{{#!if c3x3
{{{#!if s1Count ??= c3x3; s2Count ??= c3x3; s3Count ??= c3x3; s4Count ??= c3x3; s5Count ??= c3x3; s6Count ??= c3x3; s7Count ??= c3x3; s8Count ??= c3x3; s9Count ??= c3x3
}}}}}}}}}{{{#!if s2x2
{{{#!if s1 ??= s2x2; s2 ??= s2x2; s4 ??= s2x2; s5 ??= s2x2
}}}{{{#!if s2x2확장자
{{{#!if s1Format ??= s2x2확장자; s2Format ??= s2x2확장자; s4Format ??= s2x2확장자; s5Format ??= s2x2확장자
}}}}}}{{{#!if l2x2
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a2x2 = l2x2.substring(delim+1)
}}}{{{#!if l2x2 = l2x2.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l2x2; s2Link ??= l2x2; s4Link ??= l2x2; s5Link ??= l2x2
}}}}}}{{{#!if a2x2
{{{#!if s1Anchor ??= a2x2; s2Anchor ??= a2x2; s4Anchor ??= a2x2; s5Anchor ??= a2x2
}}}}}}{{{#!if c2x2
{{{#!if s1Count ??= c2x2; s2Count ??= c2x2; s4Count ??= c2x2; s5Count ??= c2x2
}}}}}}}}}
## sN확장자
{{{#!if s1Format ??= s1확장자; s2Format ??= s2확장자; s3Format ??= s3확장자; s4Format ??= s4확장자; s5Format ??= s5확장자; s6Format ??= s6확장자; s7Format ??= s7확장자; s8Format ??= s8확장자; s9Format ??= s9확장자; outputFormat ??= output확장자
}}}
## lN
{{{#!if l1
{{{#!if s1 += "; [[" + l1 + "]]"
}}}}}}{{{#!if l2
{{{#!if s2 += "; [[" + l2 + "]]"
}}}}}}{{{#!if l3
{{{#!if s3 += "; [[" + l3 + "]]"
}}}}}}{{{#!if l4
{{{#!if s4 += "; [[" + l4 + "]]"
}}}}}}{{{#!if l5
{{{#!if s5 += "; [[" + l5 + "]]"
}}}}}}{{{#!if l6
{{{#!if s6 += "; [[" + l6 + "]]"
}}}}}}{{{#!if l7
{{{#!if s7 += "; [[" + l7 + "]]"
}}}}}}{{{#!if l8
{{{#!if s8 += "; [[" + l8 + "]]"
}}}}}}{{{#!if l9
{{{#!if s9 += "; [[" + l9 + "]]"
}}}}}}
## aN
{{{#!if s1Anchor ??= a1; s2Anchor ??= a2; s3Anchor ??= a3; s4Anchor ??= a4; s5Anchor ??= a5; s6Anchor ??= a6; s7Anchor ??= a7; s8Anchor ??= a8; s9Anchor ??= a9; outputAnchor ??= output_anchor
}}}
## cN, qty
{{{#!if s1Count ??= c1; s2Count ??= c2; s3Count ??= c3; s4Count ??= c4; s5Count ??= c5; s6Count ??= c6; s7Count ??= c7; s8Count ??= c8; s9Count ??= c9; outputCount ??= qty
}}}
## b, l, f
{{{#!if back ??= (b == "b") ? true : null; shapeless ??= (l == "l") ? true : null; fixed ??= (f == "f") ? true : null
}}}}}}
## type 확인
{{{#!if arrowSuf = (back != null) ? "B" : ""
}}}{{{#!if shapeless = (shapeless != null) ? true : false
}}}{{{#!if fixed = (fixed != null) ? true : false
}}}{{{#!if typeIcon = shapeless ? "shapeless" : fixed ? "fixed" : ""
}}}
## 2x2, 3x3
{{{#!if this['2x2']
{{{#!if s1 ??= this['2x2']; s2 ??= this['2x2']; s4 ??= this['2x2']; s5 ??= this['2x2']
}}}}}}{{{#!if this['3x3']
{{{#!if s1 ??= this['3x3']; s2 ??= this['3x3']; s3 ??= this['3x3']; s4 ??= this['3x3']; s5 ??= this['3x3']; s6 ??= this['3x3']; s7 ??= this['3x3']; s8 ??= this['3x3']; s9 ??= this['3x3']
}}}}}}
## 무형 제작법
{{{#!if shapeless
## N = null일 시 N+1값 할당
{{{#!if this["8"] ??= this["9"]
}}}{{{#!if this["7"] ??= this["8"]
}}}{{{#!if this["6"] ??= this["7"]
}}}{{{#!if this["5"] ??= this["6"]
}}}{{{#!if this["4"] ??= this["5"]
}}}{{{#!if this["3"] ??= this["4"]
}}}{{{#!if this["2"] ??= this["3"]
}}}{{{#!if this["1"] ??= this["2"]
}}}
### input 개수
{{{#!if input = this["9"] ? 9 : this["8"] ? 8 : this["7"] ? 7 : this["6"] ? 6 : this["5"] ? 5 : this["4"] ? 4 : this["3"] ? 3 : this["2"] ? 2 : 1
}}}
### input 값에 따라 슬롯 배치 및 값 할당
{{{#!if input == 1 && (s5 ??= this["1"])
}}}{{{#!if input > 1 && input < 5 && (s1 ??= this["1"]; s2 ??= this["2"]; s4 ??= this["3"]; s5 ??= this["4"])
}}}{{{#!if input > 4 && (s1 ??= this["1"]; s2 ??= this["2"]; s3 ??= this["3"]; s4 ??= this["4"]; s5 ??= this["5"]; s6 ??= this["6"]; s7 ??= this["7"]; s8 ??= this["8"]; s9 ??= this["9"])
}}}}}}
## 유형 제작법
{{{#!if !shapeless && (pat || pat1 || pat2 || pat3)
{{{#!if keys = {"A":null,"B":null,"C":null,"D":null,"E":null,"F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":null,"N":null,"O":null,"P":null,"Q":null,"R":null,"S":null,"T":null,"U":null,"V":null,"W":null,"X":null,"Y":null,"Z":null,"a":null,"b":null,"c":null,"d":null,"e":null,"f":null,"g":null,"h":null,"i":null,"j":null,"k":null,"l":null,"m":null,"n":null,"o":null,"p":null,"q":null,"r":null,"s":null,"t":null,"u":null,"v":null,"w":null,"x":null,"y":null,"z":null,"#":null,"_":null, "-":null, " ":null}
}}}
### 같은 이름의 변수 존재시 keys에 값 할당
{{{#!if A != null && (keys["A"] = A)
}}}{{{#!if B != null && (keys["B"] = B)
}}}{{{#!if C != null && (keys["C"] = C)
}}}{{{#!if D != null && (keys["D"] = D)
}}}{{{#!if E != null && (keys["E"] = E)
}}}{{{#!if F != null && (keys["F"] = F)
}}}{{{#!if G != null && (keys["G"] = G)
}}}{{{#!if H != null && (keys["H"] = H)
}}}{{{#!if I != null && (keys["I"] = I)
}}}{{{#!if J != null && (keys["J"] = J)
}}}{{{#!if K != null && (keys["K"] = K)
}}}{{{#!if L != null && (keys["L"] = L)
}}}{{{#!if M != null && (keys["M"] = M)
}}}{{{#!if N != null && (keys["N"] = N)
}}}{{{#!if O != null && (keys["O"] = O)
}}}{{{#!if P != null && (keys["P"] = P)
}}}{{{#!if Q != null && (keys["Q"] = Q)
}}}{{{#!if R != null && (keys["R"] = R)
}}}{{{#!if S != null && (keys["S"] = S)
}}}{{{#!if T != null && (keys["T"] = T)
}}}{{{#!if U != null && (keys["U"] = U)
}}}{{{#!if V != null && (keys["V"] = V)
}}}{{{#!if W != null && (keys["W"] = W)
}}}{{{#!if X != null && (keys["X"] = X)
}}}{{{#!if Y != null && (keys["Y"] = Y)
}}}{{{#!if Z != null && (keys["Z"] = Z)
}}}{{{#!if a != null && (keys["a"] = a)
}}}{{{#!if b != null && (keys["b"] = b)
}}}{{{#!if c != null && (keys["c"] = c)
}}}{{{#!if d != null && (keys["d"] = d)
}}}{{{#!if e != null && (keys["e"] = e)
}}}{{{#!if f != null && (keys["f"] = f)
}}}{{{#!if g != null && (keys["g"] = g)
}}}{{{#!if h != null && (keys["h"] = h)
}}}{{{#!if i != null && (keys["i"] = i)
}}}{{{#!if j != null && (keys["j"] = j)
}}}{{{#!if k != null && (keys["k"] = k)
}}}{{{#!if l != null && (keys["l"] = l)
}}}{{{#!if m != null && (keys["m"] = m)
}}}{{{#!if n != null && (keys["n"] = n)
}}}{{{#!if o != null && (keys["o"] = o)
}}}{{{#!if p != null && (keys["p"] = p)
}}}{{{#!if q != null && (keys["q"] = q)
}}}{{{#!if r != null && (keys["r"] = r)
}}}{{{#!if s != null && (keys["s"] = s)
}}}{{{#!if t != null && (keys["t"] = t)
}}}{{{#!if u != null && (keys["u"] = u)
}}}{{{#!if v != null && (keys["v"] = v)
}}}{{{#!if w != null && (keys["w"] = w)
}}}{{{#!if x != null && (keys["x"] = x)
}}}{{{#!if y != null && (keys["y"] = y)
}}}{{{#!if z != null && (keys["z"] = z)
}}}{{{#!if this["#"] != null && (keys["#"] = this["#"])
}}}
### pat 파싱 및 null.length 방지를 위해 빈 문자열 할당
{{{#!if pat != null
{{{#!if pat1 = pat
{{{#!if (sep = pat1.indexOf("/")) != -1
{{{#!if pat2 = pat1.substring(sep+1); pat1 = pat1.substring(0,sep)
}}}{{{#!if (sep = pat2.indexOf("/")) != -1
{{{#!if pat3 = pat2.substring(sep+1); pat2 = pat2.substring(0,sep)
}}}}}}}}}}}}}}}{{{#!if pat1 ??= ""; pat2 ??= ""; pat3 ??= ""
}}}
### 제작법 행, 열 개수
{{{#!if col = pat1.length > pat2.length ? (pat1.length > pat3.length ? pat1.length : pat3.length) : (pat2.length > pat3.length ? pat2.length : pat3.length)
}}}{{{#!if row = pat3 ? 3 : pat2 ? 2 : 1
}}}
### 제작법 행, 열 개수에 따라 슬롯 배치 및 값 할당
{{{#!if row == 3
{{{#!if col == 3 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1,2)]; s3 ??= keys[pat1.substring(2)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1,2)]; s6 ??= keys[pat2.substring(2)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1,2)]; s9 ??= keys[pat3.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2]; s8 ??= keys[pat3])
}}}}}}{{{#!if row == 2
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)]; s7 ??= keys[pat2.substring(0,1)]; s8 ??= keys[pat2.substring(1,2)]; s9 ??= keys[pat2.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2];)
}}}}}}{{{#!if row == 1
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)])
}}}{{{#!if col == 2 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1)])
}}}{{{#!if col == 1 && (s5 ??= keys[pat1];)
}}}}}}}}}
## s1 세부속성 확인 (; 검색)
{{{#!if (sep = s1.indexOf(";")) != -1
{{{#!if s1Attr = " " + s1.substring(sep+1)
}}}{{{#!if s1 = s1.substring(0,sep).trim()
}}}}}}
## s1Format 확인 (. 검색)
{{{#!if (delim = s1.lastIndexOf(".")) != -1
{{{#!if s1Format = s1.substring(delim+1)
}}}{{{#!if s1Format = ((s1Format == "gif") || (s1Format == "webp") || (s1Format == "png") || (s1Format == "jpg") || (s1Format == "svg") || (s1Format == "bmp")) ? s1Format : null
}}}{{{#!if s1 = (s1Format != null) ? s1.substring(0,delim) : s1
}}}}}}{{{#!if s1Format ??= "png"
}}}
## s1 각 세부속성 확인
{{{#!if s1Attr
### s1Link 확인 ([[]] 검색)
{{{#!if ((delim = s1Attr.indexOf("[[")) != -1) && ((endDelim = s1Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s1Link = s1Attr.substring(delim+2,endDelim)
}}}{{{#!if s1Attr = s1Attr.substring(0,delim) + s1Attr.substring(endDelim+2)
}}}
#### s1Anchor 확인 (# 검색)
{{{#!if (delim = s1Link.indexOf("#")) != -1
{{{#!if s1Anchor = s1Link.substring(delim+1)
}}}{{{#!if s1Link = s1Link.substring(0,delim)
}}}}}}{{{#!if s1Anchor ??= s1.substring(s1.indexOf("/")+1)
}}}{{{#!if s1Link ||= calleeTitle
}}}}}}
### s1Count 확인
{{{#!if s1Attr = s1Attr.trim()
}}}{{{#!if s1Count = s1Attr ? +s1Attr : null
}}}}}}
## s2 세부속성 확인 (; 검색)
{{{#!if (sep = s2.indexOf(";")) != -1
{{{#!if s2Attr = " " + s2.substring(sep+1)
}}}{{{#!if s2 = s2.substring(0,sep).trim()
}}}}}}
## s2Format 확인 (. 검색)
{{{#!if (delim = s2.lastIndexOf(".")) != -1
{{{#!if s2Format = s2.substring(delim+1)
}}}{{{#!if s2Format = ((s2Format == "gif") || (s2Format == "webp") || (s2Format == "png") || (s2Format == "jpg") || (s2Format == "svg") || (s2Format == "bmp")) ? s2Format : null
}}}{{{#!if s2 = (s2Format != null) ? s2.substring(0,delim) : s2
}}}}}}{{{#!if s2Format ??= "png"
}}}
## s2 각 세부속성 확인
{{{#!if s2Attr
### s2Link 확인 ([[]] 검색)
{{{#!if ((delim = s2Attr.indexOf("[[")) != -1) && ((endDelim = s2Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s2Link = s2Attr.substring(delim+2,endDelim)
}}}{{{#!if s2Attr = s2Attr.substring(0,delim) + s2Attr.substring(endDelim+2)
}}}
#### s2Anchor 확인 (# 검색)
{{{#!if (delim = s2Link.indexOf("#")) != -1
{{{#!if s2Anchor = s2Link.substring(delim+1)
}}}{{{#!if s2Link = s2Link.substring(0,delim)
}}}}}}{{{#!if s2Anchor ??= s2.substring(s2.indexOf("/")+1)
}}}{{{#!if s2Link ||= calleeTitle
}}}}}}
### s2Count 확인
{{{#!if s2Attr = s2Attr.trim()
}}}{{{#!if s2Count = s2Attr ? +s2Attr : null
}}}}}}
## s3 세부속성 확인 (; 검색)
{{{#!if (sep = s3.indexOf(";")) != -1
{{{#!if s3Attr = " " + s3.substring(sep+1)
}}}{{{#!if s3 = s3.substring(0,sep).trim()
}}}}}}
## s3Format 확인 (. 검색)
{{{#!if (delim = s3.lastIndexOf(".")) != -1
{{{#!if s3Format = s3.substring(delim+1)
}}}{{{#!if s3Format = ((s3Format == "gif") || (s3Format == "webp") || (s3Format == "png") || (s3Format == "jpg") || (s3Format == "svg") || (s3Format == "bmp")) ? s3Format : null
}}}{{{#!if s3 = (s3Format != null) ? s3.substring(0,delim) : s3
}}}}}}{{{#!if s3Format ??= "png"
}}}
## s3 각 세부속성 확인
{{{#!if s3Attr
### s3Link 확인 ([[]] 검색)
{{{#!if ((delim = s3Attr.indexOf("[[")) != -1) && ((endDelim = s3Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s3Link = s3Attr.substring(delim+2,endDelim)
}}}{{{#!if s3Attr = s3Attr.substring(0,delim) + s3Attr.substring(endDelim+2)
}}}
#### s3Anchor 확인 (# 검색)
{{{#!if (delim = s3Link.indexOf("#")) != -1
{{{#!if s3Anchor = s3Link.substring(delim+1)
}}}{{{#!if s3Link = s3Link.substring(0,delim)
}}}}}}{{{#!if s3Anchor ??= s3.substring(s3.indexOf("/")+1)
}}}{{{#!if s3Link ||= calleeTitle
}}}}}}
### s3Count 확인
{{{#!if s3Attr = s3Attr.trim()
}}}{{{#!if s3Count = s3Attr ? +s3Attr : null
}}}}}}
## s4 세부속성 확인 (; 검색)
{{{#!if (sep = s4.indexOf(";")) != -1
{{{#!if s4Attr = " " + s4.substring(sep+1)
}}}{{{#!if s4 = s4.substring(0,sep).trim()
}}}}}}
## s4Format 확인 (. 검색)
{{{#!if (delim = s4.lastIndexOf(".")) != -1
{{{#!if s4Format = s4.substring(delim+1)
}}}{{{#!if s4Format = ((s4Format == "gif") || (s4Format == "webp") || (s4Format == "png") || (s4Format == "jpg") || (s4Format == "svg") || (s4Format == "bmp")) ? s4Format : null
}}}{{{#!if s4 = (s4Format != null) ? s4.substring(0,delim) : s4
}}}}}}{{{#!if s4Format ??= "png"
}}}
## s4 각 세부속성 확인
{{{#!if s4Attr
### s4Link 확인 ([[]] 검색)
{{{#!if ((delim = s4Attr.indexOf("[[")) != -1) && ((endDelim = s4Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s4Link = s4Attr.substring(delim+2,endDelim)
}}}{{{#!if s4Attr = s4Attr.substring(0,delim) + s4Attr.substring(endDelim+2)
}}}
#### s4Anchor 확인 (# 검색)
{{{#!if (delim = s4Link.indexOf("#")) != -1
{{{#!if s4Anchor = s4Link.substring(delim+1)
}}}{{{#!if s4Link = s4Link.substring(0,delim)
}}}}}}{{{#!if s4Anchor ??= s4.substring(s4.indexOf("/")+1)
}}}{{{#!if s4Link ||= calleeTitle
}}}}}}
### s4Count 확인
{{{#!if s4Attr = s4Attr.trim()
}}}{{{#!if s4Count = s4Attr ? +s4Attr : null
}}}}}}
## s5 세부속성 확인 (; 검색)
{{{#!if (sep = s5.indexOf(";")) != -1
{{{#!if s5Attr = " " + s5.substring(sep+1)
}}}{{{#!if s5 = s5.substring(0,sep).trim()
}}}}}}
## s5Format 확인 (. 검색)
{{{#!if (delim = s5.lastIndexOf(".")) != -1
{{{#!if s5Format = s5.substring(delim+1)
}}}{{{#!if s5Format = ((s5Format == "gif") || (s5Format == "webp") || (s5Format == "png") || (s5Format == "jpg") || (s5Format == "svg") || (s5Format == "bmp")) ? s5Format : null
}}}{{{#!if s5 = (s5Format != null) ? s5.substring(0,delim) : s5
}}}}}}{{{#!if s5Format ??= "png"
}}}
## s5 각 세부속성 확인
{{{#!if s5Attr
### s5Link 확인 ([[]] 검색)
{{{#!if ((delim = s5Attr.indexOf("[[")) != -1) && ((endDelim = s5Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s5Link = s5Attr.substring(delim+2,endDelim)
}}}{{{#!if s5Attr = s5Attr.substring(0,delim) + s5Attr.substring(endDelim+2)
}}}
#### s5Anchor 확인 (# 검색)
{{{#!if (delim = s5Link.indexOf("#")) != -1
{{{#!if s5Anchor = s5Link.substring(delim+1)
}}}{{{#!if s5Link = s5Link.substring(0,delim)
}}}}}}{{{#!if s5Anchor ??= s5.substring(s5.indexOf("/")+1)
}}}{{{#!if s5Link ||= calleeTitle
}}}}}}
### s5Count 확인
{{{#!if s5Attr = s5Attr.trim()
}}}{{{#!if s5Count = s5Attr ? +s5Attr : null
}}}}}}
## s6 세부속성 확인 (; 검색)
{{{#!if (sep = s6.indexOf(";")) != -1
{{{#!if s6Attr = " " + s6.substring(sep+1)
}}}{{{#!if s6 = s6.substring(0,sep).trim()
}}}}}}
## s6Format 확인 (. 검색)
{{{#!if (delim = s6.lastIndexOf(".")) != -1
{{{#!if s6Format = s6.substring(delim+1)
}}}{{{#!if s6Format = ((s6Format == "gif") || (s6Format == "webp") || (s6Format == "png") || (s6Format == "jpg") || (s6Format == "svg") || (s6Format == "bmp")) ? s6Format : null
}}}{{{#!if s6 = (s6Format != null) ? s6.substring(0,delim) : s6
}}}}}}{{{#!if s6Format ??= "png"
}}}
## s6 각 세부속성 확인
{{{#!if s6Attr
### s6Link 확인 ([[]] 검색)
{{{#!if ((delim = s6Attr.indexOf("[[")) != -1) && ((endDelim = s6Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s6Link = s6Attr.substring(delim+2,endDelim)
}}}{{{#!if s6Attr = s6Attr.substring(0,delim) + s6Attr.substring(endDelim+2)
}}}
#### s6Anchor 확인 (# 검색)
{{{#!if (delim = s6Link.indexOf("#")) != -1
{{{#!if s6Anchor = s6Link.substring(delim+1)
}}}{{{#!if s6Link = s6Link.substring(0,delim)
}}}}}}{{{#!if s6Anchor ??= s6.substring(s6.indexOf("/")+1)
}}}{{{#!if s6Link ||= calleeTitle
}}}}}}
### s6Count 확인
{{{#!if s6Attr = s6Attr.trim()
}}}{{{#!if s6Count = s6Attr ? +s6Attr : null
}}}}}}
## s7 세부속성 확인 (; 검색)
{{{#!if (sep = s7.indexOf(";")) != -1
{{{#!if s7Attr = " " + s7.substring(sep+1)
}}}{{{#!if s7 = s7.substring(0,sep).trim()
}}}}}}
## s7Format 확인 (. 검색)
{{{#!if (delim = s7.lastIndexOf(".")) != -1
{{{#!if s7Format = s7.substring(delim+1)
}}}{{{#!if s7Format = ((s7Format == "gif") || (s7Format == "webp") || (s7Format == "png") || (s7Format == "jpg") || (s7Format == "svg") || (s7Format == "bmp")) ? s7Format : null
}}}{{{#!if s7 = (s7Format != null) ? s7.substring(0,delim) : s7
}}}}}}{{{#!if s7Format ??= "png"
}}}
## s7 각 세부속성 확인
{{{#!if s7Attr
### s7Link 확인 ([[]] 검색)
{{{#!if ((delim = s7Attr.indexOf("[[")) != -1) && ((endDelim = s7Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s7Link = s7Attr.substring(delim+2,endDelim)
}}}{{{#!if s7Attr = s7Attr.substring(0,delim) + s7Attr.substring(endDelim+2)
}}}
#### s7Anchor 확인 (# 검색)
{{{#!if (delim = s7Link.indexOf("#")) != -1
{{{#!if s7Anchor = s7Link.substring(delim+1)
}}}{{{#!if s7Link = s7Link.substring(0,delim)
}}}}}}{{{#!if s7Anchor ??= s7.substring(s7.indexOf("/")+1)
}}}{{{#!if s7Link ||= calleeTitle
}}}}}}
### s7Count 확인
{{{#!if s7Attr = s7Attr.trim()
}}}{{{#!if s7Count = s7Attr ? +s7Attr : null
}}}}}}
## s8 세부속성 확인 (; 검색)
{{{#!if (sep = s8.indexOf(";")) != -1
{{{#!if s8Attr = " " + s8.substring(sep+1)
}}}{{{#!if s8 = s8.substring(0,sep).trim()
}}}}}}
## s8Format 확인 (. 검색)
{{{#!if (delim = s8.lastIndexOf(".")) != -1
{{{#!if s8Format = s8.substring(delim+1)
}}}{{{#!if s8Format = ((s8Format == "gif") || (s8Format == "webp") || (s8Format == "png") || (s8Format == "jpg") || (s8Format == "svg") || (s8Format == "bmp")) ? s8Format : null
}}}{{{#!if s8 = (s8Format != null) ? s8.substring(0,delim) : s8
}}}}}}{{{#!if s8Format ??= "png"
}}}
## s8 각 세부속성 확인
{{{#!if s8Attr
### s8Link 확인 ([[]] 검색)
{{{#!if ((delim = s8Attr.indexOf("[[")) != -1) && ((endDelim = s8Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s8Link = s8Attr.substring(delim+2,endDelim)
}}}{{{#!if s8Attr = s8Attr.substring(0,delim) + s8Attr.substring(endDelim+2)
}}}
#### s8Anchor 확인 (# 검색)
{{{#!if (delim = s8Link.indexOf("#")) != -1
{{{#!if s8Anchor = s8Link.substring(delim+1)
}}}{{{#!if s8Link = s8Link.substring(0,delim)
}}}}}}{{{#!if s8Anchor ??= s8.substring(s8.indexOf("/")+1)
}}}{{{#!if s8Link ||= calleeTitle
}}}}}}
### s8Count 확인
{{{#!if s8Attr = s8Attr.trim()
}}}{{{#!if s8Count = s8Attr ? +s8Attr : null
}}}}}}
## s9 세부속성 확인 (; 검색)
{{{#!if (sep = s9.indexOf(";")) != -1
{{{#!if s9Attr = " " + s9.substring(sep+1)
}}}{{{#!if s9 = s9.substring(0,sep).trim()
}}}}}}
## s9Format 확인 (. 검색)
{{{#!if (delim = s9.lastIndexOf(".")) != -1
{{{#!if s9Format = s9.substring(delim+1)
}}}{{{#!if s9Format = ((s9Format == "gif") || (s9Format == "webp") || (s9Format == "png") || (s9Format == "jpg") || (s9Format == "svg") || (s9Format == "bmp")) ? s9Format : null
}}}{{{#!if s9 = (s9Format != null) ? s9.substring(0,delim) : s9
}}}}}}{{{#!if s9Format ??= "png"
}}}
## s9 각 세부속성 확인
{{{#!if s9Attr
### s9Link 확인 ([[]] 검색)
{{{#!if ((delim = s9Attr.indexOf("[[")) != -1) && ((endDelim = s9Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s9Link = s9Attr.substring(delim+2,endDelim)
}}}{{{#!if s9Attr = s9Attr.substring(0,delim) + s9Attr.substring(endDelim+2)
}}}
#### s9Anchor 확인 (# 검색)
{{{#!if (delim = s9Link.indexOf("#")) != -1
{{{#!if s9Anchor = s9Link.substring(delim+1)
}}}{{{#!if s9Link = s9Link.substring(0,delim)
}}}}}}{{{#!if s9Anchor ??= s9.substring(s9.indexOf("/")+1)
}}}{{{#!if s9Link ||= calleeTitle
}}}}}}
### s9Count 확인
{{{#!if s9Attr = s9Attr.trim()
}}}{{{#!if s9Count = s9Attr ? +s9Attr : null
}}}}}}
## output 세부속성 확인 (; 검색)
{{{#!if (sep = output.indexOf(";")) != -1
{{{#!if outputAttr = " " + output.substring(sep+1)
}}}{{{#!if output = output.substring(0,sep).trim()
}}}}}}
## outputFormat 확인 (. 검색)
{{{#!if (delim = output.lastIndexOf(".")) != -1
{{{#!if outputFormat = output.substring(delim+1)
}}}{{{#!if outputFormat = ((outputFormat == "gif") || (outputFormat == "webp") || (outputFormat == "png") || (outputFormat == "jpg") || (outputFormat == "svg") || (outputFormat == "bmp")) ? outputFormat : null
}}}{{{#!if output = (outputFormat != null) ? output.substring(0,delim) : output
}}}}}}{{{#!if outputFormat ??= "png"
}}}
## output 각 세부속성 확인
{{{#!if outputAttr
### outputLink 확인 ([[]] 검색)
{{{#!if ((delim = outputAttr.indexOf("[[")) != -1) && ((endDelim = outputAttr.indexOf("]]",delim+2)) != -1)
{{{#!if outputLink = outputAttr.substring(delim+2,endDelim)
}}}{{{#!if outputAttr = outputAttr.substring(0,delim) + outputAttr.substring(endDelim+2)
}}}
#### outputAnchor 확인 (# 검색)
{{{#!if (delim = outputLink.indexOf("#")) != -1
{{{#!if outputAnchor = outputLink.substring(delim+1)
}}}{{{#!if outputLink = outputLink.substring(0,delim)
}}}}}}{{{#!if outputAnchor ??= output.substring(output.indexOf("/")+1)
}}}{{{#!if outputLink ||= calleeTitle
}}}}}}
### outputCount 확인
{{{#!if outputAttr = outputAttr.trim()
}}}{{{#!if outputCount = outputAttr ? +outputAttr : null
}}}}}}
#!wiki class="base-container"
{{{#!wiki class="input-grid"
{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:mc/stick.|width=32]]}}}{{{#!if s1Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s1Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s2Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s2Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s3Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s3Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s4Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s4Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s5Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s5Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s6Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s6Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s7Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s7Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s8Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s8Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:mc/coal.|width=32]]}}}{{{#!if s9Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s9Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}}}}{{{#!wiki class="arrow"
[[파일:마인크래프트/GUI/제작대/화살표.svg|width=40]]}}}{{{#!wiki class="end-column"
{{{#!wiki class="type-icon"
{{{#!if typeIcon
[[파일:마인크래프트/GUI/제작법/타입.svg|width=18]]}}}}}}{{{#!wiki class="output"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리결과.svg|width=52]]}}}{{{#!wiki class="output-content item"
[[파일:mc/torch; 4.|width=32]]}}}{{{#!if outputCount != null
{{{#!wiki class="output-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if outputLink != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="type-icon"
}}}}}}#!if cap != null
{{{-2 }}}#!style
.base-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 216px;
aspect-ratio: 216 / 124;
border: 2px solid;
border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB;
background-color: #C6C6C6;
font-size: 0;
}
.input-grid {
display: flex;
flex-wrap: wrap;
width: calc(108/212*100%);
aspect-ratio: 1;
}
.input {
width: calc(1/3*100%);
aspect-ratio: 1;
}
.slot {
width: 100%;
aspect-ratio: 1;
background-color: #8B8B8B;
}
.input:hover .item, .output:hover .item { background-color: #C5C5C5; }
.input-content {
width: 100%;
aspect-ratio: 1;
margin-top: -100%;
}
.item {
padding: calc(2/36*100%);
background-clip: content-box;
}
.arrow { width: calc(40/212*100%); }
.end-column {
display: inline-flex;
justify-content: space-between;
align-items: flex-end;
flex-direction: column;
width: calc(52/212*100%);
aspect-ratio: 52 / 108;
}
.type-icon {
width: calc(18/52*100%);
aspect-ratio: 1;
}
.output {
width: 100%;
aspect-ratio: 1;
}
.output-content {
width: 100%;
aspect-ratio: 1;
padding: calc(8/52*100%);
margin-top: -100%;
}
.output .item { padding: calc(10/52*100%); }
#!wiki if문 접기/펼치기
{{{#!wiki 레거시 문법 접기/펼치기
## sNxN
{{{#!if s3x3
{{{#!if s1 ??= s3x3; s2 ??= s3x3; s3 ??= s3x3; s4 ??= s3x3; s5 ??= s3x3; s6 ??= s3x3; s7 ??= s3x3; s8 ??= s3x3; s9 ??= s3x3
}}}{{{#!if s3x3확장자
{{{#!if s1Format ??= s3x3확장자; s2Format ??= s3x3확장자; s3Format ??= s3x3확장자; s4Format ??= s3x3확장자; s5Format ??= s3x3확장자; s6Format ??= s3x3확장자; s7Format ??= s3x3확장자; s8Format ??= s3x3확장자; s9Format ??= s3x3확장자
}}}}}}{{{#!if l3x3
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a3x3 = l3x3.substring(delim+1)
}}}{{{#!if l3x3 = l3x3.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l3x3; s2Link ??= l3x3; s3Link ??= l3x3; s4Link ??= l3x3; s5Link ??= l3x3; s6Link ??= l3x3; s7Link ??= l3x3; s8Link ??= l3x3; s9Link ??= l3x3
}}}}}}{{{#!if a3x3
{{{#!if s1Anchor ??= a3x3; s2Anchor ??= a3x3; s3Anchor ??= a3x3; s4Anchor ??= a3x3; s5Anchor ??= a3x3; s6Anchor ??= a3x3; s7Anchor ??= a3x3; s8Anchor ??= a3x3; s9Anchor ??= a3x3
}}}}}}{{{#!if c3x3
{{{#!if s1Count ??= c3x3; s2Count ??= c3x3; s3Count ??= c3x3; s4Count ??= c3x3; s5Count ??= c3x3; s6Count ??= c3x3; s7Count ??= c3x3; s8Count ??= c3x3; s9Count ??= c3x3
}}}}}}}}}{{{#!if s2x2
{{{#!if s1 ??= s2x2; s2 ??= s2x2; s4 ??= s2x2; s5 ??= s2x2
}}}{{{#!if s2x2확장자
{{{#!if s1Format ??= s2x2확장자; s2Format ??= s2x2확장자; s4Format ??= s2x2확장자; s5Format ??= s2x2확장자
}}}}}}{{{#!if l2x2
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a2x2 = l2x2.substring(delim+1)
}}}{{{#!if l2x2 = l2x2.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l2x2; s2Link ??= l2x2; s4Link ??= l2x2; s5Link ??= l2x2
}}}}}}{{{#!if a2x2
{{{#!if s1Anchor ??= a2x2; s2Anchor ??= a2x2; s4Anchor ??= a2x2; s5Anchor ??= a2x2
}}}}}}{{{#!if c2x2
{{{#!if s1Count ??= c2x2; s2Count ??= c2x2; s4Count ??= c2x2; s5Count ??= c2x2
}}}}}}}}}
## sN확장자
{{{#!if s1Format ??= s1확장자; s2Format ??= s2확장자; s3Format ??= s3확장자; s4Format ??= s4확장자; s5Format ??= s5확장자; s6Format ??= s6확장자; s7Format ??= s7확장자; s8Format ??= s8확장자; s9Format ??= s9확장자; outputFormat ??= output확장자
}}}
## lN
{{{#!if l1
{{{#!if s1 += "; [[" + l1 + "]]"
}}}}}}{{{#!if l2
{{{#!if s2 += "; [[" + l2 + "]]"
}}}}}}{{{#!if l3
{{{#!if s3 += "; [[" + l3 + "]]"
}}}}}}{{{#!if l4
{{{#!if s4 += "; [[" + l4 + "]]"
}}}}}}{{{#!if l5
{{{#!if s5 += "; [[" + l5 + "]]"
}}}}}}{{{#!if l6
{{{#!if s6 += "; [[" + l6 + "]]"
}}}}}}{{{#!if l7
{{{#!if s7 += "; [[" + l7 + "]]"
}}}}}}{{{#!if l8
{{{#!if s8 += "; [[" + l8 + "]]"
}}}}}}{{{#!if l9
{{{#!if s9 += "; [[" + l9 + "]]"
}}}}}}
## aN
{{{#!if s1Anchor ??= a1; s2Anchor ??= a2; s3Anchor ??= a3; s4Anchor ??= a4; s5Anchor ??= a5; s6Anchor ??= a6; s7Anchor ??= a7; s8Anchor ??= a8; s9Anchor ??= a9; outputAnchor ??= output_anchor
}}}
## cN, qty
{{{#!if s1Count ??= c1; s2Count ??= c2; s3Count ??= c3; s4Count ??= c4; s5Count ??= c5; s6Count ??= c6; s7Count ??= c7; s8Count ??= c8; s9Count ??= c9; outputCount ??= qty
}}}
## b, l, f
{{{#!if back ??= (b == "b") ? true : null; shapeless ??= (l == "l") ? true : null; fixed ??= (f == "f") ? true : null
}}}}}}
## type 확인
{{{#!if arrowSuf = (back != null) ? "B" : ""
}}}{{{#!if shapeless = (shapeless != null) ? true : false
}}}{{{#!if fixed = (fixed != null) ? true : false
}}}{{{#!if typeIcon = shapeless ? "shapeless" : fixed ? "fixed" : ""
}}}
## 2x2, 3x3
{{{#!if this['2x2']
{{{#!if s1 ??= this['2x2']; s2 ??= this['2x2']; s4 ??= this['2x2']; s5 ??= this['2x2']
}}}}}}{{{#!if this['3x3']
{{{#!if s1 ??= this['3x3']; s2 ??= this['3x3']; s3 ??= this['3x3']; s4 ??= this['3x3']; s5 ??= this['3x3']; s6 ??= this['3x3']; s7 ??= this['3x3']; s8 ??= this['3x3']; s9 ??= this['3x3']
}}}}}}
## 무형 제작법
{{{#!if shapeless
## N = null일 시 N+1값 할당
{{{#!if this["8"] ??= this["9"]
}}}{{{#!if this["7"] ??= this["8"]
}}}{{{#!if this["6"] ??= this["7"]
}}}{{{#!if this["5"] ??= this["6"]
}}}{{{#!if this["4"] ??= this["5"]
}}}{{{#!if this["3"] ??= this["4"]
}}}{{{#!if this["2"] ??= this["3"]
}}}{{{#!if this["1"] ??= this["2"]
}}}
### input 개수
{{{#!if input = this["9"] ? 9 : this["8"] ? 8 : this["7"] ? 7 : this["6"] ? 6 : this["5"] ? 5 : this["4"] ? 4 : this["3"] ? 3 : this["2"] ? 2 : 1
}}}
### input 값에 따라 슬롯 배치 및 값 할당
{{{#!if input == 1 && (s5 ??= this["1"])
}}}{{{#!if input > 1 && input < 5 && (s1 ??= this["1"]; s2 ??= this["2"]; s4 ??= this["3"]; s5 ??= this["4"])
}}}{{{#!if input > 4 && (s1 ??= this["1"]; s2 ??= this["2"]; s3 ??= this["3"]; s4 ??= this["4"]; s5 ??= this["5"]; s6 ??= this["6"]; s7 ??= this["7"]; s8 ??= this["8"]; s9 ??= this["9"])
}}}}}}
## 유형 제작법
{{{#!if !shapeless && (pat || pat1 || pat2 || pat3)
{{{#!if keys = {"A":null,"B":null,"C":null,"D":null,"E":null,"F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":null,"N":null,"O":null,"P":null,"Q":null,"R":null,"S":null,"T":null,"U":null,"V":null,"W":null,"X":null,"Y":null,"Z":null,"a":null,"b":null,"c":null,"d":null,"e":null,"f":null,"g":null,"h":null,"i":null,"j":null,"k":null,"l":null,"m":null,"n":null,"o":null,"p":null,"q":null,"r":null,"s":null,"t":null,"u":null,"v":null,"w":null,"x":null,"y":null,"z":null,"#":null,"_":null, "-":null, " ":null}
}}}
### 같은 이름의 변수 존재시 keys에 값 할당
{{{#!if A != null && (keys["A"] = A)
}}}{{{#!if B != null && (keys["B"] = B)
}}}{{{#!if C != null && (keys["C"] = C)
}}}{{{#!if D != null && (keys["D"] = D)
}}}{{{#!if E != null && (keys["E"] = E)
}}}{{{#!if F != null && (keys["F"] = F)
}}}{{{#!if G != null && (keys["G"] = G)
}}}{{{#!if H != null && (keys["H"] = H)
}}}{{{#!if I != null && (keys["I"] = I)
}}}{{{#!if J != null && (keys["J"] = J)
}}}{{{#!if K != null && (keys["K"] = K)
}}}{{{#!if L != null && (keys["L"] = L)
}}}{{{#!if M != null && (keys["M"] = M)
}}}{{{#!if N != null && (keys["N"] = N)
}}}{{{#!if O != null && (keys["O"] = O)
}}}{{{#!if P != null && (keys["P"] = P)
}}}{{{#!if Q != null && (keys["Q"] = Q)
}}}{{{#!if R != null && (keys["R"] = R)
}}}{{{#!if S != null && (keys["S"] = S)
}}}{{{#!if T != null && (keys["T"] = T)
}}}{{{#!if U != null && (keys["U"] = U)
}}}{{{#!if V != null && (keys["V"] = V)
}}}{{{#!if W != null && (keys["W"] = W)
}}}{{{#!if X != null && (keys["X"] = X)
}}}{{{#!if Y != null && (keys["Y"] = Y)
}}}{{{#!if Z != null && (keys["Z"] = Z)
}}}{{{#!if a != null && (keys["a"] = a)
}}}{{{#!if b != null && (keys["b"] = b)
}}}{{{#!if c != null && (keys["c"] = c)
}}}{{{#!if d != null && (keys["d"] = d)
}}}{{{#!if e != null && (keys["e"] = e)
}}}{{{#!if f != null && (keys["f"] = f)
}}}{{{#!if g != null && (keys["g"] = g)
}}}{{{#!if h != null && (keys["h"] = h)
}}}{{{#!if i != null && (keys["i"] = i)
}}}{{{#!if j != null && (keys["j"] = j)
}}}{{{#!if k != null && (keys["k"] = k)
}}}{{{#!if l != null && (keys["l"] = l)
}}}{{{#!if m != null && (keys["m"] = m)
}}}{{{#!if n != null && (keys["n"] = n)
}}}{{{#!if o != null && (keys["o"] = o)
}}}{{{#!if p != null && (keys["p"] = p)
}}}{{{#!if q != null && (keys["q"] = q)
}}}{{{#!if r != null && (keys["r"] = r)
}}}{{{#!if s != null && (keys["s"] = s)
}}}{{{#!if t != null && (keys["t"] = t)
}}}{{{#!if u != null && (keys["u"] = u)
}}}{{{#!if v != null && (keys["v"] = v)
}}}{{{#!if w != null && (keys["w"] = w)
}}}{{{#!if x != null && (keys["x"] = x)
}}}{{{#!if y != null && (keys["y"] = y)
}}}{{{#!if z != null && (keys["z"] = z)
}}}{{{#!if this["#"] != null && (keys["#"] = this["#"])
}}}
### pat 파싱 및 null.length 방지를 위해 빈 문자열 할당
{{{#!if pat != null
{{{#!if pat1 = pat
{{{#!if (sep = pat1.indexOf("/")) != -1
{{{#!if pat2 = pat1.substring(sep+1); pat1 = pat1.substring(0,sep)
}}}{{{#!if (sep = pat2.indexOf("/")) != -1
{{{#!if pat3 = pat2.substring(sep+1); pat2 = pat2.substring(0,sep)
}}}}}}}}}}}}}}}{{{#!if pat1 ??= ""; pat2 ??= ""; pat3 ??= ""
}}}
### 제작법 행, 열 개수
{{{#!if col = pat1.length > pat2.length ? (pat1.length > pat3.length ? pat1.length : pat3.length) : (pat2.length > pat3.length ? pat2.length : pat3.length)
}}}{{{#!if row = pat3 ? 3 : pat2 ? 2 : 1
}}}
### 제작법 행, 열 개수에 따라 슬롯 배치 및 값 할당
{{{#!if row == 3
{{{#!if col == 3 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1,2)]; s3 ??= keys[pat1.substring(2)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1,2)]; s6 ??= keys[pat2.substring(2)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1,2)]; s9 ??= keys[pat3.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2]; s8 ??= keys[pat3])
}}}}}}{{{#!if row == 2
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)]; s7 ??= keys[pat2.substring(0,1)]; s8 ??= keys[pat2.substring(1,2)]; s9 ??= keys[pat2.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2];)
}}}}}}{{{#!if row == 1
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)])
}}}{{{#!if col == 2 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1)])
}}}{{{#!if col == 1 && (s5 ??= keys[pat1];)
}}}}}}}}}
## s1 세부속성 확인 (; 검색)
{{{#!if (sep = s1.indexOf(";")) != -1
{{{#!if s1Attr = " " + s1.substring(sep+1)
}}}{{{#!if s1 = s1.substring(0,sep).trim()
}}}}}}
## s1Format 확인 (. 검색)
{{{#!if (delim = s1.lastIndexOf(".")) != -1
{{{#!if s1Format = s1.substring(delim+1)
}}}{{{#!if s1Format = ((s1Format == "gif") || (s1Format == "webp") || (s1Format == "png") || (s1Format == "jpg") || (s1Format == "svg") || (s1Format == "bmp")) ? s1Format : null
}}}{{{#!if s1 = (s1Format != null) ? s1.substring(0,delim) : s1
}}}}}}{{{#!if s1Format ??= "png"
}}}
## s1 각 세부속성 확인
{{{#!if s1Attr
### s1Link 확인 ([[]] 검색)
{{{#!if ((delim = s1Attr.indexOf("[[")) != -1) && ((endDelim = s1Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s1Link = s1Attr.substring(delim+2,endDelim)
}}}{{{#!if s1Attr = s1Attr.substring(0,delim) + s1Attr.substring(endDelim+2)
}}}
#### s1Anchor 확인 (# 검색)
{{{#!if (delim = s1Link.indexOf("#")) != -1
{{{#!if s1Anchor = s1Link.substring(delim+1)
}}}{{{#!if s1Link = s1Link.substring(0,delim)
}}}}}}{{{#!if s1Anchor ??= s1.substring(s1.indexOf("/")+1)
}}}{{{#!if s1Link ||= calleeTitle
}}}}}}
### s1Count 확인
{{{#!if s1Attr = s1Attr.trim()
}}}{{{#!if s1Count = s1Attr ? +s1Attr : null
}}}}}}
## s2 세부속성 확인 (; 검색)
{{{#!if (sep = s2.indexOf(";")) != -1
{{{#!if s2Attr = " " + s2.substring(sep+1)
}}}{{{#!if s2 = s2.substring(0,sep).trim()
}}}}}}
## s2Format 확인 (. 검색)
{{{#!if (delim = s2.lastIndexOf(".")) != -1
{{{#!if s2Format = s2.substring(delim+1)
}}}{{{#!if s2Format = ((s2Format == "gif") || (s2Format == "webp") || (s2Format == "png") || (s2Format == "jpg") || (s2Format == "svg") || (s2Format == "bmp")) ? s2Format : null
}}}{{{#!if s2 = (s2Format != null) ? s2.substring(0,delim) : s2
}}}}}}{{{#!if s2Format ??= "png"
}}}
## s2 각 세부속성 확인
{{{#!if s2Attr
### s2Link 확인 ([[]] 검색)
{{{#!if ((delim = s2Attr.indexOf("[[")) != -1) && ((endDelim = s2Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s2Link = s2Attr.substring(delim+2,endDelim)
}}}{{{#!if s2Attr = s2Attr.substring(0,delim) + s2Attr.substring(endDelim+2)
}}}
#### s2Anchor 확인 (# 검색)
{{{#!if (delim = s2Link.indexOf("#")) != -1
{{{#!if s2Anchor = s2Link.substring(delim+1)
}}}{{{#!if s2Link = s2Link.substring(0,delim)
}}}}}}{{{#!if s2Anchor ??= s2.substring(s2.indexOf("/")+1)
}}}{{{#!if s2Link ||= calleeTitle
}}}}}}
### s2Count 확인
{{{#!if s2Attr = s2Attr.trim()
}}}{{{#!if s2Count = s2Attr ? +s2Attr : null
}}}}}}
## s3 세부속성 확인 (; 검색)
{{{#!if (sep = s3.indexOf(";")) != -1
{{{#!if s3Attr = " " + s3.substring(sep+1)
}}}{{{#!if s3 = s3.substring(0,sep).trim()
}}}}}}
## s3Format 확인 (. 검색)
{{{#!if (delim = s3.lastIndexOf(".")) != -1
{{{#!if s3Format = s3.substring(delim+1)
}}}{{{#!if s3Format = ((s3Format == "gif") || (s3Format == "webp") || (s3Format == "png") || (s3Format == "jpg") || (s3Format == "svg") || (s3Format == "bmp")) ? s3Format : null
}}}{{{#!if s3 = (s3Format != null) ? s3.substring(0,delim) : s3
}}}}}}{{{#!if s3Format ??= "png"
}}}
## s3 각 세부속성 확인
{{{#!if s3Attr
### s3Link 확인 ([[]] 검색)
{{{#!if ((delim = s3Attr.indexOf("[[")) != -1) && ((endDelim = s3Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s3Link = s3Attr.substring(delim+2,endDelim)
}}}{{{#!if s3Attr = s3Attr.substring(0,delim) + s3Attr.substring(endDelim+2)
}}}
#### s3Anchor 확인 (# 검색)
{{{#!if (delim = s3Link.indexOf("#")) != -1
{{{#!if s3Anchor = s3Link.substring(delim+1)
}}}{{{#!if s3Link = s3Link.substring(0,delim)
}}}}}}{{{#!if s3Anchor ??= s3.substring(s3.indexOf("/")+1)
}}}{{{#!if s3Link ||= calleeTitle
}}}}}}
### s3Count 확인
{{{#!if s3Attr = s3Attr.trim()
}}}{{{#!if s3Count = s3Attr ? +s3Attr : null
}}}}}}
## s4 세부속성 확인 (; 검색)
{{{#!if (sep = s4.indexOf(";")) != -1
{{{#!if s4Attr = " " + s4.substring(sep+1)
}}}{{{#!if s4 = s4.substring(0,sep).trim()
}}}}}}
## s4Format 확인 (. 검색)
{{{#!if (delim = s4.lastIndexOf(".")) != -1
{{{#!if s4Format = s4.substring(delim+1)
}}}{{{#!if s4Format = ((s4Format == "gif") || (s4Format == "webp") || (s4Format == "png") || (s4Format == "jpg") || (s4Format == "svg") || (s4Format == "bmp")) ? s4Format : null
}}}{{{#!if s4 = (s4Format != null) ? s4.substring(0,delim) : s4
}}}}}}{{{#!if s4Format ??= "png"
}}}
## s4 각 세부속성 확인
{{{#!if s4Attr
### s4Link 확인 ([[]] 검색)
{{{#!if ((delim = s4Attr.indexOf("[[")) != -1) && ((endDelim = s4Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s4Link = s4Attr.substring(delim+2,endDelim)
}}}{{{#!if s4Attr = s4Attr.substring(0,delim) + s4Attr.substring(endDelim+2)
}}}
#### s4Anchor 확인 (# 검색)
{{{#!if (delim = s4Link.indexOf("#")) != -1
{{{#!if s4Anchor = s4Link.substring(delim+1)
}}}{{{#!if s4Link = s4Link.substring(0,delim)
}}}}}}{{{#!if s4Anchor ??= s4.substring(s4.indexOf("/")+1)
}}}{{{#!if s4Link ||= calleeTitle
}}}}}}
### s4Count 확인
{{{#!if s4Attr = s4Attr.trim()
}}}{{{#!if s4Count = s4Attr ? +s4Attr : null
}}}}}}
## s5 세부속성 확인 (; 검색)
{{{#!if (sep = s5.indexOf(";")) != -1
{{{#!if s5Attr = " " + s5.substring(sep+1)
}}}{{{#!if s5 = s5.substring(0,sep).trim()
}}}}}}
## s5Format 확인 (. 검색)
{{{#!if (delim = s5.lastIndexOf(".")) != -1
{{{#!if s5Format = s5.substring(delim+1)
}}}{{{#!if s5Format = ((s5Format == "gif") || (s5Format == "webp") || (s5Format == "png") || (s5Format == "jpg") || (s5Format == "svg") || (s5Format == "bmp")) ? s5Format : null
}}}{{{#!if s5 = (s5Format != null) ? s5.substring(0,delim) : s5
}}}}}}{{{#!if s5Format ??= "png"
}}}
## s5 각 세부속성 확인
{{{#!if s5Attr
### s5Link 확인 ([[]] 검색)
{{{#!if ((delim = s5Attr.indexOf("[[")) != -1) && ((endDelim = s5Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s5Link = s5Attr.substring(delim+2,endDelim)
}}}{{{#!if s5Attr = s5Attr.substring(0,delim) + s5Attr.substring(endDelim+2)
}}}
#### s5Anchor 확인 (# 검색)
{{{#!if (delim = s5Link.indexOf("#")) != -1
{{{#!if s5Anchor = s5Link.substring(delim+1)
}}}{{{#!if s5Link = s5Link.substring(0,delim)
}}}}}}{{{#!if s5Anchor ??= s5.substring(s5.indexOf("/")+1)
}}}{{{#!if s5Link ||= calleeTitle
}}}}}}
### s5Count 확인
{{{#!if s5Attr = s5Attr.trim()
}}}{{{#!if s5Count = s5Attr ? +s5Attr : null
}}}}}}
## s6 세부속성 확인 (; 검색)
{{{#!if (sep = s6.indexOf(";")) != -1
{{{#!if s6Attr = " " + s6.substring(sep+1)
}}}{{{#!if s6 = s6.substring(0,sep).trim()
}}}}}}
## s6Format 확인 (. 검색)
{{{#!if (delim = s6.lastIndexOf(".")) != -1
{{{#!if s6Format = s6.substring(delim+1)
}}}{{{#!if s6Format = ((s6Format == "gif") || (s6Format == "webp") || (s6Format == "png") || (s6Format == "jpg") || (s6Format == "svg") || (s6Format == "bmp")) ? s6Format : null
}}}{{{#!if s6 = (s6Format != null) ? s6.substring(0,delim) : s6
}}}}}}{{{#!if s6Format ??= "png"
}}}
## s6 각 세부속성 확인
{{{#!if s6Attr
### s6Link 확인 ([[]] 검색)
{{{#!if ((delim = s6Attr.indexOf("[[")) != -1) && ((endDelim = s6Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s6Link = s6Attr.substring(delim+2,endDelim)
}}}{{{#!if s6Attr = s6Attr.substring(0,delim) + s6Attr.substring(endDelim+2)
}}}
#### s6Anchor 확인 (# 검색)
{{{#!if (delim = s6Link.indexOf("#")) != -1
{{{#!if s6Anchor = s6Link.substring(delim+1)
}}}{{{#!if s6Link = s6Link.substring(0,delim)
}}}}}}{{{#!if s6Anchor ??= s6.substring(s6.indexOf("/")+1)
}}}{{{#!if s6Link ||= calleeTitle
}}}}}}
### s6Count 확인
{{{#!if s6Attr = s6Attr.trim()
}}}{{{#!if s6Count = s6Attr ? +s6Attr : null
}}}}}}
## s7 세부속성 확인 (; 검색)
{{{#!if (sep = s7.indexOf(";")) != -1
{{{#!if s7Attr = " " + s7.substring(sep+1)
}}}{{{#!if s7 = s7.substring(0,sep).trim()
}}}}}}
## s7Format 확인 (. 검색)
{{{#!if (delim = s7.lastIndexOf(".")) != -1
{{{#!if s7Format = s7.substring(delim+1)
}}}{{{#!if s7Format = ((s7Format == "gif") || (s7Format == "webp") || (s7Format == "png") || (s7Format == "jpg") || (s7Format == "svg") || (s7Format == "bmp")) ? s7Format : null
}}}{{{#!if s7 = (s7Format != null) ? s7.substring(0,delim) : s7
}}}}}}{{{#!if s7Format ??= "png"
}}}
## s7 각 세부속성 확인
{{{#!if s7Attr
### s7Link 확인 ([[]] 검색)
{{{#!if ((delim = s7Attr.indexOf("[[")) != -1) && ((endDelim = s7Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s7Link = s7Attr.substring(delim+2,endDelim)
}}}{{{#!if s7Attr = s7Attr.substring(0,delim) + s7Attr.substring(endDelim+2)
}}}
#### s7Anchor 확인 (# 검색)
{{{#!if (delim = s7Link.indexOf("#")) != -1
{{{#!if s7Anchor = s7Link.substring(delim+1)
}}}{{{#!if s7Link = s7Link.substring(0,delim)
}}}}}}{{{#!if s7Anchor ??= s7.substring(s7.indexOf("/")+1)
}}}{{{#!if s7Link ||= calleeTitle
}}}}}}
### s7Count 확인
{{{#!if s7Attr = s7Attr.trim()
}}}{{{#!if s7Count = s7Attr ? +s7Attr : null
}}}}}}
## s8 세부속성 확인 (; 검색)
{{{#!if (sep = s8.indexOf(";")) != -1
{{{#!if s8Attr = " " + s8.substring(sep+1)
}}}{{{#!if s8 = s8.substring(0,sep).trim()
}}}}}}
## s8Format 확인 (. 검색)
{{{#!if (delim = s8.lastIndexOf(".")) != -1
{{{#!if s8Format = s8.substring(delim+1)
}}}{{{#!if s8Format = ((s8Format == "gif") || (s8Format == "webp") || (s8Format == "png") || (s8Format == "jpg") || (s8Format == "svg") || (s8Format == "bmp")) ? s8Format : null
}}}{{{#!if s8 = (s8Format != null) ? s8.substring(0,delim) : s8
}}}}}}{{{#!if s8Format ??= "png"
}}}
## s8 각 세부속성 확인
{{{#!if s8Attr
### s8Link 확인 ([[]] 검색)
{{{#!if ((delim = s8Attr.indexOf("[[")) != -1) && ((endDelim = s8Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s8Link = s8Attr.substring(delim+2,endDelim)
}}}{{{#!if s8Attr = s8Attr.substring(0,delim) + s8Attr.substring(endDelim+2)
}}}
#### s8Anchor 확인 (# 검색)
{{{#!if (delim = s8Link.indexOf("#")) != -1
{{{#!if s8Anchor = s8Link.substring(delim+1)
}}}{{{#!if s8Link = s8Link.substring(0,delim)
}}}}}}{{{#!if s8Anchor ??= s8.substring(s8.indexOf("/")+1)
}}}{{{#!if s8Link ||= calleeTitle
}}}}}}
### s8Count 확인
{{{#!if s8Attr = s8Attr.trim()
}}}{{{#!if s8Count = s8Attr ? +s8Attr : null
}}}}}}
## s9 세부속성 확인 (; 검색)
{{{#!if (sep = s9.indexOf(";")) != -1
{{{#!if s9Attr = " " + s9.substring(sep+1)
}}}{{{#!if s9 = s9.substring(0,sep).trim()
}}}}}}
## s9Format 확인 (. 검색)
{{{#!if (delim = s9.lastIndexOf(".")) != -1
{{{#!if s9Format = s9.substring(delim+1)
}}}{{{#!if s9Format = ((s9Format == "gif") || (s9Format == "webp") || (s9Format == "png") || (s9Format == "jpg") || (s9Format == "svg") || (s9Format == "bmp")) ? s9Format : null
}}}{{{#!if s9 = (s9Format != null) ? s9.substring(0,delim) : s9
}}}}}}{{{#!if s9Format ??= "png"
}}}
## s9 각 세부속성 확인
{{{#!if s9Attr
### s9Link 확인 ([[]] 검색)
{{{#!if ((delim = s9Attr.indexOf("[[")) != -1) && ((endDelim = s9Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s9Link = s9Attr.substring(delim+2,endDelim)
}}}{{{#!if s9Attr = s9Attr.substring(0,delim) + s9Attr.substring(endDelim+2)
}}}
#### s9Anchor 확인 (# 검색)
{{{#!if (delim = s9Link.indexOf("#")) != -1
{{{#!if s9Anchor = s9Link.substring(delim+1)
}}}{{{#!if s9Link = s9Link.substring(0,delim)
}}}}}}{{{#!if s9Anchor ??= s9.substring(s9.indexOf("/")+1)
}}}{{{#!if s9Link ||= calleeTitle
}}}}}}
### s9Count 확인
{{{#!if s9Attr = s9Attr.trim()
}}}{{{#!if s9Count = s9Attr ? +s9Attr : null
}}}}}}
## output 세부속성 확인 (; 검색)
{{{#!if (sep = output.indexOf(";")) != -1
{{{#!if outputAttr = " " + output.substring(sep+1)
}}}{{{#!if output = output.substring(0,sep).trim()
}}}}}}
## outputFormat 확인 (. 검색)
{{{#!if (delim = output.lastIndexOf(".")) != -1
{{{#!if outputFormat = output.substring(delim+1)
}}}{{{#!if outputFormat = ((outputFormat == "gif") || (outputFormat == "webp") || (outputFormat == "png") || (outputFormat == "jpg") || (outputFormat == "svg") || (outputFormat == "bmp")) ? outputFormat : null
}}}{{{#!if output = (outputFormat != null) ? output.substring(0,delim) : output
}}}}}}{{{#!if outputFormat ??= "png"
}}}
## output 각 세부속성 확인
{{{#!if outputAttr
### outputLink 확인 ([[]] 검색)
{{{#!if ((delim = outputAttr.indexOf("[[")) != -1) && ((endDelim = outputAttr.indexOf("]]",delim+2)) != -1)
{{{#!if outputLink = outputAttr.substring(delim+2,endDelim)
}}}{{{#!if outputAttr = outputAttr.substring(0,delim) + outputAttr.substring(endDelim+2)
}}}
#### outputAnchor 확인 (# 검색)
{{{#!if (delim = outputLink.indexOf("#")) != -1
{{{#!if outputAnchor = outputLink.substring(delim+1)
}}}{{{#!if outputLink = outputLink.substring(0,delim)
}}}}}}{{{#!if outputAnchor ??= output.substring(output.indexOf("/")+1)
}}}{{{#!if outputLink ||= calleeTitle
}}}}}}
### outputCount 확인
{{{#!if outputAttr = outputAttr.trim()
}}}{{{#!if outputCount = outputAttr ? +outputAttr : null
}}}}}}
#!wiki class="base-container"
{{{#!wiki class="input-grid"
{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s1Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s1Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s2Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s2Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:mc/stick.|width=32]]}}}{{{#!if s3Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s3Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s4Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s4Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:mc/coal.|width=32]]}}}{{{#!if s5Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s5Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s6Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s6Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s7Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s7Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s8Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s8Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s9Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s9Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}}}}{{{#!wiki class="arrow"
[[파일:마인크래프트/GUI/제작대/화살표.svg|width=40]]}}}{{{#!wiki class="end-column"
{{{#!wiki class="type-icon"
{{{#!if typeIcon
[[파일:마인크래프트/GUI/제작법/타입.svg|width=18]]}}}}}}{{{#!wiki class="output"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리결과.svg|width=52]]}}}{{{#!wiki class="output-content item"
[[파일:mc/torch; 4.|width=32]]}}}{{{#!if outputCount != null
{{{#!wiki class="output-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if outputLink != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="type-icon"
}}}}}}#!if cap != null
{{{-2 }}}#!style
.base-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 216px;
aspect-ratio: 216 / 124;
border: 2px solid;
border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB;
background-color: #C6C6C6;
font-size: 0;
}
.input-grid {
display: flex;
flex-wrap: wrap;
width: calc(108/212*100%);
aspect-ratio: 1;
}
.input {
width: calc(1/3*100%);
aspect-ratio: 1;
}
.slot {
width: 100%;
aspect-ratio: 1;
background-color: #8B8B8B;
}
.input:hover .item, .output:hover .item { background-color: #C5C5C5; }
.input-content {
width: 100%;
aspect-ratio: 1;
margin-top: -100%;
}
.item {
padding: calc(2/36*100%);
background-clip: content-box;
}
.arrow { width: calc(40/212*100%); }
.end-column {
display: inline-flex;
justify-content: space-between;
align-items: flex-end;
flex-direction: column;
width: calc(52/212*100%);
aspect-ratio: 52 / 108;
}
.type-icon {
width: calc(18/52*100%);
aspect-ratio: 1;
}
.output {
width: 100%;
aspect-ratio: 1;
}
.output-content {
width: 100%;
aspect-ratio: 1;
padding: calc(8/52*100%);
margin-top: -100%;
}
.output .item { padding: calc(10/52*100%); }
#!wiki if문 접기/펼치기
{{{#!wiki 레거시 문법 접기/펼치기
## sNxN
{{{#!if s3x3
{{{#!if s1 ??= s3x3; s2 ??= s3x3; s3 ??= s3x3; s4 ??= s3x3; s5 ??= s3x3; s6 ??= s3x3; s7 ??= s3x3; s8 ??= s3x3; s9 ??= s3x3
}}}{{{#!if s3x3확장자
{{{#!if s1Format ??= s3x3확장자; s2Format ??= s3x3확장자; s3Format ??= s3x3확장자; s4Format ??= s3x3확장자; s5Format ??= s3x3확장자; s6Format ??= s3x3확장자; s7Format ??= s3x3확장자; s8Format ??= s3x3확장자; s9Format ??= s3x3확장자
}}}}}}{{{#!if l3x3
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a3x3 = l3x3.substring(delim+1)
}}}{{{#!if l3x3 = l3x3.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l3x3; s2Link ??= l3x3; s3Link ??= l3x3; s4Link ??= l3x3; s5Link ??= l3x3; s6Link ??= l3x3; s7Link ??= l3x3; s8Link ??= l3x3; s9Link ??= l3x3
}}}}}}{{{#!if a3x3
{{{#!if s1Anchor ??= a3x3; s2Anchor ??= a3x3; s3Anchor ??= a3x3; s4Anchor ??= a3x3; s5Anchor ??= a3x3; s6Anchor ??= a3x3; s7Anchor ??= a3x3; s8Anchor ??= a3x3; s9Anchor ??= a3x3
}}}}}}{{{#!if c3x3
{{{#!if s1Count ??= c3x3; s2Count ??= c3x3; s3Count ??= c3x3; s4Count ??= c3x3; s5Count ??= c3x3; s6Count ??= c3x3; s7Count ??= c3x3; s8Count ??= c3x3; s9Count ??= c3x3
}}}}}}}}}{{{#!if s2x2
{{{#!if s1 ??= s2x2; s2 ??= s2x2; s4 ??= s2x2; s5 ??= s2x2
}}}{{{#!if s2x2확장자
{{{#!if s1Format ??= s2x2확장자; s2Format ??= s2x2확장자; s4Format ??= s2x2확장자; s5Format ??= s2x2확장자
}}}}}}{{{#!if l2x2
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a2x2 = l2x2.substring(delim+1)
}}}{{{#!if l2x2 = l2x2.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l2x2; s2Link ??= l2x2; s4Link ??= l2x2; s5Link ??= l2x2
}}}}}}{{{#!if a2x2
{{{#!if s1Anchor ??= a2x2; s2Anchor ??= a2x2; s4Anchor ??= a2x2; s5Anchor ??= a2x2
}}}}}}{{{#!if c2x2
{{{#!if s1Count ??= c2x2; s2Count ??= c2x2; s4Count ??= c2x2; s5Count ??= c2x2
}}}}}}}}}
## sN확장자
{{{#!if s1Format ??= s1확장자; s2Format ??= s2확장자; s3Format ??= s3확장자; s4Format ??= s4확장자; s5Format ??= s5확장자; s6Format ??= s6확장자; s7Format ??= s7확장자; s8Format ??= s8확장자; s9Format ??= s9확장자; outputFormat ??= output확장자
}}}
## lN
{{{#!if l1
{{{#!if s1 += "; [[" + l1 + "]]"
}}}}}}{{{#!if l2
{{{#!if s2 += "; [[" + l2 + "]]"
}}}}}}{{{#!if l3
{{{#!if s3 += "; [[" + l3 + "]]"
}}}}}}{{{#!if l4
{{{#!if s4 += "; [[" + l4 + "]]"
}}}}}}{{{#!if l5
{{{#!if s5 += "; [[" + l5 + "]]"
}}}}}}{{{#!if l6
{{{#!if s6 += "; [[" + l6 + "]]"
}}}}}}{{{#!if l7
{{{#!if s7 += "; [[" + l7 + "]]"
}}}}}}{{{#!if l8
{{{#!if s8 += "; [[" + l8 + "]]"
}}}}}}{{{#!if l9
{{{#!if s9 += "; [[" + l9 + "]]"
}}}}}}
## aN
{{{#!if s1Anchor ??= a1; s2Anchor ??= a2; s3Anchor ??= a3; s4Anchor ??= a4; s5Anchor ??= a5; s6Anchor ??= a6; s7Anchor ??= a7; s8Anchor ??= a8; s9Anchor ??= a9; outputAnchor ??= output_anchor
}}}
## cN, qty
{{{#!if s1Count ??= c1; s2Count ??= c2; s3Count ??= c3; s4Count ??= c4; s5Count ??= c5; s6Count ??= c6; s7Count ??= c7; s8Count ??= c8; s9Count ??= c9; outputCount ??= qty
}}}
## b, l, f
{{{#!if back ??= (b == "b") ? true : null; shapeless ??= (l == "l") ? true : null; fixed ??= (f == "f") ? true : null
}}}}}}
## type 확인
{{{#!if arrowSuf = (back != null) ? "B" : ""
}}}{{{#!if shapeless = (shapeless != null) ? true : false
}}}{{{#!if fixed = (fixed != null) ? true : false
}}}{{{#!if typeIcon = shapeless ? "shapeless" : fixed ? "fixed" : ""
}}}
## 2x2, 3x3
{{{#!if this['2x2']
{{{#!if s1 ??= this['2x2']; s2 ??= this['2x2']; s4 ??= this['2x2']; s5 ??= this['2x2']
}}}}}}{{{#!if this['3x3']
{{{#!if s1 ??= this['3x3']; s2 ??= this['3x3']; s3 ??= this['3x3']; s4 ??= this['3x3']; s5 ??= this['3x3']; s6 ??= this['3x3']; s7 ??= this['3x3']; s8 ??= this['3x3']; s9 ??= this['3x3']
}}}}}}
## 무형 제작법
{{{#!if shapeless
## N = null일 시 N+1값 할당
{{{#!if this["8"] ??= this["9"]
}}}{{{#!if this["7"] ??= this["8"]
}}}{{{#!if this["6"] ??= this["7"]
}}}{{{#!if this["5"] ??= this["6"]
}}}{{{#!if this["4"] ??= this["5"]
}}}{{{#!if this["3"] ??= this["4"]
}}}{{{#!if this["2"] ??= this["3"]
}}}{{{#!if this["1"] ??= this["2"]
}}}
### input 개수
{{{#!if input = this["9"] ? 9 : this["8"] ? 8 : this["7"] ? 7 : this["6"] ? 6 : this["5"] ? 5 : this["4"] ? 4 : this["3"] ? 3 : this["2"] ? 2 : 1
}}}
### input 값에 따라 슬롯 배치 및 값 할당
{{{#!if input == 1 && (s5 ??= this["1"])
}}}{{{#!if input > 1 && input < 5 && (s1 ??= this["1"]; s2 ??= this["2"]; s4 ??= this["3"]; s5 ??= this["4"])
}}}{{{#!if input > 4 && (s1 ??= this["1"]; s2 ??= this["2"]; s3 ??= this["3"]; s4 ??= this["4"]; s5 ??= this["5"]; s6 ??= this["6"]; s7 ??= this["7"]; s8 ??= this["8"]; s9 ??= this["9"])
}}}}}}
## 유형 제작법
{{{#!if !shapeless && (pat || pat1 || pat2 || pat3)
{{{#!if keys = {"A":null,"B":null,"C":null,"D":null,"E":null,"F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":null,"N":null,"O":null,"P":null,"Q":null,"R":null,"S":null,"T":null,"U":null,"V":null,"W":null,"X":null,"Y":null,"Z":null,"a":null,"b":null,"c":null,"d":null,"e":null,"f":null,"g":null,"h":null,"i":null,"j":null,"k":null,"l":null,"m":null,"n":null,"o":null,"p":null,"q":null,"r":null,"s":null,"t":null,"u":null,"v":null,"w":null,"x":null,"y":null,"z":null,"#":null,"_":null, "-":null, " ":null}
}}}
### 같은 이름의 변수 존재시 keys에 값 할당
{{{#!if A != null && (keys["A"] = A)
}}}{{{#!if B != null && (keys["B"] = B)
}}}{{{#!if C != null && (keys["C"] = C)
}}}{{{#!if D != null && (keys["D"] = D)
}}}{{{#!if E != null && (keys["E"] = E)
}}}{{{#!if F != null && (keys["F"] = F)
}}}{{{#!if G != null && (keys["G"] = G)
}}}{{{#!if H != null && (keys["H"] = H)
}}}{{{#!if I != null && (keys["I"] = I)
}}}{{{#!if J != null && (keys["J"] = J)
}}}{{{#!if K != null && (keys["K"] = K)
}}}{{{#!if L != null && (keys["L"] = L)
}}}{{{#!if M != null && (keys["M"] = M)
}}}{{{#!if N != null && (keys["N"] = N)
}}}{{{#!if O != null && (keys["O"] = O)
}}}{{{#!if P != null && (keys["P"] = P)
}}}{{{#!if Q != null && (keys["Q"] = Q)
}}}{{{#!if R != null && (keys["R"] = R)
}}}{{{#!if S != null && (keys["S"] = S)
}}}{{{#!if T != null && (keys["T"] = T)
}}}{{{#!if U != null && (keys["U"] = U)
}}}{{{#!if V != null && (keys["V"] = V)
}}}{{{#!if W != null && (keys["W"] = W)
}}}{{{#!if X != null && (keys["X"] = X)
}}}{{{#!if Y != null && (keys["Y"] = Y)
}}}{{{#!if Z != null && (keys["Z"] = Z)
}}}{{{#!if a != null && (keys["a"] = a)
}}}{{{#!if b != null && (keys["b"] = b)
}}}{{{#!if c != null && (keys["c"] = c)
}}}{{{#!if d != null && (keys["d"] = d)
}}}{{{#!if e != null && (keys["e"] = e)
}}}{{{#!if f != null && (keys["f"] = f)
}}}{{{#!if g != null && (keys["g"] = g)
}}}{{{#!if h != null && (keys["h"] = h)
}}}{{{#!if i != null && (keys["i"] = i)
}}}{{{#!if j != null && (keys["j"] = j)
}}}{{{#!if k != null && (keys["k"] = k)
}}}{{{#!if l != null && (keys["l"] = l)
}}}{{{#!if m != null && (keys["m"] = m)
}}}{{{#!if n != null && (keys["n"] = n)
}}}{{{#!if o != null && (keys["o"] = o)
}}}{{{#!if p != null && (keys["p"] = p)
}}}{{{#!if q != null && (keys["q"] = q)
}}}{{{#!if r != null && (keys["r"] = r)
}}}{{{#!if s != null && (keys["s"] = s)
}}}{{{#!if t != null && (keys["t"] = t)
}}}{{{#!if u != null && (keys["u"] = u)
}}}{{{#!if v != null && (keys["v"] = v)
}}}{{{#!if w != null && (keys["w"] = w)
}}}{{{#!if x != null && (keys["x"] = x)
}}}{{{#!if y != null && (keys["y"] = y)
}}}{{{#!if z != null && (keys["z"] = z)
}}}{{{#!if this["#"] != null && (keys["#"] = this["#"])
}}}
### pat 파싱 및 null.length 방지를 위해 빈 문자열 할당
{{{#!if pat != null
{{{#!if pat1 = pat
{{{#!if (sep = pat1.indexOf("/")) != -1
{{{#!if pat2 = pat1.substring(sep+1); pat1 = pat1.substring(0,sep)
}}}{{{#!if (sep = pat2.indexOf("/")) != -1
{{{#!if pat3 = pat2.substring(sep+1); pat2 = pat2.substring(0,sep)
}}}}}}}}}}}}}}}{{{#!if pat1 ??= ""; pat2 ??= ""; pat3 ??= ""
}}}
### 제작법 행, 열 개수
{{{#!if col = pat1.length > pat2.length ? (pat1.length > pat3.length ? pat1.length : pat3.length) : (pat2.length > pat3.length ? pat2.length : pat3.length)
}}}{{{#!if row = pat3 ? 3 : pat2 ? 2 : 1
}}}
### 제작법 행, 열 개수에 따라 슬롯 배치 및 값 할당
{{{#!if row == 3
{{{#!if col == 3 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1,2)]; s3 ??= keys[pat1.substring(2)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1,2)]; s6 ??= keys[pat2.substring(2)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1,2)]; s9 ??= keys[pat3.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2]; s8 ??= keys[pat3])
}}}}}}{{{#!if row == 2
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)]; s7 ??= keys[pat2.substring(0,1)]; s8 ??= keys[pat2.substring(1,2)]; s9 ??= keys[pat2.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2];)
}}}}}}{{{#!if row == 1
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)])
}}}{{{#!if col == 2 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1)])
}}}{{{#!if col == 1 && (s5 ??= keys[pat1];)
}}}}}}}}}
## s1 세부속성 확인 (; 검색)
{{{#!if (sep = s1.indexOf(";")) != -1
{{{#!if s1Attr = " " + s1.substring(sep+1)
}}}{{{#!if s1 = s1.substring(0,sep).trim()
}}}}}}
## s1Format 확인 (. 검색)
{{{#!if (delim = s1.lastIndexOf(".")) != -1
{{{#!if s1Format = s1.substring(delim+1)
}}}{{{#!if s1Format = ((s1Format == "gif") || (s1Format == "webp") || (s1Format == "png") || (s1Format == "jpg") || (s1Format == "svg") || (s1Format == "bmp")) ? s1Format : null
}}}{{{#!if s1 = (s1Format != null) ? s1.substring(0,delim) : s1
}}}}}}{{{#!if s1Format ??= "png"
}}}
## s1 각 세부속성 확인
{{{#!if s1Attr
### s1Link 확인 ([[]] 검색)
{{{#!if ((delim = s1Attr.indexOf("[[")) != -1) && ((endDelim = s1Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s1Link = s1Attr.substring(delim+2,endDelim)
}}}{{{#!if s1Attr = s1Attr.substring(0,delim) + s1Attr.substring(endDelim+2)
}}}
#### s1Anchor 확인 (# 검색)
{{{#!if (delim = s1Link.indexOf("#")) != -1
{{{#!if s1Anchor = s1Link.substring(delim+1)
}}}{{{#!if s1Link = s1Link.substring(0,delim)
}}}}}}{{{#!if s1Anchor ??= s1.substring(s1.indexOf("/")+1)
}}}{{{#!if s1Link ||= calleeTitle
}}}}}}
### s1Count 확인
{{{#!if s1Attr = s1Attr.trim()
}}}{{{#!if s1Count = s1Attr ? +s1Attr : null
}}}}}}
## s2 세부속성 확인 (; 검색)
{{{#!if (sep = s2.indexOf(";")) != -1
{{{#!if s2Attr = " " + s2.substring(sep+1)
}}}{{{#!if s2 = s2.substring(0,sep).trim()
}}}}}}
## s2Format 확인 (. 검색)
{{{#!if (delim = s2.lastIndexOf(".")) != -1
{{{#!if s2Format = s2.substring(delim+1)
}}}{{{#!if s2Format = ((s2Format == "gif") || (s2Format == "webp") || (s2Format == "png") || (s2Format == "jpg") || (s2Format == "svg") || (s2Format == "bmp")) ? s2Format : null
}}}{{{#!if s2 = (s2Format != null) ? s2.substring(0,delim) : s2
}}}}}}{{{#!if s2Format ??= "png"
}}}
## s2 각 세부속성 확인
{{{#!if s2Attr
### s2Link 확인 ([[]] 검색)
{{{#!if ((delim = s2Attr.indexOf("[[")) != -1) && ((endDelim = s2Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s2Link = s2Attr.substring(delim+2,endDelim)
}}}{{{#!if s2Attr = s2Attr.substring(0,delim) + s2Attr.substring(endDelim+2)
}}}
#### s2Anchor 확인 (# 검색)
{{{#!if (delim = s2Link.indexOf("#")) != -1
{{{#!if s2Anchor = s2Link.substring(delim+1)
}}}{{{#!if s2Link = s2Link.substring(0,delim)
}}}}}}{{{#!if s2Anchor ??= s2.substring(s2.indexOf("/")+1)
}}}{{{#!if s2Link ||= calleeTitle
}}}}}}
### s2Count 확인
{{{#!if s2Attr = s2Attr.trim()
}}}{{{#!if s2Count = s2Attr ? +s2Attr : null
}}}}}}
## s3 세부속성 확인 (; 검색)
{{{#!if (sep = s3.indexOf(";")) != -1
{{{#!if s3Attr = " " + s3.substring(sep+1)
}}}{{{#!if s3 = s3.substring(0,sep).trim()
}}}}}}
## s3Format 확인 (. 검색)
{{{#!if (delim = s3.lastIndexOf(".")) != -1
{{{#!if s3Format = s3.substring(delim+1)
}}}{{{#!if s3Format = ((s3Format == "gif") || (s3Format == "webp") || (s3Format == "png") || (s3Format == "jpg") || (s3Format == "svg") || (s3Format == "bmp")) ? s3Format : null
}}}{{{#!if s3 = (s3Format != null) ? s3.substring(0,delim) : s3
}}}}}}{{{#!if s3Format ??= "png"
}}}
## s3 각 세부속성 확인
{{{#!if s3Attr
### s3Link 확인 ([[]] 검색)
{{{#!if ((delim = s3Attr.indexOf("[[")) != -1) && ((endDelim = s3Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s3Link = s3Attr.substring(delim+2,endDelim)
}}}{{{#!if s3Attr = s3Attr.substring(0,delim) + s3Attr.substring(endDelim+2)
}}}
#### s3Anchor 확인 (# 검색)
{{{#!if (delim = s3Link.indexOf("#")) != -1
{{{#!if s3Anchor = s3Link.substring(delim+1)
}}}{{{#!if s3Link = s3Link.substring(0,delim)
}}}}}}{{{#!if s3Anchor ??= s3.substring(s3.indexOf("/")+1)
}}}{{{#!if s3Link ||= calleeTitle
}}}}}}
### s3Count 확인
{{{#!if s3Attr = s3Attr.trim()
}}}{{{#!if s3Count = s3Attr ? +s3Attr : null
}}}}}}
## s4 세부속성 확인 (; 검색)
{{{#!if (sep = s4.indexOf(";")) != -1
{{{#!if s4Attr = " " + s4.substring(sep+1)
}}}{{{#!if s4 = s4.substring(0,sep).trim()
}}}}}}
## s4Format 확인 (. 검색)
{{{#!if (delim = s4.lastIndexOf(".")) != -1
{{{#!if s4Format = s4.substring(delim+1)
}}}{{{#!if s4Format = ((s4Format == "gif") || (s4Format == "webp") || (s4Format == "png") || (s4Format == "jpg") || (s4Format == "svg") || (s4Format == "bmp")) ? s4Format : null
}}}{{{#!if s4 = (s4Format != null) ? s4.substring(0,delim) : s4
}}}}}}{{{#!if s4Format ??= "png"
}}}
## s4 각 세부속성 확인
{{{#!if s4Attr
### s4Link 확인 ([[]] 검색)
{{{#!if ((delim = s4Attr.indexOf("[[")) != -1) && ((endDelim = s4Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s4Link = s4Attr.substring(delim+2,endDelim)
}}}{{{#!if s4Attr = s4Attr.substring(0,delim) + s4Attr.substring(endDelim+2)
}}}
#### s4Anchor 확인 (# 검색)
{{{#!if (delim = s4Link.indexOf("#")) != -1
{{{#!if s4Anchor = s4Link.substring(delim+1)
}}}{{{#!if s4Link = s4Link.substring(0,delim)
}}}}}}{{{#!if s4Anchor ??= s4.substring(s4.indexOf("/")+1)
}}}{{{#!if s4Link ||= calleeTitle
}}}}}}
### s4Count 확인
{{{#!if s4Attr = s4Attr.trim()
}}}{{{#!if s4Count = s4Attr ? +s4Attr : null
}}}}}}
## s5 세부속성 확인 (; 검색)
{{{#!if (sep = s5.indexOf(";")) != -1
{{{#!if s5Attr = " " + s5.substring(sep+1)
}}}{{{#!if s5 = s5.substring(0,sep).trim()
}}}}}}
## s5Format 확인 (. 검색)
{{{#!if (delim = s5.lastIndexOf(".")) != -1
{{{#!if s5Format = s5.substring(delim+1)
}}}{{{#!if s5Format = ((s5Format == "gif") || (s5Format == "webp") || (s5Format == "png") || (s5Format == "jpg") || (s5Format == "svg") || (s5Format == "bmp")) ? s5Format : null
}}}{{{#!if s5 = (s5Format != null) ? s5.substring(0,delim) : s5
}}}}}}{{{#!if s5Format ??= "png"
}}}
## s5 각 세부속성 확인
{{{#!if s5Attr
### s5Link 확인 ([[]] 검색)
{{{#!if ((delim = s5Attr.indexOf("[[")) != -1) && ((endDelim = s5Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s5Link = s5Attr.substring(delim+2,endDelim)
}}}{{{#!if s5Attr = s5Attr.substring(0,delim) + s5Attr.substring(endDelim+2)
}}}
#### s5Anchor 확인 (# 검색)
{{{#!if (delim = s5Link.indexOf("#")) != -1
{{{#!if s5Anchor = s5Link.substring(delim+1)
}}}{{{#!if s5Link = s5Link.substring(0,delim)
}}}}}}{{{#!if s5Anchor ??= s5.substring(s5.indexOf("/")+1)
}}}{{{#!if s5Link ||= calleeTitle
}}}}}}
### s5Count 확인
{{{#!if s5Attr = s5Attr.trim()
}}}{{{#!if s5Count = s5Attr ? +s5Attr : null
}}}}}}
## s6 세부속성 확인 (; 검색)
{{{#!if (sep = s6.indexOf(";")) != -1
{{{#!if s6Attr = " " + s6.substring(sep+1)
}}}{{{#!if s6 = s6.substring(0,sep).trim()
}}}}}}
## s6Format 확인 (. 검색)
{{{#!if (delim = s6.lastIndexOf(".")) != -1
{{{#!if s6Format = s6.substring(delim+1)
}}}{{{#!if s6Format = ((s6Format == "gif") || (s6Format == "webp") || (s6Format == "png") || (s6Format == "jpg") || (s6Format == "svg") || (s6Format == "bmp")) ? s6Format : null
}}}{{{#!if s6 = (s6Format != null) ? s6.substring(0,delim) : s6
}}}}}}{{{#!if s6Format ??= "png"
}}}
## s6 각 세부속성 확인
{{{#!if s6Attr
### s6Link 확인 ([[]] 검색)
{{{#!if ((delim = s6Attr.indexOf("[[")) != -1) && ((endDelim = s6Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s6Link = s6Attr.substring(delim+2,endDelim)
}}}{{{#!if s6Attr = s6Attr.substring(0,delim) + s6Attr.substring(endDelim+2)
}}}
#### s6Anchor 확인 (# 검색)
{{{#!if (delim = s6Link.indexOf("#")) != -1
{{{#!if s6Anchor = s6Link.substring(delim+1)
}}}{{{#!if s6Link = s6Link.substring(0,delim)
}}}}}}{{{#!if s6Anchor ??= s6.substring(s6.indexOf("/")+1)
}}}{{{#!if s6Link ||= calleeTitle
}}}}}}
### s6Count 확인
{{{#!if s6Attr = s6Attr.trim()
}}}{{{#!if s6Count = s6Attr ? +s6Attr : null
}}}}}}
## s7 세부속성 확인 (; 검색)
{{{#!if (sep = s7.indexOf(";")) != -1
{{{#!if s7Attr = " " + s7.substring(sep+1)
}}}{{{#!if s7 = s7.substring(0,sep).trim()
}}}}}}
## s7Format 확인 (. 검색)
{{{#!if (delim = s7.lastIndexOf(".")) != -1
{{{#!if s7Format = s7.substring(delim+1)
}}}{{{#!if s7Format = ((s7Format == "gif") || (s7Format == "webp") || (s7Format == "png") || (s7Format == "jpg") || (s7Format == "svg") || (s7Format == "bmp")) ? s7Format : null
}}}{{{#!if s7 = (s7Format != null) ? s7.substring(0,delim) : s7
}}}}}}{{{#!if s7Format ??= "png"
}}}
## s7 각 세부속성 확인
{{{#!if s7Attr
### s7Link 확인 ([[]] 검색)
{{{#!if ((delim = s7Attr.indexOf("[[")) != -1) && ((endDelim = s7Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s7Link = s7Attr.substring(delim+2,endDelim)
}}}{{{#!if s7Attr = s7Attr.substring(0,delim) + s7Attr.substring(endDelim+2)
}}}
#### s7Anchor 확인 (# 검색)
{{{#!if (delim = s7Link.indexOf("#")) != -1
{{{#!if s7Anchor = s7Link.substring(delim+1)
}}}{{{#!if s7Link = s7Link.substring(0,delim)
}}}}}}{{{#!if s7Anchor ??= s7.substring(s7.indexOf("/")+1)
}}}{{{#!if s7Link ||= calleeTitle
}}}}}}
### s7Count 확인
{{{#!if s7Attr = s7Attr.trim()
}}}{{{#!if s7Count = s7Attr ? +s7Attr : null
}}}}}}
## s8 세부속성 확인 (; 검색)
{{{#!if (sep = s8.indexOf(";")) != -1
{{{#!if s8Attr = " " + s8.substring(sep+1)
}}}{{{#!if s8 = s8.substring(0,sep).trim()
}}}}}}
## s8Format 확인 (. 검색)
{{{#!if (delim = s8.lastIndexOf(".")) != -1
{{{#!if s8Format = s8.substring(delim+1)
}}}{{{#!if s8Format = ((s8Format == "gif") || (s8Format == "webp") || (s8Format == "png") || (s8Format == "jpg") || (s8Format == "svg") || (s8Format == "bmp")) ? s8Format : null
}}}{{{#!if s8 = (s8Format != null) ? s8.substring(0,delim) : s8
}}}}}}{{{#!if s8Format ??= "png"
}}}
## s8 각 세부속성 확인
{{{#!if s8Attr
### s8Link 확인 ([[]] 검색)
{{{#!if ((delim = s8Attr.indexOf("[[")) != -1) && ((endDelim = s8Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s8Link = s8Attr.substring(delim+2,endDelim)
}}}{{{#!if s8Attr = s8Attr.substring(0,delim) + s8Attr.substring(endDelim+2)
}}}
#### s8Anchor 확인 (# 검색)
{{{#!if (delim = s8Link.indexOf("#")) != -1
{{{#!if s8Anchor = s8Link.substring(delim+1)
}}}{{{#!if s8Link = s8Link.substring(0,delim)
}}}}}}{{{#!if s8Anchor ??= s8.substring(s8.indexOf("/")+1)
}}}{{{#!if s8Link ||= calleeTitle
}}}}}}
### s8Count 확인
{{{#!if s8Attr = s8Attr.trim()
}}}{{{#!if s8Count = s8Attr ? +s8Attr : null
}}}}}}
## s9 세부속성 확인 (; 검색)
{{{#!if (sep = s9.indexOf(";")) != -1
{{{#!if s9Attr = " " + s9.substring(sep+1)
}}}{{{#!if s9 = s9.substring(0,sep).trim()
}}}}}}
## s9Format 확인 (. 검색)
{{{#!if (delim = s9.lastIndexOf(".")) != -1
{{{#!if s9Format = s9.substring(delim+1)
}}}{{{#!if s9Format = ((s9Format == "gif") || (s9Format == "webp") || (s9Format == "png") || (s9Format == "jpg") || (s9Format == "svg") || (s9Format == "bmp")) ? s9Format : null
}}}{{{#!if s9 = (s9Format != null) ? s9.substring(0,delim) : s9
}}}}}}{{{#!if s9Format ??= "png"
}}}
## s9 각 세부속성 확인
{{{#!if s9Attr
### s9Link 확인 ([[]] 검색)
{{{#!if ((delim = s9Attr.indexOf("[[")) != -1) && ((endDelim = s9Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s9Link = s9Attr.substring(delim+2,endDelim)
}}}{{{#!if s9Attr = s9Attr.substring(0,delim) + s9Attr.substring(endDelim+2)
}}}
#### s9Anchor 확인 (# 검색)
{{{#!if (delim = s9Link.indexOf("#")) != -1
{{{#!if s9Anchor = s9Link.substring(delim+1)
}}}{{{#!if s9Link = s9Link.substring(0,delim)
}}}}}}{{{#!if s9Anchor ??= s9.substring(s9.indexOf("/")+1)
}}}{{{#!if s9Link ||= calleeTitle
}}}}}}
### s9Count 확인
{{{#!if s9Attr = s9Attr.trim()
}}}{{{#!if s9Count = s9Attr ? +s9Attr : null
}}}}}}
## output 세부속성 확인 (; 검색)
{{{#!if (sep = output.indexOf(";")) != -1
{{{#!if outputAttr = " " + output.substring(sep+1)
}}}{{{#!if output = output.substring(0,sep).trim()
}}}}}}
## outputFormat 확인 (. 검색)
{{{#!if (delim = output.lastIndexOf(".")) != -1
{{{#!if outputFormat = output.substring(delim+1)
}}}{{{#!if outputFormat = ((outputFormat == "gif") || (outputFormat == "webp") || (outputFormat == "png") || (outputFormat == "jpg") || (outputFormat == "svg") || (outputFormat == "bmp")) ? outputFormat : null
}}}{{{#!if output = (outputFormat != null) ? output.substring(0,delim) : output
}}}}}}{{{#!if outputFormat ??= "png"
}}}
## output 각 세부속성 확인
{{{#!if outputAttr
### outputLink 확인 ([[]] 검색)
{{{#!if ((delim = outputAttr.indexOf("[[")) != -1) && ((endDelim = outputAttr.indexOf("]]",delim+2)) != -1)
{{{#!if outputLink = outputAttr.substring(delim+2,endDelim)
}}}{{{#!if outputAttr = outputAttr.substring(0,delim) + outputAttr.substring(endDelim+2)
}}}
#### outputAnchor 확인 (# 검색)
{{{#!if (delim = outputLink.indexOf("#")) != -1
{{{#!if outputAnchor = outputLink.substring(delim+1)
}}}{{{#!if outputLink = outputLink.substring(0,delim)
}}}}}}{{{#!if outputAnchor ??= output.substring(output.indexOf("/")+1)
}}}{{{#!if outputLink ||= calleeTitle
}}}}}}
### outputCount 확인
{{{#!if outputAttr = outputAttr.trim()
}}}{{{#!if outputCount = outputAttr ? +outputAttr : null
}}}}}}
#!wiki class="base-container"
{{{#!wiki class="input-grid"
{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s1Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s1Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s2Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s2Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:mc/charcoal.|width=32]]}}}{{{#!if s3Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s3Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s4Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s4Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s5Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s5Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s6Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s6Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s7Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s7Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:mc/stick.|width=32]]}}}{{{#!if s8Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s8Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s9Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s9Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}}}}{{{#!wiki class="arrow"
[[파일:마인크래프트/GUI/제작대/화살표.svg|width=40]]}}}{{{#!wiki class="end-column"
{{{#!wiki class="type-icon"
{{{#!if typeIcon
[[파일:마인크래프트/GUI/제작법/타입.svg|width=18]]}}}}}}{{{#!wiki class="output"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리결과.svg|width=52]]}}}{{{#!wiki class="output-content item"
[[파일:mc/torch; 4.|width=32]]}}}{{{#!if outputCount != null
{{{#!wiki class="output-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if outputLink != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="type-icon"
}}}}}}#!if cap != null
{{{-2 }}}#!style
.base-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 216px;
aspect-ratio: 216 / 124;
border: 2px solid;
border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB;
background-color: #C6C6C6;
font-size: 0;
}
.input-grid {
display: flex;
flex-wrap: wrap;
width: calc(108/212*100%);
aspect-ratio: 1;
}
.input {
width: calc(1/3*100%);
aspect-ratio: 1;
}
.slot {
width: 100%;
aspect-ratio: 1;
background-color: #8B8B8B;
}
.input:hover .item, .output:hover .item { background-color: #C5C5C5; }
.input-content {
width: 100%;
aspect-ratio: 1;
margin-top: -100%;
}
.item {
padding: calc(2/36*100%);
background-clip: content-box;
}
.arrow { width: calc(40/212*100%); }
.end-column {
display: inline-flex;
justify-content: space-between;
align-items: flex-end;
flex-direction: column;
width: calc(52/212*100%);
aspect-ratio: 52 / 108;
}
.type-icon {
width: calc(18/52*100%);
aspect-ratio: 1;
}
.output {
width: 100%;
aspect-ratio: 1;
}
.output-content {
width: 100%;
aspect-ratio: 1;
padding: calc(8/52*100%);
margin-top: -100%;
}
.output .item { padding: calc(10/52*100%); }
만일 특정 아이템의 조합을 금지하기 원하거나 조합법을 다르게 변경하고싶다면 조합법을 삭제할 필요가 있다. 이 코드는 유형/무형 조합법을 가리지 않고 <아이템>매개변수에 입력된 해당 아이템이 결과물로 나오는 모든 작업대 조합법을 삭제한다.#!syntax java
recipes.remove(<아이템>);
다음의 예는 다른 모드가 추가하는 작업대 조합법을 포함해 TNT가 결과물로 나오는 모든 작업대 조합법을 삭제한다:#!syntax java
recipes.remove(<minecraft:tnt>);
#!wiki if문 접기/펼치기
{{{#!wiki 레거시 문법 접기/펼치기
## sNxN
{{{#!if s3x3
{{{#!if s1 ??= s3x3; s2 ??= s3x3; s3 ??= s3x3; s4 ??= s3x3; s5 ??= s3x3; s6 ??= s3x3; s7 ??= s3x3; s8 ??= s3x3; s9 ??= s3x3
}}}{{{#!if s3x3확장자
{{{#!if s1Format ??= s3x3확장자; s2Format ??= s3x3확장자; s3Format ??= s3x3확장자; s4Format ??= s3x3확장자; s5Format ??= s3x3확장자; s6Format ??= s3x3확장자; s7Format ??= s3x3확장자; s8Format ??= s3x3확장자; s9Format ??= s3x3확장자
}}}}}}{{{#!if l3x3
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a3x3 = l3x3.substring(delim+1)
}}}{{{#!if l3x3 = l3x3.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l3x3; s2Link ??= l3x3; s3Link ??= l3x3; s4Link ??= l3x3; s5Link ??= l3x3; s6Link ??= l3x3; s7Link ??= l3x3; s8Link ??= l3x3; s9Link ??= l3x3
}}}}}}{{{#!if a3x3
{{{#!if s1Anchor ??= a3x3; s2Anchor ??= a3x3; s3Anchor ??= a3x3; s4Anchor ??= a3x3; s5Anchor ??= a3x3; s6Anchor ??= a3x3; s7Anchor ??= a3x3; s8Anchor ??= a3x3; s9Anchor ??= a3x3
}}}}}}{{{#!if c3x3
{{{#!if s1Count ??= c3x3; s2Count ??= c3x3; s3Count ??= c3x3; s4Count ??= c3x3; s5Count ??= c3x3; s6Count ??= c3x3; s7Count ??= c3x3; s8Count ??= c3x3; s9Count ??= c3x3
}}}}}}}}}{{{#!if s2x2
{{{#!if s1 ??= s2x2; s2 ??= s2x2; s4 ??= s2x2; s5 ??= s2x2
}}}{{{#!if s2x2확장자
{{{#!if s1Format ??= s2x2확장자; s2Format ??= s2x2확장자; s4Format ??= s2x2확장자; s5Format ??= s2x2확장자
}}}}}}{{{#!if l2x2
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a2x2 = l2x2.substring(delim+1)
}}}{{{#!if l2x2 = l2x2.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l2x2; s2Link ??= l2x2; s4Link ??= l2x2; s5Link ??= l2x2
}}}}}}{{{#!if a2x2
{{{#!if s1Anchor ??= a2x2; s2Anchor ??= a2x2; s4Anchor ??= a2x2; s5Anchor ??= a2x2
}}}}}}{{{#!if c2x2
{{{#!if s1Count ??= c2x2; s2Count ??= c2x2; s4Count ??= c2x2; s5Count ??= c2x2
}}}}}}}}}
## sN확장자
{{{#!if s1Format ??= s1확장자; s2Format ??= s2확장자; s3Format ??= s3확장자; s4Format ??= s4확장자; s5Format ??= s5확장자; s6Format ??= s6확장자; s7Format ??= s7확장자; s8Format ??= s8확장자; s9Format ??= s9확장자; outputFormat ??= output확장자
}}}
## lN
{{{#!if l1
{{{#!if s1 += "; [[" + l1 + "]]"
}}}}}}{{{#!if l2
{{{#!if s2 += "; [[" + l2 + "]]"
}}}}}}{{{#!if l3
{{{#!if s3 += "; [[" + l3 + "]]"
}}}}}}{{{#!if l4
{{{#!if s4 += "; [[" + l4 + "]]"
}}}}}}{{{#!if l5
{{{#!if s5 += "; [[" + l5 + "]]"
}}}}}}{{{#!if l6
{{{#!if s6 += "; [[" + l6 + "]]"
}}}}}}{{{#!if l7
{{{#!if s7 += "; [[" + l7 + "]]"
}}}}}}{{{#!if l8
{{{#!if s8 += "; [[" + l8 + "]]"
}}}}}}{{{#!if l9
{{{#!if s9 += "; [[" + l9 + "]]"
}}}}}}
## aN
{{{#!if s1Anchor ??= a1; s2Anchor ??= a2; s3Anchor ??= a3; s4Anchor ??= a4; s5Anchor ??= a5; s6Anchor ??= a6; s7Anchor ??= a7; s8Anchor ??= a8; s9Anchor ??= a9; outputAnchor ??= output_anchor
}}}
## cN, qty
{{{#!if s1Count ??= c1; s2Count ??= c2; s3Count ??= c3; s4Count ??= c4; s5Count ??= c5; s6Count ??= c6; s7Count ??= c7; s8Count ??= c8; s9Count ??= c9; outputCount ??= qty
}}}
## b, l, f
{{{#!if back ??= (b == "b") ? true : null; shapeless ??= (l == "l") ? true : null; fixed ??= (f == "f") ? true : null
}}}}}}
## type 확인
{{{#!if arrowSuf = (back != null) ? "B" : ""
}}}{{{#!if shapeless = (shapeless != null) ? true : false
}}}{{{#!if fixed = (fixed != null) ? true : false
}}}{{{#!if typeIcon = shapeless ? "shapeless" : fixed ? "fixed" : ""
}}}
## 2x2, 3x3
{{{#!if this['2x2']
{{{#!if s1 ??= this['2x2']; s2 ??= this['2x2']; s4 ??= this['2x2']; s5 ??= this['2x2']
}}}}}}{{{#!if this['3x3']
{{{#!if s1 ??= this['3x3']; s2 ??= this['3x3']; s3 ??= this['3x3']; s4 ??= this['3x3']; s5 ??= this['3x3']; s6 ??= this['3x3']; s7 ??= this['3x3']; s8 ??= this['3x3']; s9 ??= this['3x3']
}}}}}}
## 무형 제작법
{{{#!if shapeless
## N = null일 시 N+1값 할당
{{{#!if this["8"] ??= this["9"]
}}}{{{#!if this["7"] ??= this["8"]
}}}{{{#!if this["6"] ??= this["7"]
}}}{{{#!if this["5"] ??= this["6"]
}}}{{{#!if this["4"] ??= this["5"]
}}}{{{#!if this["3"] ??= this["4"]
}}}{{{#!if this["2"] ??= this["3"]
}}}{{{#!if this["1"] ??= this["2"]
}}}
### input 개수
{{{#!if input = this["9"] ? 9 : this["8"] ? 8 : this["7"] ? 7 : this["6"] ? 6 : this["5"] ? 5 : this["4"] ? 4 : this["3"] ? 3 : this["2"] ? 2 : 1
}}}
### input 값에 따라 슬롯 배치 및 값 할당
{{{#!if input == 1 && (s5 ??= this["1"])
}}}{{{#!if input > 1 && input < 5 && (s1 ??= this["1"]; s2 ??= this["2"]; s4 ??= this["3"]; s5 ??= this["4"])
}}}{{{#!if input > 4 && (s1 ??= this["1"]; s2 ??= this["2"]; s3 ??= this["3"]; s4 ??= this["4"]; s5 ??= this["5"]; s6 ??= this["6"]; s7 ??= this["7"]; s8 ??= this["8"]; s9 ??= this["9"])
}}}}}}
## 유형 제작법
{{{#!if !shapeless && (pat || pat1 || pat2 || pat3)
{{{#!if keys = {"A":null,"B":null,"C":null,"D":null,"E":null,"F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":null,"N":null,"O":null,"P":null,"Q":null,"R":null,"S":null,"T":null,"U":null,"V":null,"W":null,"X":null,"Y":null,"Z":null,"a":null,"b":null,"c":null,"d":null,"e":null,"f":null,"g":null,"h":null,"i":null,"j":null,"k":null,"l":null,"m":null,"n":null,"o":null,"p":null,"q":null,"r":null,"s":null,"t":null,"u":null,"v":null,"w":null,"x":null,"y":null,"z":null,"#":null,"_":null, "-":null, " ":null}
}}}
### 같은 이름의 변수 존재시 keys에 값 할당
{{{#!if A != null && (keys["A"] = A)
}}}{{{#!if B != null && (keys["B"] = B)
}}}{{{#!if C != null && (keys["C"] = C)
}}}{{{#!if D != null && (keys["D"] = D)
}}}{{{#!if E != null && (keys["E"] = E)
}}}{{{#!if F != null && (keys["F"] = F)
}}}{{{#!if G != null && (keys["G"] = G)
}}}{{{#!if H != null && (keys["H"] = H)
}}}{{{#!if I != null && (keys["I"] = I)
}}}{{{#!if J != null && (keys["J"] = J)
}}}{{{#!if K != null && (keys["K"] = K)
}}}{{{#!if L != null && (keys["L"] = L)
}}}{{{#!if M != null && (keys["M"] = M)
}}}{{{#!if N != null && (keys["N"] = N)
}}}{{{#!if O != null && (keys["O"] = O)
}}}{{{#!if P != null && (keys["P"] = P)
}}}{{{#!if Q != null && (keys["Q"] = Q)
}}}{{{#!if R != null && (keys["R"] = R)
}}}{{{#!if S != null && (keys["S"] = S)
}}}{{{#!if T != null && (keys["T"] = T)
}}}{{{#!if U != null && (keys["U"] = U)
}}}{{{#!if V != null && (keys["V"] = V)
}}}{{{#!if W != null && (keys["W"] = W)
}}}{{{#!if X != null && (keys["X"] = X)
}}}{{{#!if Y != null && (keys["Y"] = Y)
}}}{{{#!if Z != null && (keys["Z"] = Z)
}}}{{{#!if a != null && (keys["a"] = a)
}}}{{{#!if b != null && (keys["b"] = b)
}}}{{{#!if c != null && (keys["c"] = c)
}}}{{{#!if d != null && (keys["d"] = d)
}}}{{{#!if e != null && (keys["e"] = e)
}}}{{{#!if f != null && (keys["f"] = f)
}}}{{{#!if g != null && (keys["g"] = g)
}}}{{{#!if h != null && (keys["h"] = h)
}}}{{{#!if i != null && (keys["i"] = i)
}}}{{{#!if j != null && (keys["j"] = j)
}}}{{{#!if k != null && (keys["k"] = k)
}}}{{{#!if l != null && (keys["l"] = l)
}}}{{{#!if m != null && (keys["m"] = m)
}}}{{{#!if n != null && (keys["n"] = n)
}}}{{{#!if o != null && (keys["o"] = o)
}}}{{{#!if p != null && (keys["p"] = p)
}}}{{{#!if q != null && (keys["q"] = q)
}}}{{{#!if r != null && (keys["r"] = r)
}}}{{{#!if s != null && (keys["s"] = s)
}}}{{{#!if t != null && (keys["t"] = t)
}}}{{{#!if u != null && (keys["u"] = u)
}}}{{{#!if v != null && (keys["v"] = v)
}}}{{{#!if w != null && (keys["w"] = w)
}}}{{{#!if x != null && (keys["x"] = x)
}}}{{{#!if y != null && (keys["y"] = y)
}}}{{{#!if z != null && (keys["z"] = z)
}}}{{{#!if this["#"] != null && (keys["#"] = this["#"])
}}}
### pat 파싱 및 null.length 방지를 위해 빈 문자열 할당
{{{#!if pat != null
{{{#!if pat1 = pat
{{{#!if (sep = pat1.indexOf("/")) != -1
{{{#!if pat2 = pat1.substring(sep+1); pat1 = pat1.substring(0,sep)
}}}{{{#!if (sep = pat2.indexOf("/")) != -1
{{{#!if pat3 = pat2.substring(sep+1); pat2 = pat2.substring(0,sep)
}}}}}}}}}}}}}}}{{{#!if pat1 ??= ""; pat2 ??= ""; pat3 ??= ""
}}}
### 제작법 행, 열 개수
{{{#!if col = pat1.length > pat2.length ? (pat1.length > pat3.length ? pat1.length : pat3.length) : (pat2.length > pat3.length ? pat2.length : pat3.length)
}}}{{{#!if row = pat3 ? 3 : pat2 ? 2 : 1
}}}
### 제작법 행, 열 개수에 따라 슬롯 배치 및 값 할당
{{{#!if row == 3
{{{#!if col == 3 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1,2)]; s3 ??= keys[pat1.substring(2)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1,2)]; s6 ??= keys[pat2.substring(2)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1,2)]; s9 ??= keys[pat3.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2]; s8 ??= keys[pat3])
}}}}}}{{{#!if row == 2
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)]; s7 ??= keys[pat2.substring(0,1)]; s8 ??= keys[pat2.substring(1,2)]; s9 ??= keys[pat2.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2];)
}}}}}}{{{#!if row == 1
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)])
}}}{{{#!if col == 2 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1)])
}}}{{{#!if col == 1 && (s5 ??= keys[pat1];)
}}}}}}}}}
## s1 세부속성 확인 (; 검색)
{{{#!if (sep = s1.indexOf(";")) != -1
{{{#!if s1Attr = " " + s1.substring(sep+1)
}}}{{{#!if s1 = s1.substring(0,sep).trim()
}}}}}}
## s1Format 확인 (. 검색)
{{{#!if (delim = s1.lastIndexOf(".")) != -1
{{{#!if s1Format = s1.substring(delim+1)
}}}{{{#!if s1Format = ((s1Format == "gif") || (s1Format == "webp") || (s1Format == "png") || (s1Format == "jpg") || (s1Format == "svg") || (s1Format == "bmp")) ? s1Format : null
}}}{{{#!if s1 = (s1Format != null) ? s1.substring(0,delim) : s1
}}}}}}{{{#!if s1Format ??= "png"
}}}
## s1 각 세부속성 확인
{{{#!if s1Attr
### s1Link 확인 ([[]] 검색)
{{{#!if ((delim = s1Attr.indexOf("[[")) != -1) && ((endDelim = s1Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s1Link = s1Attr.substring(delim+2,endDelim)
}}}{{{#!if s1Attr = s1Attr.substring(0,delim) + s1Attr.substring(endDelim+2)
}}}
#### s1Anchor 확인 (# 검색)
{{{#!if (delim = s1Link.indexOf("#")) != -1
{{{#!if s1Anchor = s1Link.substring(delim+1)
}}}{{{#!if s1Link = s1Link.substring(0,delim)
}}}}}}{{{#!if s1Anchor ??= s1.substring(s1.indexOf("/")+1)
}}}{{{#!if s1Link ||= calleeTitle
}}}}}}
### s1Count 확인
{{{#!if s1Attr = s1Attr.trim()
}}}{{{#!if s1Count = s1Attr ? +s1Attr : null
}}}}}}
## s2 세부속성 확인 (; 검색)
{{{#!if (sep = s2.indexOf(";")) != -1
{{{#!if s2Attr = " " + s2.substring(sep+1)
}}}{{{#!if s2 = s2.substring(0,sep).trim()
}}}}}}
## s2Format 확인 (. 검색)
{{{#!if (delim = s2.lastIndexOf(".")) != -1
{{{#!if s2Format = s2.substring(delim+1)
}}}{{{#!if s2Format = ((s2Format == "gif") || (s2Format == "webp") || (s2Format == "png") || (s2Format == "jpg") || (s2Format == "svg") || (s2Format == "bmp")) ? s2Format : null
}}}{{{#!if s2 = (s2Format != null) ? s2.substring(0,delim) : s2
}}}}}}{{{#!if s2Format ??= "png"
}}}
## s2 각 세부속성 확인
{{{#!if s2Attr
### s2Link 확인 ([[]] 검색)
{{{#!if ((delim = s2Attr.indexOf("[[")) != -1) && ((endDelim = s2Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s2Link = s2Attr.substring(delim+2,endDelim)
}}}{{{#!if s2Attr = s2Attr.substring(0,delim) + s2Attr.substring(endDelim+2)
}}}
#### s2Anchor 확인 (# 검색)
{{{#!if (delim = s2Link.indexOf("#")) != -1
{{{#!if s2Anchor = s2Link.substring(delim+1)
}}}{{{#!if s2Link = s2Link.substring(0,delim)
}}}}}}{{{#!if s2Anchor ??= s2.substring(s2.indexOf("/")+1)
}}}{{{#!if s2Link ||= calleeTitle
}}}}}}
### s2Count 확인
{{{#!if s2Attr = s2Attr.trim()
}}}{{{#!if s2Count = s2Attr ? +s2Attr : null
}}}}}}
## s3 세부속성 확인 (; 검색)
{{{#!if (sep = s3.indexOf(";")) != -1
{{{#!if s3Attr = " " + s3.substring(sep+1)
}}}{{{#!if s3 = s3.substring(0,sep).trim()
}}}}}}
## s3Format 확인 (. 검색)
{{{#!if (delim = s3.lastIndexOf(".")) != -1
{{{#!if s3Format = s3.substring(delim+1)
}}}{{{#!if s3Format = ((s3Format == "gif") || (s3Format == "webp") || (s3Format == "png") || (s3Format == "jpg") || (s3Format == "svg") || (s3Format == "bmp")) ? s3Format : null
}}}{{{#!if s3 = (s3Format != null) ? s3.substring(0,delim) : s3
}}}}}}{{{#!if s3Format ??= "png"
}}}
## s3 각 세부속성 확인
{{{#!if s3Attr
### s3Link 확인 ([[]] 검색)
{{{#!if ((delim = s3Attr.indexOf("[[")) != -1) && ((endDelim = s3Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s3Link = s3Attr.substring(delim+2,endDelim)
}}}{{{#!if s3Attr = s3Attr.substring(0,delim) + s3Attr.substring(endDelim+2)
}}}
#### s3Anchor 확인 (# 검색)
{{{#!if (delim = s3Link.indexOf("#")) != -1
{{{#!if s3Anchor = s3Link.substring(delim+1)
}}}{{{#!if s3Link = s3Link.substring(0,delim)
}}}}}}{{{#!if s3Anchor ??= s3.substring(s3.indexOf("/")+1)
}}}{{{#!if s3Link ||= calleeTitle
}}}}}}
### s3Count 확인
{{{#!if s3Attr = s3Attr.trim()
}}}{{{#!if s3Count = s3Attr ? +s3Attr : null
}}}}}}
## s4 세부속성 확인 (; 검색)
{{{#!if (sep = s4.indexOf(";")) != -1
{{{#!if s4Attr = " " + s4.substring(sep+1)
}}}{{{#!if s4 = s4.substring(0,sep).trim()
}}}}}}
## s4Format 확인 (. 검색)
{{{#!if (delim = s4.lastIndexOf(".")) != -1
{{{#!if s4Format = s4.substring(delim+1)
}}}{{{#!if s4Format = ((s4Format == "gif") || (s4Format == "webp") || (s4Format == "png") || (s4Format == "jpg") || (s4Format == "svg") || (s4Format == "bmp")) ? s4Format : null
}}}{{{#!if s4 = (s4Format != null) ? s4.substring(0,delim) : s4
}}}}}}{{{#!if s4Format ??= "png"
}}}
## s4 각 세부속성 확인
{{{#!if s4Attr
### s4Link 확인 ([[]] 검색)
{{{#!if ((delim = s4Attr.indexOf("[[")) != -1) && ((endDelim = s4Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s4Link = s4Attr.substring(delim+2,endDelim)
}}}{{{#!if s4Attr = s4Attr.substring(0,delim) + s4Attr.substring(endDelim+2)
}}}
#### s4Anchor 확인 (# 검색)
{{{#!if (delim = s4Link.indexOf("#")) != -1
{{{#!if s4Anchor = s4Link.substring(delim+1)
}}}{{{#!if s4Link = s4Link.substring(0,delim)
}}}}}}{{{#!if s4Anchor ??= s4.substring(s4.indexOf("/")+1)
}}}{{{#!if s4Link ||= calleeTitle
}}}}}}
### s4Count 확인
{{{#!if s4Attr = s4Attr.trim()
}}}{{{#!if s4Count = s4Attr ? +s4Attr : null
}}}}}}
## s5 세부속성 확인 (; 검색)
{{{#!if (sep = s5.indexOf(";")) != -1
{{{#!if s5Attr = " " + s5.substring(sep+1)
}}}{{{#!if s5 = s5.substring(0,sep).trim()
}}}}}}
## s5Format 확인 (. 검색)
{{{#!if (delim = s5.lastIndexOf(".")) != -1
{{{#!if s5Format = s5.substring(delim+1)
}}}{{{#!if s5Format = ((s5Format == "gif") || (s5Format == "webp") || (s5Format == "png") || (s5Format == "jpg") || (s5Format == "svg") || (s5Format == "bmp")) ? s5Format : null
}}}{{{#!if s5 = (s5Format != null) ? s5.substring(0,delim) : s5
}}}}}}{{{#!if s5Format ??= "png"
}}}
## s5 각 세부속성 확인
{{{#!if s5Attr
### s5Link 확인 ([[]] 검색)
{{{#!if ((delim = s5Attr.indexOf("[[")) != -1) && ((endDelim = s5Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s5Link = s5Attr.substring(delim+2,endDelim)
}}}{{{#!if s5Attr = s5Attr.substring(0,delim) + s5Attr.substring(endDelim+2)
}}}
#### s5Anchor 확인 (# 검색)
{{{#!if (delim = s5Link.indexOf("#")) != -1
{{{#!if s5Anchor = s5Link.substring(delim+1)
}}}{{{#!if s5Link = s5Link.substring(0,delim)
}}}}}}{{{#!if s5Anchor ??= s5.substring(s5.indexOf("/")+1)
}}}{{{#!if s5Link ||= calleeTitle
}}}}}}
### s5Count 확인
{{{#!if s5Attr = s5Attr.trim()
}}}{{{#!if s5Count = s5Attr ? +s5Attr : null
}}}}}}
## s6 세부속성 확인 (; 검색)
{{{#!if (sep = s6.indexOf(";")) != -1
{{{#!if s6Attr = " " + s6.substring(sep+1)
}}}{{{#!if s6 = s6.substring(0,sep).trim()
}}}}}}
## s6Format 확인 (. 검색)
{{{#!if (delim = s6.lastIndexOf(".")) != -1
{{{#!if s6Format = s6.substring(delim+1)
}}}{{{#!if s6Format = ((s6Format == "gif") || (s6Format == "webp") || (s6Format == "png") || (s6Format == "jpg") || (s6Format == "svg") || (s6Format == "bmp")) ? s6Format : null
}}}{{{#!if s6 = (s6Format != null) ? s6.substring(0,delim) : s6
}}}}}}{{{#!if s6Format ??= "png"
}}}
## s6 각 세부속성 확인
{{{#!if s6Attr
### s6Link 확인 ([[]] 검색)
{{{#!if ((delim = s6Attr.indexOf("[[")) != -1) && ((endDelim = s6Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s6Link = s6Attr.substring(delim+2,endDelim)
}}}{{{#!if s6Attr = s6Attr.substring(0,delim) + s6Attr.substring(endDelim+2)
}}}
#### s6Anchor 확인 (# 검색)
{{{#!if (delim = s6Link.indexOf("#")) != -1
{{{#!if s6Anchor = s6Link.substring(delim+1)
}}}{{{#!if s6Link = s6Link.substring(0,delim)
}}}}}}{{{#!if s6Anchor ??= s6.substring(s6.indexOf("/")+1)
}}}{{{#!if s6Link ||= calleeTitle
}}}}}}
### s6Count 확인
{{{#!if s6Attr = s6Attr.trim()
}}}{{{#!if s6Count = s6Attr ? +s6Attr : null
}}}}}}
## s7 세부속성 확인 (; 검색)
{{{#!if (sep = s7.indexOf(";")) != -1
{{{#!if s7Attr = " " + s7.substring(sep+1)
}}}{{{#!if s7 = s7.substring(0,sep).trim()
}}}}}}
## s7Format 확인 (. 검색)
{{{#!if (delim = s7.lastIndexOf(".")) != -1
{{{#!if s7Format = s7.substring(delim+1)
}}}{{{#!if s7Format = ((s7Format == "gif") || (s7Format == "webp") || (s7Format == "png") || (s7Format == "jpg") || (s7Format == "svg") || (s7Format == "bmp")) ? s7Format : null
}}}{{{#!if s7 = (s7Format != null) ? s7.substring(0,delim) : s7
}}}}}}{{{#!if s7Format ??= "png"
}}}
## s7 각 세부속성 확인
{{{#!if s7Attr
### s7Link 확인 ([[]] 검색)
{{{#!if ((delim = s7Attr.indexOf("[[")) != -1) && ((endDelim = s7Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s7Link = s7Attr.substring(delim+2,endDelim)
}}}{{{#!if s7Attr = s7Attr.substring(0,delim) + s7Attr.substring(endDelim+2)
}}}
#### s7Anchor 확인 (# 검색)
{{{#!if (delim = s7Link.indexOf("#")) != -1
{{{#!if s7Anchor = s7Link.substring(delim+1)
}}}{{{#!if s7Link = s7Link.substring(0,delim)
}}}}}}{{{#!if s7Anchor ??= s7.substring(s7.indexOf("/")+1)
}}}{{{#!if s7Link ||= calleeTitle
}}}}}}
### s7Count 확인
{{{#!if s7Attr = s7Attr.trim()
}}}{{{#!if s7Count = s7Attr ? +s7Attr : null
}}}}}}
## s8 세부속성 확인 (; 검색)
{{{#!if (sep = s8.indexOf(";")) != -1
{{{#!if s8Attr = " " + s8.substring(sep+1)
}}}{{{#!if s8 = s8.substring(0,sep).trim()
}}}}}}
## s8Format 확인 (. 검색)
{{{#!if (delim = s8.lastIndexOf(".")) != -1
{{{#!if s8Format = s8.substring(delim+1)
}}}{{{#!if s8Format = ((s8Format == "gif") || (s8Format == "webp") || (s8Format == "png") || (s8Format == "jpg") || (s8Format == "svg") || (s8Format == "bmp")) ? s8Format : null
}}}{{{#!if s8 = (s8Format != null) ? s8.substring(0,delim) : s8
}}}}}}{{{#!if s8Format ??= "png"
}}}
## s8 각 세부속성 확인
{{{#!if s8Attr
### s8Link 확인 ([[]] 검색)
{{{#!if ((delim = s8Attr.indexOf("[[")) != -1) && ((endDelim = s8Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s8Link = s8Attr.substring(delim+2,endDelim)
}}}{{{#!if s8Attr = s8Attr.substring(0,delim) + s8Attr.substring(endDelim+2)
}}}
#### s8Anchor 확인 (# 검색)
{{{#!if (delim = s8Link.indexOf("#")) != -1
{{{#!if s8Anchor = s8Link.substring(delim+1)
}}}{{{#!if s8Link = s8Link.substring(0,delim)
}}}}}}{{{#!if s8Anchor ??= s8.substring(s8.indexOf("/")+1)
}}}{{{#!if s8Link ||= calleeTitle
}}}}}}
### s8Count 확인
{{{#!if s8Attr = s8Attr.trim()
}}}{{{#!if s8Count = s8Attr ? +s8Attr : null
}}}}}}
## s9 세부속성 확인 (; 검색)
{{{#!if (sep = s9.indexOf(";")) != -1
{{{#!if s9Attr = " " + s9.substring(sep+1)
}}}{{{#!if s9 = s9.substring(0,sep).trim()
}}}}}}
## s9Format 확인 (. 검색)
{{{#!if (delim = s9.lastIndexOf(".")) != -1
{{{#!if s9Format = s9.substring(delim+1)
}}}{{{#!if s9Format = ((s9Format == "gif") || (s9Format == "webp") || (s9Format == "png") || (s9Format == "jpg") || (s9Format == "svg") || (s9Format == "bmp")) ? s9Format : null
}}}{{{#!if s9 = (s9Format != null) ? s9.substring(0,delim) : s9
}}}}}}{{{#!if s9Format ??= "png"
}}}
## s9 각 세부속성 확인
{{{#!if s9Attr
### s9Link 확인 ([[]] 검색)
{{{#!if ((delim = s9Attr.indexOf("[[")) != -1) && ((endDelim = s9Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s9Link = s9Attr.substring(delim+2,endDelim)
}}}{{{#!if s9Attr = s9Attr.substring(0,delim) + s9Attr.substring(endDelim+2)
}}}
#### s9Anchor 확인 (# 검색)
{{{#!if (delim = s9Link.indexOf("#")) != -1
{{{#!if s9Anchor = s9Link.substring(delim+1)
}}}{{{#!if s9Link = s9Link.substring(0,delim)
}}}}}}{{{#!if s9Anchor ??= s9.substring(s9.indexOf("/")+1)
}}}{{{#!if s9Link ||= calleeTitle
}}}}}}
### s9Count 확인
{{{#!if s9Attr = s9Attr.trim()
}}}{{{#!if s9Count = s9Attr ? +s9Attr : null
}}}}}}
## output 세부속성 확인 (; 검색)
{{{#!if (sep = output.indexOf(";")) != -1
{{{#!if outputAttr = " " + output.substring(sep+1)
}}}{{{#!if output = output.substring(0,sep).trim()
}}}}}}
## outputFormat 확인 (. 검색)
{{{#!if (delim = output.lastIndexOf(".")) != -1
{{{#!if outputFormat = output.substring(delim+1)
}}}{{{#!if outputFormat = ((outputFormat == "gif") || (outputFormat == "webp") || (outputFormat == "png") || (outputFormat == "jpg") || (outputFormat == "svg") || (outputFormat == "bmp")) ? outputFormat : null
}}}{{{#!if output = (outputFormat != null) ? output.substring(0,delim) : output
}}}}}}{{{#!if outputFormat ??= "png"
}}}
## output 각 세부속성 확인
{{{#!if outputAttr
### outputLink 확인 ([[]] 검색)
{{{#!if ((delim = outputAttr.indexOf("[[")) != -1) && ((endDelim = outputAttr.indexOf("]]",delim+2)) != -1)
{{{#!if outputLink = outputAttr.substring(delim+2,endDelim)
}}}{{{#!if outputAttr = outputAttr.substring(0,delim) + outputAttr.substring(endDelim+2)
}}}
#### outputAnchor 확인 (# 검색)
{{{#!if (delim = outputLink.indexOf("#")) != -1
{{{#!if outputAnchor = outputLink.substring(delim+1)
}}}{{{#!if outputLink = outputLink.substring(0,delim)
}}}}}}{{{#!if outputAnchor ??= output.substring(output.indexOf("/")+1)
}}}{{{#!if outputLink ||= calleeTitle
}}}}}}
### outputCount 확인
{{{#!if outputAttr = outputAttr.trim()
}}}{{{#!if outputCount = outputAttr ? +outputAttr : null
}}}}}}
#!wiki class="base-container"
{{{#!wiki class="input-grid"
{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s1Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s1Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s2Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s2Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s3Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s3Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s4Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s4Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s5Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s5Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s6Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s6Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s7Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s7Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s8Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s8Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s9Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s9Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}}}}{{{#!wiki class="arrow"
[[파일:마인크래프트/GUI/제작대/화살표.svg|width=40]]}}}{{{#!wiki class="end-column"
{{{#!wiki class="type-icon"
{{{#!if typeIcon
[[파일:마인크래프트/GUI/제작법/타입.svg|width=18]]}}}}}}{{{#!wiki class="output"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리결과.svg|width=52]]}}}{{{#!wiki class="output-content item"
[[파일:.|width=32]]}}}{{{#!if outputCount != null
{{{#!wiki class="output-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if outputLink != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="type-icon"
}}}}}}#!if cap != null
{{{-2 }}}#!style
.base-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 216px;
aspect-ratio: 216 / 124;
border: 2px solid;
border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB;
background-color: #C6C6C6;
font-size: 0;
}
.input-grid {
display: flex;
flex-wrap: wrap;
width: calc(108/212*100%);
aspect-ratio: 1;
}
.input {
width: calc(1/3*100%);
aspect-ratio: 1;
}
.slot {
width: 100%;
aspect-ratio: 1;
background-color: #8B8B8B;
}
.input:hover .item, .output:hover .item { background-color: #C5C5C5; }
.input-content {
width: 100%;
aspect-ratio: 1;
margin-top: -100%;
}
.item {
padding: calc(2/36*100%);
background-clip: content-box;
}
.arrow { width: calc(40/212*100%); }
.end-column {
display: inline-flex;
justify-content: space-between;
align-items: flex-end;
flex-direction: column;
width: calc(52/212*100%);
aspect-ratio: 52 / 108;
}
.type-icon {
width: calc(18/52*100%);
aspect-ratio: 1;
}
.output {
width: 100%;
aspect-ratio: 1;
}
.output-content {
width: 100%;
aspect-ratio: 1;
padding: calc(8/52*100%);
margin-top: -100%;
}
.output .item { padding: calc(10/52*100%); }
유형/무형 조합법중 한 종류의 조합법 전체만 삭제하고 싶다면 다음의 코드를 이용하면 된다:#!syntax java
recipes.removeShaped(<아이템>);
recipes.removeShapeless(<아이템>);
특정 형태의 조합법만 삭제하는 것도 가능하다:#!syntax java
//1
recipes.removeShaped(<minecraft:stick>, [[<*>], [<*>]]);
//2
recipes.removeShapeless(<minecraft:mushroom_stew>, [<minecraft:bowl>, <minecraft:brown_mushroom>, <minecraft:red_mushroom>]);
첫번째 코드는 나무 판자 2개를 세로로 놓아서 나무 막대를 조합하지 못하게 만들며, 두번째 코드는 무형 조합법인 버섯 스튜를 만들지 못하게 만든다. 만일 A 조합법을 B 조합법으로 대체시키고 싶은 경우 기존 조합법을 삭제한 후 다시 추가하면 된다. 아래의 예제 코드는 그레그테크 처럼 나무 판자 2개에서 막대가 2개만 만들어지도록 수정하는 코드이다. 여기서 <ore:plankWood>는 광석 사전 코드이며, 자세한 설명은 아래 서술되어 있다.#!syntax java
recipes.removeShaped(<minecraft:stick> * 4, [[<ore:plankWood>], [<ore:plankWood>]]);
recipes.addShaped(<minecraft:stick> * 2, [[<ore:plankWood>], [<ore:plankWood>]]);
#!wiki if문 접기/펼치기
{{{#!wiki 레거시 문법 접기/펼치기
## sNxN
{{{#!if s3x3
{{{#!if s1 ??= s3x3; s2 ??= s3x3; s3 ??= s3x3; s4 ??= s3x3; s5 ??= s3x3; s6 ??= s3x3; s7 ??= s3x3; s8 ??= s3x3; s9 ??= s3x3
}}}{{{#!if s3x3확장자
{{{#!if s1Format ??= s3x3확장자; s2Format ??= s3x3확장자; s3Format ??= s3x3확장자; s4Format ??= s3x3확장자; s5Format ??= s3x3확장자; s6Format ??= s3x3확장자; s7Format ??= s3x3확장자; s8Format ??= s3x3확장자; s9Format ??= s3x3확장자
}}}}}}{{{#!if l3x3
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a3x3 = l3x3.substring(delim+1)
}}}{{{#!if l3x3 = l3x3.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l3x3; s2Link ??= l3x3; s3Link ??= l3x3; s4Link ??= l3x3; s5Link ??= l3x3; s6Link ??= l3x3; s7Link ??= l3x3; s8Link ??= l3x3; s9Link ??= l3x3
}}}}}}{{{#!if a3x3
{{{#!if s1Anchor ??= a3x3; s2Anchor ??= a3x3; s3Anchor ??= a3x3; s4Anchor ??= a3x3; s5Anchor ??= a3x3; s6Anchor ??= a3x3; s7Anchor ??= a3x3; s8Anchor ??= a3x3; s9Anchor ??= a3x3
}}}}}}{{{#!if c3x3
{{{#!if s1Count ??= c3x3; s2Count ??= c3x3; s3Count ??= c3x3; s4Count ??= c3x3; s5Count ??= c3x3; s6Count ??= c3x3; s7Count ??= c3x3; s8Count ??= c3x3; s9Count ??= c3x3
}}}}}}}}}{{{#!if s2x2
{{{#!if s1 ??= s2x2; s2 ??= s2x2; s4 ??= s2x2; s5 ??= s2x2
}}}{{{#!if s2x2확장자
{{{#!if s1Format ??= s2x2확장자; s2Format ??= s2x2확장자; s4Format ??= s2x2확장자; s5Format ??= s2x2확장자
}}}}}}{{{#!if l2x2
{{{#!if (delim = l3x3.indexOf("#")) != -1
{{{#!if a2x2 = l2x2.substring(delim+1)
}}}{{{#!if l2x2 = l2x2.substring(0,delim)
}}}}}}{{{#!if s1Link ??= l2x2; s2Link ??= l2x2; s4Link ??= l2x2; s5Link ??= l2x2
}}}}}}{{{#!if a2x2
{{{#!if s1Anchor ??= a2x2; s2Anchor ??= a2x2; s4Anchor ??= a2x2; s5Anchor ??= a2x2
}}}}}}{{{#!if c2x2
{{{#!if s1Count ??= c2x2; s2Count ??= c2x2; s4Count ??= c2x2; s5Count ??= c2x2
}}}}}}}}}
## sN확장자
{{{#!if s1Format ??= s1확장자; s2Format ??= s2확장자; s3Format ??= s3확장자; s4Format ??= s4확장자; s5Format ??= s5확장자; s6Format ??= s6확장자; s7Format ??= s7확장자; s8Format ??= s8확장자; s9Format ??= s9확장자; outputFormat ??= output확장자
}}}
## lN
{{{#!if l1
{{{#!if s1 += "; [[" + l1 + "]]"
}}}}}}{{{#!if l2
{{{#!if s2 += "; [[" + l2 + "]]"
}}}}}}{{{#!if l3
{{{#!if s3 += "; [[" + l3 + "]]"
}}}}}}{{{#!if l4
{{{#!if s4 += "; [[" + l4 + "]]"
}}}}}}{{{#!if l5
{{{#!if s5 += "; [[" + l5 + "]]"
}}}}}}{{{#!if l6
{{{#!if s6 += "; [[" + l6 + "]]"
}}}}}}{{{#!if l7
{{{#!if s7 += "; [[" + l7 + "]]"
}}}}}}{{{#!if l8
{{{#!if s8 += "; [[" + l8 + "]]"
}}}}}}{{{#!if l9
{{{#!if s9 += "; [[" + l9 + "]]"
}}}}}}
## aN
{{{#!if s1Anchor ??= a1; s2Anchor ??= a2; s3Anchor ??= a3; s4Anchor ??= a4; s5Anchor ??= a5; s6Anchor ??= a6; s7Anchor ??= a7; s8Anchor ??= a8; s9Anchor ??= a9; outputAnchor ??= output_anchor
}}}
## cN, qty
{{{#!if s1Count ??= c1; s2Count ??= c2; s3Count ??= c3; s4Count ??= c4; s5Count ??= c5; s6Count ??= c6; s7Count ??= c7; s8Count ??= c8; s9Count ??= c9; outputCount ??= qty
}}}
## b, l, f
{{{#!if back ??= (b == "b") ? true : null; shapeless ??= (l == "l") ? true : null; fixed ??= (f == "f") ? true : null
}}}}}}
## type 확인
{{{#!if arrowSuf = (back != null) ? "B" : ""
}}}{{{#!if shapeless = (shapeless != null) ? true : false
}}}{{{#!if fixed = (fixed != null) ? true : false
}}}{{{#!if typeIcon = shapeless ? "shapeless" : fixed ? "fixed" : ""
}}}
## 2x2, 3x3
{{{#!if this['2x2']
{{{#!if s1 ??= this['2x2']; s2 ??= this['2x2']; s4 ??= this['2x2']; s5 ??= this['2x2']
}}}}}}{{{#!if this['3x3']
{{{#!if s1 ??= this['3x3']; s2 ??= this['3x3']; s3 ??= this['3x3']; s4 ??= this['3x3']; s5 ??= this['3x3']; s6 ??= this['3x3']; s7 ??= this['3x3']; s8 ??= this['3x3']; s9 ??= this['3x3']
}}}}}}
## 무형 제작법
{{{#!if shapeless
## N = null일 시 N+1값 할당
{{{#!if this["8"] ??= this["9"]
}}}{{{#!if this["7"] ??= this["8"]
}}}{{{#!if this["6"] ??= this["7"]
}}}{{{#!if this["5"] ??= this["6"]
}}}{{{#!if this["4"] ??= this["5"]
}}}{{{#!if this["3"] ??= this["4"]
}}}{{{#!if this["2"] ??= this["3"]
}}}{{{#!if this["1"] ??= this["2"]
}}}
### input 개수
{{{#!if input = this["9"] ? 9 : this["8"] ? 8 : this["7"] ? 7 : this["6"] ? 6 : this["5"] ? 5 : this["4"] ? 4 : this["3"] ? 3 : this["2"] ? 2 : 1
}}}
### input 값에 따라 슬롯 배치 및 값 할당
{{{#!if input == 1 && (s5 ??= this["1"])
}}}{{{#!if input > 1 && input < 5 && (s1 ??= this["1"]; s2 ??= this["2"]; s4 ??= this["3"]; s5 ??= this["4"])
}}}{{{#!if input > 4 && (s1 ??= this["1"]; s2 ??= this["2"]; s3 ??= this["3"]; s4 ??= this["4"]; s5 ??= this["5"]; s6 ??= this["6"]; s7 ??= this["7"]; s8 ??= this["8"]; s9 ??= this["9"])
}}}}}}
## 유형 제작법
{{{#!if !shapeless && (pat || pat1 || pat2 || pat3)
{{{#!if keys = {"A":null,"B":null,"C":null,"D":null,"E":null,"F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":null,"N":null,"O":null,"P":null,"Q":null,"R":null,"S":null,"T":null,"U":null,"V":null,"W":null,"X":null,"Y":null,"Z":null,"a":null,"b":null,"c":null,"d":null,"e":null,"f":null,"g":null,"h":null,"i":null,"j":null,"k":null,"l":null,"m":null,"n":null,"o":null,"p":null,"q":null,"r":null,"s":null,"t":null,"u":null,"v":null,"w":null,"x":null,"y":null,"z":null,"#":null,"_":null, "-":null, " ":null}
}}}
### 같은 이름의 변수 존재시 keys에 값 할당
{{{#!if A != null && (keys["A"] = A)
}}}{{{#!if B != null && (keys["B"] = B)
}}}{{{#!if C != null && (keys["C"] = C)
}}}{{{#!if D != null && (keys["D"] = D)
}}}{{{#!if E != null && (keys["E"] = E)
}}}{{{#!if F != null && (keys["F"] = F)
}}}{{{#!if G != null && (keys["G"] = G)
}}}{{{#!if H != null && (keys["H"] = H)
}}}{{{#!if I != null && (keys["I"] = I)
}}}{{{#!if J != null && (keys["J"] = J)
}}}{{{#!if K != null && (keys["K"] = K)
}}}{{{#!if L != null && (keys["L"] = L)
}}}{{{#!if M != null && (keys["M"] = M)
}}}{{{#!if N != null && (keys["N"] = N)
}}}{{{#!if O != null && (keys["O"] = O)
}}}{{{#!if P != null && (keys["P"] = P)
}}}{{{#!if Q != null && (keys["Q"] = Q)
}}}{{{#!if R != null && (keys["R"] = R)
}}}{{{#!if S != null && (keys["S"] = S)
}}}{{{#!if T != null && (keys["T"] = T)
}}}{{{#!if U != null && (keys["U"] = U)
}}}{{{#!if V != null && (keys["V"] = V)
}}}{{{#!if W != null && (keys["W"] = W)
}}}{{{#!if X != null && (keys["X"] = X)
}}}{{{#!if Y != null && (keys["Y"] = Y)
}}}{{{#!if Z != null && (keys["Z"] = Z)
}}}{{{#!if a != null && (keys["a"] = a)
}}}{{{#!if b != null && (keys["b"] = b)
}}}{{{#!if c != null && (keys["c"] = c)
}}}{{{#!if d != null && (keys["d"] = d)
}}}{{{#!if e != null && (keys["e"] = e)
}}}{{{#!if f != null && (keys["f"] = f)
}}}{{{#!if g != null && (keys["g"] = g)
}}}{{{#!if h != null && (keys["h"] = h)
}}}{{{#!if i != null && (keys["i"] = i)
}}}{{{#!if j != null && (keys["j"] = j)
}}}{{{#!if k != null && (keys["k"] = k)
}}}{{{#!if l != null && (keys["l"] = l)
}}}{{{#!if m != null && (keys["m"] = m)
}}}{{{#!if n != null && (keys["n"] = n)
}}}{{{#!if o != null && (keys["o"] = o)
}}}{{{#!if p != null && (keys["p"] = p)
}}}{{{#!if q != null && (keys["q"] = q)
}}}{{{#!if r != null && (keys["r"] = r)
}}}{{{#!if s != null && (keys["s"] = s)
}}}{{{#!if t != null && (keys["t"] = t)
}}}{{{#!if u != null && (keys["u"] = u)
}}}{{{#!if v != null && (keys["v"] = v)
}}}{{{#!if w != null && (keys["w"] = w)
}}}{{{#!if x != null && (keys["x"] = x)
}}}{{{#!if y != null && (keys["y"] = y)
}}}{{{#!if z != null && (keys["z"] = z)
}}}{{{#!if this["#"] != null && (keys["#"] = this["#"])
}}}
### pat 파싱 및 null.length 방지를 위해 빈 문자열 할당
{{{#!if pat != null
{{{#!if pat1 = pat
{{{#!if (sep = pat1.indexOf("/")) != -1
{{{#!if pat2 = pat1.substring(sep+1); pat1 = pat1.substring(0,sep)
}}}{{{#!if (sep = pat2.indexOf("/")) != -1
{{{#!if pat3 = pat2.substring(sep+1); pat2 = pat2.substring(0,sep)
}}}}}}}}}}}}}}}{{{#!if pat1 ??= ""; pat2 ??= ""; pat3 ??= ""
}}}
### 제작법 행, 열 개수
{{{#!if col = pat1.length > pat2.length ? (pat1.length > pat3.length ? pat1.length : pat3.length) : (pat2.length > pat3.length ? pat2.length : pat3.length)
}}}{{{#!if row = pat3 ? 3 : pat2 ? 2 : 1
}}}
### 제작법 행, 열 개수에 따라 슬롯 배치 및 값 할당
{{{#!if row == 3
{{{#!if col == 3 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1,2)]; s3 ??= keys[pat1.substring(2)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1,2)]; s6 ??= keys[pat2.substring(2)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1,2)]; s9 ??= keys[pat3.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)]; s7 ??= keys[pat3.substring(0,1)]; s8 ??= keys[pat3.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2]; s8 ??= keys[pat3])
}}}}}}{{{#!if row == 2
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)]; s7 ??= keys[pat2.substring(0,1)]; s8 ??= keys[pat2.substring(1,2)]; s9 ??= keys[pat2.substring(2)])
}}}{{{#!if col == 2 && (s1 ??= keys[pat1.substring(0,1)]; s2 ??= keys[pat1.substring(1)]; s4 ??= keys[pat2.substring(0,1)]; s5 ??= keys[pat2.substring(1)])
}}}{{{#!if col == 1 && (s2 ??= keys[pat1]; s5 ??= keys[pat2];)
}}}}}}{{{#!if row == 1
{{{#!if col == 3 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1,2)]; s6 ??= keys[pat1.substring(2)])
}}}{{{#!if col == 2 && (s4 ??= keys[pat1.substring(0,1)]; s5 ??= keys[pat1.substring(1)])
}}}{{{#!if col == 1 && (s5 ??= keys[pat1];)
}}}}}}}}}
## s1 세부속성 확인 (; 검색)
{{{#!if (sep = s1.indexOf(";")) != -1
{{{#!if s1Attr = " " + s1.substring(sep+1)
}}}{{{#!if s1 = s1.substring(0,sep).trim()
}}}}}}
## s1Format 확인 (. 검색)
{{{#!if (delim = s1.lastIndexOf(".")) != -1
{{{#!if s1Format = s1.substring(delim+1)
}}}{{{#!if s1Format = ((s1Format == "gif") || (s1Format == "webp") || (s1Format == "png") || (s1Format == "jpg") || (s1Format == "svg") || (s1Format == "bmp")) ? s1Format : null
}}}{{{#!if s1 = (s1Format != null) ? s1.substring(0,delim) : s1
}}}}}}{{{#!if s1Format ??= "png"
}}}
## s1 각 세부속성 확인
{{{#!if s1Attr
### s1Link 확인 ([[]] 검색)
{{{#!if ((delim = s1Attr.indexOf("[[")) != -1) && ((endDelim = s1Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s1Link = s1Attr.substring(delim+2,endDelim)
}}}{{{#!if s1Attr = s1Attr.substring(0,delim) + s1Attr.substring(endDelim+2)
}}}
#### s1Anchor 확인 (# 검색)
{{{#!if (delim = s1Link.indexOf("#")) != -1
{{{#!if s1Anchor = s1Link.substring(delim+1)
}}}{{{#!if s1Link = s1Link.substring(0,delim)
}}}}}}{{{#!if s1Anchor ??= s1.substring(s1.indexOf("/")+1)
}}}{{{#!if s1Link ||= calleeTitle
}}}}}}
### s1Count 확인
{{{#!if s1Attr = s1Attr.trim()
}}}{{{#!if s1Count = s1Attr ? +s1Attr : null
}}}}}}
## s2 세부속성 확인 (; 검색)
{{{#!if (sep = s2.indexOf(";")) != -1
{{{#!if s2Attr = " " + s2.substring(sep+1)
}}}{{{#!if s2 = s2.substring(0,sep).trim()
}}}}}}
## s2Format 확인 (. 검색)
{{{#!if (delim = s2.lastIndexOf(".")) != -1
{{{#!if s2Format = s2.substring(delim+1)
}}}{{{#!if s2Format = ((s2Format == "gif") || (s2Format == "webp") || (s2Format == "png") || (s2Format == "jpg") || (s2Format == "svg") || (s2Format == "bmp")) ? s2Format : null
}}}{{{#!if s2 = (s2Format != null) ? s2.substring(0,delim) : s2
}}}}}}{{{#!if s2Format ??= "png"
}}}
## s2 각 세부속성 확인
{{{#!if s2Attr
### s2Link 확인 ([[]] 검색)
{{{#!if ((delim = s2Attr.indexOf("[[")) != -1) && ((endDelim = s2Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s2Link = s2Attr.substring(delim+2,endDelim)
}}}{{{#!if s2Attr = s2Attr.substring(0,delim) + s2Attr.substring(endDelim+2)
}}}
#### s2Anchor 확인 (# 검색)
{{{#!if (delim = s2Link.indexOf("#")) != -1
{{{#!if s2Anchor = s2Link.substring(delim+1)
}}}{{{#!if s2Link = s2Link.substring(0,delim)
}}}}}}{{{#!if s2Anchor ??= s2.substring(s2.indexOf("/")+1)
}}}{{{#!if s2Link ||= calleeTitle
}}}}}}
### s2Count 확인
{{{#!if s2Attr = s2Attr.trim()
}}}{{{#!if s2Count = s2Attr ? +s2Attr : null
}}}}}}
## s3 세부속성 확인 (; 검색)
{{{#!if (sep = s3.indexOf(";")) != -1
{{{#!if s3Attr = " " + s3.substring(sep+1)
}}}{{{#!if s3 = s3.substring(0,sep).trim()
}}}}}}
## s3Format 확인 (. 검색)
{{{#!if (delim = s3.lastIndexOf(".")) != -1
{{{#!if s3Format = s3.substring(delim+1)
}}}{{{#!if s3Format = ((s3Format == "gif") || (s3Format == "webp") || (s3Format == "png") || (s3Format == "jpg") || (s3Format == "svg") || (s3Format == "bmp")) ? s3Format : null
}}}{{{#!if s3 = (s3Format != null) ? s3.substring(0,delim) : s3
}}}}}}{{{#!if s3Format ??= "png"
}}}
## s3 각 세부속성 확인
{{{#!if s3Attr
### s3Link 확인 ([[]] 검색)
{{{#!if ((delim = s3Attr.indexOf("[[")) != -1) && ((endDelim = s3Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s3Link = s3Attr.substring(delim+2,endDelim)
}}}{{{#!if s3Attr = s3Attr.substring(0,delim) + s3Attr.substring(endDelim+2)
}}}
#### s3Anchor 확인 (# 검색)
{{{#!if (delim = s3Link.indexOf("#")) != -1
{{{#!if s3Anchor = s3Link.substring(delim+1)
}}}{{{#!if s3Link = s3Link.substring(0,delim)
}}}}}}{{{#!if s3Anchor ??= s3.substring(s3.indexOf("/")+1)
}}}{{{#!if s3Link ||= calleeTitle
}}}}}}
### s3Count 확인
{{{#!if s3Attr = s3Attr.trim()
}}}{{{#!if s3Count = s3Attr ? +s3Attr : null
}}}}}}
## s4 세부속성 확인 (; 검색)
{{{#!if (sep = s4.indexOf(";")) != -1
{{{#!if s4Attr = " " + s4.substring(sep+1)
}}}{{{#!if s4 = s4.substring(0,sep).trim()
}}}}}}
## s4Format 확인 (. 검색)
{{{#!if (delim = s4.lastIndexOf(".")) != -1
{{{#!if s4Format = s4.substring(delim+1)
}}}{{{#!if s4Format = ((s4Format == "gif") || (s4Format == "webp") || (s4Format == "png") || (s4Format == "jpg") || (s4Format == "svg") || (s4Format == "bmp")) ? s4Format : null
}}}{{{#!if s4 = (s4Format != null) ? s4.substring(0,delim) : s4
}}}}}}{{{#!if s4Format ??= "png"
}}}
## s4 각 세부속성 확인
{{{#!if s4Attr
### s4Link 확인 ([[]] 검색)
{{{#!if ((delim = s4Attr.indexOf("[[")) != -1) && ((endDelim = s4Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s4Link = s4Attr.substring(delim+2,endDelim)
}}}{{{#!if s4Attr = s4Attr.substring(0,delim) + s4Attr.substring(endDelim+2)
}}}
#### s4Anchor 확인 (# 검색)
{{{#!if (delim = s4Link.indexOf("#")) != -1
{{{#!if s4Anchor = s4Link.substring(delim+1)
}}}{{{#!if s4Link = s4Link.substring(0,delim)
}}}}}}{{{#!if s4Anchor ??= s4.substring(s4.indexOf("/")+1)
}}}{{{#!if s4Link ||= calleeTitle
}}}}}}
### s4Count 확인
{{{#!if s4Attr = s4Attr.trim()
}}}{{{#!if s4Count = s4Attr ? +s4Attr : null
}}}}}}
## s5 세부속성 확인 (; 검색)
{{{#!if (sep = s5.indexOf(";")) != -1
{{{#!if s5Attr = " " + s5.substring(sep+1)
}}}{{{#!if s5 = s5.substring(0,sep).trim()
}}}}}}
## s5Format 확인 (. 검색)
{{{#!if (delim = s5.lastIndexOf(".")) != -1
{{{#!if s5Format = s5.substring(delim+1)
}}}{{{#!if s5Format = ((s5Format == "gif") || (s5Format == "webp") || (s5Format == "png") || (s5Format == "jpg") || (s5Format == "svg") || (s5Format == "bmp")) ? s5Format : null
}}}{{{#!if s5 = (s5Format != null) ? s5.substring(0,delim) : s5
}}}}}}{{{#!if s5Format ??= "png"
}}}
## s5 각 세부속성 확인
{{{#!if s5Attr
### s5Link 확인 ([[]] 검색)
{{{#!if ((delim = s5Attr.indexOf("[[")) != -1) && ((endDelim = s5Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s5Link = s5Attr.substring(delim+2,endDelim)
}}}{{{#!if s5Attr = s5Attr.substring(0,delim) + s5Attr.substring(endDelim+2)
}}}
#### s5Anchor 확인 (# 검색)
{{{#!if (delim = s5Link.indexOf("#")) != -1
{{{#!if s5Anchor = s5Link.substring(delim+1)
}}}{{{#!if s5Link = s5Link.substring(0,delim)
}}}}}}{{{#!if s5Anchor ??= s5.substring(s5.indexOf("/")+1)
}}}{{{#!if s5Link ||= calleeTitle
}}}}}}
### s5Count 확인
{{{#!if s5Attr = s5Attr.trim()
}}}{{{#!if s5Count = s5Attr ? +s5Attr : null
}}}}}}
## s6 세부속성 확인 (; 검색)
{{{#!if (sep = s6.indexOf(";")) != -1
{{{#!if s6Attr = " " + s6.substring(sep+1)
}}}{{{#!if s6 = s6.substring(0,sep).trim()
}}}}}}
## s6Format 확인 (. 검색)
{{{#!if (delim = s6.lastIndexOf(".")) != -1
{{{#!if s6Format = s6.substring(delim+1)
}}}{{{#!if s6Format = ((s6Format == "gif") || (s6Format == "webp") || (s6Format == "png") || (s6Format == "jpg") || (s6Format == "svg") || (s6Format == "bmp")) ? s6Format : null
}}}{{{#!if s6 = (s6Format != null) ? s6.substring(0,delim) : s6
}}}}}}{{{#!if s6Format ??= "png"
}}}
## s6 각 세부속성 확인
{{{#!if s6Attr
### s6Link 확인 ([[]] 검색)
{{{#!if ((delim = s6Attr.indexOf("[[")) != -1) && ((endDelim = s6Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s6Link = s6Attr.substring(delim+2,endDelim)
}}}{{{#!if s6Attr = s6Attr.substring(0,delim) + s6Attr.substring(endDelim+2)
}}}
#### s6Anchor 확인 (# 검색)
{{{#!if (delim = s6Link.indexOf("#")) != -1
{{{#!if s6Anchor = s6Link.substring(delim+1)
}}}{{{#!if s6Link = s6Link.substring(0,delim)
}}}}}}{{{#!if s6Anchor ??= s6.substring(s6.indexOf("/")+1)
}}}{{{#!if s6Link ||= calleeTitle
}}}}}}
### s6Count 확인
{{{#!if s6Attr = s6Attr.trim()
}}}{{{#!if s6Count = s6Attr ? +s6Attr : null
}}}}}}
## s7 세부속성 확인 (; 검색)
{{{#!if (sep = s7.indexOf(";")) != -1
{{{#!if s7Attr = " " + s7.substring(sep+1)
}}}{{{#!if s7 = s7.substring(0,sep).trim()
}}}}}}
## s7Format 확인 (. 검색)
{{{#!if (delim = s7.lastIndexOf(".")) != -1
{{{#!if s7Format = s7.substring(delim+1)
}}}{{{#!if s7Format = ((s7Format == "gif") || (s7Format == "webp") || (s7Format == "png") || (s7Format == "jpg") || (s7Format == "svg") || (s7Format == "bmp")) ? s7Format : null
}}}{{{#!if s7 = (s7Format != null) ? s7.substring(0,delim) : s7
}}}}}}{{{#!if s7Format ??= "png"
}}}
## s7 각 세부속성 확인
{{{#!if s7Attr
### s7Link 확인 ([[]] 검색)
{{{#!if ((delim = s7Attr.indexOf("[[")) != -1) && ((endDelim = s7Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s7Link = s7Attr.substring(delim+2,endDelim)
}}}{{{#!if s7Attr = s7Attr.substring(0,delim) + s7Attr.substring(endDelim+2)
}}}
#### s7Anchor 확인 (# 검색)
{{{#!if (delim = s7Link.indexOf("#")) != -1
{{{#!if s7Anchor = s7Link.substring(delim+1)
}}}{{{#!if s7Link = s7Link.substring(0,delim)
}}}}}}{{{#!if s7Anchor ??= s7.substring(s7.indexOf("/")+1)
}}}{{{#!if s7Link ||= calleeTitle
}}}}}}
### s7Count 확인
{{{#!if s7Attr = s7Attr.trim()
}}}{{{#!if s7Count = s7Attr ? +s7Attr : null
}}}}}}
## s8 세부속성 확인 (; 검색)
{{{#!if (sep = s8.indexOf(";")) != -1
{{{#!if s8Attr = " " + s8.substring(sep+1)
}}}{{{#!if s8 = s8.substring(0,sep).trim()
}}}}}}
## s8Format 확인 (. 검색)
{{{#!if (delim = s8.lastIndexOf(".")) != -1
{{{#!if s8Format = s8.substring(delim+1)
}}}{{{#!if s8Format = ((s8Format == "gif") || (s8Format == "webp") || (s8Format == "png") || (s8Format == "jpg") || (s8Format == "svg") || (s8Format == "bmp")) ? s8Format : null
}}}{{{#!if s8 = (s8Format != null) ? s8.substring(0,delim) : s8
}}}}}}{{{#!if s8Format ??= "png"
}}}
## s8 각 세부속성 확인
{{{#!if s8Attr
### s8Link 확인 ([[]] 검색)
{{{#!if ((delim = s8Attr.indexOf("[[")) != -1) && ((endDelim = s8Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s8Link = s8Attr.substring(delim+2,endDelim)
}}}{{{#!if s8Attr = s8Attr.substring(0,delim) + s8Attr.substring(endDelim+2)
}}}
#### s8Anchor 확인 (# 검색)
{{{#!if (delim = s8Link.indexOf("#")) != -1
{{{#!if s8Anchor = s8Link.substring(delim+1)
}}}{{{#!if s8Link = s8Link.substring(0,delim)
}}}}}}{{{#!if s8Anchor ??= s8.substring(s8.indexOf("/")+1)
}}}{{{#!if s8Link ||= calleeTitle
}}}}}}
### s8Count 확인
{{{#!if s8Attr = s8Attr.trim()
}}}{{{#!if s8Count = s8Attr ? +s8Attr : null
}}}}}}
## s9 세부속성 확인 (; 검색)
{{{#!if (sep = s9.indexOf(";")) != -1
{{{#!if s9Attr = " " + s9.substring(sep+1)
}}}{{{#!if s9 = s9.substring(0,sep).trim()
}}}}}}
## s9Format 확인 (. 검색)
{{{#!if (delim = s9.lastIndexOf(".")) != -1
{{{#!if s9Format = s9.substring(delim+1)
}}}{{{#!if s9Format = ((s9Format == "gif") || (s9Format == "webp") || (s9Format == "png") || (s9Format == "jpg") || (s9Format == "svg") || (s9Format == "bmp")) ? s9Format : null
}}}{{{#!if s9 = (s9Format != null) ? s9.substring(0,delim) : s9
}}}}}}{{{#!if s9Format ??= "png"
}}}
## s9 각 세부속성 확인
{{{#!if s9Attr
### s9Link 확인 ([[]] 검색)
{{{#!if ((delim = s9Attr.indexOf("[[")) != -1) && ((endDelim = s9Attr.indexOf("]]",delim+2)) != -1)
{{{#!if s9Link = s9Attr.substring(delim+2,endDelim)
}}}{{{#!if s9Attr = s9Attr.substring(0,delim) + s9Attr.substring(endDelim+2)
}}}
#### s9Anchor 확인 (# 검색)
{{{#!if (delim = s9Link.indexOf("#")) != -1
{{{#!if s9Anchor = s9Link.substring(delim+1)
}}}{{{#!if s9Link = s9Link.substring(0,delim)
}}}}}}{{{#!if s9Anchor ??= s9.substring(s9.indexOf("/")+1)
}}}{{{#!if s9Link ||= calleeTitle
}}}}}}
### s9Count 확인
{{{#!if s9Attr = s9Attr.trim()
}}}{{{#!if s9Count = s9Attr ? +s9Attr : null
}}}}}}
## output 세부속성 확인 (; 검색)
{{{#!if (sep = output.indexOf(";")) != -1
{{{#!if outputAttr = " " + output.substring(sep+1)
}}}{{{#!if output = output.substring(0,sep).trim()
}}}}}}
## outputFormat 확인 (. 검색)
{{{#!if (delim = output.lastIndexOf(".")) != -1
{{{#!if outputFormat = output.substring(delim+1)
}}}{{{#!if outputFormat = ((outputFormat == "gif") || (outputFormat == "webp") || (outputFormat == "png") || (outputFormat == "jpg") || (outputFormat == "svg") || (outputFormat == "bmp")) ? outputFormat : null
}}}{{{#!if output = (outputFormat != null) ? output.substring(0,delim) : output
}}}}}}{{{#!if outputFormat ??= "png"
}}}
## output 각 세부속성 확인
{{{#!if outputAttr
### outputLink 확인 ([[]] 검색)
{{{#!if ((delim = outputAttr.indexOf("[[")) != -1) && ((endDelim = outputAttr.indexOf("]]",delim+2)) != -1)
{{{#!if outputLink = outputAttr.substring(delim+2,endDelim)
}}}{{{#!if outputAttr = outputAttr.substring(0,delim) + outputAttr.substring(endDelim+2)
}}}
#### outputAnchor 확인 (# 검색)
{{{#!if (delim = outputLink.indexOf("#")) != -1
{{{#!if outputAnchor = outputLink.substring(delim+1)
}}}{{{#!if outputLink = outputLink.substring(0,delim)
}}}}}}{{{#!if outputAnchor ??= output.substring(output.indexOf("/")+1)
}}}{{{#!if outputLink ||= calleeTitle
}}}}}}
### outputCount 확인
{{{#!if outputAttr = outputAttr.trim()
}}}{{{#!if outputCount = outputAttr ? +outputAttr : null
}}}}}}
#!wiki class="base-container"
{{{#!wiki class="input-grid"
{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s1Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s1Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s2Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s2Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s3Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s3Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s4Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s4Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s5Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s5Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s6Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s6Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s7Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s7Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s8Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s8Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="input"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리.svg|width=36]]}}}{{{#!wiki class="input-content item"
[[파일:.|width=32]]}}}{{{#!if s9Count != null
{{{#!wiki class="input-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if s9Link != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}}}}{{{#!wiki class="arrow"
[[파일:마인크래프트/GUI/제작대/화살표.svg|width=40]]}}}{{{#!wiki class="end-column"
{{{#!wiki class="type-icon"
{{{#!if typeIcon
[[파일:마인크래프트/GUI/제작법/타입.svg|width=18]]}}}}}}{{{#!wiki class="output"
{{{#!wiki class="slot"
[[파일:마인크래프트/GUI/슬롯/테두리결과.svg|width=52]]}}}{{{#!wiki class="output-content item"
[[파일:mc/stick; 2.|width=32]]}}}{{{#!if outputCount != null
{{{#!wiki class="output-content"
[[파일:마인크래프트/개수/.svg|width=36]]}}}}}}{{{#!if outputLink != null
{{{#!wiki class="input-content"
[[#|[[파일:1px 투명.svg|width=36]]]]}}}}}}}}}{{{#!wiki class="type-icon"
}}}}}}#!if cap != null
{{{-2 }}}#!style
.base-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
max-width: 216px;
aspect-ratio: 216 / 124;
border: 2px solid;
border-color: #DBDBDB #5B5B5B #5B5B5B #DBDBDB;
background-color: #C6C6C6;
font-size: 0;
}
.input-grid {
display: flex;
flex-wrap: wrap;
width: calc(108/212*100%);
aspect-ratio: 1;
}
.input {
width: calc(1/3*100%);
aspect-ratio: 1;
}
.slot {
width: 100%;
aspect-ratio: 1;
background-color: #8B8B8B;
}
.input:hover .item, .output:hover .item { background-color: #C5C5C5; }
.input-content {
width: 100%;
aspect-ratio: 1;
margin-top: -100%;
}
.item {
padding: calc(2/36*100%);
background-clip: content-box;
}
.arrow { width: calc(40/212*100%); }
.end-column {
display: inline-flex;
justify-content: space-between;
align-items: flex-end;
flex-direction: column;
width: calc(52/212*100%);
aspect-ratio: 52 / 108;
}
.type-icon {
width: calc(18/52*100%);
aspect-ratio: 1;
}
.output {
width: 100%;
aspect-ratio: 1;
}
.output-content {
width: 100%;
aspect-ratio: 1;
padding: calc(8/52*100%);
margin-top: -100%;
}
.output .item { padding: calc(10/52*100%); }
조합법을 변경할때는 반드시 위의 코드와 같이 조합법 삭제 코드 다음에 추가하는 코드를 넣도록 하자. 추가 후 삭제하면 변경한 조합법마저 삭제될 수 있다! 마인트위커는 포지의 광석 사전도 지원하며, 이를 통해 조합법에 다양한 아이템들을 이용 가능하게 해준다. 광석사전을 이용하려면 <ore:광석사전이름> 형태로 코드를 적으면 된다. 원하는 아이템이 광석사전에 속하는지 원한다면 아래에서 설명하는 /mt hand 명령어를 사용도록 하자. 자주 쓰이는 광석사전 이름은 다음과 같다: 이름 설명 treeWood 바닐라를 비롯한 대다수의 나무 원목(통나무)은 이 광석사전 이름으로 등재된다. plankWood 바닐라의 것을 포함한 나무 판자는 이 접두사로 등록된다. saplingWood 나무 묘목에 붙이는 광석사전 이름. dye**** 염료에 붙는 광석사전 접두사. **** 부분은 염료의 색이다. ore**** 광석 블록에 붙이는 광석사전 접두사. **** 부분에는 해당 광석의 물질 이름을 넣는다. 예를 들어 철광석은 oreIron, 구리 광석은 oreCopper이다. orePoor**** 저질 광석의 광석사전 접두사. 저질 광석은 일반 광석에 비해 함유한 광물의 양이 적다. oreRich**** 상급 광석의 광석사전 접두사. 상급 광석은 일반 광석에 비해 함유한 광물의 양이 많다. stick**** 막대에 붙는 광석사전 접두사. 나무 막대의 경우 stickWood 이며, 일부 모드는 철, 구리 등 다른 재료의 막대를 추가한다. ingot**** 주괴에 붙이는 광석사전 접두사. 광석과 마찬가지로 ****부분에는 재료 이름을 넣는다. dust**** 가루에 붙이는 광석사전 접두사. plate**** 판에 붙이는 광석사전 접두사. 판은 주로 인더스트리얼크래프트, 그레그테크, 이머시브 엔지니어링 등에서 쓰인다. block**** 저장 블록들은 이 광석사전으로 등록된다. gem**** 다이아몬드, 에메랄드, 루비, 사파이어등 보석에 붙는 광석사전 접두사이다. gear**** 톱니바퀴(기어, Gear)에 붙는 광석사전 접두사. 빌드크래프트, 포레스트리, 그레그테크 등 톱니바퀴를 추가하는 모드에서 상호 호환을 위해 이용된다. stone**** 대리석, 흑요석 등 돌에 붙는 광석사전 접두사이다.
1.14부터는 바닐라에 유사한 기능인 태그 시스템이 추가되면서 이 기능 또한 태그를 사용하도록 변경되었다. 기존에 <ore:oreCopper>로 광석 사전에 등록되던 아이템을 이용했다면 1.14부터는 <tag:forge:ores/copper>를 사용해야 한다. 모드간 공유되는 태그는 주로 forge 이름공간을 사용하며, 특정 모드 내부에서만 이용되는 태그는 해당 모드 ID를 이름공간으로 사용한다.
#!if version2 == null
{{{#!wiki style="border:1px solid gray;border-top:5px solid gray;padding:7px;margin-bottom:0px"
[[크리에이티브 커먼즈 라이선스|[[파일:CC-white.svg|width=22.5px]]]] 이 문서의 내용 중 전체 또는 일부는 {{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/MineTweaker|MineTweaker]]}}}{{{#!if external != "o"
[[MineTweaker]]}}}}}} 문서의 {{{#!if uuid == null
'''uuid not found'''}}}{{{#!if uuid != null
[[https://namu.wiki/w/MineTweaker?uuid=d7e098ca-94cd-453d-b6c4-3657e76091a5|r52]]}}} 판{{{#!if paragraph != null
, [[https://namu.wiki/w/MineTweaker?uuid=d7e098ca-94cd-453d-b6c4-3657e76091a5#s-|번 문단]]}}}에서 가져왔습니다. [[https://namu.wiki/history/MineTweaker?from=52|이전 역사 보러 가기]]}}}#!if version2 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="border:1px solid gray;border-top:5px solid gray;padding:7px;margin-bottom:0px"
[[크리에이티브 커먼즈 라이선스|[[파일:CC-white.svg|width=22.5px]]]] 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
{{{#!wiki style="text-align: center"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="text-align: left; padding: 0px 10px"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/MineTweaker|MineTweaker]]}}}{{{#!if external != "o"
[[MineTweaker]]}}}}}} 문서의 {{{#!if uuid == null
'''uuid not found'''}}}{{{#!if uuid != null
[[https://namu.wiki/w/MineTweaker?uuid=d7e098ca-94cd-453d-b6c4-3657e76091a5|r52]]}}} 판{{{#!if paragraph != null
, [[https://namu.wiki/w/MineTweaker?uuid=d7e098ca-94cd-453d-b6c4-3657e76091a5#s-|번 문단]]}}} ([[https://namu.wiki/history/MineTweaker?from=52|이전 역사]])
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid2 == null
'''uuid2 not found'''}}}{{{#!if uuid2 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph2 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]]){{{#!if version3 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid3 == null
'''uuid3 not found'''}}}{{{#!if uuid3 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph3 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version4 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid4 == null
'''uuid4 not found'''}}}{{{#!if uuid4 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph4 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version5 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid5 == null
'''uuid5 not found'''}}}{{{#!if uuid5 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph5 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version6 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid6 == null
'''uuid6 not found'''}}}{{{#!if uuid6 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph6 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version7 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid7 == null
'''uuid7 not found'''}}}{{{#!if uuid7 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph7 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version8 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid8 == null
'''uuid8 not found'''}}}{{{#!if uuid8 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph8 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version9 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid9 == null
'''uuid9 not found'''}}}{{{#!if uuid9 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph9 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version10 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid10 == null
'''uuid10 not found'''}}}{{{#!if uuid10 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph10 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version11 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid11 == null
'''uuid11 not found'''}}}{{{#!if uuid11 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph11 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version12 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid12 == null
'''uuid12 not found'''}}}{{{#!if uuid12 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph12 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version13 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid13 == null
'''uuid13 not found'''}}}{{{#!if uuid13 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph13 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version14 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid14 == null
'''uuid14 not found'''}}}{{{#!if uuid14 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph14 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version15 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid15 == null
'''uuid15 not found'''}}}{{{#!if uuid15 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph15 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version16 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid16 == null
'''uuid16 not found'''}}}{{{#!if uuid16 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph16 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version17 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid17 == null
'''uuid17 not found'''}}}{{{#!if uuid17 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph17 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version18 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid18 == null
'''uuid18 not found'''}}}{{{#!if uuid18 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph18 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version19 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid19 == null
'''uuid19 not found'''}}}{{{#!if uuid19 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph19 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version20 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid20 == null
'''uuid20 not found'''}}}{{{#!if uuid20 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph20 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version21 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid21 == null
'''uuid21 not found'''}}}{{{#!if uuid21 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph21 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version22 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid22 == null
'''uuid22 not found'''}}}{{{#!if uuid22 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph22 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version23 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid23 == null
'''uuid23 not found'''}}}{{{#!if uuid23 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph23 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version24 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid24 == null
'''uuid24 not found'''}}}{{{#!if uuid24 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph24 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version25 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid25 == null
'''uuid25 not found'''}}}{{{#!if uuid25 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph25 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version26 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid26 == null
'''uuid26 not found'''}}}{{{#!if uuid26 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph26 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version27 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid27 == null
'''uuid27 not found'''}}}{{{#!if uuid27 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph27 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version28 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid28 == null
'''uuid28 not found'''}}}{{{#!if uuid28 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph28 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version29 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid29 == null
'''uuid29 not found'''}}}{{{#!if uuid29 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph29 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version30 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid30 == null
'''uuid30 not found'''}}}{{{#!if uuid30 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph30 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version31 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid31 == null
'''uuid31 not found'''}}}{{{#!if uuid31 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph31 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version32 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid32 == null
'''uuid32 not found'''}}}{{{#!if uuid32 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph32 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version33 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid33 == null
'''uuid33 not found'''}}}{{{#!if uuid33 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph33 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version34 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid34 == null
'''uuid34 not found'''}}}{{{#!if uuid34 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph34 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version35 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid35 == null
'''uuid35 not found'''}}}{{{#!if uuid35 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph35 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version36 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid36 == null
'''uuid36 not found'''}}}{{{#!if uuid36 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph36 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version37 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid37 == null
'''uuid37 not found'''}}}{{{#!if uuid37 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph37 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version38 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid38 == null
'''uuid38 not found'''}}}{{{#!if uuid38 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph38 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version39 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid39 == null
'''uuid39 not found'''}}}{{{#!if uuid39 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph39 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version40 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid40 == null
'''uuid40 not found'''}}}{{{#!if uuid40 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph40 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version41 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid41 == null
'''uuid41 not found'''}}}{{{#!if uuid41 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph41 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version42 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid42 == null
'''uuid42 not found'''}}}{{{#!if uuid42 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph42 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version43 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid43 == null
'''uuid43 not found'''}}}{{{#!if uuid43 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph43 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version44 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid44 == null
'''uuid44 not found'''}}}{{{#!if uuid44 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph44 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version45 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid45 == null
'''uuid45 not found'''}}}{{{#!if uuid45 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph45 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version46 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid46 == null
'''uuid46 not found'''}}}{{{#!if uuid46 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph46 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version47 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid47 == null
'''uuid47 not found'''}}}{{{#!if uuid47 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph47 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version48 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid48 == null
'''uuid48 not found'''}}}{{{#!if uuid48 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph48 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version49 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid49 == null
'''uuid49 not found'''}}}{{{#!if uuid49 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph49 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}{{{#!if version50 != null
{{{#!wiki style="display: block;"
{{{#!wiki style="display: inline-block"
{{{#!if external == "o"
[[https://namu.wiki/w/|]]}}}{{{#!if external != "o"
[[]]}}}}}} 문서의 {{{#!if uuid50 == null
'''uuid50 not found'''}}}{{{#!if uuid50 != null
[[https://namu.wiki/w/?uuid=|r]]}}} 판{{{#!if paragraph50 != null
, [[https://namu.wiki/w/?uuid=#s-|번 문단]]}}} ([[https://namu.wiki/history/?from=|이전 역사]])}}}}}}}}}}}}}}}}}}}}}