Library
종류 도서관·책 보존
개발 PLAYCITY
최신 개발 버전 0.3.4
지원 플랫폼 Paper 26.2 build 112
필요 Java Java 25
서버 API Paper API 26.2
의존성 없음
데이터 저장 SQLite·MariaDB·PostgreSQL
Folia 지원 선언 없음
상태 개발 중
라이선스 명시되지 않음

Library플레이시티 블록에서 마인크래프트 책을 안전하게 보관하고 열람하기 위해 사용하는 자체 개발 마인크래프트 플러그인이다. 플레이어가 작성한 책을 데이터베이스에 발행하고, 각 책에 ISBN을 부여하여 검색·열람·재발급할 수 있게 한다.

책 아이템을 잃어버리거나 제거하더라도 데이터베이스에 저장된 책은 유지된다. 개정할 때에도 기존 판본을 덮어쓰지 않고 새 버전으로 보존하므로, 책의 변경 이력을 유지하면서 최신판을 제공할 수 있다. 기본 명령어는 /library이며, 짧게 /lib를 사용할 수 있다.

사용법

책 발행하기

  1. 책과 깃펜에 발행할 내용을 작성한다.
  2. 작성한 책을 손에 든다.
  3. 다음 명령어를 실행한다.
/lib publish 책제목 [카테고리]

예를 들어 제목이 도시안내이고 카테고리가 안내인 책은 다음과 같이 발행한다.

/lib publish 도시안내 안내

카테고리를 입력하지 않으면 서버에 설정된 기본 카테고리가 사용된다. 발행에 성공하면 LIB-000001과 같은 형식의 ISBN이 부여된다. ISBN은 각 책을 구분하는 고유 식별자이며, 책을 조회하거나 다시 발급하고 개정할 때 사용한다. 현재 제목과 카테고리는 각각 공백이 없는 한 단어로 입력하는 것이 안전하다.

책 찾아서 읽기

가장 간단한 방법은 도서관 화면을 여는 것이다.

/lib browse

도서관 화면에서는 발행된 책을 목록으로 살펴보고, 책을 선택하여 바로 읽을 수 있다. 명령어를 이용해 책을 검색하거나 정보와 인기 순위를 확인할 수도 있다.

/lib search 도시
/lib info LIB-000001
/lib top
/lib top 7
명령어 기능
/lib search 검색어 제목, 저자, 카테고리에서 검색어가 포함된 책을 찾는다.
/lib info ISBN 책의 제목, 저자, 카테고리, 버전, 상태와 누적 열람 수를 확인한다.
/lib top 전체 기간의 인기 도서를 확인한다.
/lib top 7 최근 7일 동안의 인기 도서를 확인한다. 숫자를 바꾸면 해당 기간의 순위를 조회한다.

책 다시 받기

발행한 책을 잃어버렸거나 책 아이템이 다시 필요한 경우 ISBN으로 재발급할 수 있다.

/lib reissue LIB-000001

재발급하면 데이터베이스에 보관된 현재 최신판이 책 아이템으로 지급된다. 존재하지 않거나 비활성화된 ISBN은 재발급할 수 없다.

책 개정하기

  1. 새 내용을 작성한 책을 손에 든다.
  2. 본인이 발행한 책의 ISBN으로 다음 명령어를 실행한다.
/lib revise LIB-000001

개정에 성공하면 현재 버전이 v2, v3과 같이 증가한다. 기존 판본과 페이지는 삭제되거나 덮어쓰이지 않고 데이터베이스에 보존되며, 이후 열람과 재발급에는 새 최신판이 사용된다.

도서관 운영

관리자는 실제 건물을 도서관 영역으로 등록하고 각 도서관의 소장 목록을 관리할 수 있다. 도서관 영역 안에서 /lib browse를 실행하면 해당 도서관의 소장 도서만 표시하며, 영역 밖에서는 전체 카탈로그를 연다.

독서대에 ISBN을 연결하면 플레이어가 독서대를 우클릭해 지정한 책을 바로 열 수 있다. 논리적인 소장 목록과 특정 독서대의 비치는 별도로 관리되므로 한 책을 여러 도서관에 소장하거나 여러 독서대에 배치할 수 있다.

관리 기능 대표 명령어 설명
도서관 영역 /lib region define <이름> <building|box> 건물 연결 공간 또는 직육면체 범위를 도서관으로 등록한다.
소장 도서 /lib holding add <ISBN> [도서관] 도서관의 논리적 소장 목록에 책을 추가한다.
독서대 비치 /lib place set <ISBN> 바라보는 독서대에 바로 열 책을 연결한다.
반출 정책 /lib takeout <ISBN> <allow|readonly> 책의 도서관 외부 반출 가능 여부를 정한다.
비공개 처리 /lib disable <ISBN> 책을 검색·열람·재발급 대상에서 제외한다.

/lib recent는 최근 열람한 책을, /lib continue는 마지막으로 열어 본 책을 다시 연다. 마지막 페이지 위치 자체는 저장하지 않는다.

권한과 저장소

권한 기본값 범위
library.read 모든 사용자 검색·열람·재발급
library.publish 모든 사용자 책 발행과 본인 책 개정
library.admin OP 영역·소장·비치·검열·저장소 관리

Library 0.3.4는 Java 25로 실행하는 Paper 26.2 build 112를 단일 지원 기준으로 한다. SQLite, MariaDB와 PostgreSQL 저장소를 지원하며 /lib storage status에서 현재 저장소 상태를 확인할 수 있다. 0.3.4에서는 Paper 환경의 PostgreSQL 저장소 초기화 호환성이 개선되었으며, 기존 PostgreSQL 설정과 데이터베이스 스키마를 그대로 사용할 수 있다. 데이터베이스 이전 전에는 기존 저장소와 설정을 백업하고 별도 환경에서 마이그레이션 결과를 검증해야 한다.

라이선스

현재 프로젝트에는 자체 코드의 이용·수정·재배포 조건을 정한 라이선스가 명시되어 있지 않다. 공개 배포 전에는 프로젝트 라이선스와 JAR에 포함되는 데이터베이스 드라이버·연결 풀의 제3자 고지를 함께 정리해야 한다.