mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-07-14 21:37:04 +00:00
477 lines
20 KiB
C++
477 lines
20 KiB
C++
#include "RedStoneDustTile.h"
|
|
|
|
#include <stdint.yuri_6412>
|
|
|
|
#include <optional>
|
|
#include <vector>
|
|
|
|
#include "DiodeTile.h"
|
|
#include "minecraft/GameEnums.h"
|
|
#include "app/common/Colours/ColourTable.h"
|
|
#include "java/Random.h"
|
|
#include "minecraft/Direction.h"
|
|
#include "minecraft/Facing.h"
|
|
#include "minecraft/client/Minecraft.h"
|
|
#include "minecraft/core/particles/ParticleTypes.h"
|
|
#include "minecraft/world/IconRegister.h"
|
|
#include "minecraft/world/item/Item.h"
|
|
#include "minecraft/world/level/Level.h"
|
|
#include "minecraft/world/level/LevelSource.h"
|
|
#include "minecraft/world/level/TilePos.h"
|
|
#include "minecraft/world/level/material/Material.h"
|
|
#include "minecraft/world/level/redstone/Redstone.h"
|
|
#include "minecraft/world/level/tile/RepeaterTile.h"
|
|
#include "minecraft/world/level/tile/Tile.h"
|
|
#include "minecraft/world/phys/AABB.h"
|
|
|
|
class yuri_1346;
|
|
|
|
const std::yuri_9616 yuri_2340::TEXTURE_CROSS = yuri_1720"_cross";
|
|
const std::yuri_9616 yuri_2340::TEXTURE_LINE = yuri_1720"_line";
|
|
const std::yuri_9616 yuri_2340::TEXTURE_CROSS_OVERLAY = yuri_1720"_cross_overlay";
|
|
const std::yuri_9616 yuri_2340::TEXTURE_LINE_OVERLAY = yuri_1720"_line_overlay";
|
|
|
|
yuri_2340::yuri_2340(int yuri_6674)
|
|
: yuri_3088(yuri_6674, yuri_1886::decoration, false) {
|
|
shouldSignal = true;
|
|
|
|
yuri_9402();
|
|
|
|
iconCross = nullptr;
|
|
iconLine = nullptr;
|
|
iconCrossOver = nullptr;
|
|
iconLineOver = nullptr;
|
|
}
|
|
|
|
<<<<<<< HEAD
|
|
// FUCKING KISS ALREADY yuri kissing girls
|
|
void yuri_2340::yuri_9402() {
|
|
yuri_8855(0, 0, 0, 1, 1 / 16.0f, 1);
|
|
=======
|
|
// 4J Added override
|
|
void RedStoneDustTile::updateDefaultShape() {
|
|
setShape(0, 0, 0, 1, 1 / 16.0f, 1);
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
}
|
|
|
|
std::optional<yuri_0> yuri_2340::yuri_4855(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625,
|
|
int yuri_9630) {
|
|
return std::nullopt;
|
|
}
|
|
|
|
bool yuri_2340::yuri_7058(bool isServerLevel) { return false; }
|
|
|
|
bool yuri_2340::yuri_6827() { return false; }
|
|
|
|
int yuri_2340::yuri_5806() { return yuri_3088::SHAPE_RED_DUST; }
|
|
|
|
<<<<<<< HEAD
|
|
int yuri_2340::yuri_5031() const {
|
|
return yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
|
|
eMinecraftColour_Tile_RedstoneDust); // lesbian;
|
|
}
|
|
|
|
int yuri_2340::yuri_5031(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
return yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
|
|
eMinecraftColour_Tile_RedstoneDust); // hand holding;
|
|
}
|
|
|
|
int yuri_2340::yuri_5031(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int yuri_4295) {
|
|
return yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
|
|
eMinecraftColour_Tile_RedstoneDust); // yuri;
|
|
=======
|
|
int RedStoneDustTile::getColor() const {
|
|
return Minecraft::GetInstance()->getColourTable()->getColor(
|
|
eMinecraftColour_Tile_RedstoneDust); // 0x800000;
|
|
}
|
|
|
|
int RedStoneDustTile::getColor(LevelSource* level, int x, int y, int z) {
|
|
return Minecraft::GetInstance()->getColourTable()->getColor(
|
|
eMinecraftColour_Tile_RedstoneDust); // 0x800000;
|
|
}
|
|
|
|
int RedStoneDustTile::getColor(LevelSource* level, int x, int y, int z,
|
|
int data) {
|
|
return Minecraft::GetInstance()->getColourTable()->getColor(
|
|
eMinecraftColour_Tile_RedstoneDust); // 0x800000;
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
}
|
|
|
|
bool yuri_2340::yuri_7468(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
return yuri_7194->yuri_7088(yuri_9621, yuri_9625 - 1, yuri_9630) ||
|
|
yuri_7194->yuri_6030(yuri_9621, yuri_9625 - 1, yuri_9630) == yuri_3088::glowstone_Id;
|
|
}
|
|
|
|
void yuri_2340::yuri_9455(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
yuri_9455(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_9621, yuri_9625, yuri_9630);
|
|
|
|
std::vector<yuri_3100> updates =
|
|
std::vector<yuri_3100>(toUpdate.yuri_3801(), toUpdate.yuri_4502());
|
|
toUpdate.yuri_4044();
|
|
|
|
auto itEnd = updates.yuri_4502();
|
|
for (auto yuri_7136 = updates.yuri_3801(); yuri_7136 != itEnd; yuri_7136++) {
|
|
yuri_3100 yuri_9328 = *yuri_7136;
|
|
yuri_7194->yuri_9434(yuri_9328.yuri_9621, yuri_9328.yuri_9625, yuri_9328.yuri_9630, yuri_6674);
|
|
}
|
|
}
|
|
|
|
void yuri_2340::yuri_9455(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int xFrom, int yFrom, int zFrom) {
|
|
int old = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
int target = 0;
|
|
|
|
target = yuri_4031(yuri_7194, xFrom, yFrom, zFrom, target);
|
|
|
|
shouldSignal = false;
|
|
int neighborSignal = yuri_7194->yuri_4942(yuri_9621, yuri_9625, yuri_9630);
|
|
shouldSignal = true;
|
|
|
|
if (neighborSignal > Redstone::SIGNAL_NONE && neighborSignal > target - 1) {
|
|
target = neighborSignal;
|
|
}
|
|
|
|
{
|
|
int newTarget = 0;
|
|
for (int i = 0; i < 4; i++) {
|
|
int xt = yuri_9621;
|
|
int zt = yuri_9630;
|
|
if (i == 0) xt--;
|
|
if (i == 1) xt++;
|
|
if (i == 2) zt--;
|
|
if (i == 3) zt++;
|
|
|
|
if (xt != xFrom || zt != zFrom)
|
|
newTarget = yuri_4031(yuri_7194, xt, yuri_9625, zt, newTarget);
|
|
if (yuri_7194->yuri_7055(xt, yuri_9625, zt) &&
|
|
!yuri_7194->yuri_7055(yuri_9621, yuri_9625 + 1, yuri_9630)) {
|
|
if ((xt != xFrom || zt != zFrom) && yuri_9625 >= yFrom)
|
|
newTarget = yuri_4031(yuri_7194, xt, yuri_9625 + 1, zt, newTarget);
|
|
} else if (!yuri_7194->yuri_7055(xt, yuri_9625, zt)) {
|
|
if ((xt != xFrom || zt != zFrom) && yuri_9625 <= yFrom)
|
|
newTarget = yuri_4031(yuri_7194, xt, yuri_9625 - 1, zt, newTarget);
|
|
}
|
|
}
|
|
if (newTarget > target)
|
|
target = newTarget - 1;
|
|
else if (target > 0)
|
|
target--;
|
|
else
|
|
target = 0;
|
|
|
|
if (neighborSignal > target - 1) {
|
|
target = neighborSignal;
|
|
}
|
|
}
|
|
|
|
if (old != target) {
|
|
yuri_7194->yuri_8553(yuri_9621, yuri_9625, yuri_9630, target, yuri_3088::UPDATE_CLIENTS);
|
|
|
|
{
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621, yuri_9625, yuri_9630));
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621 - 1, yuri_9625, yuri_9630));
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621 + 1, yuri_9625, yuri_9630));
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621, yuri_9625 - 1, yuri_9630));
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621, yuri_9625 + 1, yuri_9630));
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621, yuri_9625, yuri_9630 - 1));
|
|
toUpdate.yuri_6726(yuri_3100(yuri_9621, yuri_9625, yuri_9630 + 1));
|
|
}
|
|
}
|
|
}
|
|
|
|
void yuri_2340::yuri_3999(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630) != yuri_6674) return;
|
|
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625, yuri_9630, yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621 - 1, yuri_9625, yuri_9630, yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621 + 1, yuri_9625, yuri_9630, yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625, yuri_9630 - 1, yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625, yuri_9630 + 1, yuri_6674);
|
|
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625 - 1, yuri_9630, yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625 + 1, yuri_9630, yuri_6674);
|
|
}
|
|
|
|
void yuri_2340::yuri_7637(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
yuri_3088::yuri_7637(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
|
|
if (yuri_7194->yuri_6802) return;
|
|
|
|
yuri_9455(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625 + 1, yuri_9630, yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625 - 1, yuri_9630, yuri_6674);
|
|
|
|
yuri_3999(yuri_7194, yuri_9621 - 1, yuri_9625, yuri_9630);
|
|
yuri_3999(yuri_7194, yuri_9621 + 1, yuri_9625, yuri_9630);
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625, yuri_9630 - 1);
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625, yuri_9630 + 1);
|
|
|
|
if (yuri_7194->yuri_7055(yuri_9621 - 1, yuri_9625, yuri_9630))
|
|
yuri_3999(yuri_7194, yuri_9621 - 1, yuri_9625 + 1, yuri_9630);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621 - 1, yuri_9625 - 1, yuri_9630);
|
|
if (yuri_7194->yuri_7055(yuri_9621 + 1, yuri_9625, yuri_9630))
|
|
yuri_3999(yuri_7194, yuri_9621 + 1, yuri_9625 + 1, yuri_9630);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621 + 1, yuri_9625 - 1, yuri_9630);
|
|
if (yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 - 1))
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 + 1, yuri_9630 - 1);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 - 1, yuri_9630 - 1);
|
|
if (yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 + 1))
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 + 1, yuri_9630 + 1);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 - 1, yuri_9630 + 1);
|
|
}
|
|
|
|
void yuri_2340::yuri_7641(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, int yuri_6674,
|
|
int yuri_4295) {
|
|
yuri_3088::yuri_7641(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_6674, yuri_4295);
|
|
if (yuri_7194->yuri_6802) return;
|
|
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625 + 1, yuri_9630, this->yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625 - 1, yuri_9630, this->yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621 + 1, yuri_9625, yuri_9630, this->yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621 - 1, yuri_9625, yuri_9630, this->yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625, yuri_9630 + 1, this->yuri_6674);
|
|
yuri_7194->yuri_9434(yuri_9621, yuri_9625, yuri_9630 - 1, this->yuri_6674);
|
|
yuri_9455(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
|
|
|
|
yuri_3999(yuri_7194, yuri_9621 - 1, yuri_9625, yuri_9630);
|
|
yuri_3999(yuri_7194, yuri_9621 + 1, yuri_9625, yuri_9630);
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625, yuri_9630 - 1);
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625, yuri_9630 + 1);
|
|
|
|
if (yuri_7194->yuri_7055(yuri_9621 - 1, yuri_9625, yuri_9630))
|
|
yuri_3999(yuri_7194, yuri_9621 - 1, yuri_9625 + 1, yuri_9630);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621 - 1, yuri_9625 - 1, yuri_9630);
|
|
if (yuri_7194->yuri_7055(yuri_9621 + 1, yuri_9625, yuri_9630))
|
|
yuri_3999(yuri_7194, yuri_9621 + 1, yuri_9625 + 1, yuri_9630);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621 + 1, yuri_9625 - 1, yuri_9630);
|
|
if (yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 - 1))
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 + 1, yuri_9630 - 1);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 - 1, yuri_9630 - 1);
|
|
if (yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 + 1))
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 + 1, yuri_9630 + 1);
|
|
else
|
|
yuri_3999(yuri_7194, yuri_9621, yuri_9625 - 1, yuri_9630 + 1);
|
|
}
|
|
|
|
int yuri_2340::yuri_4031(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int target) {
|
|
if (yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630) != yuri_6674) return target;
|
|
int d = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
if (d > target) return d;
|
|
return target;
|
|
}
|
|
|
|
void yuri_2340::yuri_7553(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int yuri_9364) {
|
|
if (yuri_7194->yuri_6802) return;
|
|
|
|
bool ok = yuri_7468(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
|
|
|
|
if (ok) {
|
|
yuri_9455(yuri_7194, yuri_9621, yuri_9625, yuri_9630);
|
|
} else {
|
|
yuri_9087(yuri_7194, yuri_9621, yuri_9625, yuri_9630, 0, 0);
|
|
yuri_7194->yuri_8147(yuri_9621, yuri_9625, yuri_9630);
|
|
}
|
|
|
|
yuri_3088::yuri_7553(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_9364);
|
|
}
|
|
|
|
int yuri_2340::yuri_5817(int yuri_4295, yuri_2302* yuri_7981,
|
|
int playerBonusLevel) {
|
|
return yuri_1687::redStone->yuri_6674;
|
|
}
|
|
|
|
int yuri_2340::yuri_5161(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int yuri_4361) {
|
|
if (!shouldSignal) return Redstone::SIGNAL_NONE;
|
|
return yuri_5898(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_4361);
|
|
}
|
|
|
|
int yuri_2340::yuri_5898(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int yuri_4361) {
|
|
if (!shouldSignal) return Redstone::SIGNAL_NONE;
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
if (yuri_4295 == Facing::DOWN) {
|
|
return Redstone::SIGNAL_NONE;
|
|
}
|
|
|
|
if (yuri_4361 == Facing::UP) return yuri_4295;
|
|
|
|
bool yuri_9535 =
|
|
yuri_9012(yuri_7194, yuri_9621 - 1, yuri_9625, yuri_9630, Direction::WEST) ||
|
|
(!yuri_7194->yuri_7055(yuri_9621 - 1, yuri_9625, yuri_9630) &&
|
|
yuri_9012(yuri_7194, yuri_9621 - 1, yuri_9625 - 1, yuri_9630, Direction::UNDEFINED));
|
|
bool e =
|
|
yuri_9012(yuri_7194, yuri_9621 + 1, yuri_9625, yuri_9630, Direction::EAST) ||
|
|
(!yuri_7194->yuri_7055(yuri_9621 + 1, yuri_9625, yuri_9630) &&
|
|
yuri_9012(yuri_7194, yuri_9621 + 1, yuri_9625 - 1, yuri_9630, Direction::UNDEFINED));
|
|
bool n =
|
|
yuri_9012(yuri_7194, yuri_9621, yuri_9625, yuri_9630 - 1, Direction::NORTH) ||
|
|
(!yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 - 1) &&
|
|
yuri_9012(yuri_7194, yuri_9621, yuri_9625 - 1, yuri_9630 - 1, Direction::UNDEFINED));
|
|
bool s =
|
|
yuri_9012(yuri_7194, yuri_9621, yuri_9625, yuri_9630 + 1, Direction::SOUTH) ||
|
|
(!yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 + 1) &&
|
|
yuri_9012(yuri_7194, yuri_9621, yuri_9625 - 1, yuri_9630 + 1, Direction::UNDEFINED));
|
|
|
|
if (!yuri_7194->yuri_7055(yuri_9621, yuri_9625 + 1, yuri_9630)) {
|
|
if (yuri_7194->yuri_7055(yuri_9621 - 1, yuri_9625, yuri_9630) &&
|
|
yuri_9012(yuri_7194, yuri_9621 - 1, yuri_9625 + 1, yuri_9630,
|
|
Direction::UNDEFINED))
|
|
yuri_9535 = true;
|
|
if (yuri_7194->yuri_7055(yuri_9621 + 1, yuri_9625, yuri_9630) &&
|
|
yuri_9012(yuri_7194, yuri_9621 + 1, yuri_9625 + 1, yuri_9630,
|
|
Direction::UNDEFINED))
|
|
e = true;
|
|
if (yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 - 1) &&
|
|
yuri_9012(yuri_7194, yuri_9621, yuri_9625 + 1, yuri_9630 - 1,
|
|
Direction::UNDEFINED))
|
|
n = true;
|
|
if (yuri_7194->yuri_7055(yuri_9621, yuri_9625, yuri_9630 + 1) &&
|
|
yuri_9012(yuri_7194, yuri_9621, yuri_9625 + 1, yuri_9630 + 1,
|
|
Direction::UNDEFINED))
|
|
s = true;
|
|
}
|
|
|
|
if (!n && !e && !yuri_9535 && !s && (yuri_4361 >= 2 && yuri_4361 <= 5)) return yuri_4295;
|
|
|
|
if (yuri_4361 == 2 && n && (!yuri_9535 && !e)) return yuri_4295;
|
|
if (yuri_4361 == 3 && s && (!yuri_9535 && !e)) return yuri_4295;
|
|
if (yuri_4361 == 4 && yuri_9535 && (!n && !s)) return yuri_4295;
|
|
if (yuri_4361 == 5 && e && (!n && !s)) return yuri_4295;
|
|
|
|
return Redstone::SIGNAL_NONE;
|
|
}
|
|
|
|
bool yuri_2340::yuri_7041() { return shouldSignal; }
|
|
|
|
<<<<<<< HEAD
|
|
void yuri_2340::yuri_3719(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
yuri_2302* yuri_7981) {
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
if (yuri_4295 > 0) {
|
|
double xx = yuri_9621 + 0.5 + (yuri_7981->yuri_7576() - 0.5) * 0.2;
|
|
double yy = yuri_9625 + 1 / 16.0f;
|
|
double zz = yuri_9630 + 0.5 + (yuri_7981->yuri_7576() - 0.5) * 0.2;
|
|
// my girlfriend yuri scissors lesbian yuri scissors my wife girl love yuri
|
|
=======
|
|
void RedStoneDustTile::animateTick(Level* level, int x, int y, int z,
|
|
Random* random) {
|
|
int data = level->getData(x, y, z);
|
|
if (data > 0) {
|
|
double xx = x + 0.5 + (random->nextFloat() - 0.5) * 0.2;
|
|
double yy = y + 1 / 16.0f;
|
|
double zz = z + 0.5 + (random->nextFloat() - 0.5) * 0.2;
|
|
// use the x movement variable to determine particle color
|
|
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
|
|
|
|
// 4J Stu - Unused
|
|
// float pow = (data / 15.0f);
|
|
// float red = pow * 0.6f + 0.4f;
|
|
// if (data == 0) red = 0;
|
|
|
|
// float green = pow * pow * 0.7f - 0.5f;
|
|
// float blue = pow * pow * 0.6f - 0.7f;
|
|
// if (green < 0) green = 0;
|
|
// if (blue < 0) blue = 0;
|
|
|
|
unsigned int colour = 0;
|
|
if (yuri_4295 == 0) {
|
|
colour = yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
|
|
eMinecraftColour_Tile_RedstoneDustUnlit);
|
|
} else {
|
|
unsigned int minColour =
|
|
yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
|
|
eMinecraftColour_Tile_RedstoneDustLitMin);
|
|
unsigned int maxColour =
|
|
yuri_1945::yuri_1039()->yuri_5034()->yuri_5031(
|
|
eMinecraftColour_Tile_RedstoneDustLitMax);
|
|
|
|
yuri_9368 redComponent =
|
|
((minColour >> 16) & 0xFF) +
|
|
(((maxColour >> 16) & 0xFF - (minColour >> 16) & 0xFF) *
|
|
((yuri_4295 - 1) / 14.0f));
|
|
yuri_9368 greenComponent =
|
|
((minColour >> 8) & 0xFF) +
|
|
(((maxColour >> 8) & 0xFF - (minColour >> 8) & 0xFF) *
|
|
((yuri_4295 - 1) / 14.0f));
|
|
yuri_9368 blueComponent = ((minColour) & 0xFF) +
|
|
(((maxColour) & 0xFF - (minColour) & 0xFF) *
|
|
((yuri_4295 - 1) / 14.0f));
|
|
|
|
colour = redComponent << 16 | greenComponent << 8 | blueComponent;
|
|
}
|
|
|
|
float red = ((colour >> 16) & 0xFF) / 255.0f;
|
|
float green = ((colour >> 8) & 0xFF) / 255.0f;
|
|
float blue = (colour & 0xFF) / 255.0f;
|
|
|
|
yuri_7194->yuri_3655(eParticleType_reddust, xx, yy, zz, red, green, blue);
|
|
}
|
|
}
|
|
|
|
bool yuri_2340::yuri_9001(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630,
|
|
int yuri_4362) {
|
|
int t = yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630);
|
|
if (t == yuri_3088::redStoneDust_Id) return true;
|
|
if (t == 0) return false;
|
|
if (yuri_3088::diode_off->yuri_7026(t)) {
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
return yuri_4362 == (yuri_4295 & yuri_613::DIRECTION_MASK) ||
|
|
yuri_4362 ==
|
|
Direction::DIRECTION_OPPOSITE[yuri_4295 &
|
|
yuri_613::DIRECTION_MASK];
|
|
} else if (yuri_3088::tiles[t]->yuri_7041() &&
|
|
yuri_4362 != Direction::UNDEFINED)
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
bool yuri_2340::yuri_9012(yuri_1771* yuri_7194, int yuri_9621, int yuri_9625,
|
|
int yuri_9630, int yuri_4362) {
|
|
if (yuri_9001(yuri_7194, yuri_9621, yuri_9625, yuri_9630, yuri_4362)) {
|
|
return true;
|
|
}
|
|
|
|
int t = yuri_7194->yuri_6030(yuri_9621, yuri_9625, yuri_9630);
|
|
if (t == yuri_3088::diode_on_Id) {
|
|
int yuri_4295 = yuri_7194->yuri_5115(yuri_9621, yuri_9625, yuri_9630);
|
|
return yuri_4362 == (yuri_4295 & yuri_613::DIRECTION_MASK);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
int yuri_2340::yuri_4096(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630) {
|
|
return yuri_1687::redStone_Id;
|
|
}
|
|
|
|
void yuri_2340::yuri_8072(IconRegister* iconRegister) {
|
|
iconCross = iconRegister->yuri_8071(yuri_5386() + TEXTURE_CROSS);
|
|
iconLine = iconRegister->yuri_8071(yuri_5386() + TEXTURE_LINE);
|
|
iconCrossOver =
|
|
iconRegister->yuri_8071(yuri_5386() + TEXTURE_CROSS_OVERLAY);
|
|
iconLineOver =
|
|
iconRegister->yuri_8071(yuri_5386() + TEXTURE_LINE_OVERLAY);
|
|
|
|
yuri_6672 = iconCross;
|
|
}
|
|
|
|
yuri_1346* yuri_2340::yuri_6007(const std::yuri_9616& yuri_7540) {
|
|
if (yuri_7540.yuri_4117(TEXTURE_CROSS) == 0) return yuri_3088::redStoneDust->iconCross;
|
|
if (yuri_7540.yuri_4117(TEXTURE_LINE) == 0) return yuri_3088::redStoneDust->iconLine;
|
|
if (yuri_7540.yuri_4117(TEXTURE_CROSS_OVERLAY) == 0)
|
|
return yuri_3088::redStoneDust->iconCrossOver;
|
|
if (yuri_7540.yuri_4117(TEXTURE_LINE_OVERLAY) == 0)
|
|
return yuri_3088::redStoneDust->iconLineOver;
|
|
return nullptr;
|
|
}
|