Saltar al contenido principal

Crate

Définition d’une caisse

Manifest entry describing a crate definition and its configuration. All dynamic information (open counts, milestones, etc.) must be stored in the linked [CrateArtifactEntry] via the [dataArtifact] field using the AssetManager.

Campos

CampoTipoPredeterminadoDescripción
dataArtifactRef<CrateArtifactEntry>—Artifact qui enregistre les données de la caisse (ouvertures, clés, etc.)
displayNpcRef<out ManifestEntry>—NPC représentant visuellement la caisse
noKeyMessageVar<String>You need a keyMessage envoyé lorsque le joueur n'a pas de clé
fireworkColorsList<Color>—Couleurs des feux d'artifice lors de l'ouverture
fireworkTypeFireworkEffect.TypeFireworkEffect.Type.BALLType du feu d'artifice final
rewardsList<CrateReward>emptyRécompenses possibles lors de l'ouverture de la caisse
CrateReward (5)
CampoTipoPredeterminadoDescripción
actionRef<out TriggerableEntry>—Entrée déclenchée lorsque la récompense est sélectionnée
loreList<Var<String>>emptyDescription de la récompense
rarityString—Rareté de la récompense
itemVar<Item>—Item affiché dans la prévisualisation
grantItemBooleantrueAutomatically give this item to the player; disable when the action gives it itself.
milestonesList<CrateMilestone>emptyJalons offrant des récompenses supplémentaires
CrateMilestone (2)
CampoTipoPredeterminadoDescripción
openingsInt0Nombre d'ouvertures requis
rewardRef<out TriggerableEntry>—Récompense déclenchée à ce jalon
raritiesList<CrateRarity>emptyRaretés disponibles pour les récompenses
CrateRarity (1)
CampoTipoPredeterminadoDescripción
weightDouble1.0Poids relatif des récompenses de cette rareté
chanceLoreVar<String>—Ligne ajoutée au lore indiquant la probabilité d'obtention (placeholders: {chance}, {rarity})
rarityLoreVar<String>—Ligne ajoutée au lore indiquant la rareté de la récompense (placeholders: {rarity}, {chance})
rewardSlotsString—Slots dans lesquels les récompenses sont affichées (ex: '2-10,15')
iconCrateIcon—Icône représentant la caisse dans le menu global
CrateIcon (4)
CampoTipoPredeterminadoDescripción
xInt0Position X de l'icône dans le menu global (0-8)
yInt0Position Y de l'icône dans le menu global (0-5)
itemVar<Item>—Item utilisé pour représenter la caisse
loreList<Var<String>>emptyDescription de l'icône (placeholders: %crate_<id>_keys%, %crate_<id>_keys_used%, %crate_<id>_openings%, %crate_<id>_last_open%, %crate_<id>_milestone%)
menuNameVar<String>—Nom du menu de la caisse (placeholders: %crate_<id>_keys%, %crate_<id>_keys_used%, %crate_<id>_openings%, %crate_<id>_last_open%, %crate_<id>_milestone%)
previewCratePreviewOptions—Paramètres de prévisualisation de la caisse
CratePreviewOptions (9)
CampoTipoPredeterminadoDescripción
distanceDouble1.5Front distance of the preview from the player's eyes
followPlayerBooleantrueKeep preview entities attached while the player moves or rotates
followIntervalTicksLong1Follow interval in ticks; 1 is continuous, values above 5 are clamped
layoutSpacingDouble1.6Spacing between rewards in FLEX previews
maxVisibleRewardsInt24Maximum number of simultaneous reward displays for classic previews
definitionLocationCratePreviewOffset—Position relative de la définition de caisse par rapport au joueur
CratePreviewOffset (3)
CampoTipoPredeterminadoDescripción
xDouble0.0Décalage latéral (négatif = gauche)
yDouble0.0Décalage vertical
zDouble0.0Décalage vers l'avant (positif = plus loin du joueur)
itemDisplayOffsetCratePreviewOffset—Décalage de la roulette d'items par rapport à la définition
CratePreviewOffset (3)
CampoTipoPredeterminadoDescripción
xDouble0.0Décalage latéral (négatif = gauche)
yDouble0.0Décalage vertical
zDouble0.0Décalage vers l'avant (positif = plus loin du joueur)
textDisplayLocationCratePreviewOffset—Décalage des TextDisplay et hologrammes par rapport à la roulette d'items
CratePreviewOffset (3)
CampoTipoPredeterminadoDescripción
xDouble0.0Décalage latéral (négatif = gauche)
yDouble0.0Décalage vertical
zDouble0.0Décalage vers l'avant (positif = plus loin du joueur)
textDisplayStyleCrateTextDisplayStyle—Personnalisation du TextDisplay affichant le nom et le lore de l'objet
CrateTextDisplayStyle (6)
CampoTipoPredeterminadoDescripción
backgroundColorColor?—Couleur de fond ARGB du TextDisplay
backgroundOpacityInt?—Opacité de fond (0-255)
textOpacityInt?—Opacité du texte (0-255)
lineWidthInt?—Largeur maximale des lignes
shadowBoolean?—Activer l'ombre du texte
seeThroughBoolean?—Rendre le texte traversable
openAnimationRef<out TriggerableEntry>—Animation exécutée lors de l'ouverture
hologramLinesList<String>emptyTexte de l'hologramme affiché au-dessus de la caisse (placeholders: {openings}, {keys}, {last_open}, {milestone})
buttonsList<CrateButtonSlot>emptyBoutons personnalisés dans le menu de la caisse
CrateButtonSlot (6)
CampoTipoPredeterminadoDescripción
typeCrateButtonTypeINFORMATIONType du boutonValores:INFORMATIONNEXTPREVIOUSFILL
xInt0Position X dans la grille (0-8)
yInt0Position Y dans la grille (0-5)
itemVar<Item>—Item personnalisé du bouton
loreList<Var<String>>emptyDescription de l'item (placeholders: %crate_<id>_keys%, %crate_<id>_keys_used%, %crate_<id>_openings%, %crate_<id>_last_open%, %crate_<id>_milestone%)
actionRef<out TriggerableEntry>—Action exécutée lors du clic
frameItemVar<Item>—Item utilisé pour le cadre statique du menu (vide = aucun cadre)
itemsPerPageInt0Nombre de récompenses par page (0 = automatique)
paginationColumnInt-1Colonne de pagination (0-8, -1 = automatique)
cardBackItemVar<Item>—Objet affiché au dos de la carte lors de l'ouverture
guiLayoutCrateGuiLayoutPAGINATEDGUI layout type for the crate reward menuValores:PAGINATEDFLEXSIMPLE
minigameRef<out CrateMinigameEntry>—Mini-jeu d'ouverture (vide = animation classique). Le gain est tiré côté serveur avant l'animation.Variantes:CardMinigameEntry
CardMinigameEntry (14)
CampoTipoPredeterminadoDescripción
cardCountInt8Nombre de cartes affichées
columnsInt4Nombre de cartes par rangée
rowsInt0Maximum number of rows (0 = automatic, maximum 10)
spacingDouble1.8Espacement entre les cartes (blocs)
forwardDistanceDouble2.5Distance des cartes devant le joueur (blocs)
verticalOffsetDouble0.0Décalage vertical de toute la grille (négatif = plus bas)
followRotationBooleanfalseFaire pivoter la grille lorsque le joueur tourne la vue
flipDurationTicksInt10Durée de l'animation de retournement (ticks)
cascadeDelayTicksInt4Délai entre le retournement des cartes leurres (ticks)
closeDelayTicksInt40Délai avant fermeture après révélation (ticks)
cardBackItemVar<Item>—Item du dos des cartes (vide = utilise celui de la caisse)
hitboxSizeDouble1.0Taille de la zone cliquable de chaque carte (blocs)
flipSoundSoundEMPTYSon joué au retournement d'une carte
winSoundSoundEMPTYSon joué à la révélation du gain

How to use it​

Fields that work together:

  • Rewards and rarities — each reward has a rarity that must match the name of an entry in rarities. The weight of that rarity sets the chance. chanceLore and rarityLore add a line to the reward lore in the menu, with {chance} (percentage with two decimals) and {rarity}.
  • rewardSlots — the slots of the reward menu, from 0 to 53, as numbers and ranges such as 2-10,15. At least one is required, and none may repeat. They are also what tells the menu how many rows it needs.
  • grantItem — on by default: the reward item is given to the player (the overflow drops at their feet) and then the action runs. Turn it off when the action gives the item itself.
  • milestones — after openings openings (above zero, each value once), the reward trigger fires once.
  • minigame — leave empty for the classic opening, where rewards float in front of the player and openAnimation is triggered. Set it to a card mini-game for a pick-a-card opening.
  • Preview — preview.distance, followPlayer, followIntervalTicks, layoutSpacing, maxVisibleRewards and the three offsets position the displays in the world. displayNpc adds an NPC, hologramLines adds floating text, and textDisplayStyle styles the labels.
  • Menu — menuName, icon, buttons, frameItem, itemsPerPage, paginationColumn and guiLayout shape the menus.

A crate that fails validation will not open; the log says why.