Healthy DietFEATURE GUIDE 한국어
04 / SHELF LIFE

설정에서 계산까지, 음식 보존 기간 이해하기.

편집기의 8개 하위 페이지를 차례로 확인하며 기본 시간, 온도, 부패 배율, 냉장 신선도, 만료 처리를 이해합니다. 이어서 아이템이 인벤토리를 떠난 뒤의 시간 계산, 신뢰, 오프라인 보호를 설명합니다.

8개 독립 하위 페이지서버 계산컨테이너와 멀티오프라인 원장
먼저 세 가지 수치를 구분하세요: 기본 보존 시간은 설정이고 아이템의 현재 온도와 남은 시간은 실행 상태입니다. 서버 데이터팩과 플레이어가 보유한 아이템의 실제 상태는 다를 수 있습니다.

01한 번의 계산에서 무엇이 일어나는가

먼저 아이템 레벨 기본 시간이 있고 아이템이 있는 환경에 따라 온도와 부패 속도가 변하며 서버가 남은 시간을 계산합니다.

기본 시간 설정정수 분으로 저장
환경이 온도 변경자연 / 냉장고 / 냉동고
배율과 냉장 신선도 보호온도 곡선 / 차원 / 보존율
만료 계산소멸 또는 산물로 교체

온도 곡선은 부패 속도를 조정하고 '효과' 하위 페이지는 음식을 먹을 때의 온도 효과를 조정합니다. 둘은 독립된 목록이며 어떤 효과를 설정해도 보존 기간이 자동으로 바뀌지 않습니다.

게임 날짜와 실제 날짜는 다릅니다: 편집기의 1게임일 = 20분, 1일 = 1440분입니다. durationMinutes에 저장할 때 정수 분으로 변환합니다. 내장 아이템은 설정 클래스의 10℃ 초기 온도를 덮어쓸 수 있으므로 클래스 기본값을 모든 음식의 초기 온도로 보지 마세요.
소스 근거: ShelfDurationUnit, S2ShelfConfig, ShelfTemperatureCurve.effectiveRate.

02편집기의 8개 하위 Tab

아래 8개 탭은 게임 내 '보존 기간' 편집기의 배열과 같습니다. 항목을 선택하면 필드, 용도, 혼동하기 쉬운 경계를 확인할 수 있습니다. 웹 페이지에서는 설정을 저장할 수 없습니다.

01 / 시간과 만료 동작

보존 기간

새 아이템의 기본 보존 시간과 기본 부패 배율을 설정합니다. 단위 버튼은 분, 시간, 일, 게임일로 전환됩니다. 입력에는 소수를 넣을 수 있고 저장 시 정수 분으로 변환됩니다. 특정 차원에 배율을 설정하지 않으면 해당 차원은 1배입니다.

편집 가능 항목역할
보존 기간 / 기본 부패 배율시작 시간과 부패 속도 기준을 각각 결정합니다. 배율 0은 기본 감소가 0임을 뜻합니다.
만료 산물 / 온도 상속만료 시 지정 아이템으로 교체합니다. minecraft:air는 소멸입니다. 상속을 켜면 만료 순간의 온도만 산물에 전달하고 산물의 보존 기간은 새로 계산됩니다.
만료 명령어소지자의 손에서 아이템이 만료될 때 소지자를 컨텍스트로 실행합니다. 비워 두면 실행하지 않습니다. 컨테이너 내부나 드롭 아이템 만료에는 발동하지 않습니다.
차원 부패 배율차원별로 ID에 따라 부패 배율을 설정합니다. 예를 들어 네더를 오버월드와 다르게 할 수 있습니다. 온도 오프셋이 아닙니다.
소스 근거: ItemConfigEditScreenV2.buildShelfEditor, S2ShelfConfig.durationMinutes, ShelfDimensionMultiplier.

03인벤토리를 떠난 뒤의 시간과 멀티 보호

