Skip to content

Drops complexes

Bidouilleur Octopus edited this page Dec 22, 2018 · 16 revisions

Droptables et autres drops !

Comme expliqué dans le tutoriel, les drops sont bien plus compliqués si vous avez des besoins spécifiques.

La première chose à savoir est que les drops possèdent leurs propres catégorie à part :

Le dossier Droptable

Emplacement :

L'image ne s'affiche pas correctement, je réglerai le souci dès que possible Fichier

Plan Complexe :

internal_droptablename:
  MinItems: <amount> #defaults to TotalItems' value
  MaxItems: <amount> 
  Conditions:
  - condition 1
  - condition 2
  - ...
  Drops:
  - <item/exp/droptable> <amount> <chance>
  - ...
  DropsPerLevel:
  - <item/exp/droptable> <amount> <chance>
  - ...

Ce dossier permet d'y créer des fichiers (.yml) pour y faire appel dans d'autres partie de code. Il est surtout utilisé pour :

  • Ajouter un minimum d'objet gagné (Comme le 100% gagnant du McDo)
  • Réutiliser le drop pour plusieurs mobs
  • Y ajouter des conditions d'apparition du loot

Vous pouvez remarquer que vous pouvez faire appel à une droptable dans une droptable et ceci à l'infini.

Maximal / Minimal

Il permet de donner un nombre d'objet minimal et maximal au joueur. Il pourra ainsi toujours avoir une récompense. Voyez ce système comme une loterie infinie : La table de drop va fonctionner une fois, si le jouer n'atteint pas le nombre minimal d'objet gagné, alors la roulette va se relancer jusqu'à l'objectif soit atteint.

Les conditions de Drops

Ceci à plusieurs utilités, puisque que la plupart des conditions marchent aussi sur l'apparition des drops. Nous pouvons par exemple imaginer que si le monstre à été tué en plein soleil, il va donner des loots différents que la nuit :

Jour :

demon-jour: 
  Conditions:
  - day true
  Drops:
  - diamond 10 0.5
  - iron_ingot 10 0.75
  - gold_ingot 10 0.60

Nuit :

demon-nuit: 
  Conditions:
  - day false
  Drops:
  - diamond 20 0.5
  - iron_ingot 20 0.75
  - gold_ingot 20 0.60
  - emerald 5 0.25

Vous pouvez, tout comme les mobs, créer plusieurs droptables dans le même fichier sans limite.

Si on exprime ce fichier en langage plus compréhensible :

1. Le jour il donne :

  • 10 Diamants avec 50% de chances
  • 10 Lingots de fer avec 75% de chances
  • 10 Lingots d'or avec 60% de chances

2. La nuit il donne :

  • 20 Diamants avec 50% de chances
  • 20 Lingots de fer avec 75% de chances
  • 20 Lingots d'or avec 60% de chances
  • 5 émeraudes avec 25% de chances

Une liste des conditions est trouvable ici : Page : Liste Conditions

Faites attention, les journées dans Minecraft comportes 4 phases : Day / Night / Dusk / Dawn si jamais vous mettez night true à la deuxième condition alors le joueur ne recevra aucune récompense lors du lever/coucher du soleil.

Intégrer une droptable à un mob.

C'est bien de faire des drops hyper fournis mais il vaut mieux qu'ils soient utilisables.

Pour intégrer les droptables, c'est très simple, voici un exemple :

Le mob :

snow_loving_zombie:
  Type: zombie
  Health: 100
  Equipment:
  - snowsword:0
  Drops:
  - exp 75-125 1
  - rare_snowsword_droptable

La droptable :

rare_snowsword_droptable:
  Conditions:
  - inbiome ICE_PLAINS
  - playerwithin 20
  Drops:
  - snowsword 1 0.05

L'item :

snowsword:
  Id: 292
  Display: '&7Superbe épée des neiges'
  Attributes:
    MainHand:
      Damage: 8
      MovementSpeed: 0.1
      Luck: 10
    Offhand:
      Damage: 4
      MovementSpeed: 0.1
      Luck: 20

Cet exemple vient du Wiki Officiel partie "Drops" : disponible ici.


D'autres drops

Vous avez sûrement envie d'utiliser toutes les compatibilités qu'offre le plugin ! :

Compatibilités

Donner de l'argent en récompense :

Il ne faut pas oublier que l'argent est le nerf de la guerre et hormis le possible cas ou votre économie ne repose uniquement sur du troc alors il faut savoir en faire donner aux monstres !

Voici l'exemple tant attendu :

du_fric:
  Type: SKELETON
  Health: 1
  Drops:
  - money 100-200 0.5
  - exp 50-300 0.75

J'en profite pour montrer un nouvel aspect des drops : Les ranges, Ici le joueur gagnera entre 100-200 pièce d'or au hasard, cette méthode marche avec tout type d'exp et l'argent.

Les types d'expériences et les objets spéciaux :

Si vous avez un plugin de classe, vous allez avoir besoin de donner de l'exp de classe à vos joueurs et de même pour les objets modifiés :

Infos

Lorsque qu'aucune caractéristique n'est renseigné, il faut inclure un nombre comme l'expérience, si vous oubliez, l'exp de classe donnée sera forcément 1 (avec 100% de chances)

puissance:
  Type: SKELETON
  Health: 1
  Drops:
  - skillapi-exp 100-200 0.75
  - exp 50-300 0.99

Ce mob à 75% de chances de donner entre 100 et 200 points d'expériences de SkillAPI et 99% de chances de donner entre 50 et 200 points d'expériences basiques.


Si vous avez des ajouts, n'hésitez pas à mettre une Issue (plus actif ici que Discord).

Issue