aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Villager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/Villager.cpp')
-rw-r--r--Minecraft.World/Villager.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Minecraft.World/Villager.cpp b/Minecraft.World/Villager.cpp
index 18ed7178..f2901291 100644
--- a/Minecraft.World/Villager.cpp
+++ b/Minecraft.World/Villager.cpp
@@ -16,6 +16,7 @@
#include "net.minecraft.world.level.h"
#include "..\Minecraft.Client\Textures.h"
#include "Villager.h"
+#include "AbstractContainerMenu.h"
unordered_map<int, pair<int,int> > Villager::MIN_MAX_VALUES;
unordered_map<int, pair<int,int> > Villager::MIN_MAX_PRICES;
@@ -307,6 +308,18 @@ void Villager::die(DamageSource *source)
}
}
+ // Make the gui close if the villager die while trading
+ if (auto currentTrader = tradingPlayer.lock())
+ {
+ if (currentTrader->containerMenu != nullptr)
+ {
+ auto menu = currentTrader->containerMenu;
+ menu->removed(currentTrader);
+ }
+
+ tradingPlayer.reset();
+ }
+
AgableMob::die(source);
}