[Recherche] Poid d'un Item

Smallbarbarian

Aventurier
8 Avril 2020
1
0
1
23
Bibliotheque de Babel
Bonjour à tous, apres avoir vue une video montrant une duplication via une methode que je n'avais encore jamais vue j'ai eu envie d'essayer non pas en recopiant betement le tutoriel mais en essayant de comprendre ce qui le faiser fonctionner et reproduire le même effet differement, j'en viens donc à la demande que je vous fais :

Peut-on mesurer le poid(en octet) d'un item minecraft ?
Car il est evidant qu'un bloc de terre n'a pas le même poid qu'une pioche enchanté renommé et avec une durabilité.
Il est trés simple, en creatif notemment, de créé des items d'un poid absurde à tel point qu'ils peuvent faire, à eux seuls, planter votre jeu.
L'objectif est donc de crée un item pesant un poid limité mais utile pour le glitch : environ 500ko

[Information / Découverte]

Poid Relatif :

Item Lambda < Item Renommé
Item Non Enchanté < Item Enchanté
Outil Neuf < Outil Usé
Majorité < Livre et plume [utiliser character : speciaux optimal, exemple : charactere chinois]
Item X < Chulker Box Contenant [Item X]

(tout les effects sont cumulable)
 
Dernière édition:
Bonsoir,
Les items dans minecraft sont sous la forme d'itemstack qui a les propriétés suivantes :
  • un item (ayant un nom de registre sous forme de chaine de caractère et un id sous forme d'entier 32 bits)
  • une quantité(sous forme d'entier 32 bits)
  • un tag nbt (pouvant être null ou d'une taille variable).

Le tout va donc se jouer dans le tag nbt, qui fonctionne un peu comme un json avec un système de clé valeur.
Prédire exactement sa taille est compliqué car sur le disque il est sauvegardé sous forme compressé (donc en fonction de son contenu, il va plus ou moins être compressé).

Renommer un itemstack va ajouter une propriété "display" dans le tab nbt qui lui-même contiendra une chaine de caractère "Name".
Ajouter des enchantements ajouter une liste dans ce tag, avec l'identifiant de l'enchantement et le niveau.

Les livres contiennent la totalité du texte qui se trouve dedans, plus il y a de texte plus c'est lourd.
Les caractères en informatique peuvent être encodé de plusieurs manières, les caractères latins se trouve dans les encodages les plus basique et plus léger, alors qu'il faut de l'utf8 pour les caractères spéciaux (tu as cité les caractères chinois, mais en fait tout ce qui est non latin entre dedans, ou encore les smileys). Ils ont besoin de 2 octets au lieu d'un pour être stocké.
 
  • J'aime
Reactions: Smallbarbarian