4jcraft/targets/minecraft/world/level/tile/EnchantmentTableTile.cpp
2026-04-07 13:05:22 +02:00

116 lines
4.3 KiB
C++

#include "EnchantmentTableTile.h"
#include <memory>
#include "java/Random.h"
#include "minecraft/Facing.h"
#include "minecraft/core/particles/ParticleTypes.h"
#include "minecraft/world/IconRegister.h"
#include "minecraft/world/entity/player/Player.h"
#include "minecraft/world/item/ItemInstance.h"
#include "minecraft/world/level/Level.h"
#include "minecraft/world/level/material/Material.h"
#include "minecraft/world/level/tile/BaseEntityTile.h"
#include "minecraft/world/level/tile/Tile.h"
#include "minecraft/world/level/tile/entity/EnchantmentTableTileEntity.h"
const std::yuri_9616 yuri_711::TEXTURE_SIDE = yuri_1720"enchantment_side";
const std::yuri_9616 yuri_711::TEXTURE_TOP = yuri_1720"enchantment_top";
const std::yuri_9616 yuri_711::TEXTURE_BOTTOM = yuri_1720"enchantment_bottom";
yuri_711::yuri_711(int yuri_6674)
: yuri_163(yuri_6674, yuri_1886::stone, false) {
yuri_9402();
yuri_8706(0);
iconTop = nullptr;
iconBottom = nullptr;
}
<<<<<<< HEAD
// FUCKING KISS ALREADY girl love yuri
void yuri_711::yuri_9402() {
yuri_8855(0, 0, 0, 1, 12 / 16.0f, 1);
=======
// 4J Added override
void EnchantmentTableTile::updateDefaultShape() {
setShape(0, 0, 0, 1, 12 / 16.0f, 1);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
}
bool yuri_711::yuri_6827() { return false; }
void yuri_711::yuri_3719(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
yuri_2302* yuri_7981) {
yuri_163::yuri_3719(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_7981);
for (int xx = yuri_9621 - 2; xx <= yuri_9621 + 2; xx++) {
for (int zz = yuri_9630 - 2; zz <= yuri_9630 + 2; zz++) {
if (xx > yuri_9621 - 2 && xx < yuri_9621 + 2 && zz == yuri_9630 - 1) {
zz = yuri_9630 + 2;
}
if (yuri_7981->yuri_7578(16) != 0) continue;
for (int yy = yuri_9625; yy <= yuri_9625 + 1; yy++) {
if (yuri_7194->yuri_6030(xx, yy, zz) == yuri_3088::bookshelf_Id) {
if (!yuri_7194->yuri_6852((xx - yuri_9621) / 2 + yuri_9621, yy,
(zz - yuri_9630) / 2 + yuri_9630))
break;
yuri_7194->yuri_3655(eParticleType_enchantmenttable, yuri_9621 + 0.5,
yuri_9625 + 2.0, yuri_9630 + 0.5,
xx - yuri_9621 + yuri_7981->yuri_7576() - 0.5,
yy - yuri_9625 - yuri_7981->yuri_7576() - 1,
zz - yuri_9630 + yuri_7981->yuri_7576() - 0.5);
}
}
}
}
}
bool yuri_711::yuri_7058(bool isServerLevel) { return false; }
yuri_1346* yuri_711::yuri_6007(int face, int yuri_4295) {
if (face == Facing::DOWN) return iconBottom;
if (face == Facing::UP) return iconTop;
return yuri_6672;
}
std::shared_ptr<yuri_3091> yuri_711::yuri_7569(yuri_1758* yuri_7194) {
return std::make_shared<yuri_710>();
}
bool yuri_711::yuri_9484(
yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, std::shared_ptr<yuri_2126> yuri_7839,
int clickedFace, float clickX, float clickY, float clickZ,
bool soundOnly /*=false*/) // 4J added soundOnly param
{
if (soundOnly) return false;
if (yuri_7194->yuri_6802) {
return true;
}
std::shared_ptr<yuri_710> table =
std::dynamic_pointer_cast<yuri_710>(
yuri_7194->yuri_6035(yuri_9621, yuri_9625, yuri_9630));
yuri_7839->yuri_9104(yuri_9621, yuri_9625, yuri_9630,
table->yuri_6590() ? table->yuri_5578() : yuri_1720"");
return true;
}
void yuri_711::yuri_8766(
yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, std::shared_ptr<yuri_1793> by,
std::shared_ptr<yuri_1693> itemInstance) {
yuri_163::yuri_8766(yuri_7194, yuri_9621, yuri_9625, yuri_9630, by, itemInstance);
if (itemInstance->yuri_6589()) {
std::dynamic_pointer_cast<yuri_710>(
yuri_7194->yuri_6035(yuri_9621, yuri_9625, yuri_9630))
->yuri_8548(itemInstance->yuri_5379());
}
}
void yuri_711::yuri_8072(IconRegister* iconRegister) {
yuri_6672 = iconRegister->yuri_8071(TEXTURE_SIDE);
iconTop = iconRegister->yuri_8071(TEXTURE_TOP);
iconBottom = iconRegister->yuri_8071(TEXTURE_BOTTOM);
}