프로젝트

모드는 깨지지 않습니다

Crafting 모드는 Minecraft가 업데이트될 때도, Crafting이 업데이트될 때도 계속 작동해야 합니다. 이 페이지는 무엇이 보장되는지, 그 혜택을 받으려면 무엇을 해야 하는지 설명합니다.

보장되는 것

Kotlin 및 Java API의 모든 공개 요소, 그리고 모든 CraftScript 키워드, 내장 함수, 이벤트 이름. Crafting의 내부(모드를 불러오는 방식, 게임에 연결되는 방식)는 어느 버전에서든 바뀔 수 있습니다. 모드는 그것을 보지 않고, 필요로 하지도 않습니다.

게임 업데이트에도 깨지지 않는 이유

모드는 Minecraft의 코드를 절대 건드리지 않습니다. 새 게임 버전에서 무언가가 옮겨지거나 이름이 바뀌면, Crafting이 각 API 함수가 게임의 어느 부분을 호출할지 내부적으로 바꿉니다. 모드가 사용하는 함수는 같은 이름으로 같은 일을 합니다.

현재 Crafting은 Minecraft Java 26.3에서 작동합니다. 새 게임 버전은 전부 함께 추가됩니다. API 함수가 그 버전에서 작동하거나, 아니면 그 버전은 지원되지 않는 것으로 간주됩니다.

네 가지 규칙

  1. 바꾸지 않고 추가합니다. 새 매개변수는 기본값과 함께 추가되므로 기존 호출은 그대로 유효합니다. 새 동작은 새 이름으로 추가됩니다.
  2. 대체될 때는 경고가 함께합니다. 더 나은 방법이 생기면 기존 방법은 사용 중단(deprecated)으로 표시되고, 대신 무엇을 쓸지 알려 주며, 최소한 다음 메이저 버전까지는 정확히 똑같이 작동합니다. 편집기에서는 취소선으로 표시됩니다.
  3. 제거는 메이저 버전에서만 이루어집니다. Crafting 버전의 첫 번째 숫자가 바뀌는 버전입니다. 릴리스 노트에서 항목별 대체 방법과 함께 공지합니다.
  4. 아무것도 꾸며내지 않습니다. 실행 중인 게임에서 함수가 작동할 수 없으면 명확한 오류를 냅니다. 모드가 모든 게 잘됐다고 착각하게 만드는 지어낸 값을 반환하지 않습니다.

여러분에게 의미하는 것

  • Crafting을 업데이트해도 모드를 고칠 필요가 없습니다. 메이저 버전은 예외지만, 그때도 무엇을 바꿔야 하는지 정확히 알 수 있습니다.
  • 사용 중인 기능이 사용 중단으로 표시되어도 시간이 있습니다. 다음 메이저 버전 전에, 편할 때 바꾸면 됩니다. 문서는 항상 현재 방법을 보여 줍니다.
  • 모드에 현재 Crafting 버전에 아직 없는 기능이 필요하면, Crafting은 모드를 반쯤 불러오는 대신 불러올 때 그 사실을 알려 줍니다.
  • Kotlin이나 Java 모드에서 net.minecraft 클래스를 import하지 마세요. 그 부분은 아무것도 보장되지 않습니다.
  • 게임 데이터와 함께 run_command나 summon을 쓰지 마세요. 이들은 실제로 바뀌는 Minecraft 형식을 받습니다. 무언가를 위해 이것이 필요하다면 API에 함수가 빠져 있는 것이니 요청해 주세요.

문제가 생기면

  • 이벤트나 명령어에서 난 오류는 모드 이름과 함께 기록되고, 서버의 나머지 부분은 계속 실행됩니다.
  • 타입 오류가 있는 스크립트는 불러오지 않으며, 메시지에 파일, 줄, 기대한 내용이 표시됩니다.
  • 의존성이 빠졌거나 더 새로운 Crafting 버전이 필요한 .jar 모드는 불러오지 않으며, Crafting이 모든 문제를 각각의 해결 제안과 함께 한 번에 보고합니다.