the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 102 lines 2.3 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.network.packet.h" 3#include "net.minecraft.world.level.h" 4#include "net.minecraft.world.level.tile.h" 5#include "MobSpawnerTileEntity.h" 6 7MobSpawnerTileEntity::TileEntityMobSpawner::TileEntityMobSpawner(MobSpawnerTileEntity *parent) 8{ 9 m_parent = parent; 10} 11 12void MobSpawnerTileEntity::TileEntityMobSpawner::broadcastEvent(int id) 13{ 14 m_parent->level->tileEvent(m_parent->x, m_parent->y, m_parent->z, Tile::mobSpawner_Id, id, 0); 15} 16 17Level *MobSpawnerTileEntity::TileEntityMobSpawner::getLevel() 18{ 19 return m_parent->level; 20} 21 22int MobSpawnerTileEntity::TileEntityMobSpawner::getX() 23{ 24 return m_parent->x; 25} 26 27int MobSpawnerTileEntity::TileEntityMobSpawner::getY() 28{ 29 return m_parent->y; 30} 31 32int MobSpawnerTileEntity::TileEntityMobSpawner::getZ() 33{ 34 return m_parent->z; 35} 36 37void MobSpawnerTileEntity::TileEntityMobSpawner::setNextSpawnData(BaseMobSpawner::SpawnData *nextSpawnData) 38{ 39 BaseMobSpawner::setNextSpawnData(nextSpawnData); 40 if (getLevel() != NULL) getLevel()->sendTileUpdated(m_parent->x, m_parent->y, m_parent->z); 41} 42 43MobSpawnerTileEntity::MobSpawnerTileEntity() 44{ 45 spawner = new TileEntityMobSpawner(this); 46} 47 48MobSpawnerTileEntity::~MobSpawnerTileEntity() 49{ 50 delete spawner; 51} 52 53void MobSpawnerTileEntity::load(CompoundTag *tag) 54{ 55 TileEntity::load(tag); 56 spawner->load(tag); 57} 58 59void MobSpawnerTileEntity::save(CompoundTag *tag) 60{ 61 TileEntity::save(tag); 62 spawner->save(tag); 63} 64 65void MobSpawnerTileEntity::tick() 66{ 67 spawner->tick(); 68 TileEntity::tick(); 69} 70 71shared_ptr<Packet> MobSpawnerTileEntity::getUpdatePacket() 72{ 73 CompoundTag *tag = new CompoundTag(); 74 save(tag); 75 tag->remove(L"SpawnPotentials"); 76 return shared_ptr<TileEntityDataPacket>( new TileEntityDataPacket(x, y, z, TileEntityDataPacket::TYPE_MOB_SPAWNER, tag) ); 77} 78 79bool MobSpawnerTileEntity::triggerEvent(int b0, int b1) 80{ 81 if (spawner->onEventTriggered(b0)) return true; 82 return TileEntity::triggerEvent(b0, b1); 83} 84 85BaseMobSpawner *MobSpawnerTileEntity::getSpawner() 86{ 87 return spawner; 88} 89 90// 4J Added 91shared_ptr<TileEntity> MobSpawnerTileEntity::clone() 92{ 93 shared_ptr<MobSpawnerTileEntity> result = shared_ptr<MobSpawnerTileEntity>( new MobSpawnerTileEntity() ); 94 TileEntity::clone(result); 95 96 return result; 97} 98 99void MobSpawnerTileEntity::setEntityId(const wstring &id) 100{ 101 spawner->setEntityId(id); 102}