1.8: Fixed inventory open packet.
This commit is contained in:
parent
6d5a5eb665
commit
c7044fa1dd
@ -1515,10 +1515,9 @@ void cProtocol180::SendWindowOpen(const cWindow & a_Window)
|
||||
|
||||
cPacketizer Pkt(*this, 0x2d);
|
||||
Pkt.WriteChar(a_Window.GetWindowID());
|
||||
Pkt.WriteChar(a_Window.GetWindowType());
|
||||
Pkt.WriteString(a_Window.GetWindowTitle());
|
||||
Pkt.WriteString(a_Window.GetWindowTypeName());
|
||||
Pkt.WriteString(Printf("{\"text\":\"%s\"}", a_Window.GetWindowTitle().c_str()));
|
||||
Pkt.WriteChar(a_Window.GetNumNonInventorySlots());
|
||||
Pkt.WriteBool(true);
|
||||
if (a_Window.GetWindowType() == cWindow::wtAnimalChest)
|
||||
{
|
||||
Pkt.WriteInt(0); // TODO: The animal's EntityID
|
||||
|
@ -57,6 +57,34 @@ cWindow::~cWindow()
|
||||
|
||||
|
||||
|
||||
const AString cWindow::GetWindowTypeName(void) const
|
||||
{
|
||||
switch (m_WindowType)
|
||||
{
|
||||
case wtChest: return "minecraft:chest";
|
||||
case wtWorkbench: return "minecraft:crafting_table";
|
||||
case wtFurnace: return "minecraft:furnace";
|
||||
case wtDropSpenser: return "minecraft:dispenser";
|
||||
case wtEnchantment: return "minecraft:enchanting_table";
|
||||
case wtBrewery: return "minecraft:brewing_stand";
|
||||
case wtNPCTrade: return "minecraft:villager";
|
||||
case wtBeacon: return "minecraft:beacon";
|
||||
case wtAnvil: return "minecraft:anvil";
|
||||
case wtHopper: return "minecraft:hopper";
|
||||
case wtDropper: return "minecraft:dropper";
|
||||
case wtAnimalChest: return "EntityHorse";
|
||||
default:
|
||||
{
|
||||
ASSERT(!"Unknown inventory type!");
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int cWindow::GetNumSlots(void) const
|
||||
{
|
||||
int res = 0;
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
wtBeacon = 7,
|
||||
wtAnvil = 8,
|
||||
wtHopper = 9,
|
||||
// Unknown: 10
|
||||
wtDropper = 10,
|
||||
wtAnimalChest = 11,
|
||||
};
|
||||
|
||||
@ -76,6 +76,7 @@ public:
|
||||
|
||||
char GetWindowID(void) const { return m_WindowID; } // tolua_export
|
||||
int GetWindowType(void) const { return m_WindowType; } // tolua_export
|
||||
const AString GetWindowTypeName(void) const; // tolua_export
|
||||
|
||||
cWindowOwner * GetOwner(void) { return m_Owner; }
|
||||
void SetOwner( cWindowOwner * a_Owner) { m_Owner = a_Owner; }
|
||||
|
Loading…
Reference in New Issue
Block a user