the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 95 lines 2.0 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.level.h" 3#include "net.minecraft.world.level.tile.h" 4#include "MinecartSpawner.h" 5 6MinecartSpawner::MinecartMobSpawner::MinecartMobSpawner(MinecartSpawner *parent) 7{ 8 m_parent = parent; 9} 10 11void MinecartSpawner::MinecartMobSpawner::broadcastEvent(int id) 12{ 13 m_parent->level->broadcastEntityEvent(m_parent->shared_from_this(), (byte) id); 14} 15 16Level *MinecartSpawner::MinecartMobSpawner::getLevel() 17{ 18 return m_parent->level; 19} 20 21int MinecartSpawner::MinecartMobSpawner::getX() 22{ 23 return Mth::floor(m_parent->x); 24} 25 26int MinecartSpawner::MinecartMobSpawner::getY() 27{ 28 return Mth::floor(m_parent->y); 29} 30 31int MinecartSpawner::MinecartMobSpawner::getZ() 32{ 33 return Mth::floor(m_parent->z); 34} 35 36MinecartSpawner::MinecartSpawner(Level *level) : Minecart(level) 37{ 38 // 4J Stu - This function call had to be moved here from the Entity ctor to ensure that 39 // the derived version of the function is called 40 this->defineSynchedData(); 41 42 spawner = new MinecartMobSpawner(this); 43} 44 45MinecartSpawner::MinecartSpawner(Level *level, double x, double y, double z) : Minecart(level, x, y, z) 46{ 47 // 4J Stu - This function call had to be moved here from the Entity ctor to ensure that 48 // the derived version of the function is called 49 this->defineSynchedData(); 50 51 spawner = new MinecartMobSpawner(this); 52} 53 54MinecartSpawner::~MinecartSpawner() 55{ 56 delete spawner; 57} 58 59int MinecartSpawner::getType() 60{ 61 return TYPE_SPAWNER; 62} 63 64Tile *MinecartSpawner::getDefaultDisplayTile() 65{ 66 return Tile::mobSpawner; 67} 68 69void MinecartSpawner::readAdditionalSaveData(CompoundTag *tag) 70{ 71 Minecart::readAdditionalSaveData(tag); 72 spawner->load(tag); 73} 74 75void MinecartSpawner::addAdditonalSaveData(CompoundTag *tag) 76{ 77 Minecart::addAdditonalSaveData(tag); 78 spawner->save(tag); 79} 80 81void MinecartSpawner::handleEntityEvent(byte eventId) 82{ 83 spawner->onEventTriggered(eventId); 84} 85 86void MinecartSpawner::tick() 87{ 88 Minecart::tick(); 89 spawner->tick(); 90} 91 92BaseMobSpawner *MinecartSpawner::getSpawner() 93{ 94 return spawner; 95}