بازده دستورهای ساخت به بالا گرد میشود، بنابراین هزینه ساخت هرگز صرفاً یک ضرب ساده نیست
هر بار ساخت کاغذ ۳ عدد تولید میکند. نیاز به ۴ عدد برای شما ۶ نیشکر هزینه دارد و ۲ کاغذ اضافه باقی میگذارد. هر سطح از یک درخت ساخت این کار را انجام میدهد و ضایعات به سمت پایین انباشته میشوند.
محاسبه هزینه چیزی بر حسب مواد خام مانند یک مسئله ضرب به نظر میرسد. اما اینطور نیست، زیرا یک دستور ساخت مقدار ثابتی تولید میکند و نمیتوانید کسری از آن را بسازید.
قاعده
craftsNeeded = ceil(needed / makes)
produced = craftsNeeded × makes
leftover = produced − needed
makes is the recipe's yield. Paper is makes: 3 from 3 sugar cane. So:
| کاغذ مورد نیاز | دفعات ساخت | نیشکر | کاغذ باقیمانده |
|---|---|---|---|
| 1 | 1 | 3 | 2 |
| 3 | 1 | 3 | 0 |
| 4 | 2 | 6 | 2 |
| 6 | 2 | 6 | 0 |
نیاز به یک کاغذ همان هزینهای را دارد که نیاز به سه تا دارد. نیاز به چهار تا هزینهای برابر با شش تا دارد. تابع هزینه پلکانی است، نه خطی، و هر پلهای که کمی از آن فراتر بروید، اثر معکوس میگذارد.
در سراسر درخت ساخت انباشته میشود
گرد کردن به بالا اعمال میشود در هر سطح، نه فقط یکبار در انتها. یک کتاب به ۳ کاغذ و ۱ چرم نیاز دارد؛ کاغذ با هر بار ساخت از نیشکر ۳ عدد تولید میشود. بنابراین یک کتاب دقیقاً به یکبار ساخت کاغذ نیاز دارد — ۳ نیشکر، بدون ضایعات.
دو کتاب به ۶ کاغذ نیاز دارند که میشود ۲ بار ساخت و هنوز بدون ضایعات است. اما کافی است هر مقداری در درخت از مرز یک دسته فراتر رود تا گرد کردن در آن سطح بهصورت یک نیاز بزرگتر به تمام سطوح زیرین منتقل شود که آنها نیز بهنوبهٔ خود به بالا گرد میشوند. درختهای عمیق این مقدار را انباشته میکنند و مجموع میتواند فراتر از یک محاسبهٔ ساده برود quantity × unit cost by a wide margin while every individual step looks correct.
این تنها دلیلی است که داشتن یک ماشینحساب هزینه به جای انجام محاسبات توسط خودتان ارزش دارد: حساب و کتاب ریاضی آسان است اما پیگیری و حسابداری آن آسان نیست.
دستورهای ساخت جایگزین درخت را تغییر میدهند، نه فقط قیمت را
برخی از آیتمها بیش از یک روش ساخت دارند و ماشینحساب به شما امکان تغییر آن را میدهد:
- Iron ingot — ذوب کردن در کوره، یا ذوب سریع در کوره بلند. هر دو ۱ آهن خام مصرف میکنند
و ۱ عدد تولید میکنند، بنابراین تفاوت در سرعت و سوخت است، نه مواد اولیه.
- Gold ingot — همان جفت، با همان برابری.
- Stick — دو دستور ساخت کاملاً متفاوت، و به همین دلیل است که این ابزار از آن برای
نمایش تغییر دستور ساخت استفاده میکند.
موارد آهن و طلا دقیقاً به این دلیل قابل توجه هستند که یک تصمیم هزینهای نیستند . درختی که گزینهای ارائه میدهد همیشه شاخه ارزانتری پیشنهاد نمیکند، و جایگزین کردن کوره با کوره بلند مطلقاً هیچ تغییری در فهرست خرید نمیدهد.
جایی که درخت متوقف میشود
پانزده آیتم به عنوان برگهای خام — گسترش درخت به جای ادامه دادن، در آنجا متوقف میشود:
oak log · cobblestone · raw iron · raw gold · diamond · redstone dust · sand · nether star · obsidian · netherite scrap · sugar cane · leather · bamboo · wool · string
دو مورد از آنها شایان توجه هستند. Netherite scrap در واقع Ancient Debris ذوبشده است و برای سادگی به عنوان ماده خام در نظر گرفته میشود — بنابراین هزینه ندرایت به اندازه یک مرحله ذوب برای هر ضایعات کمتر گزارش میشود. و oak log جایگزین «هر نوع کنده چوب» است، تا درخت به شش نوع چوب که همگی رفتار یکسانی دارند منشعب نشود.
دانستن اینکه درخت در کجا به پایان میرسد به اندازه خود درخت اهمیت دارد: هزینه بر حسب «مواد خام» تنها زمانی معنادار است که بدانید محاسبات چه موادی را خام در نظر میگیرد.