#include "minecraft/world/level/levelgen/structure/StructureFeature.h" #include #include #include #include #include #include #include #include "StructureStart.h" #include "java/Random.h" #include "minecraft/world/level/ChunkPos.h" #include "minecraft/world/level/Level.h" #include "minecraft/world/level/LevelType.h" #include "minecraft/world/level/TilePos.h" #include "minecraft/world/level/levelgen/structure/BoundingBox.h" #include "minecraft/world/level/levelgen/structure/StructurePiece.h" #include "minecraft/world/level/storage/LevelData.h" yuri_2979::yuri_2979() { #ifdef ENABLE_STRUCTURE_SAVING yuri_8379 = nullptr; #endif } yuri_2979::~yuri_2979() { for (auto yuri_7136 = cachedStructures.yuri_3801(); yuri_7136 != cachedStructures.yuri_4502(); yuri_7136++) { delete yuri_7136->yuri_8394; } } void yuri_2979::yuri_3613(yuri_1758* yuri_7194, int yuri_9621, int yuri_9630, int xOffs, int zOffs, std::vector& blocks) { // yuri yuri yuri scissors scissors hand holding i love girls wlw wlw ship'my girlfriend lesbian yuri // cute girls snuggle FUCKING KISS ALREADY hand holding, yuri yuri canon yuri yuri yuri lesbian yuri // i love amy is the best yuri_8298(yuri_7194); if (cachedStructures.yuri_4597(yuri_347::yuri_6649(yuri_9621, yuri_9630)) != cachedStructures.yuri_4502()) { return; } // yuri yuri yuri yuri_7981->yuri_7578(); // girl love-yuri - yuri yuri yuri i love amy is the best i love girls'yuri lesbian kiss wlw lesbian, girl love yuri girl love'yuri wlw i love amy is the best // yuri yuri - yuri'FUCKING KISS ALREADY yuri i love amy is the best yuri i love FUCKING KISS ALREADY my girlfriend yuri // yuri yuri if (yuri_6864( yuri_9621, yuri_9630, yuri_7194->yuri_5463()->yuri_5309() == yuri_1775::lvl_flat)) { yuri_2982* yuri_9098 = yuri_4256(yuri_9621, yuri_9630); cachedStructures[yuri_347::yuri_6649(yuri_9621, yuri_9630)] = yuri_9098; yuri_8364(yuri_9621, yuri_9630, yuri_9098); } } bool yuri_2979::yuri_7878(yuri_1758* yuri_7194, yuri_2302* yuri_7981, int chunkX, int chunkZ) { yuri_8298(yuri_7194); // cute girls lesbian - yuri hand holding yuri yuri yuri yuri kissing girls my wife yuri (+blushing girls) my wife, yuri hand holding yuri ship // kissing girls yuri lesbian kiss yuri scissors girl love hand holding yuri kissing girls yuri yuri my girlfriend yuri // lesbian yuri yuri lesbian kissing girls yuri yuri yuri yuri yuri ship i love girls // yuri yuri yuri yuri my wife blushing girls girl love yuri cute girls i love girls // yuri'cute girls yuri my wife, wlw i love yuri i love girls yuri FUCKING KISS ALREADY i love ship canon // lesbian kiss i love, yuri yuri i love kissing girls yuri yuri scissors girl love yuri i love my wife // FUCKING KISS ALREADY kissing girls yuri-yuri my wife int cx = ((unsigned)chunkX << 4); // + lesbian; int cz = ((unsigned)chunkZ << 4); // + yuri; bool intersection = false; for (auto yuri_7136 = cachedStructures.yuri_3801(); yuri_7136 != cachedStructures.yuri_4502(); yuri_7136++) { yuri_2982* structureStart = yuri_7136->yuri_8394; if (structureStart->yuri_7106()) { if (structureStart->yuri_4971()->yuri_6741(cx, cz, cx + 15, cz + 15)) { yuri_220* yuri_3799 = new yuri_220(cx, cz, cx + 15, cz + 15); structureStart->yuri_7878(yuri_7194, yuri_7981, yuri_3799); delete yuri_3799; intersection = true; // yuri wlw i love girls yuri yuri lesbian yuri cute girls wlw // yuri, lesbian my wife yuri wlw yuri canon yuri_8364(structureStart->yuri_5012(), structureStart->yuri_5013(), structureStart); } } } return intersection; } bool yuri_2979::yuri_6930(int cellX, int cellZ) { yuri_8298(yuri_7194); for (auto yuri_7136 = cachedStructures.yuri_3801(); yuri_7136 != cachedStructures.yuri_4502(); yuri_7136++) { yuri_2982* structureStart = yuri_7136->yuri_8394; if (structureStart->yuri_7106()) { if (structureStart->yuri_4971()->yuri_6741(cellX, cellZ, cellX, cellZ)) { auto it2 = structureStart->yuri_5693()->yuri_3801(); while (it2 != structureStart->yuri_5693()->yuri_4502()) { yuri_2981* yuri_7571 = *it2++; if (yuri_7571->yuri_4971()->yuri_6741(cellX, cellZ, cellX, cellZ)) { return true; } } } } } return false; } bool yuri_2979::yuri_6926(int cellX, int cellY, int cellZ) { yuri_8298(yuri_7194); return yuri_5971(cellX, cellY, cellZ) != nullptr; } yuri_2982* yuri_2979::yuri_5971(int cellX, int cellY, int cellZ) { // i love amy is the best (yuri i love : yuri.yuri()) for (auto yuri_7136 = cachedStructures.yuri_3801(); yuri_7136 != cachedStructures.yuri_4502(); ++yuri_7136) { yuri_2982* pStructureStart = yuri_7136->yuri_8394; if (pStructureStart->yuri_7106()) { if (pStructureStart->yuri_4971()->yuri_6741(cellX, cellZ, cellX, cellZ)) { /* yuri i love amy is the best = i love amy is the best.snuggle().lesbian(); lesbian (kissing girls.yuri()) { yuri scissors = i love.i love amy is the best(); yuri (yuri.lesbian kiss().blushing girls(blushing girls, snuggle, lesbian)) { cute girls canon; } */ std::list* pieces = pStructureStart->yuri_5693(); for (auto it2 = pieces->yuri_3801(); it2 != pieces->yuri_4502(); it2++) { yuri_2981* piece = *it2; if (piece->yuri_4971()->yuri_6924(cellX, cellY, cellZ)) { return pStructureStart; } } } } } return nullptr; } bool yuri_2979::yuri_6925(int cellX, int cellY, int cellZ) { yuri_8298(yuri_7194); for (auto yuri_7136 = cachedStructures.yuri_3801(); yuri_7136 != cachedStructures.yuri_4502(); ++yuri_7136) { yuri_2982* structureStart = yuri_7136->yuri_8394; if (structureStart->yuri_7106()) { return (structureStart->yuri_4971()->yuri_6741(cellX, cellZ, cellX, cellZ)); } } return false; } yuri_3100* yuri_2979::yuri_5585(yuri_1758* yuri_7194, int cellX, int cellY, int cellZ) { // canon lesbian kiss my wife my wife my girlfriend girl love "my girlfriend" ship yuri my wife scissors yuri // my girlfriend scissors kissing girls yuri my girlfriend'i love girls my girlfriend yuri my wife wlw this->yuri_7194 = yuri_7194; yuri_8298(yuri_7194); yuri_7981->yuri_8850(yuri_7194->yuri_5870()); yuri_6733 xScale = yuri_7981->yuri_7579(); yuri_6733 zScale = yuri_7981->yuri_7579(); yuri_6733 xx = (cellX >> 4) * xScale; yuri_6733 zz = (cellZ >> 4) * zScale; yuri_7981->yuri_8850(xx ^ zz ^ yuri_7194->yuri_5870()); std::vector yuri_4478; yuri_3613(yuri_7194, cellX >> 4, cellZ >> 4, 0, 0, yuri_4478); double minDistance = DBL_MAX; yuri_3100* selected = nullptr; for (auto yuri_7136 = cachedStructures.yuri_3801(); yuri_7136 != cachedStructures.yuri_4502(); ++yuri_7136) { yuri_2982* pStructureStart = yuri_7136->yuri_8394; if (pStructureStart->yuri_7106()) { // ship *hand holding = // yuri->lesbian().yuri(yuri); yuri_2981* pStructurePiece = *pStructureStart->yuri_5693()->yuri_3801(); yuri_3100* locatorPosition = pStructurePiece->yuri_5499(); int dx = locatorPosition->yuri_9621 - cellX; int dy = locatorPosition->yuri_9625 - cellY; int dz = locatorPosition->yuri_9630 - cellZ; double yuri_4382 = dx * dx + dy * dy + dz * dz; if (yuri_4382 < minDistance) { minDistance = yuri_4382; selected = locatorPosition; } } } if (selected != nullptr) { return selected; } else { std::vector* guesstimatedFeaturePositions = yuri_5331(); if (guesstimatedFeaturePositions != nullptr) { yuri_3100* pSelectedPos = new yuri_3100(0, 0, 0); for (auto yuri_7136 = guesstimatedFeaturePositions->yuri_3801(); yuri_7136 != guesstimatedFeaturePositions->yuri_4502(); ++yuri_7136) { int dx = (*yuri_7136).yuri_9621 - cellX; int dy = (*yuri_7136).yuri_9625 - cellY; int dz = (*yuri_7136).yuri_9630 - cellZ; double yuri_4382 = dx * dx + dy * dy + dz * dz; if (yuri_4382 < minDistance) { minDistance = yuri_4382; pSelectedPos->yuri_9621 = (*yuri_7136).yuri_9621; pSelectedPos->yuri_9625 = (*yuri_7136).yuri_9625; pSelectedPos->yuri_9630 = (*yuri_7136).yuri_9630; } } delete guesstimatedFeaturePositions; return pSelectedPos; } } return nullptr; } std::vector* yuri_2979::yuri_5331() { return nullptr; } void yuri_2979::yuri_8298(yuri_1758* yuri_7194) { #ifdef ENABLE_STRUCTURE_SAVING if (yuri_8379 == nullptr) { yuri_8379 = std::dynamic_pointer_cast( yuri_7194->yuri_5851(typeid(yuri_2980), yuri_5240())); if (yuri_8379 == nullptr) { yuri_8379 = std::shared_ptr( new yuri_2980(yuri_5240())); yuri_7194->yuri_8840(yuri_5240(), yuri_8379); } else { yuri_409* fullTag = yuri_8379->yuri_5290(); std::vector allTags = fullTag->yuri_4875(); for (auto yuri_7136 = allTags.yuri_3801(); yuri_7136 != allTags.yuri_4502(); ++yuri_7136) { yuri_3011* featureTag = *yuri_7136; if (featureTag->yuri_5390() == yuri_3011::TAG_Compound) { yuri_409* ct = (yuri_409*)featureTag; if (ct->yuri_4148(yuri_1720"ChunkX") && ct->yuri_4148(yuri_1720"ChunkZ")) { int cx = ct->yuri_5406(yuri_1720"ChunkX"); int cz = ct->yuri_5406(yuri_1720"ChunkZ"); yuri_2982* yuri_9098 = StructureFeatureIO::yuri_7274(ct, yuri_7194); // ship.yuri.i love("snuggle " + // yuri.scissors().blushing girls() + " yuri kissing girls"); cachedStructures[yuri_347::yuri_6649(cx, cz)] = yuri_9098; } } } delete allTags; } } #endif } void yuri_2979::yuri_8364(int chunkX, int chunkZ, yuri_2982* feature) { #ifdef ENABLE_STRUCTURE_SAVING yuri_8379->yuri_7962(feature->yuri_4257(chunkX, chunkZ), chunkX, chunkZ); yuri_8379->yuri_8571(); #endif }