Informations

Donnez des nouveaux objectifs à vos joueurs !

Présentation

Fonctionnalités

  • Fonctionnel en 1.19 - 1.21

  • Configuration simple et rapide

  • Créez autant de métiers que vous voulez

  • Menu de progression

  • Système de classement

  • Système avancé de boost d'XP

  • Option de leveling et récompenses infini (configurable)

  • Supporte les "custom model data"

  • Support des blocs custom avec ItemsAdder

  • Support des codes couleurs Hex

Commandes

Commande
Description
Permission

/jobs

Accès au menu principal

//

/jobs help

Voir la liste des commandes

//

/jobs reload

Recharger le plugin

jobs.admin

/jobs open <métier>

Ouvre le menu de récompense d'un métier précis

jobs.open.<métier>

/jobs join <métier>

Rejoins un métier précis

//

/jobs leave <métier>

Quitte un métier déjà rejoint

//

/jobs setlevel <joueur> <jobId> <level>

Définis le niveau d'un métier pour un joueur

jobs.admin

/jobs addlevel <joueur> <jobId> <level>

Ajoute des niveaux au métier d'un joueur

jobs.admin

/jobs removelevel <joueur> <jobId> <level>

Retire des niveaux au métier d'un joueur

jobs.admin

/jobs reset <all/joueur>

Réinitilialise les niveaux au métier d'un joueur

jobs.admin

/jobs addrankingpoints <joueur> <jobID> <quantité>

Ajoute des points de classement à un joueur

jobs.admin

/jobs removerankingpoints <joueur> <jobID> <quantité>

Retire des points de classement à un joueur

jobs.admin

/jobs setrankingpoints <joueur> <quantité>

Définis les points de classement d'un joueur

jobs.admin

/jobsboost <durée> <multiplicateur> <métier/all> <joueur/global>

Commencer un event de boost d'xp

jobs.admin

/jobsboost cancel <joueur/global>

Annulez un event de boost d'xp

jobs.admin

//

Limite la quantité de métier rejoignable en même temps

jobs.quantity.1

//

Donne un boost d'expérience en pourcentage sur un métier précis

jobs.<métier>.exp.<pourcentage>

Placeholders

  • %jobs_job_<job>_level% - Affiche le niveau du joueur dans un métier précis

  • %jobs_job_<job>_experience% - Affiche l'expérience possédée dans un métier précis

  • %jobs_job_<job>_needed-experience% - Affiche l'expérience manquante d'un métier précis

  • %jobs_job_<job>_ranking-points% - Affiche les points de classement du joueur dans un métier

  • %jobs_job_<job>_ranking-position% - Affiche la position du joueur dans le métier indiqué

  • %jobs_job_<job>_ranking_<position>_name% - Affiche le pseudo du joueur à la position du classement indiquée

  • %jobs_job_<job>_ranking_<position>_points% - Affiche le nombre de points du joueur dans le métier et la position du classement indiquée

  • %jobs_booster_<user/global>_<job>% - Affiche le temps restant de boost sur votre métier

Information complémentaires

  1. Vous pouvez créer tous types de métiers grâce aux différents objectifs disponible :

Objectifs
Description

block-place

Placer un bloc

block-break

Casser un bloc

mob-kill

Tuer un monstre

crop-harvest

Casser une culture

fishing

Pêcher un poisson

enchanting

Enchanter un objet

crafting

Créer un objet

brewing

Concocter une potion

player-kill

Tuer un joueur

repairing

Réparer un objet

  1. Les objectifs acceptent les indications de blocs spécifiques, comme par exemple: crafting-GOLD_BLOCK, mob-kill-SKELETON, enchanting-DIAMOND_BOOTS, etc..

  2. Pour attribuer une valeur spécifique à un poisson pêché (rawcod, rawpufferfish, rawsalmon, rawtadpole, rawtropicalfish) ne mettez pas de tiret. Par exemple : fishing-rawsalmon;5 vous permettra de donner 5 points d'expérience quand un joueur obtient un saumon cru. Si vous utilisez le plugin FoxFishing, le format est le même, mais veillé à garder le nom exact de votre poisson custom défini dans la configuration.

  3. Pour les blocs custom avec <ItemsAdder>, on utilisera ce format : block-break-NOMDUBLOC;1

Configurations

builder.yml
settings:
  friendly-name: 'Builder'
  # objective;experience-per
  # objectives can be: block-place, block-break, mob-kill, crop-harvest, fishing, enchanting, crafting, brewing
  # all objectives accepts specific block/material name, for example: crafting-GOLD_BLOCK, mob-kill-SKELETON, enchanting-DIAMOND_BOOTS etc.
  objectives:
    - 'block-place;1'
    - 'block-place-COAL_BLOCK;2'
    - 'block-place-REDSTONE_BLOCK;3'
    - 'block-place-IRON_BLOCK;7'
    - 'block-place-EMERALD_BLOCK;10'
    - 'block-place-DIAMOND_BLOCK;15'
  1. Vous pouvez également définir des actions pour tous les boutons des menus du plugin tel que:

inventories.yml
    other:
      end-tree:
        material: 'NETHER_STAR'
        display-name: '&#EB4D4D&lEnd of Job Tree'
        lore:
          - '&7This is as far as you can advance!'
        slots:
          - 53
        actions:
          CLOSE_INVENTORY: true
          SEND_MESSAGE: '&cYou have reached the end of the job tree!'
          RUN_COMMAND: 'say {player} has reached the end of the job tree!'
          PLAY_SOUND: BLOCK_CHEST_CLOSE;1.0;1.
  1. Les custom models data sont supportées par FoxJobs, il vous suffit d'ajouter "custom-model-data: valeur" sous la configuration d'un objet:

