@@ -269,17 +269,20 @@ LL_TYPE_INSTANCE_HOOK(
269269 ItemStack const & newItem
270270) {
271271 IF_LISTENED (EVENT_TYPES::onContainerChange) {
272- Player* player = ll::memory::dAccess<Player*>(this , 216 ); // IDA LevelContainerModel::LevelContainerModel
273- if (player->hasOpenContainer ()) {
274- if (!CallEvent (
275- EVENT_TYPES::onContainerChange,
276- PlayerClass::newPlayer (player),
277- BlockClass::newBlock (ll::memory::dAccess<BlockPos>(this , 224 ), player->getDimensionId ()),
278- Number::newNumber (slotNumber + this ->_getContainerOffset ()),
279- ItemClass::newItem (&const_cast <ItemStack&>(oldItem)),
280- ItemClass::newItem (&const_cast <ItemStack&>(newItem))
281- )) {
282- return ;
272+ Actor* actor = _getEntity ();
273+ if (actor && actor->isType (ActorType::Player)) {
274+ Player* player = static_cast <Player*>(actor);
275+ if (player->hasOpenContainer ()) {
276+ if (!CallEvent (
277+ EVENT_TYPES::onContainerChange,
278+ PlayerClass::newPlayer (player),
279+ BlockClass::newBlock (ll::memory::dAccess<BlockPos>(this , 224 ), player->getDimensionId ()),
280+ Number::newNumber (slotNumber + this ->_getContainerOffset ()),
281+ ItemClass::newItem (&const_cast <ItemStack&>(oldItem)),
282+ ItemClass::newItem (&const_cast <ItemStack&>(newItem))
283+ )) {
284+ return ;
285+ }
283286 }
284287 }
285288 }
0 commit comments