Minecraft 플러그인 skript-reflect

skript-reflect와 확인된 서버에 대한 정보

🔌 skript-reflect 소개

skript-reflect는 Skript 스크립트에 리플렉션 기능을 제공하는 Skript 애드온입니다. 스크립트 작성자는 Java 클래스를 가져와서 사용할 수 있고, 메서드를 호출하고, 필드를 읽고 쓰며, 프록시를 만들고, 커스텀 이벤트를 정의하거나 수신할 수 있습니다. 이를 통해 Skript만으로는 사용할 수 없는 API와 동작에 접근할 수 있습니다.

🎯 목적

이 플러그인의 핵심 목적은 낮은 수준의 리플렉션 유틸리티를 제공해 Skript와 Java를 연결하는 것입니다. Skript에 직접 사용할 수 있는 표현식이나 이벤트가 없을 때의 한계를 해결하여, 고급 스크립트 작성자와 애드온 개발자가 서버 런타임이나 다른 플러그인을 호출할 수 있게 합니다.

⚙️ 기능

  • Skript에서 Java 클래스를 가져와 참조할 수 있습니다.
  • 리플렉션으로 메서드를 호출하고 객체를 생성할 수 있습니다.
  • 필드를 리플렉션으로 읽고 쓸 수 있습니다.
  • Skript 내부에서 사용할 수 있는 클래스 프록시와 커스텀 이벤트를 만들 수 있습니다.
  • 비동기 이벤트 수신을 지원합니다.
  • 이전 포크보다 개선 및 수정이 이루어졌습니다(로컬 변수 처리, 클래스 프록시 수정 등).
  • 더 최신 Java 런타임과의 호환성을 명시합니다(Java 13+ 및 OpenJ9 지원이 유지 관리자에 의해 언급됨).

🧩 대상

  • Java API나 다른 플러그인 내부 기능에 접근해야 하는 Skript 스크립트 작성자.
  • Skript 기반의 커스텀 동작을 운영하면서 전체 Java 플러그인을 작성하지 않고 Skript를 확장하고 싶은 서버 관리자.
  • 리플렉션을 사용해 더 높은 수준의 Skript 확장을 만드는 애드온 개발자.

🏗️ 사용 예시

  • Skript에 기본 표현식이 없는 플러그인 API를 해당 Java 메서드를 호출해 접근하기.
  • Java로 커스텀 이벤트 타입을 만들고 Skript에서 발생시키거나 수신하기.
  • 프록시를 사용해 Java 인터페이스를 감싸고 스크립트 안에서 동적인 동작을 구현하기.

⚙️ 설치

📥 설정

  • 프로젝트의 공식 릴리스에서 플러그인 JAR를 다운로드합니다.
  • JAR를 Skript와 함께 서버의 plugins/ 디렉터리에 넣습니다.
  • 서버를 재시작하고 콘솔에서 skript-reflect가 로드되는지 확인합니다.

📦 의존성

  • Skript 2.14 이상이 필요합니다.

🧠 기술 참고

  • 이 프로젝트는 MIT 라이선스로 배포됩니다.
  • 유지 관리자는 skript-reflect가 Skript 2.14+를 필요로 하며, Skript 2.14가 지원하는 것과 같은 플랫폼 및 Minecraft 버전을 지원한다고 밝힙니다.
  • 프로젝트 문서와 릴리스는 공식 저장소와 문서 자료에서 관리됩니다.

🤝 이 플러그인이 유용한 경우

내장 표현식이나 기존 애드온에서 노출되지 않는 기능으로 Skript를 확장해야 하는 경우(예: 다른 플러그인의 API를 호출하거나 커스텀 이벤트 타입을 만드는 경우), skript-reflect는 별도의 Java 플러그인을 작성하지 않고도 Skript 스크립트에서 이를 수행할 수 있는 리플렉션 도구를 제공합니다.

skript-reflect 플러그인 서버

플러그인 skript-reflect 페이지에는 모니터링에서 이 플러그인을 확인한 서버, 사용 중인 플랫폼과 버전이 표시됩니다.

플러그인은 명령어, 경제, 보호, 접근 권한, 미니게임, 연동 및 기타 메커니즘을 추가할 수 있습니다. skript-reflect의 실제 역할은 서버별 설정에 따라 다릅니다.

데이터는 서버의 기술 응답에서 자동으로 생성됩니다. 서버가 플러그인 목록을 비공개로 설정한 경우, skript-reflect을 사용하더라도 이 섹션에 표시되지 않을 수 있습니다.

skript-reflect을 사용하는 서버 목록을 통해 프로젝트를 비교하거나, 지원 버전을 확인하거나, 공개 서버에서의 플러그인 사용 사례를 찾을 수 있습니다.