aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/HorseInventoryMenu.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/HorseInventoryMenu.h')
-rw-r--r--Minecraft.World/HorseInventoryMenu.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/Minecraft.World/HorseInventoryMenu.h b/Minecraft.World/HorseInventoryMenu.h
new file mode 100644
index 00000000..613c55f9
--- /dev/null
+++ b/Minecraft.World/HorseInventoryMenu.h
@@ -0,0 +1,41 @@
+#pragma once
+
+#include "AbstractContainerMenu.h"
+#include "Slot.h"
+
+class HorseInventoryMenu;
+
+class HorseSaddleSlot : public Slot
+{
+public:
+ HorseSaddleSlot( shared_ptr<Container> horseInventory );
+
+ bool mayPlace(shared_ptr<ItemInstance> item);
+};
+
+class HorseArmorSlot : public Slot
+{
+private:
+ HorseInventoryMenu *m_parent;
+public:
+ HorseArmorSlot( HorseInventoryMenu *parent, shared_ptr<Container> horseInventory );
+
+ bool mayPlace(shared_ptr<ItemInstance> item);
+ bool isActive();
+};
+
+class HorseInventoryMenu : public AbstractContainerMenu
+{
+ friend class HorseArmorSlot;
+private:
+ shared_ptr<Container> horseContainer;
+ shared_ptr<EntityHorse> horse;
+
+public:
+ HorseInventoryMenu(shared_ptr<Container> playerInventory, shared_ptr<Container> horseInventory, shared_ptr<EntityHorse> horse);
+
+ bool stillValid(shared_ptr<Player> player);
+ shared_ptr<ItemInstance> quickMoveStack(shared_ptr<Player> player, int slotIndex);
+ void removed(shared_ptr<Player> player);
+ shared_ptr<Container> getContainer();
+}; \ No newline at end of file