Items with the lock in inventory item component trigger assert failures when swapping them with items from the creative inventory on touch inputs
Partner Rank: 2 (Important)
Partner Team Reporting: Oreville Studios
Verification builds:
- 1.20.81.01_RC0 (Windows 10, Partner Build 24209860)
- 1.21.0.26_RC0 (Windows 10, Partner Build 24690028)
Regression Builds: Unknown
Summary:
Items with the lock in inventory item component given through commands or script will trigger assert failures when attempting to replace them with items from the creative inventory on touch inputs.
{"minecraft:item_lock":{ "mode": "lock_in_inventory" }}
Impact:
Quite a lot of content exists already on the Marketplace using this item lock type, but not many content types are currently built to be played in creative mode. The impact to this affecting existing content is low. However, with addons coming to general availability soon, we need to be able support creative mode in addons. We have content in development that is affected by this because we need to lock items to the inventory in creative mode. This issue is a potential release blocker for one of our content items in the pipeline. This may affect other partners as well.
Repro Steps:
- Create a new world with a developer version of the game.
- Run this command to give yourself an apple with the lock inventory item component:
/give @s apple 1 0 {"minecraft:item_lock":{ "mode": "lock_in_inventory" }}
- Enter touch input mode on developer version by pressing ctrl-shift-F11.
- Enter the creative inventory and attempt to place an item from the creative inventory into the spot of the apple.
Observed Results:
The following assert failures are triggered:
--------------------------- Assert Failure - ctrl+C to copy this message to the clipboard! --------------------------- Assertion failed: Invalid to not have transferred the entire stack of items out of CreatedItemOutput slot by end of scope Condition is false: !containerModel->getItemStack(mSrcSlot->mCollectionIndex) Function: __cdecl CreateContainerItemScope::~CreateContainerItemScope(void) in D:\a\_work\1\s\handheld\src\common\world\containers\managers\controllers\ContainerManagerController.cpp @ 171--------------------------- Abort Retry Ignore ---------------------------
--------------------------- Assert Failure - ctrl+C to copy this message to the clipboard! --------------------------- Assertion failed: ItemStackNetManagerClient::handleItemStackResponse attempting to handle a request it did not issue or has since been removed! Condition is false: false Function: void __cdecl ItemStackNetManagerClient::handleItemStackResponse(const class std::vector<struct ItemStackResponseInfo,class std::allocator<struct ItemStackResponseInfo> > &) in D:\a\_work\1\s\handheld\src\common\world\inventory\network\ItemStackNetManagerClient.cpp @ 453--------------------------- Abort Retry Ignore ---------------------------
Expected Results:
No asserts appear.
Screenshots / Videos attached: Yes
Notes: N/A