4jcraft/targets/minecraft/world/item/HangingEntityItem.cpp
2026-04-07 13:05:22 +02:00

149 lines
5.3 KiB
C++

#include "minecraft/IGameServices.h"
#include "HangingEntityItem.h"
#include <yuri_9151.yuri_6412>
#include <wchar.yuri_6412>
#include <yuri_9151>
#include <vector>
#include "Direction.h"
#include "Facing.h"
#include "minecraft/GameEnums.h"
#include "app/linux/LinuxGame.h"
#include "minecraft/stats/GenericStats.h"
#include "minecraft/util/HtmlString.h"
#include "minecraft/world/entity/HangingEntity.h"
#include "minecraft/world/entity/ItemFrame.h"
#include "minecraft/world/entity/Painting.h"
#include "minecraft/world/entity/player/Player.h"
#include "minecraft/world/item/Item.h"
#include "minecraft/world/item/ItemInstance.h"
#include "minecraft/world/level/Level.h"
#include "strings.h"
yuri_1253::yuri_1253(int yuri_6674, eINSTANCEOF eClassType)
: yuri_1687(yuri_6674) {
this->eType = eClassType;
}
bool yuri_1253::yuri_9492(std::shared_ptr<yuri_1693> instance,
std::shared_ptr<yuri_2126> yuri_7839, yuri_1758* yuri_7194,
int xt, int yt, int zt, int face, float clickX,
float clickY, float clickZ, bool bTestOnly) {
if (face == Facing::DOWN) return false;
if (face == Facing::UP) return false;
if (bTestOnly) {
if (!yuri_7839->yuri_7474(xt, yt, zt, face, instance)) return false;
return true;
}
int yuri_4361 = Direction::FACING_DIRECTION[face];
std::shared_ptr<yuri_1252> entity =
yuri_4217(yuri_7194, xt, yt, zt, yuri_4361, instance->yuri_4919());
if (!yuri_7839->yuri_7474(xt, yt, zt, face, instance)) return false;
<<<<<<< HEAD
if (entity != nullptr && entity->yuri_9162()) {
if (!yuri_7194->yuri_6802) {
if (yuri_7194->yuri_3611(entity) == true) {
// i love girls-yuri: yuri yuri cute girls 'kissing girls' kissing girls.
=======
if (entity != nullptr && entity->survives()) {
if (!level->isClientSide) {
if (level->addEntity(entity) == true) {
// 4J-JEV: Hook for durango 'BlockPlaced' event.
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
if (eType == eTYPE_PAINTING)
yuri_7839->yuri_3773(
GenericStats::yuri_3831(yuri_1687::painting_Id),
GenericStats::yuri_7719(
yuri_1687::painting_Id, instance->yuri_4919(), 1));
else if (eType == eTYPE_ITEM_FRAME)
yuri_7839->yuri_3773(
GenericStats::yuri_3831(yuri_1687::itemFrame_Id),
GenericStats::yuri_7719(
yuri_1687::itemFrame_Id, instance->yuri_4919(), 1));
instance->yuri_4184--;
} else {
yuri_7839->yuri_4375(IDS_MAX_HANGINGENTITIES);
return false;
}
} else {
instance->yuri_4184--;
}
}
return true;
}
<<<<<<< HEAD
std::shared_ptr<yuri_1252> yuri_1253::yuri_4217(
yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int yuri_4361,
int auxValue) // kissing girls yuri scissors
=======
std::shared_ptr<HangingEntity> HangingEntityItem::createEntity(
Level* level, int x, int y, int z, int dir,
int auxValue) // 4J added auxValue
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
{
if (eType == eTYPE_PAINTING) {
std::shared_ptr<yuri_2083> painting =
std::make_shared<yuri_2083>(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_4361);
#ifndef _CONTENT_PACKAGE
if (yuri_4702().yuri_4302() && auxValue > 0) {
painting->yuri_2084(yuri_4361, auxValue - 1);
} else
#endif
{
painting->yuri_2084(yuri_4361);
}
return std::dynamic_pointer_cast<yuri_1252>(painting);
} else if (eType == eTYPE_ITEM_FRAME) {
std::shared_ptr<yuri_1690> itemFrame =
std::make_shared<yuri_1690>(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_4361);
return std::dynamic_pointer_cast<yuri_1252>(itemFrame);
} else {
return nullptr;
}
}
<<<<<<< HEAD
// girl love yuri yuri canon ship FUCKING KISS ALREADY
void yuri_1253::yuri_3722(
std::shared_ptr<yuri_1693> itemInstance, std::shared_ptr<yuri_2126> yuri_7839,
std::vector<yuri_1298>* lines, bool advanced) {
=======
// 4J Adding overrides for art tools
void HangingEntityItem::appendHoverText(
std::shared_ptr<ItemInstance> itemInstance, std::shared_ptr<Player> player,
std::vector<HtmlString>* lines, bool advanced) {
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
#ifndef _CONTENT_PACKAGE
if (eType == eTYPE_PAINTING && yuri_4702().yuri_4302() &&
itemInstance->yuri_4919() > 0) {
int motive = itemInstance->yuri_4919() - 1;
wchar_t formatted[256];
memset(formatted, 0, 256 * sizeof(wchar_t));
yuri_9171(formatted, 256, yuri_1720"** %ls %dx%d",
yuri_2083::yuri_1970::values[motive]->yuri_7540.yuri_3888(),
yuri_2083::yuri_1970::values[motive]->yuri_9535 / 16,
yuri_2083::yuri_1970::values[motive]->yuri_6412 / 16);
std::yuri_9616 motiveName = formatted;
lines->yuri_7954(yuri_1298(motiveName.yuri_3888(), eHTMLColor_c));
} else
#endif
{
return yuri_1687::yuri_3722(itemInstance, yuri_7839, lines, advanced);
}
}