음식은 플레이어, 컨테이너, 바닥에서 서로 다른 시계를 사용합니다. 서버가 계산을 담당하고 클라이언트는 서버가 보낸 속도로 표시만 합니다.

두 시계와 서버 권위

플레이어 인벤토리, 장비 슬롯, 보조 손, 커서 위의 음식은 플레이어 온라인 플레이 시간으로 계산되며 오프라인 중에는 진행되지 않습니다. 상자, 냉장고, 기타 컨테이너, 바닥의 드롭 아이템, 설치된 블록 음식은 월드 시간으로 계산되며 서버가 켜져 있는 한 계속 진행됩니다. 크리에이티브 인벤토리와 JEI 안의 음식은 계산되지 않습니다.

부패, 온도, 냉장 신선도는 모두 서버가 계산하고 클라이언트가 보는 것은 서버가 보낸 스냅샷뿐입니다. 툴팁 숫자는 서버가 보낸 현재 속도로 매초 진행되어 실시간처럼 보이지만 진짜 값은 항상 서버 기준입니다. 클라이언트를 수정해도 신선한 음식을 만들 수 없습니다. 툴팁 텍스트와 색상도 서버 스킴 파일을 기준으로 합니다.

손바뀜, 로그인, 차원 변경 시 재동기화

음식이 다른 사람에게 넘어가면 새 소유자가 받은 순간부터 계산을 이어갑니다. 이전 소유자의 온라인 시간이 길었다고 해서 받자마자 갑자기 상하지 않습니다. 플레이어 로그인이나 차원 변경 시에도 재동기화되며 오프라인 기간이 인벤토리 아이템에 추가되지 않습니다.

인벤토리와 바닥 드롭 아이템은 약 20초마다 갱신됩니다. S를 누르면 즉시 계산해 최신 값을 확인할 수 있습니다. 컨테이너를 열거나, 먹기 시작하거나, Tom 저장 터미널에 접근할 때도 다음 주기를 기다리지 않고 인벤토리가 갱신됩니다.

누가 아이템 소유자인가

보존 기간이 설정된 음식은 컨테이너에 넣은 순간 넣은 플레이어의 소유자 표시가 붙습니다. 다른 플레이어가 상자를 열면 빨간 테두리가 보이고 가져갈 수 없습니다. 바닥에 떨어진 보호 음식도 줍을 수 없습니다. 냉장고와 Tom 저장 터미널 등 컨테이너도 같은 규칙을 따릅니다.

'컨테이너에 넣은' 경우만 해당합니다. 야외 상자에서 절반을 가져가도 만진 것만으로 나머지가 내 것이 되지 않으며 다른 플레이어도 공정하게 가져갈 수 있습니다. 반대로 한 번도 컨테이너에 들어간 적 없는 음식에는 소유자가 없습니다. 방금 만들거나 주운 뒤 계속 들고 다니는 음식은 자유롭게 줄 수 있습니다. 표시가 붙으면 아이템을 따라가며 자신의 상자에서 인벤토리로 되돌려도 내 것입니다.

S를 눌러 상세를 표시하고 소유자가 자신이 아니면 맨 아래에 '아이템 소유자' 줄이 추가됩니다. 소유자가 다른 같은 종류의 음식은 스택되지 않으며 두 더미로 나뉘어 표시가 덮어써지는 것을 막습니다.

신뢰 목록과 소유권 이전

/hdtrust로 자신의 보호 아이템 신뢰 목록을 관리할 수 있습니다. OP는 필요 없습니다:

명령어역할
/hdtrust add <플레이어 이름>온라인 플레이어를 현재 허용 목록에 추가하고 상대가 보호 음식을 정상적으로 가져갈 수 있게 합니다.
/hdtrust remove <플레이어 이름>현재 허용 목록에서 제거하지만 '과거 신뢰' 기록은 유지합니다. 상대가 이미 가져가 반환하지 않은 아이템은 상대에게 이전됩니다.
/hdtrust forget <플레이어 이름>현재 허용 목록과 과거 신뢰 기록을 함께 지우고 이후 미신뢰로 처리합니다.
/hdtrust list현재 허용 목록과 과거 신뢰 목록을 표시합니다. 목록의 이름을 클릭하면 제거하거나 다시 신뢰할 수 있습니다.

