프로젝트 소개
Redstore는 마인크래프트 26.3용 작은 Fabric 모드로, 바닐라에서 이미 가능한 레드스톤 회로를 단일 블록으로 압축하여 기술 서버의 장치를 읽기 쉽고 작게 유지하는 것을 목표로 한다. 제작자는 추가되는 모든 것이 명령어 없이 바닐라 서바이벌에서 가능한 범위를 넘지 않는다고 강조한다. 논리 게이트는 횃불과 리피터 조합을 하나의 칸으로 모은 것이고, 필터 호퍼는 고전적인 비교기 분류기 칸이며, 계획된 청크 로더는 진주가 없는 엔더 진주 정지 챔버다. 목표는 한계를 없애는 것이 아니라 지루한 작업을 덜어내는 것이다.
상태: 초기 단계이며 아직 공개되지 않았다. 세 가지 게이트, 시계, 필터 호퍼는 작성되었고, 청크 로더는 명세만 있고 구현되지 않았다. 모드 ID인 `redstore`는 임시 코드네임이며 공개 이름은 아직 정해지지 않았다.
README에 설명된 블록:
- AND / OR / XOR 게이트: 리피터 크기의 판으로, 양쪽에 두 개의 입력이 있고 앞쪽에 출력 하나가 있으며 1레드스톤 틱 지연이 있다. 우클릭하면 NAND, NOR, XNOR로 반전된다. 각각 철, 구리, 금이라는 자체 금속으로 제작되고 해당 금속 패널이 붙어 있다.
- 레드스톤 시계: 주기적인 신호를 내보낸다. 우클릭하면 8개 설정을 순환하며, 위상당 1~4레드스톤 틱, 구형파 또는 1틱 펄스로 동작한다. 기본적으로 작동하며, 양쪽 중 한 곳에 신호가 들어오면 멈추고 잠긴 리피터의 베드락 막대가 표시된다.
- 필터 호퍼: 필터 슬롯이 하나 추가된 호퍼로, 화이트리스트/블랙리스트 및 엄격/느슨한 일치 옵션이 있다. 필터는 들어올 수 있는 항목을 통제하며, 안에 있는 것은 무엇이든 항상 나갈 수 있다.
- 청크 로더: 명세만 있고 구현되지 않았다. 자기 자신의 청크를 강제 로딩 상태로 유지하고 재시작 후에도 완전히 틱이 처리되도록 할 예정이다.
요구 사항: 마인크래프트 26.3, Fabric Loader 0.19.5 이상, Fabric API(블록 엔티티 빌더와 크리에이티브 탭 훅에 필요), Java 25. 블록과 화면을 추가하므로 클라이언트와 서버 모두에 설치해야 한다. 설정 파일은 없다. 모든 블록은 어디서나 동일하게 동작하며, 해당 블록 중 하나를 원하지 않는 서버는 데이터팩으로 제작법을 제거할 수 있다.
빌드: 모드는 소스로 배포된다. `./gradlew build`를 실행하면 build/libs/에 jar가 생성되고, `./gradlew runClient`는 개발 클라이언트를 시작한다. JDK 25 이상이 유일한 전제 조건이며, Gradle은 래퍼에서 제공되고 Minecraft는 Loom이 다운로드한다. 26.1부터 Minecraft가 난독화되지 않은 상태로 제공되므로 적용할 매핑이 없고 Loom이 아무것도 리매핑하지 않는다. 모드 의존성은 `implementation`을 사용하며 결과물은 일반 `jar` 태스크에서 나온다.
저장소 구조: `spec/`에는 코드를 작성하기 전에 작성한 설계가 블록당 파일 하나로 들어 있고, 공유되는 평판 구성요소에 대한 추상 명세도 있다. `spec/ideas/`에는 아날로그 게이트 모드처럼 검토했다가 거절한 아이디어가 기록되어 있다. `src/`에는 모드가 들어 있고, 클라이언트 전용 클래스는 `src/client`에 있다. `buildSrc/`에는 `generateAssets` 태스크가 있다.
아트 방식: 손으로 그린 텍스처는 없으며 저장소에 텍스처가 저장되지도 않는다. 각 텍스처는 바닐라 텍스처에 작고 정확하게 정의된 수정을 가한 것이다. 예를 들어 필터 호퍼는 호퍼 입구 테두리를 아이템 액자의 나무 색으로 다시 친 것이고, 게이트는 리피터 판의 선을 지우고 금속 패널을 넣은 것이다. 이러한 수정은 `buildSrc/`에 코드로 존재하며, Gradle 태스크인 `generateAssets`가 빌드 시 사용자 본인의 Minecraft 복사본을 읽어 `build/`에 결과를 작성한다. 이 태스크는 `processResources`보다 먼저 자동으로 실행되므로, 별도의 추가 작업 없이 jar와 개발 클라이언트 모두에 에셋이 포함된다. 제작자는 두 가지 효과가 있다고 설명한다. 수정 내용은 diff에서 검토할 수 있고 Mojang이 원본 텍스처를 손볼 때 다시 적용할 수 있으며, 저장소에는 수정된 Mojang 텍스처가 아니라 수정을 설명하는 코드만 포함된다는 것이다.
라이선스: 코드는 BSD 2-Clause이다. README에는 Mojang이 모드를 판매하거나 수익화하지 않는 조건으로 허용하므로 Minecraft 자체 약관이 그 위에 적용되며, 상업적 사용을 허용하는 자유로운 라이선스 문구도 Mojang 사용 지침에 종속된다고 적혀 있다. 파생 텍스처는 프로젝트가 라이선스할 수 있는 대상이 아니다. 이는 Mojang 아트를 수정한 것이며, Mojang 약관은 기본 텍스처를 개인 사용으로 수정하는 것은 허용하지만 재배포는 허용하지 않기 때문이다. 그렇기 때문에 수정 내용을 구워 넣은 jar를 배포하는 대신, 모드가 소스로 배포되고 사용자가 이미 보유한 게임에서 사용자의 컴퓨터에서 텍스처를 생성한다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.