PatchNote du 17/05/2021
Published: 2021-05-17 17:05:31

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pdc8mx3xj2dvrhxqnwrj.png)
Bienvenue sur le PatchNote du **lundi 17 mai 2021**.
 
Ce lundi 17 mai à 14h00 (UTC+2), Paladium a effectué une mise à jour intégrant diverses corrections de bugs ainsi qu'un outil de Rapport de Bug.

On vous en dit plus juste ici 👇

---
![Bugs_Banner_IMG](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/amhifx79c2camszrzv9m.png)
<br>

<br>
## **LuckyBlocks - Grade Légende**

Pour rappel l'évènement "Endium Grade" des LuckyBlocks vous permet de recevoir un grade Légende et, si vous en possédez déjà un, un Endium Nugget vous est donné en contrepartie.

Seul souci, après le changement de version ``6.5 -> 7``, le nom des grades ont été modifiés, mais le changement de nom a été oublié dans le code de cet évènement ne donnant pas le grade à la personne ouvrant le LuckyBlock.

```patch
[-] lp user " + player.getCommandSenderName() + " group set Endium
[+] lp user " + player.getCommandSenderName() + " group set Legende
```

## **Obsi SlimePad Directionelles**

Dans la dernière mise à jour, nous avions rajouté le fait de pouvoir choisir le sens des Slime Obsidiennes.

Suite à cet ajout un bug est survenu, il vous était possible de récupérer les slimepad générés avec l'obsidienne.

Nous tenons à vous rappeler que l'exploitation de tels bugs est interdite par le règlement et lourdement sanctionnée 🚨
<br>
<br>
## **Bouton "Passer" des LuckyBlocks**

Lors de l'ouverture d'un LuckyBlock, un bouton "Passer" apparait, celui-ci permet de passer rapidement l'animation d'ouverture du LuckyBlock. Cependant lorsque vous cliquiez sur ce bouton, l'animation était bien interrompue mais l'évènement obtenu n'apparaissait pas au milieu de la roulette.

Le problème était dû à la gestion de la TimeLine des icônes déroulants, ceux-ci étant forcés à être terminés lors de l'appui sur le bouton. 
```java
/* 
on récupère l'icône correspondant à la colonne
et ligne souhaitées et on le force à finir son animation en 0 milliseconde 
*/
icons[row][cols].getTimeline().forceToEnd(0);
```

Sauf qu’après avoir forcé l'animation, le code réalisant l'animation était quand même appelé remettant l'animation à l'endroit d'avant le clic.
```java
icons[row][cols].update();
icons[row][cols].draw();
```

