Apoc, I tried going back to using the DemonBuddy API - but new versions of DB do exactly the same as old versions. At random, they just give in and start reporting completely invalid data for loads of items - seems to happen after many runs/after a period of time, and at random. When it happens, the internalname value remains valid (correct) on all items, but the DemonBuddy values (itemtype, istwoslot, name, etc. - all the "commondata" stuff other than internalname) goes all to hell and causes infinite stash loops. Here's a log output from Latest stash replacer which was trying to use DB API to recognize item types;
[05:57:58.672 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: Mythic Health Potion [healthPotion_Mythic-78] type=Bracers @ slot 30/5
[05:57:58.678 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: Mythic Health Potion [healthPotion_Mythic-101] type=Mace @ slot 20/7
[05:57:58.680 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: Exquisite Essence [Crafting_Tier_04B-110] type=Sword @ slot 30/2
[05:57:58.682 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: {c:ffffff00}Plan: Exalted Sovereign Mail (5){/c} [CraftingPlan_Smith_Drop-114] type=Pants @ slot 30/4
[05:57:58.684 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: {c:ffffff00}Plan: Exalted Sovereign Helm (5){/c} [CraftingPlan_Smith_Drop-119] type=Shoulders @ slot 10/6
[05:57:58.685 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: Hideous Meridian [Ring_23-122] type=Gloves @ slot 10/2
[05:57:58.685 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: Exquisite Essence [Crafting_Tier_04B-123] type=Boots @ slot 30/1
[05:57:58.695 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: {c:ffffff00}Plan: Exalted Dread Shield (6){/c} [CraftingPlan_Smith_Drop-163] type=Shield @ slot 30/7
[05:57:58.699 D] [GilesStashReplacer 1.9.1] GSError: DemonBuddy thinks this item is 2 slot even though it's at bottom row of a stash page: Glory Hold [Ring_21-177] type=Boots @ slot 10/3
Note: These items were all at the bottom of a stash page, so couldn't be 2-slot items. The internalnames were correct for them all. The "itemtype" was not (which is output above).
This was one of the original reasons I abandoned the DB API initially, because it would just randomly stop working altogether - the bug still seems to exist.
So far I don't have a cause for you if you are unable to track this down. For whatever reasons, the above bug never affected the "internalname" - any idea why? Is that data for internalname read separately/first/last? Stored somewhere else? Some code that edits those other stats and is bugging them out isn't trying to edit internalname? Some function updates all item stats but doesn't update internalname which was only read once and remained valid? Do you need me to write a really really simple plugin that monitors your stash and backpack and whenever it finds a conflict (ie whenever DB seems to be getting the itemtypes wrong), posts a load of messages for you?
This was why I'd originally made the plugin and used my own item recognition code - and to date, other than the oddness with the follower items being seen as "jewelboxes" after being dropped to the ground above, had always remained stable/static and so at least a helm was always seen as a helm etc.
I'd be happy to use the DB API but right now, the DB item API still has some serious root issues with it.
Help?
