Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
1.3 kB · 72 lines
C
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#pragma once
#include "Tag.h"#include "System.h"
class IntArrayTag : public Tag{public: intArray data;
IntArrayTag(const wstring &name) : Tag(name) { data = intArray(); }
IntArrayTag(const wstring &name, intArray data) : Tag(name) { this->data = data; }
~IntArrayTag() { delete [] data.data; }
void write(DataOutput *dos) { dos->writeInt(data.length); for (unsigned int i = 0; i < data.length; i++) { dos->writeInt(data[i]); } }
void load(DataInput *dis, int tagDepth) { int length = dis->readInt();
if ( data.data ) delete[] data.data; data = intArray(length); for (int i = 0; i < length; i++) { data[i] = dis->readInt(); } }
byte getId() { return TAG_Int_Array; }
wstring toString() { static wchar_t buf[32]; swprintf(buf, 32, L"[%d bytes]",data.length); return wstring( buf ); }
bool equals(Tag *obj) { if (Tag::equals(obj)) { IntArrayTag *o = (IntArrayTag *) obj; return ((data.data == NULL && o->data.data == NULL) || (data.data != NULL && data.length == o->data.length && memcmp(data.data, o->data.data, data.length * sizeof(int)) == 0) ); } return false; }
Tag *copy() { intArray cp = intArray(data.length); System::arraycopy(data, 0, &cp, 0, data.length); return new IntArrayTag(getName(), cp); }};