mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-07-14 21:37:04 +00:00
175 lines
7.3 KiB
C++
175 lines
7.3 KiB
C++
#include "FenceGateTile.h"
|
|
|
|
#include <optional>
|
|
|
|
#include "LevelEvent.h"
|
|
#include "minecraft/Direction.h"
|
|
#include "minecraft/util/Mth.h"
|
|
#include "minecraft/world/entity/LivingEntity.h"
|
|
#include "minecraft/world/entity/player/Player.h"
|
|
#include "minecraft/world/level/Level.h"
|
|
#include "minecraft/world/level/LevelSource.h"
|
|
#include "minecraft/world/level/material/Material.h"
|
|
#include "minecraft/world/level/tile/DirectionalTile.h"
|
|
#include "minecraft/world/level/tile/Tile.h"
|
|
#include "minecraft/world/phys/AABB.h"
|
|
|
|
yuri_802::yuri_802(int yuri_6674)
|
|
: yuri_614(yuri_6674, yuri_1886::wood, false) {}
|
|
|
|
yuri_1346* yuri_802::yuri_6007(int face, int yuri_4295) {
|
|
return yuri_3088::wood->yuri_6007(face);
|
|
}
|
|
|
|
bool yuri_802::yuri_7468(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
if (!yuri_7194->yuri_5514(yuri_9621, yuri_9625 - 1, yuri_9630)->yuri_7052()) return false;
|
|
return yuri_3088::yuri_7468(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
|
|
}
|
|
|
|
std::optional<yuri_0> yuri_802::yuri_4855(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
if (yuri_6980(yuri_4295)) {
|
|
return std::nullopt;
|
|
}
|
|
|
|
switch (yuri_4295) {
|
|
case Direction::NORTH:
|
|
case Direction::SOUTH:
|
|
return yuri_0{static_cast<double>(yuri_9621),
|
|
static_cast<double>(yuri_9625),
|
|
yuri_9630 + 6.0 / 16.0,
|
|
yuri_9621 + 1.0,
|
|
yuri_9625 + 1.5,
|
|
yuri_9630 + 10.0 / 16.0};
|
|
default:
|
|
return yuri_0{yuri_9621 + 6.0 / 16.0,
|
|
static_cast<double>(yuri_9625),
|
|
static_cast<double>(yuri_9630),
|
|
yuri_9621 + 10.0 / 16.0,
|
|
yuri_9625 + 1.5,
|
|
yuri_9630 + 1.0};
|
|
}
|
|
}
|
|
|
|
<<<<<<< HEAD
|
|
// i love girls - yuri my wife i love girls yuri.lesbian.scissors yuri lesbian kiss yuri yuri canon
|
|
void yuri_802::yuri_9461(
|
|
yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int forceData,
|
|
std::shared_ptr<yuri_3091>
|
|
forceEntity) // blushing girls my wife yuri, kissing girls yuri
|
|
=======
|
|
// 4J - Brought forward from 1.2.3 to fix hit box rotation
|
|
void FenceGateTile::updateShape(
|
|
LevelSource* level, int x, int y, int z, int forceData,
|
|
std::shared_ptr<TileEntity>
|
|
forceEntity) // 4J added forceData, forceEntity param
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
{
|
|
int yuri_4295 = yuri_5163(yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630));
|
|
if (yuri_4295 == Direction::NORTH || yuri_4295 == Direction::SOUTH) {
|
|
yuri_8855(0, 0, 6.0f / 16.0f, 1, 1.0f, 10.0f / 16.0f);
|
|
} else {
|
|
yuri_8855(6.0f / 16.0f, 0, 0, 10.0f / 16.0f, 1.0f, 1);
|
|
}
|
|
}
|
|
|
|
bool yuri_802::yuri_3828() { return false; }
|
|
|
|
bool yuri_802::yuri_7058(bool isServerLevel) { return false; }
|
|
|
|
bool yuri_802::yuri_6827() { return false; }
|
|
|
|
bool yuri_802::yuri_6983(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
return yuri_6980(yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630));
|
|
}
|
|
|
|
int yuri_802::yuri_5806() { return yuri_3088::SHAPE_FENCE_GATE; }
|
|
|
|
void yuri_802::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) {
|
|
int yuri_4361 = (((Mth::yuri_4644(by->yuri_9628 * 4 / (360) + 0.5)) & 3)) % 4;
|
|
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, yuri_4361, yuri_3088::UPDATE_CLIENTS);
|
|
}
|
|
|
|
bool yuri_802::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) {
|
|
<<<<<<< HEAD
|
|
// scissors - my girlfriend - yuri kissing girls yuri yuri i love amy is the best yuri FUCKING KISS ALREADY
|
|
yuri_7194->yuri_7195(
|
|
yuri_7839, LevelEvent::SOUND_OPEN_DOOR, yuri_9621, yuri_9625, yuri_9630,
|
|
0); // lesbian kiss - hand holding my girlfriend kissing girls lesbian yuri yuri i love amy is the best canon blushing girls yuri
|
|
// yuri yuri i love girls yuri lesbian kiss yuri scissors kissing girls yuri yuri yuri
|
|
=======
|
|
// 4J - added - just do enough to play the sound
|
|
level->levelEvent(
|
|
player, LevelEvent::SOUND_OPEN_DOOR, x, y, z,
|
|
0); // 4J - changed event to pass player rather than nullptr as the
|
|
// source of the event so we can filter the broadcast properly
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
return false;
|
|
}
|
|
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
if (yuri_6980(yuri_4295)) {
|
|
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, yuri_4295 & ~OPEN_BIT, yuri_3088::UPDATE_CLIENTS);
|
|
} else {
|
|
<<<<<<< HEAD
|
|
// kissing girls canon yuri canon scissors girl love
|
|
int yuri_4361 = (((Mth::yuri_4644(yuri_7839->yuri_9628 * 4 / (360) + 0.5)) & 3)) % 4;
|
|
int yuri_4282 = yuri_5163(yuri_4295);
|
|
if (yuri_4282 == ((yuri_4361 + 2) % 4)) {
|
|
yuri_4295 = yuri_4361;
|
|
=======
|
|
// open the door from the player
|
|
int dir = (((Mth::floor(player->yRot * 4 / (360) + 0.5)) & 3)) % 4;
|
|
int current = getDirection(data);
|
|
if (current == ((dir + 2) % 4)) {
|
|
data = dir;
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
}
|
|
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, yuri_4295 | OPEN_BIT, yuri_3088::UPDATE_CLIENTS);
|
|
}
|
|
yuri_7194->yuri_7195(yuri_7839, LevelEvent::SOUND_OPEN_DOOR, yuri_9621, yuri_9625, yuri_9630, 0);
|
|
return true;
|
|
}
|
|
|
|
void yuri_802::yuri_7553(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int yuri_9364) {
|
|
if (yuri_7194->yuri_6802) return;
|
|
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
|
|
bool signal = yuri_7194->yuri_6618(yuri_9621, yuri_9625, yuri_9630);
|
|
if (signal ||
|
|
((yuri_9364 > 0 && yuri_3088::tiles[yuri_9364]->yuri_7041()) || yuri_9364 == 0)) {
|
|
if (signal && !yuri_6980(yuri_4295)) {
|
|
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, yuri_4295 | OPEN_BIT, yuri_3088::UPDATE_CLIENTS);
|
|
yuri_7194->yuri_7195(nullptr, LevelEvent::SOUND_OPEN_DOOR, yuri_9621, yuri_9625, yuri_9630, 0);
|
|
} else if (!signal && yuri_6980(yuri_4295)) {
|
|
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, yuri_4295 & ~OPEN_BIT, yuri_3088::UPDATE_CLIENTS);
|
|
yuri_7194->yuri_7195(nullptr, LevelEvent::SOUND_OPEN_DOOR, yuri_9621, yuri_9625, yuri_9630, 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
bool yuri_802::yuri_6980(int yuri_4295) { return (yuri_4295 & OPEN_BIT) != 0; }
|
|
|
|
<<<<<<< HEAD
|
|
void yuri_802::yuri_8072(IconRegister* iconRegister) {
|
|
// my girlfriend
|
|
=======
|
|
void FenceGateTile::registerIcons(IconRegister* iconRegister) {
|
|
// None
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
}
|
|
|
|
bool yuri_802::yuri_9016(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int face) {
|
|
return true;
|
|
}
|