mirror of
https://github.com/quizhizhe/LiteLoaderBDS-1.16.40.git
synced 2025-06-03 04:23:39 +00:00
修复ContainerChange
事件,可能有问题
This commit is contained in:
parent
b14f5fe505
commit
d4632e915f
@ -1000,30 +1000,30 @@ TClasslessInstanceHook(bool, "?mayPlace@FireBlock@@UEBA_NAEAVBlockSource@@AEBVBl
|
|||||||
|
|
||||||
|
|
||||||
/////////////////// ContainerChange ///////////////////
|
/////////////////// ContainerChange ///////////////////
|
||||||
// #include <llapi/mc/LevelContainerModel.hpp>
|
#include <llapi/mc/LevelContainerModel.hpp>
|
||||||
|
|
||||||
// TInstanceHook(void, "?_onItemChanged@LevelContainerModel@@MEAAXHAEBVItemStack@@0@Z",
|
TInstanceHook(void, "?_onItemChanged@LevelContainerModel@@MEAAXHAEBVItemStack@@0@Z",
|
||||||
// LevelContainerModel, int slotNumber, ItemStack* oldItem, ItemStack* newItem) {
|
LevelContainerModel, int slotNumber, ItemStack* oldItem, ItemStack* newItem) {
|
||||||
// IF_LISTENED(ContainerChangeEvent) {
|
IF_LISTENED(ContainerChangeEvent) {
|
||||||
// Player* pl = (Player*)dAccess<Actor*>(this, 208); // IDA LevelContainerModel::LevelContainerModel
|
Player* player = this->mPlayer; // IDA LevelContainerModel::LevelContainerModel
|
||||||
|
|
||||||
// if (pl->hasOpenContainer()) {
|
if (player->canOpenContainerScreen()) {
|
||||||
// BlockPos* bp = (BlockPos*)((char*)this + 216);
|
BlockPos blockPos = this->mBlockPos;
|
||||||
|
|
||||||
// ContainerChangeEvent ev{};
|
ContainerChangeEvent ev{};
|
||||||
// ev.mBlockInstance = Level::getBlockInstance(bp, pl->getDimensionId());
|
ev.mBlockInstance = Level::getBlockInstance(blockPos, player->getDimensionId());
|
||||||
// ev.mContainer = ev.mBlockInstance.getContainer();
|
ev.mContainer = ev.mBlockInstance.getContainer();
|
||||||
// ev.mPlayer = pl;
|
ev.mPlayer = player;
|
||||||
// ev.mSlot = slotNumber + this->_getContainerOffset();
|
ev.mSlot = slotNumber + this->_getContainerOffset();
|
||||||
// ev.mPreviousItemStack = oldItem;
|
ev.mPreviousItemStack = oldItem;
|
||||||
// ev.mNewItemStack = newItem;
|
ev.mNewItemStack = newItem;
|
||||||
// ev.mActor = this->getEntity();
|
ev.mActor = Global<Level>->getEntity(this->mEntityUniqueId);
|
||||||
// ev.call();
|
ev.call();
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// IF_LISTENED_END(ContainerChangeEvent)
|
IF_LISTENED_END(ContainerChangeEvent)
|
||||||
// return original(this, slotNumber, oldItem, newItem);
|
return original(this, slotNumber, oldItem, newItem);
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
/////////////////// ProjectileHitBlock ///////////////////
|
/////////////////// ProjectileHitBlock ///////////////////
|
||||||
|
Loading…
Reference in New Issue
Block a user