Guides / Commands & Data

رأس اللاعب المخصص يخزّن رابط URL مغلفًا بـ JSON بترميز base64، وليس صورة

مكوّن الملف الشخصي يحمل ترميز base64 لـ {textures:{SKIN:{url:…}}}. لهذا السبب، يبقى مظهر الرأس ثابتًا لحظة إنشائه، ولهذا يمكن أن تحتوي قاعدة البيانات على عشرات الآلاف من الإدخالات.

لا يحتوي رأس اللاعب المخصص على صورة. بل يحتوي على تجزئة نسيج (texture hash)، مغلفة في JSON، ومغلفة بترميز base64، وموجودة داخل مكوّن الملف الشخصي للعنصر.

الطبقات

بدءًا من التجزئة (hash)، يتم بناء الأمر على النحو التالي:

1. hash        e3b0c44298fc1c149afbf4c8996fb924…
2. JSON        {"textures":{"SKIN":{"url":"http://textures.minecraft.net/texture/<hash>"}}}
3. base64      eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6…
4. component   /give @p player_head[profile={properties:[{name:"textures",value:"<base64>"}]}]

أربع طبقات لقول "هذا الرأس يبدو مثل تلك الصورة". الخاصية دائمًا ما تُسمى textures، والقيمة دائمًا هي ترميز base64 لهذا الشكل JSON.

يتبع ذلك أمران مباشرة:

الرأس هو لقطة، وليس رابطًا لشخص. يشير رابط URL إلى ملف نسيج (texture file) غير قابل للتغيير، وليس إلى حساب. ما تم حل تلك التجزئة إليه عند إنشاء الرأس هو ما سيظهره دائمًا.

البيانات صغيرة جدًا. يتكون إدخال الرأس من اسم، وتجزئة، وبعض العلامات — لا توجد بايتات صور على الإطلاق. لهذا السبب، يمكن أن يحتوي الكتالوج على عشرات الآلاف من رؤوس اللاعبين كملف JSON ثابت عادي، ومع ذلك يتم تحميله بسرعة.

لماذا يتم تحميل الكتالوج حسب الفئة

قاعدة البيانات هنا هي مجموعة رؤوس اللاعبين CC0 الخاصة بـ TheSilentPro، ويتم جلبها فئة واحدة في كل مرة بدلاً من جلبها كلها دفعة واحدة. يعرض الفهرس الفئات وعددها؛ اختيار فئة واحدة يجلب ذلك الملف فقط.

هذا ليس هندسة كسولة، بل هو الشكل الوحيد الذي يعمل بهذا الحجم. المجموعة بأكملها كملف JSON واحد ستكون عملية تنزيل كبيرة لشخص يريد ثلاثة رؤوس من فئة واحدة.

حد عرض 300 عنصر هو حد DOM، وليس حد بحث

يتم عرض النتائج بحد أقصى 300 في كل مرة. لا يزال البحث يعمل عبر كل شيء في الفئة المحملة — ينطبق الحد الأقصى على عدد العناصر التي تتحول إلى عقد DOM، وليس على عدد العناصر التي يتم أخذها في الاعتبار.

يُعد هذا التمييز مهمًا عندما يشير البحث إلى أنه يعرض أول 300: تم العثور على الإدخالات المفقودة ويتم حجبها عن الصفحة، وليس استبعادها من الاستعلام. تضييق نطاق البحث يجعلها ضمن النطاق بدلاً من البحث بشكل أعمق.

إن عرض عشرات الآلاف من العناصر دفعة واحدة هو ما يهدف الحد الأقصى إلى منعه، وهو حد حقيقي بدلاً من رقم تقريبي دفاعي — شبكة بهذا الحجم تتوقف عن أن تكون قابلة للتمرير قبل وقت طويل من توقفها عن أن تكون قابلة للعرض.

لا يتم رفع أي شيء هنا

بيانات الرأس هي JSON ثابت من نفس المصدر. الطلب الوحيد من طرف ثالث هو معاينة <img> من mc-heads.net، والتي تحوّل التجزئة إلى صورة للعرض. يتم تجميع الأمر /give محليًا من التجزئة، لذا يعمل الأمر سواء تم تحميل تلك المعاينة أم لا.

قاعدة بيانات رؤوس اللاعبين →

More guides

Browse all →

تبحث عن أدوات ماينكرافت أخرى؟

مجموعة من المولّدات والعارضات والمحوّلات تعمل في المتصفح — كلها مجانية.