first commit
This commit is contained in:
45
Minecraft.World/Tag.h
Normal file
45
Minecraft.World/Tag.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
#include <ostream>
|
||||
#include "InputOutputStream.h"
|
||||
using namespace std;
|
||||
|
||||
|
||||
class Tag
|
||||
{
|
||||
public:
|
||||
static const byte TAG_End = 0;
|
||||
static const byte TAG_Byte = 1;
|
||||
static const byte TAG_Short = 2;
|
||||
static const byte TAG_Int = 3;
|
||||
static const byte TAG_Long = 4;
|
||||
static const byte TAG_Float = 5;
|
||||
static const byte TAG_Double = 6;
|
||||
static const byte TAG_Byte_Array = 7;
|
||||
static const byte TAG_String = 8;
|
||||
static const byte TAG_List = 9;
|
||||
static const byte TAG_Compound = 10;
|
||||
static const byte TAG_Int_Array = 11;
|
||||
|
||||
private:
|
||||
wstring name;
|
||||
|
||||
protected:
|
||||
Tag(const wstring &name);
|
||||
|
||||
public:
|
||||
virtual void write(DataOutput *dos) = 0;
|
||||
virtual void load(DataInput *dis) = 0;
|
||||
virtual wstring toString() = 0;
|
||||
virtual byte getId() = 0;
|
||||
void print(ostream out);
|
||||
void print(char *prefix, wostream out);
|
||||
wstring getName();
|
||||
Tag *setName(const wstring& name);
|
||||
static Tag *readNamedTag(DataInput *dis);
|
||||
static void writeNamedTag(Tag *tag, DataOutput *dos);
|
||||
static Tag *newTag(byte type, const wstring &name);
|
||||
static wchar_t *getTagName(byte type);
|
||||
virtual ~Tag() {}
|
||||
virtual bool equals(Tag *obj); // 4J Brought forward from 1.2
|
||||
virtual Tag *copy() = 0; // 4J Brought foward from 1.2
|
||||
};
|
||||
Reference in New Issue
Block a user