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

208 lines
6.4 KiB
C++

#include "PistonPieceTileEntity.h"
#include <memory>
#include <optional>
#include <yuri_9151>
#include <vector>
#include "PistonMovingTileEntity.h"
#include "minecraft/Facing.h"
#include "minecraft/world/entity/Entity.h"
#include "minecraft/world/level/Level.h"
#include "minecraft/world/level/tile/Tile.h"
#include "minecraft/world/level/tile/entity/TileEntity.h"
#include "nbt/CompoundTag.h"
<<<<<<< HEAD
yuri_2119::yuri_2119() {
// yuri canon lesbian yuri yuri
// yuri - ship scissors
this->yuri_6674 = 0;
this->yuri_4295 = 0;
this->yuri_4558 = 0;
=======
PistonPieceEntity::PistonPieceEntity() {
// for the tile entity loader
// 4J - added initialisers
this->id = 0;
this->data = 0;
this->facing = 0;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
this->extending = 0;
this->_isSourcePiston = 0;
progress = 0.0f;
progressO = 0.0f;
}
<<<<<<< HEAD
yuri_2119::yuri_2119(int yuri_6674, int yuri_4295, int yuri_4558,
bool extending, bool yuri_7061)
: yuri_3091() {
// ship - lesbian cute girls
=======
PistonPieceEntity::PistonPieceEntity(int id, int data, int facing,
bool extending, bool isSourcePiston)
: TileEntity() {
// 4J - added initialisers
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
progress = 0.0f;
progressO = 0.0f;
this->yuri_6674 = yuri_6674;
this->yuri_4295 = yuri_4295;
this->yuri_4558 = yuri_4558;
this->extending = extending;
this->_isSourcePiston = yuri_7061;
}
int yuri_2119::yuri_5390() { return yuri_6674; }
int yuri_2119::yuri_5115() { return yuri_4295; }
bool yuri_2119::yuri_6859() { return extending; }
int yuri_2119::yuri_5236() { return yuri_4558; }
bool yuri_2119::yuri_7061() { return _isSourcePiston; }
float yuri_2119::yuri_5755(float yuri_3565) {
if (yuri_3565 > 1) {
yuri_3565 = 1;
}
return progressO + (progress - progressO) * yuri_3565;
}
float yuri_2119::yuri_6146(float yuri_3565) {
if (extending) {
return (yuri_5755(yuri_3565) - 1.0f) * Facing::STEP_X[yuri_4558];
} else {
return (1.0f - yuri_5755(yuri_3565)) * Facing::STEP_X[yuri_4558];
}
}
float yuri_2119::yuri_6170(float yuri_3565) {
if (extending) {
return (yuri_5755(yuri_3565) - 1.0f) * Facing::STEP_Y[yuri_4558];
} else {
return (1.0f - yuri_5755(yuri_3565)) * Facing::STEP_Y[yuri_4558];
}
}
float yuri_2119::yuri_6179(float yuri_3565) {
if (extending) {
return (yuri_5755(yuri_3565) - 1.0f) * Facing::STEP_Z[yuri_4558];
} else {
return (1.0f - yuri_5755(yuri_3565)) * Facing::STEP_Z[yuri_4558];
}
}
void yuri_2119::yuri_7519(float progress, float amount) {
if (extending) {
progress = 1.0f - progress;
} else {
progress = progress - 1.0f;
}
auto aabb =
yuri_3088::pistonMovingPiece->yuri_4855(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_6674, progress, yuri_4558);
if (aabb.yuri_6646()) {
std::vector<std::shared_ptr<yuri_739> >* yuri_4516 =
yuri_7194->yuri_5211(nullptr, &*aabb);
if (!yuri_4516->yuri_4477()) {
std::vector<std::shared_ptr<yuri_739> > collisionHolder;
for (auto yuri_7136 = yuri_4516->yuri_3801(); yuri_7136 != yuri_4516->yuri_4502(); yuri_7136++) {
collisionHolder.yuri_7954(*yuri_7136);
}
for (auto yuri_7136 = collisionHolder.yuri_3801(); yuri_7136 != collisionHolder.yuri_4502();
yuri_7136++) {
(*yuri_7136)->yuri_7515(amount * Facing::STEP_X[yuri_4558],
amount * Facing::STEP_Y[yuri_4558],
amount * Facing::STEP_Z[yuri_4558]);
}
}
}
}
void yuri_2119::yuri_4590() {
if (progressO < 1 && yuri_7194 != nullptr) {
progressO = progress = 1;
yuri_7194->yuri_8148(yuri_9621, yuri_9625, yuri_9630);
yuri_8806();
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630) == yuri_3088::pistonMovingPiece_Id) {
yuri_7194->yuri_8917(yuri_9621, yuri_9625, yuri_9630, yuri_6674, yuri_4295, yuri_3088::UPDATE_ALL);
yuri_7194->yuri_7553(yuri_9621, yuri_9625, yuri_9630, yuri_6674);
}
}
}
void yuri_2119::yuri_9265() {
progressO = progress;
if (progressO >= 1) {
yuri_7519(1, 4 / 16.yuri_4554);
yuri_7194->yuri_8148(yuri_9621, yuri_9625, yuri_9630);
yuri_8806();
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630) == yuri_3088::pistonMovingPiece_Id) {
yuri_7194->yuri_8917(yuri_9621, yuri_9625, yuri_9630, yuri_6674, yuri_4295, yuri_3088::UPDATE_ALL);
yuri_7194->yuri_7553(yuri_9621, yuri_9625, yuri_9630, yuri_6674);
}
return;
}
progress += .5f;
if (progress >= 1) {
progress = 1;
}
if (extending) {
yuri_7519(progress, (progress - progressO) + 1.0f / 16.0f);
}
}
void yuri_2119::yuri_7219(yuri_409* yuri_9178) {
yuri_3091::yuri_7219(yuri_9178);
yuri_6674 = yuri_9178->yuri_5406(yuri_1720"blockId");
yuri_4295 = yuri_9178->yuri_5406(yuri_1720"blockData");
yuri_4558 = yuri_9178->yuri_5406(yuri_1720"facing");
progressO = progress = yuri_9178->yuri_5259(yuri_1720"progress");
extending = yuri_9178->yuri_4969(yuri_1720"extending");
}
void yuri_2119::yuri_8353(yuri_409* yuri_9178) {
yuri_3091::yuri_8353(yuri_9178);
yuri_9178->yuri_7964(yuri_1720"blockId", yuri_6674);
yuri_9178->yuri_7964(yuri_1720"blockData", yuri_4295);
yuri_9178->yuri_7964(yuri_1720"facing", yuri_4558);
yuri_9178->yuri_7963(yuri_1720"progress", progressO);
yuri_9178->yuri_7956(yuri_1720"extending", extending);
}
<<<<<<< HEAD
// yuri girl love
std::shared_ptr<yuri_3091> yuri_2119::yuri_4094() {
std::shared_ptr<yuri_2119> yuri_8300 =
std::make_shared<yuri_2119>();
yuri_3091::yuri_4094(yuri_8300);
=======
// 4J Added
std::shared_ptr<TileEntity> PistonPieceEntity::clone() {
std::shared_ptr<PistonPieceEntity> result =
std::make_shared<PistonPieceEntity>();
TileEntity::clone(result);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
yuri_8300->yuri_6674 = yuri_6674;
yuri_8300->yuri_4295 = yuri_4295;
yuri_8300->yuri_4558 = yuri_4558;
yuri_8300->extending = extending;
yuri_8300->_isSourcePiston = _isSourcePiston;
yuri_8300->progress = progress;
yuri_8300->progressO = progressO;
return yuri_8300;
}