لماذا تقول Minecraft "Too Expensive!" — وترتيب السندان الذي يتجنّبها
تتضاعف عقوبة العمل السابق في كل مرة تلمس فيها سندانًا. إليك القاعدة التي تقف خلفها، وكيف ترتّب الدمج حتى لا تصل مجموعة تعويذات كاملة إلى حاجز 40 مستوى.
كل عملية دمج على السندان تختم العدّاد الخفي على العنصر بما يُسمى عقوبة العمل السابق (prior work penalty). تبدأ من 0، وتصبح 1 بعد أول دمج، ثم 3، 7، 15، 31 — تتضاعف ويُضاف واحد في كل مرة. وتُضاف هذه العقوبة إلى تكلفة المستويات كاملة، ولهذا يكلّفك سيف كلّف 5 مستويات يوم الاثنين 35 يوم الجمعة.
ترفض Java أي دمج يتجاوز سعره 39 مستوى برسالة Too Expensive!. لذا الهدف ليس أبدًا "اجعل كل خطوة رخيصة" — بل أبقِ الشجرة ضحلة.
القاعدة التي تهم فعلًا
دمج عنصرين يفرض عقوبتَيْهما معًا كمستويات، ويأخذ الناتج الأكبر منهما، مضاعفًا زائد واحد. كتابان جديدان (عقوبة 0) مدموجان في كتاب واحد يعطيان كتابًا بعقوبة 1. ادمج ذلك في سيف جديد فتدفع تلك الـ1 فوق التعويذات، ويخرج السيف بعقوبة 3.
لذا فإن أرخص طريق هو شجرة ثنائية متوازنة، لا سلسلة:
bad sword + book1 + book2 + book3 + book4 (penalty 1, 3, 7, 15 …)
good (book1+book2) + (book3+book4) -> sword (penalty stays low on both sides)
الترتيب العملي لأداة بتعويذات كاملة
- ازوج الكتب قبل أن تلمس الأداة إطلاقًا.
- ادمج الأزواج في "كتابين خارقين".
- ادمج هذين الاثنين في واحد.
- طبّق ذلك الكتاب الواحد على الأداة الجديدة التي لم تلمس سندانًا قط.
هذه هي عمليات الدمج الأربع نفسها كما في السلسلة، لكن العقوبات تبقى منخفضة على الجانبين، والأداة نفسها لا تُعاقَب إلا مرة واحدة.
أين يظل الترتيب مؤثرًا
- الإصلاح يكلّف عملية دمج أيضًا. وجود الإصلاح على الأداة مبكرًا يعني أن كل إصلاح مجاني، لكن الإصلاحات قبل الإصلاح ترفع العقوبة كل مرة.
- إعادة التسمية تكلّف مستوى. إعادة التسمية وحدها لا ترفع العقوبة وليست أبدًا
Too Expensive!(فهي محدودة بـ39)، لذا أعد التسمية في خطوة منفصلة بدلًا من أثناء دمج مكلف. - Bedrock يختلف. يحدّ Bedrock العرض عند
Too Expensive!بطريقة مختلفة ويسمح ببعض عمليات الدمج التي ترفضها Java؛ والحساب أعلاه يخص Java Edition.
بدلًا من فعل هذا على ورقة، ضع العنصر والتعويذات في حاسبة التعويذات — فهي تبحث في ترتيبات الدمج وتعيد أرخصها، مع تكلفة المستويات الدقيقة في كل خطوة.