신뢰는 항상 최초 소유자를 기준으로 합니다. 친구가 당신의 음식을 가져가 자기 상자에 넣어도 소유자는 당신 그대로이며 전매로 씻기지 않습니다. 자신이 음식을 버리면 양도로 간주되어 표시가 지워집니다. 친구가 당신의 음식을 가져간 뒤 버려도 마찬가지로 양도입니다.

사망 드롭은 양도가 아닙니다. 원래 소유자가 없는 음식은 사망 순간 당신의 표시가 붙고 이미 표시가 있는 음식은 원래 소유자를 유지합니다. 낯선 사람은 줍지 못하고 당신과 신뢰한 친구는 주울 수 있으며 리스폰 후 회수할 수 있습니다. 서버에서 removeOwnerOnDeathDrop(PvP 서버용)이 켜져 있으면 사망 드롭의 보호 표시를 강제로 지워 누구나 주울 수 있습니다.

동결된 아이템: 한 번도 신뢰되지 않은 플레이어가 파이프나 명령어 등으로 다른 사람의 보호 음식을 얻으면 그 아이템은 동결됩니다. 보존 기간이 진행되지 않고 먹거나 마실 수 없으며 상자, 화로, 제작 그리드에도 넣을 수 없고 이전도 되지 않습니다. 인벤토리 공간만 차지하고 소지자에게 알립니다. 서버 관리자는 ejectIllegalProtectedItems를 켜서 이런 아이템을 소지자 발밑에 바로 떨어뜨릴 수 있습니다. 기본값은 꺼져 있어 신뢰 파일 이상 시 여러 아이템을 잘못 처리하는 것을 피합니다.

모두 오프라인일 때 컨테이너 안 음식은 부패하지 않음

보호 음식의 소유자와 현재 모든 신뢰 플레이어가 전부 오프라인인 동안 상자, 냉장고 등 컨테이너 안의 시간은 부패에 포함되지 않습니다. 목록에 권한자가 한 명이라도 온라인이면 정상적으로 계산됩니다.

예시: A가 B를 신뢰합니다. A가 20:00에 오프라인, B가 22:00에 오프라인, 다음 날 08:00에 A가 로그인해 상자를 엽니다. 20:00–22:00은 B가 아직 온라인이므로 정상적으로 2시간 계산됩니다. 22:00–다음 날 08:00은 둘 다 오프라인이므로 이 10시간은 1분도 계산되지 않습니다.

서버는 오프라인 원장으로 '모두 오프라인' 기간을 기록합니다. 상자는 원래 열릴 때만 계산되므로 누군가 돌아와 확인할 때 한꺼번에 차감됩니다. 오프라인 원장은 활성화 이후 기간만 기록하며 그 이전 오프라인 시간은 보충할 수 없습니다. 바닥에 떨어진 보호 음식은 이 보호를 받지 않으며 정상적으로 부패합니다.

컨테이너, 전리품, 드롭 아이템

닫힌 상자는 지속적으로 스캔되지 않습니다. 음식은 마지막 계산 시각을 기록하고 상자를 열 때 이전 온도로 중간 기간을 한꺼번에 계산합니다. 도중의 날씨 변화는 구간별로 다시 계산되지 않아 연속 시뮬레이션과 약간 다르지만 매우 가깝고 성능 부담도 거의 없습니다.

