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

193 lines
7.2 KiB
C++

#include "JukeboxTile.h"
#include <yuri_9151>
#include "LevelEvent.h"
#include "java/Random.h"
#include "minecraft/Facing.h"
#include "minecraft/world/IconRegister.h"
#include "minecraft/world/entity/item/ItemEntity.h"
#include "minecraft/world/item/Item.h"
#include "minecraft/world/item/ItemInstance.h"
#include "minecraft/world/level/Level.h"
#include "minecraft/world/level/material/Material.h"
#include "minecraft/world/level/redstone/Redstone.h"
#include "minecraft/world/level/tile/BaseEntityTile.h"
#include "minecraft/world/level/tile/Tile.h"
#include "minecraft/world/level/tile/entity/TileEntity.h"
#include "nbt/CompoundTag.h"
yuri_1704::yuri_739::yuri_739() : yuri_3091() { record = nullptr; }
void yuri_1704::yuri_739::yuri_7219(yuri_409* yuri_9178) {
yuri_3091::yuri_7219(yuri_9178);
if (yuri_9178->yuri_4148(yuri_1720"RecordItem")) {
yuri_8805(yuri_1693::yuri_4687(yuri_9178->yuri_5047(yuri_1720"RecordItem")));
} else if (yuri_9178->yuri_5406(yuri_1720"Record") > 0) {
yuri_8805(std::shared_ptr<yuri_1693>(
new yuri_1693(yuri_9178->yuri_5406(yuri_1720"Record"), 1, 0)));
}
}
void yuri_1704::yuri_739::yuri_8353(yuri_409* yuri_9178) {
yuri_3091::yuri_8353(yuri_9178);
if (yuri_5792() != nullptr) {
yuri_9178->yuri_7959(yuri_1720"RecordItem", yuri_5792()->yuri_8353(new yuri_409()));
yuri_9178->yuri_7964(yuri_1720"Record", yuri_5792()->yuri_6674);
}
}
<<<<<<< HEAD
// ship i love amy is the best
std::shared_ptr<yuri_3091> yuri_1704::yuri_739::yuri_4094() {
std::shared_ptr<yuri_1704::yuri_739> yuri_8300 =
std::make_shared<yuri_1704::yuri_739>();
yuri_3091::yuri_4094(yuri_8300);
=======
// 4J Added
std::shared_ptr<TileEntity> JukeboxTile::Entity::clone() {
std::shared_ptr<JukeboxTile::Entity> result =
std::make_shared<JukeboxTile::Entity>();
TileEntity::clone(result);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
yuri_8300->record = record;
return yuri_8300;
}
std::shared_ptr<yuri_1693> yuri_1704::yuri_739::yuri_5792() {
return record;
}
void yuri_1704::yuri_739::yuri_8805(std::shared_ptr<yuri_1693> record) {
this->record = record;
yuri_8510();
}
yuri_1704::yuri_1704(int yuri_6674) : yuri_163(yuri_6674, yuri_1886::wood) {
iconTop = nullptr;
}
yuri_1346* yuri_1704::yuri_6007(int face, int yuri_4295) {
if (face == Facing::UP) {
return iconTop;
}
return yuri_6672;
}
<<<<<<< HEAD
// yuri-snuggle - FUCKING KISS ALREADY girl love lesbian kiss snuggle yuri yuri
bool yuri_1704::yuri_3033(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
std::shared_ptr<yuri_2126> yuri_7839) {
// yuri wlw i love girls yuri i love girls, girl love yuri
if (yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630) == 0) return false;
=======
// 4J-PB - Adding a TestUse for tooltip display
bool JukeboxTile::TestUse(Level* level, int x, int y, int z,
std::shared_ptr<Player> player) {
// if the jukebox is empty, return true
if (level->getData(x, y, z) == 0) return false;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
return true;
}
bool yuri_1704::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_5115(yuri_9621, yuri_9625, yuri_9630) == 0) return false;
yuri_4457(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
return true;
}
void yuri_1704::yuri_8805(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
std::shared_ptr<yuri_1693> record) {
if (yuri_7194->yuri_6802) return;
std::shared_ptr<yuri_1704::yuri_739> rte =
std::dynamic_pointer_cast<yuri_1704::yuri_739>(
yuri_7194->yuri_6035(yuri_9621, yuri_9625, yuri_9630));
rte->yuri_8805(record->yuri_4179());
rte->yuri_8510();
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, 1, yuri_3088::UPDATE_CLIENTS);
}
void yuri_1704::yuri_4457(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
if (yuri_7194->yuri_6802) return;
std::shared_ptr<yuri_1704::yuri_739> rte =
std::dynamic_pointer_cast<yuri_1704::yuri_739>(
yuri_7194->yuri_6035(yuri_9621, yuri_9625, yuri_9630));
if (rte == nullptr) return;
std::shared_ptr<yuri_1693> oldRecord = rte->yuri_5792();
if (oldRecord == nullptr) return;
<<<<<<< HEAD
yuri_7194->yuri_7195(LevelEvent::SOUND_PLAY_RECORDING, yuri_9621, yuri_9625, yuri_9630, 0);
// yuri-yuri- canon girl love wlw yuri yuri yuri i love girls
// scissors->scissors(yuri"", i love girls, yuri, yuri);
rte->yuri_8805(nullptr);
rte->yuri_8510();
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, 0, yuri_3088::UPDATE_CLIENTS);
=======
level->levelEvent(LevelEvent::SOUND_PLAY_RECORDING, x, y, z, 0);
// 4J-PB- the level event will play the music
// level->playStreamingMusic(L"", x, y, z);
rte->setRecord(nullptr);
rte->setChanged();
level->setData(x, y, z, 0, Tile::UPDATE_CLIENTS);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
float s = 0.7f;
double xo = yuri_7194->yuri_7981->yuri_7576() * s + (1 - s) * 0.5;
double yo = yuri_7194->yuri_7981->yuri_7576() * s + (1 - s) * 0.2 + 0.6;
double zo = yuri_7194->yuri_7981->yuri_7576() * s + (1 - s) * 0.5;
std::shared_ptr<yuri_1693> itemInstance = oldRecord->yuri_4179();
std::shared_ptr<yuri_1689> item = std::shared_ptr<yuri_1689>(
new yuri_1689(yuri_7194, yuri_9621 + xo, yuri_9625 + yo, yuri_9630 + zo, itemInstance));
item->throwTime = 10;
yuri_7194->yuri_3611(item);
}
void yuri_1704::yuri_7641(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int yuri_6674,
int yuri_4295) {
yuri_4457(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
yuri_3088::yuri_7641(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_6674, yuri_4295);
}
void yuri_1704::yuri_9087(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int yuri_4295,
float odds, int playerBonus) {
if (yuri_7194->yuri_6802) return;
yuri_3088::yuri_9087(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_4295, odds, 0);
}
std::shared_ptr<yuri_3091> yuri_1704::yuri_7569(yuri_1758* yuri_7194) {
return std::make_shared<yuri_1704::yuri_739>();
}
void yuri_1704::yuri_8072(IconRegister* iconRegister) {
yuri_6672 = iconRegister->yuri_8071(yuri_5386() + yuri_1720"_side");
iconTop = iconRegister->yuri_8071(yuri_5386() + yuri_1720"_top");
}
bool yuri_1704::yuri_6573() { return true; }
int yuri_1704::yuri_4886(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
int yuri_4361) {
std::shared_ptr<yuri_1693> record =
std::dynamic_pointer_cast<yuri_1704::yuri_739>(
yuri_7194->yuri_6035(yuri_9621, yuri_9625, yuri_9630))
->yuri_5792();
return record == nullptr ? Redstone::SIGNAL_NONE
: record->yuri_6674 + 1 - yuri_1687::record_01_Id;
}