Rebox 0.5.0 (NeoForge 1.21.1)
Curse Maven Snippet
What's new
Le réseau passe au protocole 4 : client et serveur doivent tourner sur cette version, un client resté en 3 est refusé à la connexion. Sur un réseau, les deux se déploient ensemble.
Ajouté
Interface refaite sur les sprites GUI du jeu. Les trois écrans étaient peints au rectangle plein, 135 appels de remplissage dans le mod contre un seul sprite, et 32 couleurs distinctes pour trois écrans dont onze gris presque identiques. Le chrome passe par douze sprites nine-slice et une palette fermée à sept valeurs : il en reste 11 remplissages et 7 couleurs. Les onglets portent l'item de la boîte plutôt qu'un nom réduit jusqu'à l'illisible, et survoler un onglet ou un bouton donne son nom, sa commande et ce qu'il fait.
Une caisse propre à la Rerandombox et à la Rebox Cosmétique. Elles empruntaient le coffre commun, qui ne disait rien de ce qu'elles donnent. La Rerandombox devient un coffre en arc-en-ciel de 201 cubes, son moraillon à cheval sur la jointure et les bandes frappées depuis celle-ci, si bien que le spectre se déchire en deux à l'ouverture. La Cosmétique devient une penderie et non un coffre : elle ne donne pas un objet mais une apparence, et cette silhouette appartenait déjà à cinq paliers. Trois boîtes ont désormais leur propre famille de fichiers, la Pokérebox comprise.
Les boutons de la vitrine acceptent une commande. Une destination qui commence par une barre oblique est exécutée par le joueur, toute autre valeur est ouverte comme lien. Le bouton Boutique pointe désormais sur
/boutique, tenue par un autre mod, au lieu du site. Les deux destinations restent modifiables dans[links].Annonces d'ouverture dans le chat du serveur, en deux formes. Une ligne compacte pour les bons lots, un bloc encadré avec un son pour tout le serveur quand la bande légendaire sort. Si tout était encadré plus rien ne serait remarquable, et si tout tenait sur une ligne le légendaire passerait dans le flux sans que personne le voie. Les deux partent à la fin de la scène, jamais à l'ouverture du couvercle.
Seuils d'annonce abaissés : rare et au-dessus sur les boîtes payantes, épique sur la boîte de vote et la Rebox 1 dont le volume d'ouvertures est grand, épique sur la Rerandombox qui n'annonçait jamais rien.
La Pokérebox nomme l'espèce et non sa vignette : l'item d'affichage de Cobblemon s'appelle Pokémon pour les 1027 espèces.
Commande de récompense par boîte, section
[rewards]. Une boîte dont la récompense vit dans un autre mod la livre par commande, à la fin de la scène, comme le fait déjà la Pokérebox. Une boîte sans table de loot devient ouvrable dès lors qu'elle en a une.La Rebox Cosmétique redevient ouvrable, et donne un skin. Elle refusait de s'ouvrir depuis le retrait de sa table SimpleHats. Rebox lit maintenant le catalogue que Recraft Core publie dans son propre fichier de mod, tire lui-même le cosmétique, le montre sur la roulette sous forme de vrais modèles 3D, puis demande à Core de le créditer. Aucune dépendance de compilation : sans Core, le catalogue est vide et la boîte se comporte comme avant.
La Cosmétique ne tire plus que dans ce que le joueur n’a pas. Elle tirait à l’aveugle dans tout le catalogue : la roulette pouvait s’arrêter sur une pièce déjà possédée, que Recraft Core refuse alors de créditer, et la boîte payée ne donnait rien du tout. Rebox lit désormais la garde-robe du joueur dans la fiche que Core tient à jour, écarte ce qu’il possède du gagnant comme des leurres, et l’animation annonce enfin ce qui sera reçu. Toujours sans dépendance de compilation. Un joueur qui possède le catalogue entier reçoit un doublon, à charge pour Core de décider ce qu’il vaut.
Corrigé
- La Cosmétique affichait une garantie figée à 0 sur 30. Elle promettait un épique garanti qui ne serait jamais venu : le compteur n’est avancé que par un tirage pondéré, et cette boîte tire à chances égales. La garantie corrige la malchance, ce qui suppose que les bons lots soient rares ; ici 40 des 69 pièces sont épiques ou légendaires, il en sort une fois sur deux. La ligne de chat, la barre de la vitrine et la commande de statistiques ne montrent plus de garantie pour les boîtes à tirage uniforme, comme c’était déjà le cas de la Pokérebox et de la Rerandombox.
- Enchaîner deux ouvertures livrait la seconde à l'instant du clic. Couper une scène envoyait le signal de fin, pour ne pas laisser un lot attendre le repli. Mais couper une scène est exactement ce que fait un joueur qui enchaîne : du repli qu'on évitait, on avait fait le comportement normal de l'enchaînement. L'ouverture coupée est désormais livrée par son propre repli.
- La fin d'une scène vidait tout ce que le joueur avait en attente. Les files étaient indexées par joueur : la seconde ouverture partait avec la première, et l'annonce de la première était perdue, écrasée par celle de la seconde. Chaque ouverture porte maintenant un identifiant, que le client renvoie, et le serveur vérifie qu'il appartient bien à l'expéditeur.
- Les caisses clignotaient entre deux paliers. L'éclairage propre suivait la courbe d'intensité, or un niveau de lumière de bloc est un ENTIER : une courbe qui oscille entre 0,38 et 0,44 au repos franchit l'arrondi dans les deux sens, et la caisse saute entre deux paliers pendant les neuf secondes d'attente. Un battement en escalier, pas une respiration. L'éclairage est désormais constant ; le gonflement de la charge reste porté par la passe émissive, qui travaille en flottant et monte sans marche.
- La Rerandombox n'était pas en arc-en-ciel. Sa texture de base est une coque violet foncé, de luminance 3 à 11 : ses six bandes de couleur et son médaillon vivent dans le glowmask. Elle n'est pas une caisse qui brille, elle EST sa brillance, et le plancher émissif commun la laissait à moitié éteinte. Elle a le sien, à 0,95.
- Les caisses étaient noires sauf pendant le pulse. Leur couleur vit dans le glowmask et non dans la texture de base, celle de la Cosmétique ayant une luminance moyenne de 24 sur 255. C'est donc la passe émissive qui les dessine, et son intensité partait de zéro pour ne monter qu'à la charge. Elle part maintenant de 0,55. Monter l'éclairage n'y pouvait rien, il n'agit que sur la passe de base.
- Treize skins retirés apparaissaient encore. Un cosmétique sorti du catalogue de Core n'est pas
effacé de son manifeste, il y reste avec
available: falsepour que les joueurs qui le possèdent gardent un identifiant valide. Rebox lisait le fichier sans ce drapeau et proposait 82 pièces au lieu de 69, dont certaines que Core aurait refusé de créditer. - La récompense et l'annonce arrivaient au clic droit, quoi qu'on fasse. Le repli de livraison
était programmé 500 ticks plus loin par une
TickTask; il partait à la première milliseconde.MinecraftServer.shouldRuns'écrittask.getTick() + 3 < tickCount || haveTime(), et le second terme suffit : dès que le serveur a du temps libre dans son tick, il vide toute sa file sans regarder le tick demandé. UneTickTaskn'est pas un délai. L'échéance est maintenant un numéro de tick par joueur, relu à chaque tick serveur. - La récompense et l'annonce arrivaient avant la fin de l'animation. Le client signalait la fin de la scène à l'ouverture du couvercle, alors qu'il reste ensuite cinq secondes de présentation : l'objet tombait dans l'inventaire et le message partait dans le chat pendant que la caisse jouait encore. Le signal part désormais quand la scène se termine pour de bon. La Pokérebox n'a plus besoin de son délai de rattrapage, qui devenait un décalage.
/rebox scanécrasait toutes les tables de loot. Il réécrivaitloot/*.jsonpour chaque palier, y compris ceux équilibrés à la main, et remplissait la Cosmétique et la Pokérebox d'une table vide alors qu'il ne sait pas les peupler. Le scan n'écrase plus rien : une table déjà présente reste intacte et le brouillon part dansloot/<tier>.draft.json. Le remplacement est un geste séparé,/rebox scan overwrite.- Le message d'une boîte vide envoyait au mauvais endroit. Il renvoyait vers
/rebox scanquelle que soit la boîte. Il nomme maintenant le fichier à remplir, et dit explicitement que le scan ne remplit pas la Rebox Cosmétique.
Modifié
- Nouvelle caisse. Les cinq bandes partagent désormais une seule géométrie, plus carrée et plus lisible que les cinq silhouettes précédentes, avec un jeu de textures par bande. Les cinq anciennes géométries restent dans le mod : y revenir tient en une ligne.
- La Rebox Chrysalide disparaît de
/reboxes. Elle n'est plus vendue depuis la saison 10. L'entrée reste dans le code, les ordinaux étant écrits dans les données joueur, et les boîtes encore détenues s'ouvrent toujours : elle est retirée de la vitrine, pas supprimée. - La Pokérebox a son panneau explicatif, sur le modèle de celui de la Rerandombox : ce qu'elle donne, la part de chaque pool, la chance d'une espèce précise à l'intérieur, et la fourchette de niveau. Les chiffres viennent de la configuration serveur, jamais du client.
ReboxSelfTestest retiré. Cet auto-diagnostic du portage arrêtait le serveur en fin d'exécution. Il n'avait plus de raison d'être publié.
Notes de mise à jour
Modifier un défaut ne modifie pas un rebox-common.toml existant. Sur un serveur déjà installé,
ces clés sont à corriger à la main, ou le fichier à supprimer pour qu'il se régénère :
[links]
shopUrl = "/boutique"
[broadcast]
broadcast_vote = 2
broadcast_oeuf = 0
broadcast_chenille = 0
broadcast_chrysalide = 0
broadcast_monarque = 0
broadcast_rerandom = 0
broadcast_cosmetique = 0
broadcast_pokerebox = 0
[rewards]
command_cosmetique = "recraftcore skin give %player% %skin%"
Les sections [rewards] et la clé [scene] crateLight s'ajoutent seules au démarrage.
Les tables de loot ne sont pas fournies. Rebox est un mod de serveur : chaque serveur écrit les
siennes dans config/rebox/loot/, et la liste d'espèces de la Pokérebox dans
config/rebox/pokerebox_species.txt. Sans elles, les boîtes refusent de s'ouvrir sans être
consommées. /rebox scan produit un brouillon à partir des items du modpack et n'écrase jamais une
table existante.
This mod has no additional files

