first commit
This commit is contained in:
98
Minecraft.World/ChatPacket.h
Normal file
98
Minecraft.World/ChatPacket.h
Normal file
@@ -0,0 +1,98 @@
|
||||
#pragma once
|
||||
using namespace std;
|
||||
|
||||
#include "Packet.h"
|
||||
|
||||
class ChatPacket : public Packet, public enable_shared_from_this<ChatPacket>
|
||||
{
|
||||
// longest allowed string is "<" + name + "> " + message
|
||||
private:
|
||||
static const unsigned int MAX_LENGTH;
|
||||
|
||||
public:
|
||||
// 4J - We want to be able to localise the messages sent. The enum also allows for the posibility that there
|
||||
// may be different versions playing the game, so the enum should map to a string id which may be different on
|
||||
// different versions
|
||||
enum EChatPacketMessage
|
||||
{
|
||||
e_ChatCustom = 0, // No localised string, only the text passed in
|
||||
e_ChatBedOccupied,
|
||||
e_ChatBedNoSleep,
|
||||
e_ChatBedNotValid,
|
||||
e_ChatBedNotSafe,
|
||||
e_ChatBedPlayerSleep,
|
||||
e_ChatBedMeSleep,
|
||||
e_ChatPlayerLeftGame,
|
||||
e_ChatPlayerJoinedGame,
|
||||
e_ChatPlayerKickedFromGame,
|
||||
e_ChatCannotPlaceLava,
|
||||
|
||||
e_ChatDeathInFire,
|
||||
e_ChatDeathOnFire,
|
||||
e_ChatDeathLava,
|
||||
e_ChatDeathInWall,
|
||||
e_ChatDeathDrown,
|
||||
e_ChatDeathStarve,
|
||||
e_ChatDeathCactus,
|
||||
e_ChatDeathFall,
|
||||
e_ChatDeathOutOfWorld,
|
||||
e_ChatDeathGeneric,
|
||||
e_ChatDeathExplosion,
|
||||
e_ChatDeathMagic,
|
||||
e_ChatDeathMob,
|
||||
e_ChatDeathPlayer,
|
||||
e_ChatDeathArrow,
|
||||
e_ChatDeathFireball,
|
||||
e_ChatDeathThrown,
|
||||
e_ChatDeathIndirectMagic,
|
||||
e_ChatDeathDragonBreath,
|
||||
e_ChatDeathWither,
|
||||
e_ChatDeathAnvil,
|
||||
e_ChatDeathFallingBlock,
|
||||
e_ChatDeathThorns,
|
||||
|
||||
e_ChatPlayerEnteredEnd,
|
||||
e_ChatPlayerLeftEnd,
|
||||
|
||||
e_ChatPlayerMaxPigsSheepCows, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxChickens, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxSquid, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxMooshrooms, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxWolves, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxAnimals, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxEnemies, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxVillagers, // tell the players they can't use the spawn egg
|
||||
e_ChatPlayerMaxHangingEntities, // tell the players they hit the picture/itemframe limit
|
||||
e_ChatPlayerCantSpawnInPeaceful, // Tell the player they can't spawn enemies in peaceful mode
|
||||
e_ChatPlayerMaxBredAnimals, // Tell the player they can't put this animal in love mode because no breeding can be done
|
||||
e_ChatPlayerMaxBredPigsSheepCows, // Tell the player they can't put this animal in love mode because no breeding can be done
|
||||
e_ChatPlayerMaxBredChickens, // Tell the player they can't put this animal in love mode because no breeding can be done
|
||||
e_ChatPlayerMaxBredMooshrooms, // Tell the player they can't put this animal in love mode because no breeding can be done
|
||||
e_ChatPlayerMaxBredWolves, // Tell the player they can't put this wolf in love mode because no breeding can be done
|
||||
e_ChatPlayerCantShearMooshroom, // Tell the player they can't shear because the limits have been reached
|
||||
e_ChatPlayerMaxBoats,
|
||||
|
||||
e_ChatCommandTeleportSuccess,
|
||||
e_ChatCommandTeleportMe,
|
||||
e_ChatCommandTeleportToMe,
|
||||
|
||||
};
|
||||
|
||||
public:
|
||||
vector<wstring> m_stringArgs;
|
||||
vector<int> m_intArgs;
|
||||
EChatPacketMessage m_messageType;
|
||||
|
||||
ChatPacket();
|
||||
ChatPacket(const wstring& message, EChatPacketMessage type = e_ChatCustom, int customData = -1, const wstring& additionalMessage = L"");
|
||||
|
||||
virtual void read(DataInputStream *dis);
|
||||
virtual void write(DataOutputStream *dos);
|
||||
virtual void handle(PacketListener *listener);
|
||||
virtual int getEstimatedSize();
|
||||
|
||||
public:
|
||||
static shared_ptr<Packet> create() { return shared_ptr<Packet>(new ChatPacket()); }
|
||||
virtual int getId() { return 3; }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user