상자를 열거나, 상자 안 아이템을 클릭하거나, S를 누르면 즉시 계산됩니다. 아직 계산이 시작되지 않은 상자 안 음식(명령어나 다른 모드가 직접 넣은 것, 오래된 저장에서 보존 기간 설정 전에 넣은 것 등)은 상자를 열거나 S를 누른 순간 표시가 붙고 계산이 시작됩니다. 상자가 부서지면 먼저 시간을 맞추고 냉장고 상태를 지운 뒤 드롭되어 '바닥에 떨어졌는데 아직 냉장고에 있다고 생각하는' 상황이 없습니다. 호퍼와 파이프가 상자에 넣을 때도 병합 규칙을 따르며 겹치면 더 나쁜 쪽으로 계산됩니다.

보물 상자에서 생성된 음식, 몹이 드롭한 음식은 생성된 순간 보존 기간 표시가 붙어 0부터 계산하는 신선한 음식이 됩니다. 메이드나 Create 등이 수확물을 자기 인벤토리에 직접 넣는 경우도 같습니다. 직접 제작, 제련, 기계 가공한 음식은 해당하지 않으며 처음 플레이어나 컨테이너가 볼 때부터 계산이 시작됩니다.

바닥 드롭 아이템은 20초 단위 시간대에 정렬되고 같은 시간대에 떨어진 같은 종류 음식은 보존 기간 데이터가 완전히 같아 바닥에서도 스택됩니다. 착지 후 처음 짧은 기간은 계산되지 않아 오차가 플레이어에게 유리합니다. 청크가 언로드되면 계산되지 않고 다시 로드될 때 중간 시간이 한꺼번에 보충됩니다.

바닥에 놓인 케이크 같은 블록 음식은 월드 시간으로 계산됩니다. 청크 로드 시 한 번 계산되고 같은 청크는 3분에 한 번만 계산됩니다. FTB Chunks 같은 강제 로드 청크는 1분마다 계산됩니다. 상한 케이크는 사라지거나 만료 산물을 드롭합니다. 이미 상한 케이크를 놓으면 그 자리에서 만료 산물이 됩니다. 먹지 않은 케이크는 캐면 원래 보존 기간을 유지하지만 먹은 케이크는 회수할 수 없습니다.

Jade를 설치하면 조준선을 바닥 음식에 맞출 때 HUD에 보존 기간 줄이 추가되고 시간은 초 단위, 비율은 소수 첫째 자리까지 표시됩니다. 데이터는 마찬가지로 서버에서 옵니다. 상자 안과 손에 든 음식은 계속 아이템 툴팁을 사용합니다.

스택과 병합 임계값

조건기본 임계값
남은 보존 기간 차이5분 이내
아이템 온도 차이10℃ 이내
냉장 신선도 차이20 이내(0–100 척도)

세 조건을 모두 만족해야 병합되고 병합 후에는 더 나쁜 쪽으로 계산됩니다. 신선한 음식으로 상한 음식을 '씻는' 것은 불가능합니다. 임계값은 config/healthy_diet/server.json의 shelfMerge 섹션에서 조정할 수 있습니다. 바닥 드롭 아이템은 보존 기간 데이터가 완전히 같아야 스택되고 보냉 상한이 다른 두 개도 스택할 수 없습니다.

만료 명령어와 산물

만료 명령어는 음식이 플레이어 손에서 상하거나 이미 상한 케이크를 한 입 먹을 때만 실행됩니다. 컨테이너 안이나 바닥에서 자연적으로 상하면 실행되지 않습니다. 만료 산물은 완전히 새로운 아이템이며 원래 NBT를 가지지 않고 수량은 유지됩니다. 들어가지 않으면 인벤토리로 돌아가고 인벤토리도 가득 차면 바닥에 드롭됩니다.

소스 근거: S2Engine, S2Handler, S2OfflineLedger, S2StackMerge, TrustManager, HDTrustCommand, PlacedFoodRefresh.
다음으로 표시 이해하기일반 아이템 툴팁과 S 상세의 보존 기간 줄은 툴팁 레이아웃과 표시 규칙으로 제어됩니다.
툴팁 보기 →