aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/EntityTile.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/EntityTile.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.World/EntityTile.cpp')
-rw-r--r--Minecraft.World/EntityTile.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/Minecraft.World/EntityTile.cpp b/Minecraft.World/EntityTile.cpp
new file mode 100644
index 00000000..8dd68ff2
--- /dev/null
+++ b/Minecraft.World/EntityTile.cpp
@@ -0,0 +1,32 @@
+#include "stdafx.h"
+#include "net.minecraft.world.level.h"
+#include "net.minecraft.world.entity.h"
+#include "TileEntity.h"
+#include "EntityTile.h"
+
+EntityTile::EntityTile(int id, Material *material, bool isSolidRender /*= true*/) : Tile(id, material, isSolidRender)
+{
+ _isEntityTile = true;
+}
+
+void EntityTile::onPlace(Level *level, int x, int y, int z)
+{
+ Tile::onPlace(level, x, y, z);
+ level->setTileEntity(x, y, z, newTileEntity(level));
+}
+
+void EntityTile::onRemove(Level *level, int x, int y, int z, int id, int data)
+{
+ Tile::onRemove(level, x, y, z, id, data);
+ level->removeTileEntity(x, y, z);
+}
+
+void EntityTile::triggerEvent(Level *level, int x, int y, int z, int b0, int b1)
+{
+ Tile::triggerEvent(level, x, y, z, b0, b1);
+ shared_ptr<TileEntity> te = level->getTileEntity(x, y, z);
+ if (te != NULL)
+ {
+ te->triggerEvent(b0, b1);
+ }
+} \ No newline at end of file