-
Bug
-
Resolution: Invalid
-
None
-
1.17.10, 1.18.0
-
None
-
Plausible
-
Windows
Hello, I have been testing various server events listed as part of the scripting API, and I noticed that there are several cases where entity_acquired_item does not fire when it should.
The following item acquisition events do not fire when listening for this event:
- Crafting an item
- Picking up an item from a chest
- Trading with a villager or merchant
As far as I could tell, only the pick_up acquistion event makes this server event fire. This seems like a bug since multiple acquisition types are suggested to be available for the acquisition_method property of the event data, and the documentation explicitly lists villager trading as an example of when this event should fire.
Sample code for testing (server script):
const acquireItemSystem = server.registerSystem(0, 0);
acquireItemSystem.initialize = function() {
this.listenForEvent('minecraft:entity_acquired_item', eventData => this.onItemAcquired(eventData));
}
acquireItemSystem.onItemAcquired = function (eventData) {
this.sendChatMessage(`Entity ${eventData.data.entity.id} acquired item ${eventData.data.item_stack.item} via ${eventData.data.acquisition_method}`);
}
acquireItemSystem .sendChatMessage = function (message) {
let eventData = this.createEventData("minecraft:display_chat_event");
if (eventData) {
eventData.data.message = message;
this.broadcastEvent("minecraft:display_chat_event", eventData);
}
};
There is a reproduction case with instructions in this git repo: https://github.com/intrepidOlivia/entity_acquired_item_bug_repro