4jcraft/Minecraft.World/Blocks/MobSpawnerTile.cpp
2026-03-21 15:52:50 -05:00

36 lines
1.2 KiB
C++

#include "../Platform/stdafx.h"
#include "../Headers/net.minecraft.world.level.h"
#include "../Headers/net.minecraft.world.level.tile.entity.h"
#include "MobSpawnerTile.h"
MobSpawnerTile::MobSpawnerTile(int id)
: BaseEntityTile(id, Material::stone, false) {}
std::shared_ptr<TileEntity> MobSpawnerTile::newTileEntity(Level* level) {
return std::shared_ptr<MobSpawnerTileEntity>(new MobSpawnerTileEntity());
}
int MobSpawnerTile::getResource(int data, Random* random,
int playerBonusLevel) {
return 0;
}
int MobSpawnerTile::getResourceCount(Random* random) { return 0; }
bool MobSpawnerTile::isSolidRender(bool isServerLevel) { return false; }
bool MobSpawnerTile::blocksLight() { return false; }
void MobSpawnerTile::spawnResources(Level* level, int x, int y, int z, int data,
float odds, int playerBonusLevel) {
Tile::spawnResources(level, x, y, z, data, odds, playerBonusLevel);
// also spawn experience if the block is broken
{
int magicCount =
15 + level->random->nextInt(15) + level->random->nextInt(15);
popExperience(level, x, y, z, magicCount);
}
}
int MobSpawnerTile::cloneTileId(Level* level, int x, int y, int z) { return 0; }