PikaMug / Quests

Easy-to-use, open-source plugin for the creation and execution of quests on Minecraft servers.
https://modrinth.com/plugin/quests.classic
MIT License
152 stars 108 forks source link

Quests not loading says custom objective null #1884

Closed Slothsc closed 2 years ago

Slothsc commented 2 years ago

What is your Quests version / build number (do not say "latest")?

4.1.3

Describe the problem and how to replicate it.

Mulltiple quests have suddenly stopped loading in game and no changes have been made. It says custom objective null in the error but multiple of the quests getting that error don’t have custom objectives. The quests are these Griffin nest custom22 Reaching for the sky Zeus custom61 A prophecy before the end- Hera custom71 Midgard serpent custom69 Lights gone out custom70 Material hunting in the seven realms custom77 The end and the beginning- Ragnarok 5 custom78 After the twilight custom76

Any console errors to share?

[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom35 was null
[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom55 was null
[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom56 was null
[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom60 was null
[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom61 was null
[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom59 was null
[20:33:52] [Server thread/WARN]: [Quests] Unable to load custom objectives because quest for custom67 was null

If applicable, can you provide an example quest from quests.yml?

custom51:
    name: Reaching for the sky - Zeus/Olympus
    ask-message: '§7(§eGod§7)§eZe§fus: Ah Young demigod you have finally come to your
      King. Are you ready to aid me?'
    finish-message: clear
    npc-giver-id: 540
    requirements:
      quests:
      - Forging Ahead- Hephaestus
      fail-requirement-message:
      - you must complete the quest from Hephaestus first
    stages:
      ordered:
        '1':
          npc-ids-to-talk-to:
          - 540
          complete-message: '&7(&eGod&7)&eZe&fus: Your first task shall be simple.
            Slay the Eagle that feasted on Prometheus at /warp eagle and bring me
            a feather, it may take a few kills to get one!'
        '2':
          npc-ids-to-kill:
          - 773
          npc-kill-amounts:
          - 1
          complete-message: let’s talk to Zeus when we have a feather!
          objective-override:
          - '[Kill the eagle at warp eagle and get Zeus one of its feathers that may
            take a few kills to get]'
        '3':
          items-to-deliver:
          - ==: org.bukkit.inventory.ItemStack
            v: 2584
            type: FEATHER
            meta:
              ==: ItemMeta
              meta-type: UNSPECIFIC
              display-name: '{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gold","text":"Roman
                Eagle Feather"}],"text":""}'
              lore:
              - '{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"red","text":"Accessory"}],"text":""}'
              - '{"text":""}'
              - '{"extra":[{"text":"Feathers dropped from the eagles of Camp Jupiter."}],"text":""}'
              attribute-modifiers:
                GENERIC_ATTACK_SPEED:
                - ==: org.bukkit.attribute.AttributeModifier
                  amount: 0.0
                  name: mmoitemsDecoy
                  uuid: 87851e28-af12-43f6-898e-c62bde6bd0ec
                  operation: 0
              ItemFlags:
              - HIDE_ATTRIBUTES
              internal: H4sIAAAAAAAAAONiYOBgEPX19fcMcfUNjneJ9HP09XSO9/EPcmVwj1Y6tDzZMTk5tbg4v6hSSUcJiNxSE0syUouKFVKK8gsKUlMU0orycxWAQgqpiek5qcUK+WkKzom5BQpepQWZJalFekqxHAxCcAtAZHxIZIArA6ejs7NrcLB/UCQHgwCqvKcLA6+ro7uPa7ybq2OIh2sQBwMvXAXYaabR5DiEAQCuazFN7gAAAA==
          npc-delivery-ids:
          - 540
          delivery-messages:
          - thanks
          complete-message: '&7(&eGod&7)&eZe&fus: Good my young hero. You’ve proven
            yourself with a first task, now let’s see if you can soar to greater achievements
            than an eagle.'
          objective-override:
          - '[Give Zeus the feather]'
        '4':
          npc-ids-to-talk-to:
          - 540
          complete-message: '&7(&eGod&7)&eZe&fus: One of my symbols happens to be
            the bull, and a very particular Cretan Bull seems to be causing trouble.
            Find and slay him at /warp Cretan.'
          objective-override:
          - '[Talk to Zeus]'
        '5':
          npc-ids-to-kill:
          - 772
          npc-kill-amounts:
          - 1
          objective-override:
          - '[Kill Cretan Bull at /warp Cretan]'
        '6':
          npc-ids-to-talk-to:
          - 540
          complete-message: '&7(&eGod&7)&eZe&fus: My child you have proven yourself
            worthy. With the eagles feather and the Cretans bull dead bring me these
            items finally'
          objective-override:
          - '[Talk to Zeus]'
        '7':
          items-to-deliver:
          - ==: org.bukkit.inventory.ItemStack
            v: 2584
            type: GLOWSTONE_DUST
            amount: 5
          - ==: org.bukkit.inventory.ItemStack
            v: 2584
            type: BLAZE_ROD
            amount: 3
          - ==: org.bukkit.inventory.ItemStack
            v: 2584
            type: GOLDEN_CARROT
          npc-delivery-ids:
          - 540
          - 540
          - 540
          delivery-messages:
          - thanks
          - thanks
          - thanks
          complete-message: '&7(&eGod&7)&eZe&fus: Well then young hero your reward
            is ready. Take this bolt and make use of it as a true hero, goodbye.'
          objective-override:
          - '[Give Zeus 5 glow stone dust 3 blaze rods 1 golden carrot]'
    rewards:
      money: 800
      commands:
      - rpgitem icarus 1 <player>
    planner:
      override: false
    options:
      allow-commands: true
      allow-quitting: true
      ignore-silk-touch: true
      use-dungeonsxl-plugin: false
      use-parties-plugin: true
      share-progress-level: 1
      require-same-quest: true
Slothsc commented 2 years ago

A few Quests with custom objectives load in game and work fine. But quests with no custom objectives get the error about null custom objectives

PikaMug commented 2 years ago

It appears the output is simply saying there was a problem in trying to load custom objectives because there's an issue with that quest; and not that the quest necessarily has any custom objectives. For this reason there should be a separate warning earlier in the log file that explains why that is.

Some possibilities include an NPC ID being invalid (such as an NPC being deleted without detaching the quest first) or an invalid quest ID for requirement/block (such as if manually removed from file).