diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/SkullTileEntity.cpp | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.World/SkullTileEntity.cpp')
| -rw-r--r-- | Minecraft.World/SkullTileEntity.cpp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/Minecraft.World/SkullTileEntity.cpp b/Minecraft.World/SkullTileEntity.cpp new file mode 100644 index 00000000..ea19b446 --- /dev/null +++ b/Minecraft.World/SkullTileEntity.cpp @@ -0,0 +1,72 @@ +#include "stdafx.h" +#include "com.mojang.nbt.h" +#include "net.minecraft.network.packet.h" +#include "SkullTileEntity.h" + +SkullTileEntity::SkullTileEntity() +{ + skullType = 0; + rotation = 0; + extraType = L""; +} + +void SkullTileEntity::save(CompoundTag *tag) +{ + TileEntity::save(tag); + tag->putByte(L"SkullType", (BYTE) (skullType & 0xff)); + tag->putByte(L"Rot", (BYTE) (rotation & 0xff)); + tag->putString(L"ExtraType", extraType); +} + +void SkullTileEntity::load(CompoundTag *tag) +{ + TileEntity::load(tag); + skullType = tag->getByte(L"SkullType"); + rotation = tag->getByte(L"Rot"); + if (tag->contains(L"ExtraType")) extraType = tag->getString(L"ExtraType"); +} + +shared_ptr<Packet> SkullTileEntity::getUpdatePacket() +{ + CompoundTag *tag = new CompoundTag(); + save(tag); + return shared_ptr<TileEntityDataPacket>(new TileEntityDataPacket(x, y, z, TileEntityDataPacket::TYPE_SKULL, tag)); +} + +void SkullTileEntity::setSkullType(int skullType, const wstring &extra) +{ + this->skullType = skullType; + this->extraType = extra; +} + +int SkullTileEntity::getSkullType() +{ + return skullType; +} + +int SkullTileEntity::getRotation() +{ + return rotation; +} + +void SkullTileEntity::setRotation(int rot) +{ + rotation = rot; +} + +wstring SkullTileEntity::getExtraType() +{ + return extraType; +} + +// 4J Added +shared_ptr<TileEntity> SkullTileEntity::clone() +{ + shared_ptr<SkullTileEntity> result = shared_ptr<SkullTileEntity>( new SkullTileEntity() ); + TileEntity::clone(result); + + result->skullType = skullType; + result->rotation = rotation; + result->extraType = extraType; + return result; +}
\ No newline at end of file |
