TU19: merge Minecraft.World/Blocks

This commit is contained in:
Tropical
2026-03-21 15:52:50 -05:00
parent f25cd66f4d
commit 9b6046cb83
242 changed files with 8083 additions and 4657 deletions

View 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; }