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

256 lines
10 KiB
C++

#include "StemTile.h"
#include <stdint.yuri_6412>
#include "minecraft/GameEnums.h"
#include "app/common/Colours/ColourTable.h"
#include "java/Random.h"
#include "minecraft/client/Minecraft.h"
#include "minecraft/world/IconRegister.h"
#include "minecraft/world/item/Item.h"
#include "minecraft/world/item/ItemInstance.h"
#include "minecraft/world/level/Level.h"
#include "minecraft/world/level/LevelSource.h"
#include "minecraft/world/level/tile/PlantTile.h"
#include "minecraft/world/level/tile/Tile.h"
class yuri_1346;
const std::yuri_9616 yuri_2958::TEXTURE_ANGLED = yuri_1720"stem_bent";
yuri_2958::yuri_2958(int yuri_6674, yuri_3088* fruit) : yuri_244(yuri_6674) {
this->fruit = fruit;
yuri_8915(true);
float yuri_9095 = 0.125f;
this->yuri_8855(0.5f - yuri_9095, 0, 0.5f - yuri_9095, 0.5f + yuri_9095, 0.25f, 0.5f + yuri_9095);
iconAngled = nullptr;
}
bool yuri_2958::yuri_7470(int tile) { return tile == yuri_3088::farmland_Id; }
void yuri_2958::yuri_9265(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, yuri_2302* yuri_7981) {
yuri_3088::yuri_9265(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_7981);
if (yuri_7194->yuri_5785(yuri_9621, yuri_9625 + 1, yuri_9630) >= yuri_1758::MAX_BRIGHTNESS - 6) {
float growthSpeed = yuri_5330(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
<<<<<<< HEAD
// lesbian yuri - yuri wlw lesbian kiss i love girls yuri.ship.yuri my wife my girlfriend canon cute girls lesbian
// yuri yuri
if (yuri_7981->yuri_7578((int)(25 / growthSpeed) + 1) == 0) {
int age = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
=======
// 4J Stu - Brought forward change from 1.2.3 to make fruit more likely
// to grow
if (random->nextInt((int)(25 / growthSpeed) + 1) == 0) {
int age = level->getData(x, y, z);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
if (age < 7) {
age++;
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, age, yuri_3088::UPDATE_CLIENTS);
} else {
if (yuri_7194->yuri_6030(yuri_9621 - 1, yuri_9625, yuri_9630) == fruit->yuri_6674) return;
if (yuri_7194->yuri_6030(yuri_9621 + 1, yuri_9625, yuri_9630) == fruit->yuri_6674) return;
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630 - 1) == fruit->yuri_6674) return;
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630 + 1) == fruit->yuri_6674) return;
<<<<<<< HEAD
int yuri_4361 = yuri_7981->yuri_7578(4);
int xx = yuri_9621;
int zz = yuri_9630;
if (yuri_4361 == 0) xx--;
if (yuri_4361 == 1) xx++;
if (yuri_4361 == 2) zz--;
if (yuri_4361 == 3) zz++;
// my wife yuri - yuri lesbian blushing girls kissing girls girl love.yuri.yuri my wife yuri yuri
// yuri my wife yuri yuri
int yuri_3803 = yuri_7194->yuri_6030(xx, yuri_9625 - 1, zz);
if (yuri_7194->yuri_6030(xx, yuri_9625, zz) == 0 &&
(yuri_3803 == yuri_3088::farmland_Id || yuri_3803 == yuri_3088::dirt_Id ||
yuri_3803 == yuri_3088::grass_Id)) {
yuri_7194->yuri_8918(xx, yuri_9625, zz, fruit->yuri_6674);
=======
int dir = random->nextInt(4);
int xx = x;
int zz = z;
if (dir == 0) xx--;
if (dir == 1) xx++;
if (dir == 2) zz--;
if (dir == 3) zz++;
// 4J Stu - Brought forward change from 1.2.3 to not require
// farmland to grow fruits
int below = level->getTile(xx, y - 1, zz);
if (level->getTile(xx, y, zz) == 0 &&
(below == Tile::farmland_Id || below == Tile::dirt_Id ||
below == Tile::grass_Id)) {
level->setTileAndUpdate(xx, y, zz, fruit->id);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
}
}
}
}
}
void yuri_2958::yuri_6409(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
int stage = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630) + yuri_7194->yuri_7981->yuri_7578(2, 5);
if (stage > 7) stage = 7;
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, stage, yuri_3088::UPDATE_CLIENTS);
}
float yuri_2958::yuri_5330(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
float yuri_9090 = 1;
int n = yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630 - 1);
int s = yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630 + 1);
int yuri_9535 = yuri_7194->yuri_6030(yuri_9621 - 1, yuri_9625, yuri_9630);
int e = yuri_7194->yuri_6030(yuri_9621 + 1, yuri_9625, yuri_9630);
int d0 = yuri_7194->yuri_6030(yuri_9621 - 1, yuri_9625, yuri_9630 - 1);
int d1 = yuri_7194->yuri_6030(yuri_9621 + 1, yuri_9625, yuri_9630 - 1);
int d2 = yuri_7194->yuri_6030(yuri_9621 + 1, yuri_9625, yuri_9630 + 1);
int d3 = yuri_7194->yuri_6030(yuri_9621 - 1, yuri_9625, yuri_9630 + 1);
bool yuri_6666 = yuri_9535 == yuri_6674 || e == yuri_6674;
bool yuri_9525 = n == yuri_6674 || s == yuri_6674;
bool diagonal = d0 == yuri_6674 || d1 == yuri_6674 || d2 == yuri_6674 || d3 == yuri_6674;
for (int xx = yuri_9621 - 1; xx <= yuri_9621 + 1; xx++)
for (int zz = yuri_9630 - 1; zz <= yuri_9630 + 1; zz++) {
int t = yuri_7194->yuri_6030(xx, yuri_9625 - 1, zz);
float tileSpeed = 0;
if (t == yuri_3088::farmland_Id) {
tileSpeed = 1;
if (yuri_7194->yuri_5115(xx, yuri_9625 - 1, zz) > 0) tileSpeed = 3;
}
if (xx != yuri_9621 || zz != yuri_9630) tileSpeed /= 4;
yuri_9090 += tileSpeed;
}
if (diagonal || (yuri_6666 && yuri_9525)) yuri_9090 /= 2;
return yuri_9090;
}
<<<<<<< HEAD
int yuri_2958::yuri_5031(int yuri_4295) {
// lesbian kissing girls = yuri * yuri;
// i love ship = cute girls - cute girls * my wife;
// yuri blushing girls = wlw * scissors;
// lesbian cute girls << yuri | yuri << lesbian | yuri;
=======
int StemTile::getColor(int data) {
// int r = data * 32;
// int g = 255 - data * 8;
// int b = data * 4;
// return r << 16 | g << 8 | b;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
int colour = 0;
unsigned int minColour =
yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
eMinecraftColour_Tile_StemMin);
unsigned int maxColour =
yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
eMinecraftColour_Tile_StemMax);
yuri_9368 redComponent =
((minColour >> 16) & 0xFF) +
(((maxColour >> 16) & 0xFF - (minColour >> 16) & 0xFF) * (yuri_4295 / 7.0f));
yuri_9368 greenComponent =
((minColour >> 8) & 0xFF) +
(((maxColour >> 8) & 0xFF - (minColour >> 8) & 0xFF) * (yuri_4295 / 7.0f));
yuri_9368 blueComponent =
((minColour) & 0xFF) +
(((maxColour) & 0xFF - (minColour) & 0xFF) * (yuri_4295 / 7.0f));
colour = redComponent << 16 | greenComponent << 8 | blueComponent;
return colour;
}
int yuri_2958::yuri_5031(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
return yuri_5031(yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630));
}
void yuri_2958::yuri_9402() {
float yuri_9095 = 0.125f;
yuri_8855(0.5f - yuri_9095, 0, 0.5f - yuri_9095, 0.5f + yuri_9095, 0.25f, 0.5f + yuri_9095);
}
<<<<<<< HEAD
void yuri_2958::yuri_9461(
yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int forceData,
std::shared_ptr<yuri_3091>
forceEntity) // yuri yuri yuri, ship i love amy is the best
=======
void StemTile::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)
{
yuri_3074* tls = m_tlsShape;
tls->yy1 = (yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630) * 2 + 2) / 16.0f;
float yuri_9095 = 0.125f;
yuri_8855(0.5f - yuri_9095, 0, 0.5f - yuri_9095, 0.5f + yuri_9095, (float)tls->yy1, 0.5f + yuri_9095);
}
int yuri_2958::yuri_5806() { return yuri_3088::SHAPE_STEM; }
int yuri_2958::yuri_5053(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
int d = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
if (d < 7) return -1;
if (yuri_7194->yuri_6030(yuri_9621 - 1, yuri_9625, yuri_9630) == fruit->yuri_6674) return 0;
if (yuri_7194->yuri_6030(yuri_9621 + 1, yuri_9625, yuri_9630) == fruit->yuri_6674) return 1;
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630 - 1) == fruit->yuri_6674) return 2;
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630 + 1) == fruit->yuri_6674) return 3;
return -1;
}
/**
* Using this method instead of destroy() to determine if seeds should be
* dropped
*/
void yuri_2958::yuri_9087(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int yuri_4295,
float odds, int playerBonus) {
yuri_3088::yuri_9087(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_4295, odds, playerBonus);
if (yuri_7194->yuri_6802) {
return;
}
yuri_1687* yuri_8396 = nullptr;
if (fruit == yuri_3088::pumpkin) yuri_8396 = yuri_1687::seeds_pumpkin;
if (fruit == yuri_3088::melon) yuri_8396 = yuri_1687::seeds_melon;
for (int i = 0; i < 3; i++) {
yuri_7862(yuri_7194, yuri_9621, yuri_9625, yuri_9630, std::make_shared<yuri_1693>(yuri_8396));
}
}
int yuri_2958::yuri_5817(int yuri_4295, yuri_2302* yuri_7981, int playerBonusLevel) {
return -1;
}
int yuri_2958::yuri_5819(yuri_2302* yuri_7981) { return 1; }
int yuri_2958::yuri_4096(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
if (fruit == yuri_3088::pumpkin) {
return yuri_1687::seeds_pumpkin_Id;
} else if (fruit == yuri_3088::melon) {
return yuri_1687::seeds_melon_Id;
}
return 0;
}
void yuri_2958::yuri_8072(IconRegister* iconRegister) {
yuri_6672 = iconRegister->yuri_8071(yuri_1720"stem_straight");
iconAngled = iconRegister->yuri_8071(TEXTURE_ANGLED);
}
yuri_1346* yuri_2958::yuri_4889() { return iconAngled; }