aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/SkullTileEntity.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/SkullTileEntity.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.World/SkullTileEntity.cpp')
-rw-r--r--Minecraft.World/SkullTileEntity.cpp72
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