inventories.yml
      gray-glass:
        material: 'GRAY_STAINED_GLASS_PANE'
        display-name: '&c'
        custom-model-data: 5
        slots:
          - 1

Fichiers de Configuration

config.yml
database:
  type: 'sqlite' # sqlite, mysql
  address: 'localhost:3306'
  database: 'database'
  username: 'username'
  password: 'password'

reset-at-max-level: true
disable-main-menu: false

debug-mode: false
inventories.yml
main-menu:
  title: '&lAvailable Jobs'
  size: 27
  items:
    content:
      builder: # job id (file name without .yml)
        slot: 13
    other:
      gray-glass:
        material: 'GRAY_STAINED_GLASS_PANE'
        display-name: '&c'
        slots: []

job-menu:
  title: '&o&l{job-name} Job'
  size: 54
  page-item:
    previous:
      slot: 48
      material: 'ARROW'
      display-name: '&aPrevious Page'
      lore:
        - '&7Click to go to the previous page.'
    next:
      slot: 50
      material: 'ARROW'
      display-name: '&aNext Page'
      lore:
        - '&7Click to go to the next page.'
  items:
    content:
      job-tree-slots:
        slots: [0, 9, 18, 27, 28, 29, 20, 11, 2, 3, 4, 13, 22, 31, 32, 33, 24, 15, 6, 7, 8, 17, 26, 35, 44, 53]
    other:
      end-tree:
        material: 'NETHER_STAR'
        display-name: '&#EB4D4D&lEnd of Job Tree'
        lore:
          - '&7This is as far as you can advance!'
        slots: [53]
        actions:
          CLOSE_INVENTORY: true
          PLAY_SOUND: BLOCK_CHEST_CLOSE;1.0;1.0
      gray-glass:
        material: 'GRAY_STAINED_GLASS_PANE'
        display-name: '&c'
        slots: []
messages.yml
messages-prefix: '&6&l[Jobs]'

general:
  command-usage:
    - '{prefix} &cUsage: /{usage}'
  no-permission:
    - "{prefix} &cYou don't have enough permissions."
  target-not-found:
    - '{prefix} &cTarget not found.'
  help-command:
    - ''
    - '&6&l Jobs Commands'
    - ''
    - '&f /jobs &8▶ &7&oOpen jobs GUI.'
    - '&f /jobs setlevel <target> <job> <level> &8▶ &7&oSet player level in a job.'
    - '&f /jobs addlevel <target> <job> <level> &8▶ &7&oAdd player level in a job.'
    - '&f /jobs removelevel <target> <job> <level> &8▶ &7&oRemove player level in a job.'
    - '&f /jobs reset <target> <job> &8▶ &7&oReset a player job.'
    - '&f /jobs reload &8▶ &7&oReload all configurations.'
    - ''
  reload-command:
    - '{prefix} &aConfigurations successfully reloaded!'
  add-level-command:
    - '{prefix} &aSuccessfully added {level} level(s) to {target} job {job}.'
  remove-level-command:
    - '{prefix} &aSuccessfully removed {level} level(s) from {target} job {job}.'
  set-level-command:
    - '{prefix} &aSuccessfully set {target} job {job} level to {level}.'
  add-exp-command:
    - '{prefix} &aSuccessfully added {exp} EXP to {target} job {job}.'
  add-ranking-points-command:
    - '{prefix} &aSuccessfully added {points} point(s) to {target} job {job}.'
  remove-ranking-points-command:
    - '{prefix} &aSuccessfully removed {points} points(s) from {target} job {job}.'
  set-ranking-points-command:
    - '{prefix} &aSuccessfully set {target} job {job} ranking points to {points}.'
  reset-command:
    - '{prefix} &aSuccessfully reset {target} jobs.'
  job-not-found:
    - '{prefix} &cJob not found.'
  invalid-boost-duration:
    - '{prefix} &cInvalid boost duration! Example: 1h.'
  boost-already-active:
    - '{prefix} &cThere is already an active Boost Event.'
  no-boost-active:
    - '{prefix} &cThere is no active Boost Event.'
  cancel-boost:
    - '{prefix} &aSuccessfully cancelled Boost Event.'
  start-boost:
    - '{prefix} &aSuccessfully started Boost Event for {duration}.'
  start-boost-broadcast:
    - ''
    - '&#FFBB22&l JOB BOOST EVENT'
    - '&f &8▶ &7&o{job} job experience has been boosted by {amplifier}x for {duration}.'
    - ''
  start-all-boost-broadcast:
    - ''
    - '&#FFBB22&l JOB BOOST EVENT'
    - '&f &8▶ &7&oALL jobs has been boosted by {amplifier}x for {duration}.'
    - ''
  reached-max-jobs:
    - '{prefix} &cYou cannot join any more jobs!'
  already-in-job:
    - '{prefix} &cYou are already part of that job!'
  not-in-job:
    - '{prefix} &cYou are not in that job!'
  no-permission-to-join:
    - '{prefix} &cYou do not have access to join in this job!'
  job-join:
    - '{prefix} &aYou are now part of the %job% job!'
  job-leave:
    - '{prefix} &aYou are no longer part of the %job% job!'

jobs:
  reached-max-experience:
    - '{prefix} &aYou have reached the max experience for {job} Job and can level up.'
  level-up:
    - '{prefix} &aYour &f{job} Job &ahas reached &fLevel {level}&a!'
  max-level-up:
    - '{prefix} &aYour &f{job} Job &ahas reached &fMax Level&a and you received 1 ranking point.'
  insufficient-exp:
    - '{prefix} &cYou need {needed-experience} experience to level up.'

Last updated