mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-07-07 09:38:09 +00:00
TU19: merge Minecraft.World/Blocks
This commit is contained in:
52
Minecraft.World/Blocks/BeaconTile.cpp
Normal file
52
Minecraft.World/Blocks/BeaconTile.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#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<TileEntity> BeaconTile::newTileEntity(Level* level) {
|
||||
return std::shared_ptr<BeaconTileEntity>(new BeaconTileEntity());
|
||||
}
|
||||
|
||||
bool BeaconTile::use(Level* level, int x, int y, int z,
|
||||
std::shared_ptr<Player> player, int clickedFace,
|
||||
float clickX, float clickY, float clickZ, bool soundOnly) {
|
||||
if (level->isClientSide) return true;
|
||||
|
||||
std::shared_ptr<BeaconTileEntity> beacon =
|
||||
std::dynamic_pointer_cast<BeaconTileEntity>(
|
||||
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<LivingEntity> by,
|
||||
std::shared_ptr<ItemInstance> itemInstance) {
|
||||
BaseEntityTile::setPlacedBy(level, x, y, z, by, itemInstance);
|
||||
if (itemInstance->hasCustomHoverName()) {
|
||||
std::dynamic_pointer_cast<BeaconTileEntity>(
|
||||
level->getTileEntity(x, y, z))
|
||||
->setCustomName(itemInstance->getHoverName());
|
||||
}
|
||||
}
|
||||
|
||||
bool BeaconTile::TestUse() { return true; }
|
||||
Reference in New Issue
Block a user