Closed Herieman2 closed 3 months ago
@Herieman2 How did you determine that The search for Nexus's bunny
is the relevant quest? Because it looks to me like one of your quests has an item with an amount less than 1.
Yes, I have just walked through all quests again just to be sure but none of the other quests have a value below 1 from what I can tell (Unless I am missing something here) Github seems to have messed up the spacing, but all of the quests that are not default have been made in-game and none have been edited in the config so they do have the correct spacing
quests:
default1:
name: Iron Miner
ask-message: <yellow>Mine <pink>2<yellow> blocks of <pink>Iron Ore<yellow>.
finish-message: <yellow>Well done. Here is your reward.
redo-delay: 1800
requirements:
items:
- ==: org.bukkit.inventory.ItemStack
v: 3953
type: STONE_PICKAXE
remove-items:
- false
fail-requirement-message: <red>You must have a <pink>Stone Pickaxe<red> first.
stages:
ordered:
'1':
break-block-names:
- IRON_ORE
break-block-amounts:
- 2
break-block-durability:
- 0
rewards:
money: 1000
quest-points: 1
default2:
name: Mob Hunter
ask-message: <yellow>Kill an assortment of Mobs.
finish-message: <yellow>Excellent. Here is a <pink>Diamond Sword<yellow>.
stages:
ordered:
'1':
death-event: DeathFail
mobs-to-kill:
- Pig
mob-amounts:
- 3
finish-event: NiceFinish
'2':
death-event: DeathFail
mobs-to-kill:
- Zombie
mob-amounts:
- 2
finish-event: NiceFinish
'3':
death-event: DeathFail
mobs-to-kill:
- Skeleton
mob-amounts:
- 1
rewards:
items:
- ==: org.bukkit.inventory.ItemStack
v: 3953
type: DIAMOND_SWORD
exp: 100
quest-points: 1
default3:
name: Catch Fish
ask-message: <yellow>Catch some fish!
finish-message: <yellow>Good job. Here is some <green>experience<yellow>.
stages:
ordered:
'1':
start-event: GiveRod
death-event: DeathFail
fish-to-catch: 5
rewards:
exp: 250
default4:
name: Timed Quest
ask-message: <yellow>Dig up <pink>10<yellow> blocks of <pink>Dirt<yellow> before
time runs out!
finish-message: <yellow>You did it in time! Have an <pink>Iron Shovel<yellow>
and some <green>experience<yellow>.
requirements:
quest-points: 1
fail-requirement-message: <red>Complete <pink>Iron Miner<red> or <pink>Mob Hunter<red>
first.
stages:
ordered:
'1':
break-block-names:
- DIRT
break-block-amounts:
- 10
break-block-durability:
- 0
start-event: TimerStart
disconnect-event: CancelTimer
rewards:
items:
- ==: org.bukkit.inventory.ItemStack
v: 3953
type: GOLD_INGOT
exp: 150
'000001':
name: Nexus is searching
ask-message: Heey my bunny is lonely, can you go play with her?
finish-message: Well done, I could hear her from all the way over here
npc-giver-uuid: 6fd75041-86b0-418f-9d39-20587cc09140
gui-display:
==: org.bukkit.inventory.ItemStack
v: 3953
type: BONE_MEAL
stages:
ordered:
'1':
npc-uuids-to-talk-to:
- b9e1904a-9de9-432d-9d25-d1e731b61dd4
complete-message: Oh yes
'2':
items-to-deliver:
- ==: org.bukkit.inventory.ItemStack
v: 3953
type: BONE_MEAL
amount: 1
npc-delivery-uuids:
- b9e1904a-9de9-432d-9d25-d1e731b61dd4
delivery-messages:
- Thank you. Only §5<amount> §rmore to go!
'000002':
name: TEst
ask-message: Challenge objectives!
finish-message: Well done!
npc-giver-uuid: b6092dc5-cc07-4853-863c-6e5147554e01
stages:
ordered:
'1':
npc-uuids-to-talk-to:
- fe0a2a9f-b964-4139-bf3f-b90fb61d3f23
'2':
npc-uuids-to-talk-to:
- b6092dc5-cc07-4853-863c-6e5147554e01
'000003':
name: The search for Nexus's bunny
ask-message: Hello! Ive lost my bunny somewhere in spawn, could you help me find
her? It shouldnt be hard to miss her
finish-message: Thank you for finding her, now, if you dont mind, I'd like some
privacy with her
npc-giver-uuid: b8197b15-fa0a-46ff-8a78-f4a2a2540276
gui-display:
==: org.bukkit.inventory.ItemStack
v: 3953
type: CARROT
stages:
ordered:
'1':
npc-uuids-to-talk-to:
- b9e1904a-9de9-432d-9d25-d1e731b61dd4
start-message: Hello! Thank you for finding me!
complete-message: Again, thanks! But...its been a while, could you get me
some carrots to eat?
'2':
items-to-deliver:
- ==: org.bukkit.inventory.ItemStack
v: 3953
type: CARROT
amount: 6
npc-delivery-uuids:
- b9e1904a-9de9-432d-9d25-d1e731b61dd4
delivery-messages:
- Thank you. Only §5<amount> §rmore to go!
start-message: Well, off you go to get me my carrots
complete-message: Thank you for the carrots!
I've fixed the spacing for you. I do see several items that don't specify an amount, such as:
==: org.bukkit.inventory.ItemStack
v: 3953
type: BONE_MEAL
I would think that'd just default to 1, but try adding the information for those items and restart the server. Ex:
==: org.bukkit.inventory.ItemStack
v: 3953
type: BONE_MEAL
amount: 1
Make sure to use spaces; not tabs!
Thank you for fixing the spacing, I have now gone through all mentions of itemstack that was missing an amount and restarted the server, afterwards I attempted to run through the quest again and got the following error:
[22:07:02 ERROR]: Could not pass event NPCRightClickEvent to Quests v5.0.5-b476
java.lang.IllegalArgumentException: amount must be greater than 0
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
at org.bukkit.inventory.ItemStack.of(ItemStack.java:59) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at org.bukkit.inventory.ItemStack.
@Herieman2 Thanks for that info. May have found a solution. Can I see the /version
output from your server?
@PikaMug I have ran the command and this came out:
[10:33:16 INFO]: Checking version, please wait... [10:33:16 INFO]: This server is running Paper version 1.21-27-master@76c2f16 (2024-06-22T18:19:36Z) (Implementing API version 1.21-R0.1-SNAPSHOT) You are running the latest version Previous version: 1.21-23-0409a68 (MC: 1.21)
@PikaMug It appears we are now getting the error even when Quests are not involved, like when clicking on a trapdoor or placing a block, there seems to be no difference between people who have accepted quests or are actively doing quests or have never touched quests
[15:16:48 ERROR]: Could not pass event PlayerInteractEvent to Quests v5.0.5-b476
java.lang.IllegalArgumentException: amount must be greater than 0
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
at org.bukkit.inventory.ItemStack.of(ItemStack.java:59) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at org.bukkit.inventory.ItemStack.
@Herieman2 Please give this build a try: https://ci.codemc.io/job/PikaMug/job/Quests/477/
Let me know if that helps. If not, there's another potential solution we could try.
Im getting same error... even with this latest jar...
[17:20:10 ERROR]: Could not pass event BlockBreakEvent to Quests v5.0.5-b477
java.lang.IllegalArgumentException: amount must be greater than 0
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
at org.bukkit.inventory.ItemStack.of(ItemStack.java:59) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at org.bukkit.inventory.ItemStack.
I tried it with the latest version and what happened is, this time the task to deliver the item did appear in the chat, but then when I clicked on the NPC with the correct item nothing happened, clicking on the NPC with the incorrect item does seem to register. After this I opened and closed a door a couple times and the server crashed with the following error:
[19:40:06 ERROR]: Could not pass event PlayerInteractEvent to Quests v5.0.5-b477
java.lang.IllegalArgumentException: amount must be greater than 0
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
at org.bukkit.inventory.ItemStack.of(ItemStack.java:59) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at org.bukkit.inventory.ItemStack.
Turns out this is an issue specific to recent development builds of Paper. Spigot servers are not affected. I've already informed the development team, but it's possible the change responsible may be to stay.
For now, the following build should silence the exceptions. There may be side-effects. If you see any odd bugs (namely with objective counts) please report them in a new ticket. Thanks for your patience!
What is your Quests version / build number (do not say "latest")?
We use Quests 5.0.5 and minecraft 1.21
Describe the problem and how to replicate it.
When we try to accept a quest with item delivery it throws an error in the console and does not seem to recognise the rest of the quest. The quest works normal until we get to the stage where we would normally deliver an item, this is where the quest stops functioning.
Any console errors to share?
If applicable, can you provide an example quest from quests.yml?