mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-07-14 21:17:03 +00:00
256 lines
10 KiB
C++
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; }
|