Bedrock بسته شنل مستقلی ندارد — یک شنل فقط متصل به یک اسکین عرضه میشود
فرمت .mcpack فقط-شنل وجود ندارد. هر شنل باید با یک ورودی اسکین که نام آن را تعیین میکند جفت شود، به همین دلیل است که یک بسته شنل در واقع یک بسته اسکین با یک فایل PNG اضافی برای هر ورودی است.
در Java شنل چیزی جدا از اسکین است. در Bedrock اینطور نیست: هیچ فرمت بسته شنلی وجود ندارد. شنل یک فیلد روی ورودی اسکین است، بنابراین توزیع یک شنل به معنی توزیع اسکینی است که آن را میپوشد.
آنچه این موضوع تحمیل میکند
یک بسته شنل یک بسته اسکین است که ورودیهای آن هر کدام یک بافت شنل را نام میبرند. مانیفست، skins.json and the lang file are identical to any other skin pack — the only difference is one extra key per entry and one extra PNG in the zip.
پیامدها ساختاری هستند، نه ظاهری:
- نمیتوانید یک شنل را به تنهایی عرضه کنید. هر شنل به اسکینی نیاز دارد تا از آن آویزان شود، حتی اگر آن اسکین
اسکینی باشد که به آن اهمیت نمیدهید.
- شنل در بازی بهصورت مستقل قابل انتخاب نیست. انتخاب شنل به معنای انتخاب اسکین است
ورودی که به آن تعلق دارد. داشتن دو شنل روی یک اسکین چیزی نیست که بتوانید پیادهسازی کنید.
- N اسکین × M شنل برابر با N × M ورودی است، نه N + M. ارائه سه شنل برای چهار اسکین یعنی
دوازده ورودی در بسته، هر کدام با کلید خودش، نام اختصاصیاش در فایل lang و جفت PNGهای مخصوص به خود.
همین نکته آخر است که هنگام بزرگ شدن بسته دردسرساز میشود. بستههای شنل بهسرعت حجیم میشوند و اندازه آنها بهجای جمعی، ضربی افزایش مییابد.
این دو بافت اندازههای متفاوتی دارند
یک اسکین 64 × 64 (یا نسخه قدیمی 64 × 32) است. یک شنل 64 × 32است، همیشه. آنها قابل تعویض با یکدیگر نیستند و ابزار سازنده، اسکین در ابعاد شنل و برعکس را رد میکند.
درون آن فایل شنل 64 × 32، بخش قابل مشاهده، بلوک 10 × 16 در مختصات (1, 1) — بقیه قسمتها شامل پشت، لبهها و فضای خالی است. پیشنمایش در اینجا دقیقاً همان مستطیل را برش میدهد تا نشان دهد کدام شنل مربوط به چیست، زیرا در اندازه بندانگشتی، فضای خالی بیشتر تصویر را تشکیل میدهد و چیزی را مشخص نمیکند.
Slim و Classic همچنان اعمال میشوند
هر ورودی مدل مخصوص به خود را دارد که از ستون چهارم بازوی اسکین تشخیص داده میشود، درست مانند یک بسته اسکین معمولی. بنابراین یک بسته شنل نیز باید تشخیص slim/classic را برای هر ورودی درست انجام دهد — شنل نحوه خواندن بازوها را تغییر نمیدهد، و یک مدل اشتباه در اینجا دقیقاً مثل هر جای دیگر نمایش داده میشود: اسکین Alex با بازوهای Steve، در حالی که شنل درست را پوشیده است.
ساختار کاربردی
اگر هدف شما واقعاً «دادن این شنل به مردم» است، بسته بیشتر یک سازوکار تحویل است تا خود محصول. آن را با سادهترین اسکینی که منطقی است جفت کنید، نام ورودی را بهجای اسکین بر اساس شنل بگذارید و بپذیرید بازیکنی که آن را انتخاب میکند در واقع هر دو را انتخاب میکند.
اگر هدف شما مجموعهای از ظاهر ستشده است — یعنی یک اسکین و یک شنل که با هم طراحی شدهاند — در این صورت مدل Bedrock در واقع مدل درستی است و آن جفتشدنی که مثل یک محدودیت به نظر میرسد، در واقع یک قابلیت است.