BerndiVader / MythicMobsQuestsModule

MythicMobs Kill Objective for Quests Plugin
11 stars 12 forks source link

Quest Addon for Quests 4.x MythicMobs 4.7.2 or any higher version and Spigot 1.8.8 - 1.16.5

DOWNLOAD [Build Status]

[FOR QUESTS 3.2.7 AND BELOW] (https://github.com/BerndiVader/MythicMobsQuestsModule/releases/tag/285)

Changelog

Installation Instructions

Install (upload, extract, copy) the jar into plugins/Quests/Modules/ and restart the server.

Denizen Custom Objective for Quests

In Quests

Quests:
  custom1:
    name: 'The booze battle'
    ask-message: 'You booze more than the old drunkard?'
    finish-message: 'Well done! You are far gone, but you are now the new drunkard in town!'
    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Custom Denizen
              count: 5
              data:
                Objective Name: Defeat the old drunkard!
                Objective Type: consume m@potion
                Notify player: 'true'
                Notify Message: '%c% %s%'

In Denizen

Events:
  type: world
  debug: false

  events:

    on player consumes item:
      - announce <context.item.material>
      - firequestobjective action:INCREMENT quester:<player> "type:consume <context.item.material>"

Kill MythicMobs Objective for Quests

quests:
  custom1:
    name: For the though guys
    npc-giver-id: 0
    redo-delay: 3
    ask-message: Kill some mobs while being naked and just equipped with an wooden_axe!
    finish-message: WOW!! You're truly a tough guy!
    gui-display: name-DIRT:amount-1
    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill MythicMobs Objective
              count: 3
                data:
                Objective Name: kill 3 mobs naked but only equiped with an axe made out of wood
                TargetConditions: ownsitemsimple{where=HAND;Material=wood_axe} && testfor{vc=(Inventory:[(Slot:100b)]);action=false} && testfor{vc=(Inventory:[(Slot:101b)]);action=false} && testfor{vc=(Inventory:[(Slot:102b)]);action=false} && testfor{vc=(Inventory:[(Slot:103b)]);action=false}
                Notifier enabled: 'true'
                Notifier msg: You killed %c% out of %s% mobs while naked with an wooden axe!
  custom2:
    name: Kill 10 of these MythicMobs
    ask-message: Will you kill 10 of these MythicMobs for us?
    finish-message: Thank you for your help!
    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill MythicMobs Objective
              count: 10
              data:
                Notifier enabled: 'true'
                Notifier msg: Killed %c% out of %s%
                Objective Name: Kill 10 of any MythicMob
Configuration Notes

If you want the player to see a notification message tracking their progress, set Notifier enabled to true and use Notifier msg to customize the message. You can use %s% and %c% as placeholder for whole amount and actual count.

If your mobs do not utilize the "level" feature of MythicMobs, you may use Mob Level: '0', but it must be included. This field also accepts ranges, e.g. Mob Level: '0-10'.

If you want to filter per faction use Mob Faction option. Valid is ANY to match all factions or a single value or a arraylist eg: faction1,faction2,faction3

The Objective Name is what will be displayed to the player, and may be set to whatever you like accordingly.

The Internal Mobnames field references the names of MythicMobs as specified in your MythicMobs config files. In the above examples, such a MythicMob would be internally named SkeletalDarkKnight, e.g.:

SkeletalDarkKnight:
  Type: WITHER_SKELETON
  Display: '&dSkeletal Dark Knight'
  Health: 150
  Damage: 7

Note that this is the internal name of the mob (used to initiate the YAML block), not its Display Name or Type. This field also supports multiple options, separated by commas, or ANY, e.g.:

  custom3:
    name: Kill various MythicMobs
    ask-message: Will you kill 10 MythicMobs of any kind for us?
    finish-message: Thank you for your help!
    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill MythicMobs Objective
              count: 10
              data:
                Notifier enabled: 'true'
                Notifier msg: Killed %c% out of %s%
                Objective Name: Kill 10 of any MythicMob

MythicItem rewards for Quests

Quests can offer MythicItems as rewards for completing them. Plus add special tags to the item so that they can be identified as mythicmobs- and, or quest items. Syntax example:

    rewards:
      custom-rewards:
        req1:
          name: MythicMobs Item Reward
          data:
            MythicItem: MMDIRT
            Notify: 'true'
            RewardName: You received a MythicMobs item
            Amount: '1'
            Stackable: 'false'
            ItemMarker: MMDIRT
Configuration Notes

The mythicitem reward uses the following data options and all attributes are required:

MythicItem requirement

Quests require an special item to continue. Check the item with Lore, Material, DisplayName or just simple by an Tag refering to a mythicmobs item.

Configuration Notes

If the item was created by reward or requirement itself or by mythicmobsext's dropmythicitem mechanic you can use ItemMarker to refer to a mythicmobs item. Alternatively use Material, DisplayName and Lore. All attributes and options are required:

    requirements:
      custom-requirements:
        req1:
          name: MythicMobs Item Require
          data:
            Lore: NONE
            Amount: '1'
            Supply: 'true'
            Material: ANY
            NameEnds: NONE
            MythicItem: MMDIRT
            ItemMarker: MMDIRT
            RemoveItem: 'false'
      fail-requirement-message: Go and find the MMDIRT item!

MythicItem NPC Deliver Objective

Quests stages can be completed by deliver an item or an MythicMobs item to an citizens NPC. Requires citizens plugin to be installed.

Configuration Notes

If the item or items were created by reward, requirement or mythicmobsext's dropmythicitem mechanic you can use ItemMarker to refer to the mythicmobs item. Alternativly use Material, DisplayName and Lore. All attributes and options are required:

This example use the MythicItem to refer to a mythicmobsitem. There is no need to use material, lore or displayname.

    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: MythicItem NPC Deliver Objective
              count: -999
              data:
                NPC IDs: '0'
                Lore: ANY
                HoldItem: 'true'
                Amount: '>0'
                Material: ANY
                NameEnds: NONE
                TimeLimit: '-1'
                MythicItem: MMDIRT
                TargetConditions: NONE
                Conditions: NONE
          start-message: Bring the questitem MMDIRT to my friend bubu
          complete-message: Thank you for your help!

Please submit issues or pull requests as appropriate. Happy questing!