the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "net.minecraft.world.entity.player.h"
3#include "net.minecraft.world.level.h"
4#include "net.minecraft.world.level.tile.entity.h"
5#include "BeaconTile.h"
6
7BeaconTile::BeaconTile(int id) : BaseEntityTile(id, Material::glass, isSolidRender())
8{
9 setDestroyTime(3.0f);
10}
11
12shared_ptr<TileEntity> BeaconTile::newTileEntity(Level *level)
13{
14 return shared_ptr<BeaconTileEntity>( new BeaconTileEntity() );
15}
16
17bool BeaconTile::use(Level *level, int x, int y, int z, shared_ptr<Player> player, int clickedFace, float clickX, float clickY, float clickZ, bool soundOnly)
18{
19 if (level->isClientSide) return true;
20
21 shared_ptr<BeaconTileEntity> beacon = dynamic_pointer_cast<BeaconTileEntity>( level->getTileEntity(x, y, z) );
22 if (beacon != NULL) player->openBeacon(beacon);
23
24 return true;
25}
26
27bool BeaconTile::isSolidRender(bool isServerLevel)
28{
29 return false;
30}
31
32bool BeaconTile::isCubeShaped()
33{
34 return false;
35}
36
37bool BeaconTile::blocksLight()
38{
39 return false;
40}
41
42int BeaconTile::getRenderShape()
43{
44 return SHAPE_BEACON;
45}
46
47void BeaconTile::registerIcons(IconRegister *iconRegister)
48{
49 BaseEntityTile::registerIcons(iconRegister);
50}
51
52void BeaconTile::setPlacedBy(Level *level, int x, int y, int z, shared_ptr<LivingEntity> by, shared_ptr<ItemInstance> itemInstance)
53{
54 BaseEntityTile::setPlacedBy(level, x, y, z, by, itemInstance);
55 if (itemInstance->hasCustomHoverName())
56 {
57 dynamic_pointer_cast<BeaconTileEntity>( level->getTileEntity(x, y, z))->setCustomName(itemInstance->getHoverName());
58 }
59}
60
61bool BeaconTile::TestUse()
62{
63 return true;
64}