#include "../Platform/stdafx.h" #include "../Headers/net.minecraft.world.entity.player.h" #include "../Headers/net.minecraft.world.level.h" #include "../Headers/net.minecraft.world.level.tile.entity.h" #include "BeaconTile.h" BeaconTile::BeaconTile(int id) : BaseEntityTile(id, Material::glass, false) { setDestroyTime(3.0f); } std::shared_ptr BeaconTile::newTileEntity(Level* level) { return std::shared_ptr(new BeaconTileEntity()); } bool BeaconTile::use(Level* level, int x, int y, int z, std::shared_ptr player, int clickedFace, float clickX, float clickY, float clickZ, bool soundOnly) { if (level->isClientSide) return true; std::shared_ptr beacon = std::dynamic_pointer_cast( level->getTileEntity(x, y, z)); if (beacon != NULL) player->openBeacon(beacon); return true; } bool BeaconTile::isSolidRender(bool isServerLevel) { return false; } bool BeaconTile::isCubeShaped() { return false; } bool BeaconTile::blocksLight() { return false; } int BeaconTile::getRenderShape() { return SHAPE_BEACON; } void BeaconTile::registerIcons(IconRegister* iconRegister) { BaseEntityTile::registerIcons(iconRegister); } void BeaconTile::setPlacedBy(Level* level, int x, int y, int z, std::shared_ptr by, std::shared_ptr itemInstance) { BaseEntityTile::setPlacedBy(level, x, y, z, by, itemInstance); if (itemInstance->hasCustomHoverName()) { std::dynamic_pointer_cast( level->getTileEntity(x, y, z)) ->setCustomName(itemInstance->getHoverName()); } } bool BeaconTile::TestUse() { return true; }