Désormais, le code du clic est appelé après et les éléments ne sont updatés que si l'animation n'est pas passée.
```java
if(!isPassed()) {
  // Si l'animation n'est pas passée
  icons[row][cols].update();
  icons[row][cols].draw();
}else {
  // Si l'animation est passée
  icons[row][cols].getTimeline().forceToEnd(0);
}
```
(ℹ️ plus d'information sur les boucles à 2 entrées en Java [ici](https://www.delftstack.com/fr/howto/java/java-print-2d-array/) ℹ️)
<br>
<br>
## **Duplication avec les selles de Wither 😱**

Lorsque vous montiez un Wither et que vous vous faisiez kick, la selle était drop au sol mais aussi redonnée dans votre inventaire. Désormais, nous vérifions si le joueur descend volontairement du Wither et donc s’il est accroupi à ce moment-là.
```java
/* Lorsque l'on descend d'un Wither */
public void onDismountWither(EntityPlayer player) {
  // Si le joueur est accroupi
  if(player.isSneaking()) {
    //TODO donner la selle
  }
}
```

🗒️ *Petite note sur le développement, il vous arrivera régulièrement dans le code de voir des mentions "TODO", celles-ci signifient en programmation une action à effectuer à titre informatif.*

*Cela évite de devoir écrire le code lorsque l'on explique ou simplement de noter que la partie n'a pas été encore faite mais de savoir ce qu'il faudra faire à ce moment-là* 🗒️
<br>
<br>
## **Les dégâts des Boom Obsidiennes**

Nous avons modifié le fonctionnement des dégâts des Boom Obsidiennes dans la dernière mise à jour, cependant lors de la modification de ceux-ci nous avions omis d'émettre les dégâts en ignorant l'armure du joueur.

Désormais leur explosion fera un nombre de dégât fixe comme défini durant le dernier PatchNote et en ignorant la protection du joueur.
```patch
[-] entity.attackEntityFrom(DamageSource.generic, damage);
[+] entity.attackEntityFrom(DamageSource.magic, damage);
```

Pour ce faire, nous avons modifié le type de dégât que nous appliquons au joueur. Plus d'infos sur les différents types de dégâts [ici] (https://www.minecraftforgefrance.fr/topic/300/les-sources-de-d%C3%A9g%C3%A2ts)
<br>
<br>
## **Tentative Mini Golems**

Nous avons à nouveau essayé de corriger le cooldown sur les anciens Mini Golems. Cependant cela est très compliqué de le tester pour nous car nous n'en possédons pas dans notre environnement de test. C'est pour cela que nous comptons sur vous et sur vos retours si le souci persiste grâce au nouveau système de Rapport expliqué par la suite 😇
<br>
<br>
## **Correction du crash avec les nouvelles enclumes**
Lorsque vous essayiez d'utiliser une des nouvelles enclumes de Paladium, vous étiez kick du serveur.

Cela était dû à l'utilisation de mauvais packets pour l'ouverture du GUI, cela a été corrigé.

---
<br>
![Features_Banner_IMG](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/shu42fl8kaot32bup4yu.png)
<br>
## **Chunk Loading - Optifine**

La plupart d'entre vous connaissez le ``Chunk Loading`` d’Optifine, cette option ayant une possibilité de valeur *MultiCore*. Cependant lorsque vous l’activiez, vous aviez des problèmes de chargement de chunks vous permettant de voir à travers certains chunks.

Nous avons donc rajouté une sécurité en désactivant le bouton d'Optifine et en forçant sa valeur par défaut.
![Chunk_Loading](https://media.discordapp.net/attachments/763506927430008862/842537583963013120/unknown.png)
<br>
<br>
## **LuckyBlock - Extras**

Vous ne nous l'aviez pas demandé 😄 mais nous avons pris la liberté de rajouter un petit "*New*" lorsque vous obtenez un évènement que vous n'avez jamais eu ainsi que une notification en jeu lorsque vous débloquez un nouveau palier dans le LuckyStats.
![New_LuckyBlock](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tkw211r8gy3p3o6eyiia.png)
<br>
<br>
## **🎉 Nouveau système de Report de Bug 🎉**

Sorti de nulle part, et car vous êtes tout aussi importants que nous pour faire évoluer Paladium, nous avons imaginé et développé un système de Rapport de Bug directement IG.

En effet, la nouvelle commande ``/bugreport`` est apparue en jeu. Lors de l'exécution de celle-ci, un menu sera ouvert occupant tout votre jeu (attention donc à ne pas entrer cette commande en moment de danger).

Dans ce menu vous aurez plusieurs champs : 

 - Catégorie : ce bouton (cliquer dessus pour changer de catégorie) vous permet de sélectionner la catégorie du bug -  si vous avez des suggestions d'autres catégories n'hésitez pas à nous le faire savoir sur le discord de Paladium en mentionnant Zeldown#9963 (tout abus sera sanctionné).

 - Titre : vous pourrez ici donner un titre à votre bug permettant facilement et rapidement de l'identifier et de le trier.

 - Description : ici vous avez champ libre pour décrire le bug avec le plus de détails possibles (liens de vidéo youtube et de screens sont autorisés et même conseillés)

Nous recevrons toutes les informations entrées mais aussi votre pseudo en jeu, votre serveur et la localisation (pas de souci, ces informations resteront privées) donc si vous rencontrez un problème à un endroit précis merci de vous y rendre pour activer la commande, cela nous aidera 😀

**[BETA]** Nous tenons à préciser que ce système est encore en béta, nous comptons sur vous pour nous faire vos retours dessus et nous aider à l'améliorer (un menu plus esthétique arrivera à l'avenir).

**[RESTRICTION]** Pour éviter des soucis nous avons mis un cooldown de 5 minutes entre chaque rapport, nous espérons que vous comprendrez.

**[ATTENTION]** Ce système ayant pour but de nous aider et de vous aider nous serons intransigeants sur les abus de rapports ainsi que les trolls et ils seront lourdement sanctionnés d'un bannissement de Paladium. 


---

Encore une fois merci d'avoir lu ce document en espérant qu'il vous aura plu.

Nous attendons votre avis avec impatience en commentaire 🥰

```java
this.setWriter("Zeldown");
this.setCorrection("calixtas");
this.setDevelopers("Zeldown", "Faustin");
```