Forbidden and Arcanus

Forbidden and Arcanus

40M Downloads

Unable to collect blood in test tube with mystical dagger

Techokami opened this issue ยท 7 comments

commented

Describe the bug
I am trying to collect blood to perform my first ritual, and from what I gathered from the very sparse wiki page is that I need to defeat an entity with the Mystical Dagger while I also have the Test Tube item in my inventory. Well, after slaying a bunch of mobs (hostile and passive), I got... zero blood. I am confused and perplexed! Heck, I even got to the point of going into a creative test world to just try and get a test tube filled with blood to see if it is even obtainable, and I can't even do that from the creative inventory! I don't know what the correct NBT format is for adding blood to the test tube, either, even after reading over the source code.

To Reproduce
Steps to reproduce the behavior:

  1. Equip a Mystical Dagger, have a Test Tube either in your offhand, your hotbar, or just in your general inventory
  2. Slay a mob with the Mystical Dagger
  3. Where's the blood??

Expected behavior
I expected the mod to behave like the wiki said it would.

Versions

  • Forbidden & Arcanus: 1.19.2-2.1.0
  • Valhelsia Core: 1.19.2-0.5.0
  • Forge: 1.19.2-43.2.3

Additional context
I am using the currently released version of the Valhelsia 5 modpack, which is still on 1.19.2. However I did also alter it slightly; I manually updated Twilight Forest to 1.19.2-4.2.1518 in order to solve a crashing bug. However I don't think that should have any interaction with Forbidden & Arcanus.

commented

Update: I tried giving myself the item "forbidden_arcanus:blood_test_tube" and for some reason, THIS item will in fact collect blood. But there is no crafting recipe for this version of the Test Tube item, nor is there any way to make the Test Tube item I crafted behave like this. Still a nasty bug that needs to be addressed!

Update 2: Looks like it only works on cows????

commented

The blood_test_tube item has no crafting recipe as the normal test_tube item is intended to turn into the blood variant as soon as the player starts slaying entities with the mystical dagger. This also works as intended in most cases (see https://www.youtube.com/watch?v=AUJ5v9IZNHM for an example where it is working in the Valhelsia 5 modpack).

However, since we implemented this mechanic, we got reports of it sometimes not working correctly as described in your case. So far no one has been able to find the cause though, which makes it hard to fix. My current guess is that it's either a mod conflict (try a new profile with just F&A installed) or some item from another mod in your inventory preventing the test tube from working (try with an empty inventory that just contain the Test Tube and the Mystical Dagger)

commented

Okay, I put all my inventory away in a chest (including everything in my Curio slots) and had an inventory of just the Mystical Dagger and a plain Test Tube. I summoned in a pig, killed it, got no blood. I summoned in a cow, killed it, got no blood. I save & quit to title, restarted the world, summoned in a new cow, killed it, got blood. I summoned in a pig, killed it, got blood. This is bizzare.

As for testing in a clean profile with just your mod, that's going to be very painful... I'm on Linux so I don't have the luxury of the CurseForge client (I use a set of Python scripts to turn CurseForge modpacks into vanilla launcher profiles) and the alternate launchers have all been breaking on me. Since this is not my modpack, however, you might want to go and prod the Valhelsia team about this then. I'd do it, but they don't have a GitHub issues tracker for the modpack (even though they have a repo??????) and I'm not in the mood to join Yet Another Discord Server.

commented

I know it's been a few days but do you have the full list of items you had in the inventory when you tried using the dagger before putting them all away in a chest? Maybe that would already limit the mods that could cause it.

commented

I believe the problem is here:

if (player.getItemInHand(player.getUsedItemHand()).is(ModItems.MYSTICAL_DAGGER.get())) {

player.getUsedItemHand() is not associated with the event.
I just encountered this issue, traced your code on this repo, then followed these steps:

  1. put an shield in main hand, use it once.
  2. then put mystical dagger in main hand, swing it at some mobs.
  3. test tubes got blood in them.

That's a good catch, thanks! Updates fixing this in both 1.18.2 and 1.19.2 are on the way and should be available shortly.

commented

Both versions are now available.

commented

I believe the problem is here:

if (player.getItemInHand(player.getUsedItemHand()).is(ModItems.MYSTICAL_DAGGER.get())) {

player.getUsedItemHand() is not associated with the event.

I just encountered this issue, traced your code on this repo, then followed these steps:

  1. put an shield in main hand, use it once.
  2. then put mystical dagger in main hand, swing it at some mobs.
  3. test tubes got blood in them.