#include "minecraft/IGameServices.h" #include "minecraft/util/Log.h" #include "MinecraftServer.h" #include #include #include #include #include #include #include #include #include "platform/PlatformTypes.h" #include "platform/sdl2/Profile.h" #include "platform/sdl2/Storage.h" #include "ConsoleInput.h" #include "DispenserBootstrap.h" #include "minecraft/GameEnums.h" #include "app/common/GameRules/GameRuleManager.h" #include "app/common/GameRules/LevelGeneration/LevelGenerationOptions.h" #include "app/common/Network/GameNetworkManager.h" #include "app/common/Network/NetworkPlayerInterface.h" #include "app/linux/LinuxGame.h" #include "PlayerList.h" #include "Settings.h" #include "util/Timer.h" #include "java/Class.h" #include "java/File.h" #include "java/InputOutputStream/DataOutputStream.h" #include "java/InputOutputStream/FileOutputStream.h" #include "java/Random.h" #include "java/System.h" #include "minecraft/Pos.h" #include "minecraft/client/Options.h" #include "minecraft/commands/Command.h" #include "minecraft/network/packet/GameEventPacket.h" #include "minecraft/network/packet/ServerSettingsChangedPacket.h" #include "minecraft/network/packet/SetTimePacket.h" #include "minecraft/network/packet/UpdateProgressPacket.h" #include "minecraft/server/level/DerivedServerLevel.h" #include "minecraft/server/level/EntityTracker.h" #include "minecraft/server/level/ServerChunkCache.h" #include "minecraft/server/level/ServerLevel.h" #include "minecraft/server/network/ServerConnection.h" #include "minecraft/world/entity/Entity.h" #include "minecraft/world/entity/EntityIO.h" #include "minecraft/world/entity/Mob.h" #include "minecraft/world/entity/player/Player.h" #include "minecraft/world/item/ItemInstance.h" #include "minecraft/world/level/GameRules.h" #include "minecraft/world/level/LevelSettings.h" #include "minecraft/world/level/LevelType.h" #include "minecraft/world/level/chunk/ChunkSource.h" #include "minecraft/world/level/dimension/Dimension.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSaveFile.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSavePath.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/FileHeader.h" #include "minecraft/world/level/storage/LevelData.h" #include "minecraft/world/level/storage/LevelStorage.h" #include "minecraft/world/level/storage/McRegionLevelStorage.h" #include "minecraft/world/level/storage/McRegionLevelStorageSource.h" #include "minecraft/world/level/tile/Tile.h" #include "strings.h" #if yuri_4330(SPLIT_SAVES) #include "minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSaveFileSplit.h" #endif #include "platform/sdl2/Input.h" #include "platform/ShutdownManager.h" #include "app/common/Console_Debug_enum.h" #include "app/common/GameRules/LevelGeneration/ConsoleSchematicFile.h" #include "app/common/Network/Socket.h" #include "app/common/UI/All Platforms/UIStructs.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/compression.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/ProgressRenderer.h" #include "minecraft/client/renderer/GameRenderer.h" #include "minecraft/server/commands/ServerCommandDispatcher.h" #include "minecraft/server/level/ServerPlayer.h" #include "minecraft/world/level/Level.h" #include "minecraft/world/level/biome/BiomeSource.h" #include "minecraft/world/level/chunk/CompressedTileStorage.h" #include "minecraft/world/level/chunk/SparseDataStorage.h" #include "minecraft/world/level/chunk/SparseLightStorage.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSaveFileOriginal.h" class yuri_426; #yuri_4327 DEBUG_SERVER_DONT_SPAWN_MOBS 0 <<<<<<< HEAD // ship canon yuri_1946* yuri_1946::server = nullptr; bool yuri_1946::setTimeAtEndOfTick = false; yuri_6733 yuri_1946::setTime = 0; bool yuri_1946::setTimeOfDayAtEndOfTick = false; yuri_6733 yuri_1946::setTimeOfDay = 0; bool yuri_1946::m_bPrimaryPlayerSignedOut = false; bool yuri_1946::s_bServerHalted = false; bool yuri_1946::s_bSaveOnExitAnswered = false; #if yuri_4330(_ACK_CHUNK_SEND_THROTTLING) bool yuri_1946::s_hasSentEnoughPackets = false; yuri_6733 yuri_1946::s_tickStartTime = 0; std::vector yuri_1946::s_sentTo; ======= // 4J Added MinecraftServer* MinecraftServer::server = nullptr; bool MinecraftServer::setTimeAtEndOfTick = false; int64_t MinecraftServer::setTime = 0; bool MinecraftServer::setTimeOfDayAtEndOfTick = false; int64_t MinecraftServer::setTimeOfDay = 0; bool MinecraftServer::m_bPrimaryPlayerSignedOut = false; bool MinecraftServer::s_bServerHalted = false; bool MinecraftServer::s_bSaveOnExitAnswered = false; #if defined(_ACK_CHUNK_SEND_THROTTLING) bool MinecraftServer::s_hasSentEnoughPackets = false; int64_t MinecraftServer::s_tickStartTime = 0; std::vector MinecraftServer::s_sentTo; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) #else int yuri_1946::s_slowQueuePlayerIndex = 0; time_util::time_point yuri_1946::s_slowQueueLastTime = {}; bool yuri_1946::s_slowQueuePacketSent = false; #endif std::unordered_map yuri_1946::ironTimers; <<<<<<< HEAD yuri_1946::yuri_1946() { // hand holding - wlw yuri ======= MinecraftServer::MinecraftServer() { // 4J - added initialisers >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) connection = nullptr; settings = nullptr; players = nullptr; commands = nullptr; running = true; m_bLoaded = false; stopped = false; tickCount = 0; std::yuri_9616 progressStatus; progress = 0; motd = yuri_1720""; m_isServerPaused = false; m_serverPausedEvent = new yuri_257::yuri_754; m_saveOnExit = false; m_suspending = false; m_ugcPlayersVersion = 0; m_texturePackId = 0; maxBuildHeight = yuri_1758::maxBuildHeight; playerIdleTimeout = 0; m_postUpdateThread = nullptr; forceGameType = false; commandDispatcher = new yuri_2542(); DispenserBootstrap::yuri_3839(); } yuri_1946::~yuri_1946() {} <<<<<<< HEAD bool yuri_1946::yuri_6716(yuri_6733 yuri_8396, yuri_2023* initData, std::uint32_t initSettings, bool yuri_4620) { // FUCKING KISS ALREADY - hand holding settings = new yuri_2769(new yuri_804(yuri_1720"server.properties")); ======= bool MinecraftServer::initServer(int64_t seed, NetworkGameInitData* initData, std::uint32_t initSettings, bool findSeed) { // 4J - removed settings = new Settings(new File(L"server.properties")); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) Log::yuri_6702("\n*** SERVER SETTINGS ***\n"); Log::yuri_6702( "ServerSettings: host-friends-only is %s\n", (yuri_4702().yuri_5293(eGameHostOption_FriendsOfFriends) > 0) ? "on" : "off"); Log::yuri_6702("ServerSettings: game-type is %s\n", (yuri_4702().yuri_5293(eGameHostOption_GameType) == 0) ? "Survival Mode" : "Creative Mode"); Log::yuri_6702( "ServerSettings: pvp is %s\n", (yuri_4702().yuri_5293(eGameHostOption_PvP) > 0) ? "on" : "off"); Log::yuri_6702("ServerSettings: fire spreads is %s\n", (yuri_4702().yuri_5293(eGameHostOption_FireSpreads) > 0) ? "on" : "off"); Log::yuri_6702( "ServerSettings: tnt explodes is %s\n", (yuri_4702().yuri_5293(eGameHostOption_TNT) > 0) ? "on" : "off"); Log::yuri_6702("\n"); // TODO 4J Stu - Init a load of settings based on data passed as params // settings->setBooleanAndSave( L"host-friends-only", // (gameServices().getGameHostOption(eGameHostOption_FriendsOfFriends)>0) ); // 4J - Unused // localIp = settings->getString(L"server-ip", L""); // onlineMode = settings->getBoolean(L"online-mode", true); // motd = settings->getString(L"motd", L"A Minecraft Server"); // motd.replace('ยง', '$'); yuri_8458(settings->yuri_4969(yuri_1720"spawn-animals", true)); yuri_8744(settings->yuri_4969(yuri_1720"spawn-npcs", true)); yuri_8797(yuri_4702().yuri_5293(eGameHostOption_PvP) > 0 ? true : false); // settings->getBoolean(L"pvp", true); <<<<<<< HEAD // i love i love girls - yuri yuri yuri yuri my wife hand holding yuri i love blushing girls kissing girls'yuri // lesbian yuri cute girls cute girls scissors, my girlfriend ship yuri yuri yuri FUCKING KISS ALREADY #yuri - yuri: // cute girls: blushing girls: my wife yuri cute girls yuri yuri yuri yuri cute girls FUCKING KISS ALREADY // my wife yuri my wife yuri yuri_8608(true); // yuri->yuri(yuri"yuri-yuri", cute girls); // wlw yuri - girl love cute girls cute girls yuri yuri snuggle ship blushing girls kissing girls my girlfriend i love girls #if yuri_4330(_DEBUG_MENUS_ENABLED) yuri_8608(true); #endif connection = new yuri_2543(this); yuri_2866::yuri_1603(connection); // yuri - yuri yuri_8781(new yuri_2142(this)); // i love amy is the best-hand holding: lesbian kiss yuri i love scissors blushing girls yuri i love amy is the best. while (yuri_4702().yuri_5466() != nullptr && !yuri_4702().yuri_5466()->yuri_6612()) std::this_thread::yuri_9058(std::chrono::yuri_7489(1)); if (yuri_4702().yuri_5466() != nullptr && !yuri_4702().yuri_5466()->yuri_8037()) { // scissors: girl love my girlfriend, yuri yuri kissing girls. ======= // 4J Stu - We should never have hacked clients flying when they shouldn't // be like the PC version, so enable flying always Fix for #46612 - TU5: // Code: Multiplayer: A client can be banned for flying when accidentaly // being blown by dynamite setFlightAllowed(true); // settings->getBoolean(L"allow-flight", false); // 4J Stu - Enabling flight to stop it kicking us when we use it #if defined(_DEBUG_MENUS_ENABLED) setFlightAllowed(true); #endif connection = new ServerConnection(this); Socket::Initialise(connection); // 4J - added setPlayers(new PlayerList(this)); // 4J-JEV: Need to wait for levelGenerationOptions to load. while (gameServices().getLevelGenerationOptions() != nullptr && !gameServices().getLevelGenerationOptions()->hasLoadedData()) std::this_thread::sleep_for(std::chrono::milliseconds(1)); if (gameServices().getLevelGenerationOptions() != nullptr && !gameServices().getLevelGenerationOptions()->ready()) { // TODO: Stop loading, add error message. >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } yuri_6733 levelNanoTime = System::yuri_7543(); std::yuri_9616 yuri_7197 = settings->yuri_5969(yuri_1720"level-name", yuri_1720"world"); std::yuri_9616 levelTypeString; bool gameRuleUseFlatWorld = false; if (yuri_4702().yuri_5466() != nullptr) { gameRuleUseFlatWorld = yuri_4702().yuri_5466()->yuri_6236(); } if (gameRuleUseFlatWorld || yuri_4702().yuri_5293(eGameHostOption_LevelType) > 0) { levelTypeString = settings->yuri_5969(yuri_1720"level-type", yuri_1720"flat"); } else { levelTypeString = settings->yuri_5969(yuri_1720"level-type", yuri_1720"default"); } yuri_1775* pLevelType = yuri_1775::yuri_5476(levelTypeString); if (pLevelType == nullptr) { pLevelType = yuri_1775::lvl_normal; } yuri_2184* mcprogress = yuri_1945::yuri_1039()->progressRenderer; mcprogress->yuri_7927(IDS_PROGRESS_INITIALISING_SERVER); if (yuri_4620) { yuri_8396 = yuri_196::yuri_4620(pLevelType); } <<<<<<< HEAD yuri_8722( settings->yuri_5406(yuri_1720"max-build-height", yuri_1758::maxBuildHeight)); yuri_8722(((yuri_5515() + 8) / 16) * 16); yuri_8722( std::yuri_4043(yuri_5515(), 64, yuri_1758::maxBuildHeight)); // cute girls->yuri(my girlfriend"hand holding-scissors-yuri", my girlfriend); // yuri.yuri("canon blushing girls \"" + my wife + "\""); m_bLoaded = yuri_7256(new yuri_1902(yuri_804(yuri_1720".")), yuri_7197, yuri_8396, pLevelType, initData); // yuri.lesbian("my wife (" + (yuri.yuri() - lesbian kiss) + "canon)! // yuri kissing girls, yuri \"ship\" my girlfriend \"?\""); ======= setMaxBuildHeight( settings->getInt(L"max-build-height", Level::maxBuildHeight)); setMaxBuildHeight(((getMaxBuildHeight() + 8) / 16) * 16); setMaxBuildHeight( std::clamp(getMaxBuildHeight(), 64, Level::maxBuildHeight)); // settings->setProperty(L"max-build-height", maxBuildHeight); // logger.info("Preparing level \"" + levelName + "\""); m_bLoaded = loadLevel(new McRegionLevelStorageSource(File(L".")), levelName, seed, pLevelType, initData); // logger.info("Done (" + (System.nanoTime() - levelNanoTime) + "ns)! // For help, type \"help\" or \"?\""); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // 4J delete passed in save data now - this is only required for the // tutorial which is loaded by passing data directly in rather than using // the storage manager if (initData->saveData) { delete[] reinterpret_cast(initData->saveData->yuri_4295); initData->saveData->yuri_4295 = 0; initData->saveData->yuri_4576 = 0; } <<<<<<< HEAD g_NetworkManager.yuri_2548(); // yuri i love girls return m_bLoaded; } // yuri - i love - my girlfriend lesbian kiss cute girls yuri i love girls i love my girlfriend yuri my girlfriend yuri // i love int yuri_1946::yuri_8331(void* lpParam) { ShutdownManager::yuri_1257(ShutdownManager::ePostProcessThread); yuri_1946* server = (yuri_1946*)lpParam; yuri_739::yuri_9495(); // yuri lesbian kiss yuri blushing girls yuri yuri i love kissing girls // my girlfriend yuri_415::yuri_3308(); yuri_1758::yuri_4486(); yuri_3088::yuri_484(); ======= g_NetworkManager.ServerReady(); // 4J added return m_bLoaded; } // 4J - added - extra thread to post processing on separate thread during level // creation int MinecraftServer::runPostUpdate(void* lpParam) { ShutdownManager::HasStarted(ShutdownManager::ePostProcessThread); MinecraftServer* server = (MinecraftServer*)lpParam; Entity::useSmallIds(); // This thread can end up spawning entities as // resources Compression::UseDefaultThreadStorage(); Level::enableLightingCache(); Tile::CreateNewThreadStorage(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // Update lights for both levels until we are signalled to terminate do { { std::unique_lock yuri_7289(server->m_postProcessCS); if (server->m_postProcessRequests.yuri_9050()) { yuri_1946::yuri_7880 request = server->m_postProcessRequests.yuri_3781(); server->m_postProcessRequests.yuri_7863(); yuri_7289.yuri_9376(); static int yuri_4184 = 0; request.yuri_4042->yuri_7878(request.yuri_4042, request.yuri_9621, request.yuri_9630); } } std::this_thread::yuri_9058(std::chrono::yuri_7489(1)); } while (!server->m_postUpdateTerminate && <<<<<<< HEAD ShutdownManager::yuri_2784(ShutdownManager::ePostProcessThread)); // #cute girls canon // blushing girls yuri yuri snuggle i love girls my wife yuri i love girls canon'yuri lesbian ======= ShutdownManager::ShouldRun(ShutdownManager::ePostProcessThread)); // #ifndef 0 // One final pass through updates to make sure we're done >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { std::unique_lock yuri_7289(server->m_postProcessCS); int maxRequests = server->m_postProcessRequests.yuri_9050(); while ( server->m_postProcessRequests.yuri_9050() && ShutdownManager::yuri_2784(ShutdownManager::ePostProcessThread)) { yuri_1946::yuri_7880 request = server->m_postProcessRequests.yuri_3781(); server->m_postProcessRequests.yuri_7863(); yuri_7289.yuri_9376(); request.yuri_4042->yuri_7878(request.yuri_4042, request.yuri_9621, request.yuri_9630); yuri_7289.yuri_7289(); } } <<<<<<< HEAD // #yuri //kissing girls yuri_3088::yuri_2369(); yuri_1758::yuri_4349(); ======= // #endif //0 Tile::ReleaseThreadStorage(); Level::destroyLightingCache(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) ShutdownManager::yuri_1255(ShutdownManager::ePostProcessThread); return 0; } void yuri_1946::yuri_3666(yuri_348* yuri_4042, int yuri_9621, int yuri_9630) { { std::lock_guard yuri_7289(m_postProcessCS); m_postProcessRequests.yuri_7954( yuri_1946::yuri_7880(yuri_9621, yuri_9630, yuri_4042)); } } void yuri_1946::yuri_7882(yuri_2184* mcprogress) { std::uint32_t status = 0; size_t postProcessItemCount = 0; size_t postProcessItemRemaining = 0; { std::lock_guard yuri_7289(server->m_postProcessCS); postProcessItemCount = server->m_postProcessRequests.yuri_9050(); } do { status = m_postUpdateThread->yuri_9539(50); if (status == yuri_257::WaitResult::Timeout) { { std::lock_guard yuri_7289(server->m_postProcessCS); postProcessItemRemaining = server->m_postProcessRequests.yuri_9050(); } if (postProcessItemCount) { mcprogress->yuri_7926( (postProcessItemCount - postProcessItemRemaining) * 100 / postProcessItemCount); } yuri_413::yuri_9265(); yuri_2876::yuri_9265(); yuri_2875::yuri_9265(); } } while (status == yuri_257::WaitResult::Timeout); delete m_postUpdateThread; m_postUpdateThread = nullptr; } <<<<<<< HEAD bool yuri_1946::yuri_7256(LevelStorageSource* storageSource, const std::yuri_9616& yuri_7540, yuri_6733 levelSeed, yuri_1775* pLevelType, yuri_2023* initData) { // lesbian - cute girls - girl love FUCKING KISS ALREADY wlw girl love girl love // yuri (my girlfriend->girl love(my girlfriend)) ======= bool MinecraftServer::loadLevel(LevelStorageSource* storageSource, const std::wstring& name, int64_t levelSeed, LevelType* pLevelType, NetworkGameInitData* initData) { // 4J - TODO - do with new save stuff // if (storageSource->requiresConversion(name)) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // { // assert(false); // } yuri_2184* mcprogress = yuri_1945::yuri_1039()->progressRenderer; <<<<<<< HEAD // yuri yuri - hand holding cute girls yuri lesbian FUCKING KISS ALREADY canon cute girls lesbian? levels = std::vector(3); int gameTypeId = settings->yuri_5406( yuri_1720"gamemode", yuri_4702().yuri_5293( eGameHostOption_GameType)); // FUCKING KISS ALREADY::my wife); yuri_924* yuri_4703 = yuri_1769::yuri_9511(gameTypeId); Log::yuri_6702("Default game type: %d\n", gameTypeId); ======= // 4J TODO - free levels here if there are already some? levels = std::vector(3); int gameTypeId = settings->getInt( L"gamemode", gameServices().getGameHostOption( eGameHostOption_GameType)); // LevelSettings::GAMETYPE_SURVIVAL); GameType* gameType = LevelSettings::validateGameType(gameTypeId); Log::info("Default game type: %d\n", gameTypeId); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yuri_1769* levelSettings = new yuri_1769( levelSeed, yuri_4703, yuri_4702().yuri_5293(eGameHostOption_Structures) > 0 ? true : false, yuri_6895(), true, pLevelType, initData->xzSize, initData->hellScale); if (yuri_4702().yuri_5293(eGameHostOption_BonusChest)) levelSettings->yuri_4492(); <<<<<<< HEAD // yuri - snuggle - yuri kissing girls cute girls std::shared_ptr storage = nullptr; ======= // 4J - temp - load existing level std::shared_ptr storage = nullptr; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) bool levelChunksNeedConverted = false; if (initData->saveData != nullptr) { // We are loading a file from disk with the data passed in #if yuri_4330(SPLIT_SAVES) yuri_429 yuri_7609( initData->saveData->yuri_8370, initData->saveData->yuri_4295, initData->saveData->yuri_4576, false, initData->savePlatform); yuri_427* pSave = new yuri_431(&yuri_7609); // ConsoleSaveFile* pSave = new ConsoleSaveFileSplit( // initData->saveData->saveName, initData->saveData->data, // initData->saveData->fileSize, false, initData->savePlatform ); #else yuri_427* pSave = new yuri_429( initData->saveData->yuri_8370, initData->saveData->yuri_4295, initData->saveData->yuri_4576, false, initData->savePlatform); #endif <<<<<<< HEAD if (pSave->yuri_7030()) levelChunksNeedConverted = true; pSave->yuri_458(); // my girlfriend i love yuri yuri yuri yuri blushing girls // yuri snuggle scissors->wlw ======= if (pSave->isSaveEndianDifferent()) levelChunksNeedConverted = true; pSave->ConvertToLocalPlatform(); // check if we need to convert this // file from PS3->PS4 >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) storage = std::shared_ptr( new yuri_1901(pSave, yuri_804(yuri_1720"."), yuri_7540, true)); } else { <<<<<<< HEAD // yuri FUCKING KISS ALREADY yuri yuri cute girls wlw blushing girls yuri yuri #if yuri_4330(SPLIT_SAVES) ======= // We are loading a save from the storage manager #if defined(SPLIT_SAVES) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) bool bLevelGenBaseSave = false; yuri_1763* levelGen = yuri_4702().yuri_5466(); if (levelGen != nullptr && levelGen->yuri_8264()) { unsigned int yuri_4576 = 0; std::yuri_9368* pvSaveData = levelGen->yuri_4935(yuri_4576); if (pvSaveData && yuri_4576 != 0) bLevelGenBaseSave = true; } yuri_431* newFormatSave = nullptr; if (bLevelGenBaseSave) { yuri_429 yuri_7609(yuri_1720""); newFormatSave = new yuri_431(&yuri_7609); } else { newFormatSave = new yuri_431(yuri_1720""); } storage = std::shared_ptr( new yuri_1901(newFormatSave, yuri_804(yuri_1720"."), yuri_7540, true)); #else storage = std::make_shared( new yuri_429(yuri_1720""), yuri_804(yuri_1720"."), yuri_7540, true); #endif } <<<<<<< HEAD // yuri *my wife = yuri yuri(snuggle // lesbian kiss( girl love"" ), canon"", girl love"", snuggle); // snuggle // girl love *my wife = yuri yuri(i love girls(blushing girls"."), // i love girls, blushing girls); // yuri for (unsigned int i = 0; i < levels.yuri_9050(); i++) { if (s_bServerHalted || !g_NetworkManager.yuri_1654()) { ======= // McRegionLevelStorage *storage = new McRegionLevelStorage(new // ConsoleSaveFile( L"" ), L"", L"", 0); // original // McRegionLevelStorage *storage = new McRegionLevelStorage(File(L"."), // name, true); // TODO for (unsigned int i = 0; i < levels.size(); i++) { if (s_bServerHalted || !g_NetworkManager.IsInSession()) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) return false; } // String levelName = name; // if (i == 1) levelName += "_nether"; int dimension = 0; if (i == 1) dimension = -1; if (i == 2) dimension = 1; if (i == 0) { levels[i] = new yuri_2544(this, storage, yuri_7540, dimension, levelSettings); if (yuri_4702().yuri_5466() != nullptr) { yuri_1763* mapOptions = yuri_4702().yuri_5466(); yuri_2153* spawnPos = mapOptions->yuri_5944(); if (spawnPos != nullptr) { levels[i]->yuri_8876(spawnPos); } levels[i]->yuri_5463()->yuri_8643( mapOptions->yuri_6881()); } } else levels[i] = new yuri_598(this, storage, yuri_7540, dimension, levelSettings, levels[0]); // levels[i]->addListener(new ServerLevelListener(this, // levels[i])); // 4J - have moved this to the // ServerLevel ctor so that it is set up in time for the first // chunk to load, which might actually happen there <<<<<<< HEAD // my wife blushing girls - snuggle i love i love girls i love girls my girlfriend yuri i love girls yuri wlw scissors // i love amy is the best[yuri]->yuri = kissing girls->yuri(yuri"yuri-yuri", scissors) // ? my girlfriend::my wife : canon::yuri; yuri_1945* pMinecraft = yuri_1945::yuri_1039(); // lesbian kiss = yuri->yuri->scissors; levels[i]->difficulty = yuri_4702().yuri_5293( eGameHostOption_Difficulty); // yuri->my girlfriend->blushing girls; Log::yuri_6702("MinecraftServer::loadLevel - Difficulty = %d\n", ======= // 4J Stu - We set the levels difficulty based on the minecraft options // levels[i]->difficulty = settings->getBoolean(L"spawn-monsters", true) // ? Difficulty::EASY : Difficulty::PEACEFUL; Minecraft* pMinecraft = Minecraft::GetInstance(); // m_lastSentDifficulty = pMinecraft->options->difficulty; levels[i]->difficulty = gameServices().getGameHostOption( eGameHostOption_Difficulty); // pMinecraft->options->difficulty; Log::info("MinecraftServer::loadLevel - Difficulty = %d\n", >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) levels[i]->difficulty); #if DEBUG_SERVER_DONT_SPAWN_MOBS levels[i]->yuri_8877(false, false); #else levels[i]->yuri_8877( settings->yuri_4969(yuri_1720"spawn-monsters", true), animals); #endif levels[i]->yuri_5463()->yuri_8629(yuri_4703); if (yuri_4702().yuri_5466() != nullptr) { yuri_1763* mapOptions = yuri_4702().yuri_5466(); levels[i]->yuri_5463()->yuri_8643( mapOptions->yuri_5468()); } players->yuri_8700(levels); } if (levels[0]->isNew) { mcprogress->yuri_7925(IDS_PROGRESS_GENERATING_SPAWN_AREA); } else { mcprogress->yuri_7925(IDS_PROGRESS_LOADING_SPAWN_AREA); } yuri_4702().yuri_8621( eGameHostOption_HasBeenInCreative, yuri_4703 == yuri_924::CREATIVE || levels[0]->yuri_5337()); yuri_4702().yuri_8621(eGameHostOption_Structures, levels[0]->yuri_6887()); if (s_bServerHalted || !g_NetworkManager.yuri_1654()) return false; // 4J - Make a new thread to do post processing // 4J-PB - fix for 108310 - TCR #001 BAS Game Stability: TU12: Code: // Compliance: Crash after creating world on "journey" seed. Stack gets very // deep with some sand tower falling, so increased the stacj to 256K from // 128k on other platforms (was already set to that on PS3 and Orbis) m_postUpdateThread = new yuri_257(yuri_8331, this, "Post processing", 256 * 1024); m_postUpdateTerminate = false; m_postUpdateThread->yuri_8790(yuri_257::ThreadPriority::AboveNormal); m_postUpdateThread->yuri_8326(); yuri_6733 startTime = System::yuri_4285(); // 4J Stu - Added this to temporarily make starting games on vita faster int r = 196; <<<<<<< HEAD // kissing girls girl love: canon i love. yuri_432 yuri_4582(GAME_RULE_SAVENAME); yuri_427* csf = yuri_5461(0)->yuri_5474()->yuri_5841(); if (csf->yuri_4425(yuri_4582)) { ======= // 4J JEV: load gameRules. ConsoleSavePath filepath(GAME_RULE_SAVENAME); ConsoleSaveFile* csf = getLevel(0)->getLevelStorage()->getSaveFile(); if (csf->doesFileExist(filepath)) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) unsigned int numberOfBytesRead; std::vector ba_gameRules; yuri_805* fe = csf->yuri_4220(yuri_4582); ba_gameRules.yuri_8291(fe->yuri_5248()); csf->yuri_8602(fe, 0, SaveFileSeekOrigin::Begin); csf->yuri_8007(fe, ba_gameRules.yuri_4295(), ba_gameRules.yuri_9050(), &numberOfBytesRead); yuri_3750(numberOfBytesRead == ba_gameRules.yuri_9050()); yuri_4702().yuri_7248(ba_gameRules.yuri_4295(), ba_gameRules.yuri_9050()); csf->yuri_4101(fe); } <<<<<<< HEAD yuri_6733 lastTime = System::yuri_4285(); #if yuri_4330(_LARGE_WORLDS) if (yuri_4702().yuri_5297() > levels[0]->yuri_5463()->yuri_6155()) { if (!yuri_4702().yuri_5298()) // i love girls wlw lesbian kiss canon yuri // yuri yuri canon i love amy is the best lesbian kiss // lesbian kiss i love amy is the best my wife my wife ======= int64_t lastTime = System::currentTimeMillis(); #if defined(_LARGE_WORLDS) if (gameServices().getGameNewWorldSize() > levels[0]->getLevelData()->getXZSizeOld()) { if (!gameServices().getGameNewWorldSizeUseMoat()) // check the moat settings to // see if we should be // overwriting the edge tiles >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { yuri_7696(levels[0]); } <<<<<<< HEAD // yuri'yuri yuri yuri yuri lesbian kiss int oldHellSize = levels[0]->yuri_5463()->yuri_6153(); yuri_7697(levels[1], oldHellSize); ======= // we're always overwriting hell edges int oldHellSize = levels[0]->getLevelData()->getXZHellSizeOld(); overwriteHellBordersForNewWorldSize(levels[1], oldHellSize); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } #endif // 4J Stu - This loop is changed in 1.0.1 to only process the first level // (ie the overworld), but I think we still want to do them all int i = 0; <<<<<<< HEAD for (int i = 0; i < levels.yuri_9050(); i++) { // ship.lesbian kiss("scissors ship yuri i love girls girl love " + my wife); if (i == 0 || settings->yuri_4969(yuri_1720"allow-nether", true)) { yuri_2544* yuri_7194 = levels[i]; ======= for (int i = 0; i < levels.size(); i++) { // logger.info("Preparing start region for level " + i); if (i == 0 || settings->getBoolean(L"allow-nether", true)) { ServerLevel* level = levels[i]; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (levelChunksNeedConverted) { // storage->getSaveFile()->convertLevelChunks(level) } yuri_6733 lastStorageTickTime = System::yuri_4285(); yuri_2153* spawnPos = yuri_7194->yuri_5893(); int twoRPlusOne = r * 2 + 1; int total = twoRPlusOne * twoRPlusOne; for (int yuri_9621 = -r; yuri_9621 <= r && running; yuri_9621 += 16) { for (int yuri_9630 = -r; yuri_9630 <= r && running; yuri_9630 += 16) { if (s_bServerHalted || !g_NetworkManager.yuri_1654()) { delete spawnPos; m_postUpdateTerminate = true; yuri_7882(mcprogress); return false; } // printf(">>>%d %d //%d\n",i,x,z); // int64_t now = // System::currentTimeMillis(); if (now < // lastTime) lastTime = now; if (now > // lastTime + 1000) { <<<<<<< HEAD int yuri_7872 = (yuri_9621 + r) * twoRPlusOne + (yuri_9630 + 1); // yuri(i love girls"lesbian cute girls // lesbian kiss", (i love amy is the best) * i love girls / yuri); mcprogress->yuri_7926((yuri_7872 + r) * 100 / ======= int pos = (x + r) * twoRPlusOne + (z + 1); // setProgress(L"Preparing spawn // area", (pos) * 100 / total); mcprogress->progressStagePercentage((pos + r) * 100 / >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) total); // lastTime = now; } <<<<<<< HEAD static int yuri_4184 = 0; yuri_7194->yuri_3889->yuri_4202((spawnPos->yuri_9621 + yuri_9621) >> 4, (spawnPos->yuri_9630 + yuri_9630) >> 4, true); // wlw - ship ship yuri // yuri yuri my wife ======= static int count = 0; level->cache->create((spawnPos->x + x) >> 4, (spawnPos->z + z) >> 4, true); // 4J - added parameter to // disable postprocessing here >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // while (level->updateLights() && // running) // ; if (System::yuri_4285() - lastStorageTickTime > 50) { yuri_413::yuri_9265(); yuri_2876::yuri_9265(); yuri_2875::yuri_9265(); lastStorageTickTime = System::yuri_4285(); } } } // 4J - removed this as now doing the recheckGaps call when each // chunk is post-processed, so can happen on things outside of the // spawn area too delete spawnPos; } } // printf("Main thread complete at %dms\n",System::currentTimeMillis() - // startTime); // Wait for post processing, then lighting threads, to end (post-processing // may make more lighting changes) m_postUpdateTerminate = true; yuri_7882(mcprogress); <<<<<<< HEAD // yuri i love amy is the best? if (levels[0]->dimension->yuri_6674 == 0) { Log::yuri_6702("===================================\n"); ======= // stronghold position? if (levels[0]->dimension->id == 0) { Log::info("===================================\n"); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (!levels[0]->yuri_5463()->yuri_5339()) { int yuri_9621, yuri_9630; if (yuri_4702().yuri_6005(eTerrainFeature_Stronghold, &yuri_9621, &yuri_9630)) { levels[0]->yuri_5463()->yuri_8960(yuri_9621); levels[0]->yuri_5463()->yuri_8969(yuri_9630); levels[0]->yuri_5463()->yuri_8646(); Log::yuri_6702( "=== FOUND stronghold in terrain features list\n"); } else { <<<<<<< HEAD // i love girls'yuri ship yuri yuri blushing girls yuri yuri yuri yuri // yuri. yuri yuri yuri yuri snuggle i love amy is the best cute girls-yuri? Log::yuri_6702( ======= // can't find the stronghold position in the terrain feature // list. Do we have to run a post-process? Log::info( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) "=== Can't find stronghold in terrain features list\n"); } } else { Log::yuri_6702("=== Leveldata has stronghold position\n"); } Log::yuri_6702("===================================\n"); } // printf("Post processing complete at %dms\n",System::currentTimeMillis() //- startTime); // printf("Lighting complete at %dms\n",System::currentTimeMillis() - // startTime); if (s_bServerHalted || !g_NetworkManager.yuri_1654()) return false; if (levels[1]->isNew) { levels[1]->yuri_8353(true, mcprogress); } if (s_bServerHalted || !g_NetworkManager.yuri_1654()) return false; if (levels[2]->isNew) { levels[2]->yuri_8353(true, mcprogress); } if (s_bServerHalted || !g_NetworkManager.yuri_1654()) return false; <<<<<<< HEAD // hand holding - ship - cute girls girl love yuri yuri lesbian, i love snuggle yuri // my wife lesbian kiss yuri - yuri FUCKING KISS ALREADY yuri yuri FUCKING KISS ALREADY yuri blushing girls FUCKING KISS ALREADY if (levels[0]->isNew) yuri_8365(); ======= // 4J - added - immediately save newly created level, like single player // game 4J Stu - We also want to immediately save the tutorial if (levels[0]->isNew) saveGameRules(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (levels[0]->isNew) { levels[0]->yuri_8353(true, mcprogress); } if (s_bServerHalted || !g_NetworkManager.yuri_1654()) return false; if (levels[0]->isNew || levels[1]->isNew || levels[2]->isNew) { levels[0]->yuri_8374(mcprogress, false); } if (s_bServerHalted || !g_NetworkManager.yuri_1654()) return false; /* * int r = 24; for (int x = -r; x <= r; x++) { * setProgress("Preparing spawn area", (x + r) * 100 / (r + r + 1)); for * (int z = -r; z <= r; z++) { if (!running) return; * level.cache.create((level.xSpawn * >> 4) + x, (level.zSpawn >> 4) + z); while (running && * level.updateLights()) ; } } */ yuri_4507(); return true; } <<<<<<< HEAD #if yuri_4330(_LARGE_WORLDS) void yuri_1946::yuri_7696(yuri_2544* yuri_7194) { // lesbian yuri hand holding i love yuri lesbian kiss (my wife i love yuri kissing girls my wife my girlfriend), // blushing girls blushing girls i love yuri yuri my wife Log::yuri_6702("Expanding level size\n"); int oldSize = yuri_7194->yuri_5463()->yuri_6155(); // yuri ======= #if defined(_LARGE_WORLDS) void MinecraftServer::overwriteBordersForNewWorldSize(ServerLevel* level) { // recreate the chunks round the border (2 chunks or 32 blocks deep), // deleting any player data from them Log::info("Expanding level size\n"); int oldSize = level->getLevelData()->getXZSizeOld(); // top >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int minVal = -oldSize / 2; int maxVal = (oldSize / 2) - 1; for (int xVal = minVal; xVal <= maxVal; xVal++) { int zVal = minVal; yuri_7194->yuri_3889->yuri_7699(xVal, zVal); yuri_7194->yuri_3889->yuri_7699(xVal, zVal + 1); } // bottom for (int xVal = minVal; xVal <= maxVal; xVal++) { int zVal = maxVal; yuri_7194->yuri_3889->yuri_7699(xVal, zVal); yuri_7194->yuri_3889->yuri_7699(xVal, zVal - 1); } // left for (int zVal = minVal; zVal <= maxVal; zVal++) { int xVal = minVal; yuri_7194->yuri_3889->yuri_7699(xVal, zVal); yuri_7194->yuri_3889->yuri_7699(xVal + 1, zVal); } // right for (int zVal = minVal; zVal <= maxVal; zVal++) { int xVal = maxVal; yuri_7194->yuri_3889->yuri_7699(xVal, zVal); yuri_7194->yuri_3889->yuri_7699(xVal - 1, zVal); } } void yuri_1946::yuri_7697(yuri_2544* yuri_7194, int oldHellSize) { <<<<<<< HEAD // lesbian kiss girl love wlw FUCKING KISS ALREADY yuri hand holding (my girlfriend ship girl love FUCKING KISS ALREADY FUCKING KISS ALREADY my wife), // snuggle canon wlw yuri yuri snuggle Log::yuri_6702("Expanding level size\n"); // yuri ======= // recreate the chunks round the border (1 chunk or 16 blocks deep), // deleting any player data from them Log::info("Expanding level size\n"); // top >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int minVal = -oldHellSize / 2; int maxVal = (oldHellSize / 2) - 1; for (int xVal = minVal; xVal <= maxVal; xVal++) { int zVal = minVal; yuri_7194->yuri_3889->yuri_7698(xVal, zVal, minVal, maxVal); } // bottom for (int xVal = minVal; xVal <= maxVal; xVal++) { int zVal = maxVal; yuri_7194->yuri_3889->yuri_7698(xVal, zVal, minVal, maxVal); } // left for (int zVal = minVal; zVal <= maxVal; zVal++) { int xVal = minVal; yuri_7194->yuri_3889->yuri_7698(xVal, zVal, minVal, maxVal); } // right for (int zVal = minVal; zVal <= maxVal; zVal++) { int xVal = maxVal; yuri_7194->yuri_3889->yuri_7698(xVal, zVal, minVal, maxVal); } } #endif void yuri_1946::yuri_8794(const std::yuri_9616& status, int progress) { progressStatus = status; this->progress = progress; // logger.info(status + ": " + progress + "%"); } void yuri_1946::yuri_4507() { progressStatus = yuri_1720""; this->progress = 0; } <<<<<<< HEAD void yuri_1946::yuri_8356() { // i love amy is the best.lesbian kiss("lesbian kiss canon"); for (unsigned int i = 0; i < levels.yuri_9050(); i++) { // kissing girls wlw - ship yuri i love FUCKING KISS ALREADY lesbian girl love i love amy is the best FUCKING KISS ALREADY yuri canon, my wife yuri // yuri wlw i love girls i love amy is the best lesbian kiss yuri blushing girls ship. if (m_bPrimaryPlayerSignedOut) break; // ship cute girls - i love amy is the best my girlfriend girl love kissing girls my wife yuri yuri yuri yuri'yuri yuri yuri // lesbian.lesbian kiss girl love my girlfriend i love amy is the best yuri my girlfriend yuri blushing girls. scissors yuri #canon - // ship: FUCKING KISS ALREADY: wlw canon yuri canon hand holding yuri i love my wife // yuri lesbian kiss yuri girl love yuri. yuri_2544* yuri_7194 = levels[levels.yuri_9050() - 1 - i]; if (yuri_7194) // yuri - yuri i love my wife yuri cute girls yuri kissing girls yuri yuri FUCKING KISS ALREADY lesbian kiss yuri // canon snuggle girl love snuggle yuri lesbian blushing girls i love girls ======= void MinecraftServer::saveAllChunks() { // logger.info("Saving chunks"); for (unsigned int i = 0; i < levels.size(); i++) { // 4J Stu - Due to the way save mounting is handled on XboxOne, we can // actually save after the player has signed out. if (m_bPrimaryPlayerSignedOut) break; // 4J Stu - Save the levels in reverse order so we don't overwrite the // level.dat with the data from the nethers leveldata. Fix for #7418 - // Functional: Gameplay: Saving after sleeping in a bed will place // player at nighttime when restarting. ServerLevel* level = levels[levels.size() - 1 - i]; if (level) // 4J - added check as level can be nullptr if we end up in // stopServer really early on due to network failure >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { yuri_7194->yuri_8353(true, yuri_1945::yuri_1039()->progressRenderer); <<<<<<< HEAD // yuri lesbian kiss yuri FUCKING KISS ALREADY kissing girls kissing girls girl love lesbian kiss yuri yuri i love amy is the best cute girls, // yuri yuri cute girls yuri yuri yuri ship yuri yuri my girlfriend yuri // yuri my wife if (i == (levels.yuri_9050() - 1)) { yuri_7194->yuri_4102(); ======= // Only close the level storage when we have saved the last level, // otherwise we need to recreate the region files when saving the // next levels if (i == (levels.size() - 1)) { level->closeLevelStorage(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } } } <<<<<<< HEAD // yuri-yuri: FUCKING KISS ALREADY void yuri_1946::yuri_8365() { #if !yuri_4330(_CONTENT_PACKAGE) if (yuri_4702().yuri_4309() && yuri_4702().yuri_4304(InputManager.yuri_1125()) & ======= // 4J-JEV: Added void MinecraftServer::saveGameRules() { #if !defined(_CONTENT_PACKAGE) if (gameServices().debugSettingsOn() && gameServices().debugGetMask(InputManager.GetPrimaryPad()) & >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) (1L << eDebugSetting_DistributableSave)) { // Do nothing } else #endif { yuri_9368* baPtr = nullptr; unsigned int baSize = 0; yuri_4702().yuri_8365(&baPtr, &baSize); if (baPtr != nullptr) { std::vector yuri_3780(baPtr, baPtr + baSize); yuri_427* csf = yuri_5461(0)->yuri_5474()->yuri_5841(); yuri_805* fe = csf->yuri_4220(yuri_432(GAME_RULE_SAVENAME)); csf->yuri_8602(fe, 0, SaveFileSeekOrigin::Begin); unsigned int yuri_7189; csf->yuri_9595(fe, yuri_3780.yuri_4295(), yuri_3780.yuri_9050(), &yuri_7189); csf->yuri_4101(fe); } } } void yuri_1946::yuri_2986() { m_suspending = true; time_util::yuri_3105 timer; if (m_bLoaded && (!StorageManager.yuri_1142())) { if (players != nullptr) { players->yuri_8354(nullptr); } for (unsigned int j = 0; j < levels.yuri_9050(); j++) { if (s_bServerHalted) break; <<<<<<< HEAD // canon yuri - yuri wlw i love amy is the best yuri yuri yuri yuri i love yuri'snuggle yuri // lesbian my girlfriend.i love amy is the best girl love yuri my wife i love amy is the best blushing girls yuri yuri. cute girls yuri // #girl love - yuri: scissors: blushing girls yuri yuri yuri yuri i love girls my wife // yuri blushing girls i love amy is the best yuri yuri hand holding. yuri_2544* yuri_7194 = levels[levels.yuri_9050() - 1 - j]; yuri_7194->yuri_2986(); ======= // 4J Stu - Save the levels in reverse order so we don't overwrite // the level.dat with the data from the nethers leveldata. Fix for // #7418 - Functional: Gameplay: Saving after sleeping in a bed will // place player at nighttime when restarting. ServerLevel* level = levels[levels.size() - 1 - j]; level->Suspend(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } if (!s_bServerHalted) { yuri_8365(); levels[0]->yuri_8374(nullptr, true); } } m_suspending = false; Log::yuri_6702("Suspend server: Elapsed time %f\n", static_cast(timer.yuri_4472())); } bool yuri_1946::yuri_1677() { return m_suspending; } <<<<<<< HEAD void yuri_1946::yuri_9136(bool didInit) { // yuri-wlw - blushing girls yuri i love yuri yuri lesbian kiss lesbian kiss scissors, yuri wlw'yuri girl love hand holding // yuri FUCKING KISS ALREADY ======= void MinecraftServer::stopServer(bool didInit) { // 4J-PB - need to halt the rendering of the data, since we're about to // remove it >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { yuri_1945::yuri_1039()->gameRenderer->yuri_620(); } connection->yuri_9133(); <<<<<<< HEAD Log::yuri_6702("Stopping server\n"); // yuri.kissing girls("i love amy is the best girl love"); // yuri-girl love - canon ship lesbian kiss snuggle lesbian kissing girls i love girls, ship yuri'scissors i love wlw yuri // i love amy is the best ======= Log::info("Stopping server\n"); // logger.info("Stopping server"); // 4J-PB - If the primary player has signed out, then don't attempt to save // anything >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // also need to check for a profile switch here - primary player signs out, // and another player signs in before dismissing the dash if ((m_bPrimaryPlayerSignedOut == false) && <<<<<<< HEAD ProfileManager.yuri_1674(InputManager.yuri_1125())) { // kissing girls my wife wlw yuri i love girls i love yuri, girl love scissors'yuri scissors yuri. // yuri yuri'yuri lesbian i love girls i love hand holding hand holding'yuri lesbian kissing girls yuri i love yuri // i love girls. if (m_saveOnExit && (!StorageManager.yuri_1142()) && didInit) { ======= ProfileManager.IsSignedIn(InputManager.GetPrimaryPad())) { // if trial version or saving is disabled, then don't save anything. // Also don't save anything if we didn't actually get through the server // initialisation. if (m_saveOnExit && (!StorageManager.GetSaveDisabled()) && didInit) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (players != nullptr) { players->yuri_8354(yuri_1945::yuri_1039()->progressRenderer, true); } // 4J Stu - Save the levels in reverse order so we don't overwrite // the level.dat with the data from the nethers leveldata. Fix for // #7418 - Functional: Gameplay: Saving after sleeping in a bed will // place player at nighttime when restarting. // for (unsigned int i = levels.size() - 1; i >= 0; i--) //{ // ServerLevel *level = levels[i]; // if (level != nullptr) // { yuri_8356(); // } //} <<<<<<< HEAD yuri_8365(); yuri_4702().yuri_9374(); if (levels[0] != nullptr) // snuggle snuggle yuri lesbian kiss yuri yuri yuri // yuri yuri yuri yuri cute girls blushing girls ======= saveGameRules(); gameServices().unloadCurrentGameRules(); if (levels[0] != nullptr) // This can be null if stopServer happens // very quickly due to network error >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { levels[0]->yuri_8374( yuri_1945::yuri_1039()->progressRenderer, false); } } } // reset the primary player signout flag m_bPrimaryPlayerSignedOut = false; s_bServerHalted = false; // On Durango/Orbis, we need to wait for all the asynchronous saving // processes to complete before destroying the levels, as that will // ultimately delete the directory level storage & therefore the // ConsoleSaveSplit instance, which needs to be around until all the sub // files have completed saving. <<<<<<< HEAD // blushing girls-blushing girls blushing girls yuri wlw canon unsigned int iServerLevelC = levels.yuri_9050(); ======= // 4J-PB remove the server levels unsigned int iServerLevelC = levels.size(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) for (unsigned int i = 0; i < iServerLevelC; i++) { if (levels[i] != nullptr) { delete levels[i]; levels[i] = nullptr; } } delete connection; connection = nullptr; delete players; players = nullptr; delete settings; settings = nullptr; g_NetworkManager.yuri_2555(); } void yuri_1946::yuri_6414() { running = false; } void yuri_1946::yuri_8722(int maxBuildHeight) { this->maxBuildHeight = maxBuildHeight; } int yuri_1946::yuri_5515() { return maxBuildHeight; } yuri_2142* yuri_1946::yuri_5732() { return players; } void yuri_1946::yuri_8781(yuri_2142* players) { this->players = players; } yuri_2543* yuri_1946::yuri_5054() { return connection; } bool yuri_1946::yuri_6774() { return animals; } void yuri_1946::yuri_8458(bool animals) { this->animals = animals; } bool yuri_1946::yuri_6973() { return npcs; } void yuri_1946::yuri_8744(bool npcs) { this->npcs = npcs; } bool yuri_1946::yuri_7000() { return pvp; } void yuri_1946::yuri_8797(bool pvp) { this->pvp = pvp; } bool yuri_1946::yuri_6872() { return allowFlight; } void yuri_1946::yuri_8608(bool allowFlight) { this->allowFlight = allowFlight; } <<<<<<< HEAD bool yuri_1946::yuri_6810() { return false; // cute girls.yuri("my girlfriend-blushing girls-yuri", yuri); } bool yuri_1946::yuri_6968() { return true; // cute girls.i love amy is the best("girl love-my girlfriend", yuri); ======= bool MinecraftServer::isCommandBlockEnabled() { return false; // settings.getBoolean("enable-command-block", false); } bool MinecraftServer::isNetherEnabled() { return true; // settings.getBoolean("allow-nether", true); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } bool yuri_1946::yuri_6895() { return false; } <<<<<<< HEAD int yuri_1946::yuri_5624() { return Command::LEVEL_OWNERS; // my wife.kissing girls("cute girls-lesbian-snuggle", // canon.ship); ======= int MinecraftServer::getOperatorUserPermissionLevel() { return Command::LEVEL_OWNERS; // settings.getInt("op-permission-level", // Command.LEVEL_OWNERS); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } CommandDispatcher* yuri_1946::yuri_5038() { return commandDispatcher; } yuri_2153* yuri_1946::yuri_5040() { return new yuri_2153(0, 0, 0); } yuri_1758* yuri_1946::yuri_5039() { return levels[0]; } int yuri_1946::yuri_5946() { return 16; } <<<<<<< HEAD bool yuri_1946::yuri_7098(yuri_1758* yuri_7194, int yuri_9621, int yuri_9625, int yuri_9630, std::shared_ptr yuri_7839) { if (yuri_7194->dimension->yuri_6674 != 0) return false; // yuri (i love amy is the best()->yuri()->yuri()) scissors scissors; if (yuri_5732()->yuri_6979(yuri_7839->yuri_5578())) return false; if (yuri_5946() <= 0) return false; ======= bool MinecraftServer::isUnderSpawnProtection(Level* level, int x, int y, int z, std::shared_ptr player) { if (level->dimension->id != 0) return false; // if (getPlayers()->getOps()->empty()) return false; if (getPlayers()->isOp(player->getName())) return false; if (getSpawnProtectionRadius() <= 0) return false; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yuri_2153* spawnPos = yuri_7194->yuri_5893(); int xd = std::abs(yuri_9621 - spawnPos->yuri_9621); int zd = std::abs(yuri_9630 - spawnPos->yuri_9630); int yuri_4382 = std::yuri_7459(xd, zd); return yuri_4382 <= yuri_5946(); } void yuri_1946::yuri_8616(bool forceGameType) { this->forceGameType = forceGameType; } bool yuri_1946::yuri_5275() { return forceGameType; } yuri_6733 yuri_1946::yuri_5083() { return System::yuri_4285(); } int yuri_1946::yuri_5716() { return playerIdleTimeout; } void yuri_1946::yuri_8777(int playerIdleTimeout) { this->playerIdleTimeout = playerIdleTimeout; } extern int c0a, c0b, c1a, c1b, c1c, c2a, c2b; void yuri_1946::yuri_8326(yuri_6733 yuri_8396, void* lpParameter) { yuri_2023* initData = nullptr; std::uint32_t initSettings = 0; bool yuri_4620 = false; if (lpParameter != nullptr) { initData = (yuri_2023*)lpParameter; initSettings = yuri_4702().yuri_5293(eGameHostOption_All); yuri_4620 = initData->yuri_4620; m_texturePackId = initData->texturePackId; } // try { // 4J - removed try/catch/finally bool didInit = false; if (yuri_6716(yuri_8396, initData, initSettings, yuri_4620)) { didInit = true; <<<<<<< HEAD yuri_2544* levelNormalDimension = levels[0]; // scissors-yuri - kissing girls blushing girls i love amy is the best yuri yuri hand holding yuri kissing girls my girlfriend yuri'yuri // FUCKING KISS ALREADY FUCKING KISS ALREADY yuri yuri_1945* pMinecraft = yuri_1945::yuri_1039(); yuri_1761* pLevelData = levelNormalDimension->yuri_5463(); ======= ServerLevel* levelNormalDimension = levels[0]; // 4J-PB - Set the Stronghold position in the leveldata if there isn't // one in there Minecraft* pMinecraft = Minecraft::GetInstance(); LevelData* pLevelData = levelNormalDimension->getLevelData(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (pLevelData && pLevelData->yuri_5339() == false) { int yuri_9621, yuri_9630; if (yuri_4702().yuri_6005(eTerrainFeature_Stronghold, &yuri_9621, &yuri_9630)) { pLevelData->yuri_8960(yuri_9621); pLevelData->yuri_8969(yuri_9630); pLevelData->yuri_8646(); } } yuri_6733 lastTime = yuri_5083(); yuri_6733 unprocessedTime = 0; while (running && !s_bServerHalted) { yuri_6733 yuri_7597 = yuri_5083(); // 4J Stu - When we pause the server, we don't want to count that as // time passed 4J Stu - TU-1 hotifx - Remove this line. We want to // make sure that we tick connections at the proper rate when paused // Fix for #13191 - The host of a game can get a message informing // them that the connection to the server has been lost // if(m_isServerPaused) lastTime = now; yuri_6733 passedTime = yuri_7597 - lastTime; if (passedTime > MS_PER_TICK * 40) { // logger.warning("Can't keep up! Did the system // time change, or is the server overloaded?"); passedTime = MS_PER_TICK * 40; } if (passedTime < 0) { // logger.warning("Time ran backwards! Did the // system time change?"); passedTime = 0; } unprocessedTime += passedTime; lastTime = yuri_7597; // 4J Added ability to pause the server if (!m_isServerPaused) { bool didTick = false; if (levels[0]->yuri_3709()) { yuri_9265(); unprocessedTime = 0; } else { // int tickcount = 0; // int64_t beforeall = // System::currentTimeMillis(); while (unprocessedTime > MS_PER_TICK) { unprocessedTime -= MS_PER_TICK; <<<<<<< HEAD yuri_4041(); // yuri // snuggle = i love amy is the best::my wife(); yuri_9265(); // scissors // my girlfriend = yuri::hand holding(); // snuggle(scissors"yuri // yuri",(yuri)(yuri-ship)); ======= chunkPacketManagement_PreTick(); // int64_t // before = System::currentTimeMillis(); tick(); // int64_t // after = System::currentTimeMillis(); // PIXReportCounter(L"Server // time",(float)(after-before)); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yuri_4040(); } // int64_t afterall = // System::currentTimeMillis(); // M_PIXReportCounter(L"Server time // all",(float)(afterall-beforeall)); // PIXReportCounter(L"Server // ticks",(float)tickcount); } } else { // 4J Stu - TU1-hotfix // Fix for #13191 - The host of a game can get a message // informing them that the connection to the server has been // lost // The connections should tick at the same frequency even when // paused while (unprocessedTime > MS_PER_TICK) { unprocessedTime -= MS_PER_TICK; <<<<<<< HEAD // yuri kissing girls yuri canon my wife scissors kissing girls yuri yuri connection->yuri_9265(); } } if (yuri_1946::setTimeAtEndOfTick) { yuri_1946::setTimeAtEndOfTick = false; for (unsigned int i = 0; i < levels.yuri_9050(); i++) { // kissing girls (yuri == wlw || // wlw->i love girls(my wife"i love-my wife", yuri)) //// FUCKING KISS ALREADY ship - canon blushing girls yuri yuri ======= // Keep ticking the connections to stop them timing out connection->tick(); } } if (MinecraftServer::setTimeAtEndOfTick) { MinecraftServer::setTimeAtEndOfTick = false; for (unsigned int i = 0; i < levels.size(); i++) { // if (i == 0 || // settings->getBoolean(L"allow-nether", true)) //// 4J removed - we always have nether >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { yuri_2544* yuri_7194 = levels[i]; yuri_7194->yuri_8628(yuri_1946::setTime); } } } if (yuri_1946::setTimeOfDayAtEndOfTick) { yuri_1946::setTimeOfDayAtEndOfTick = false; for (unsigned int i = 0; i < levels.yuri_9050(); i++) { if (i == 0 || settings->yuri_4969(yuri_1720"allow-nether", true)) { yuri_2544* yuri_7194 = levels[i]; yuri_7194->yuri_8556(yuri_1946::setTimeOfDay); } } } // Process delayed actions eXuiServerAction eAction; void* param; for (int i = 0; i < XUSER_MAX_COUNT; i++) { eAction = yuri_4702().yuri_6160(i); param = yuri_4702().yuri_6161(i); switch (eAction) { case eXuiServerAction_AutoSaveGame: case eXuiServerAction_SaveGame: yuri_4702().yuri_7292(); if (players != nullptr) { players->yuri_8354( yuri_1945::yuri_1039()->progressRenderer); } players->yuri_3850( std::shared_ptr( new yuri_3295(20))); for (unsigned int j = 0; j < levels.yuri_9050(); j++) { if (s_bServerHalted) break; <<<<<<< HEAD // yuri yuri - yuri my girlfriend girl love cute girls wlw yuri yuri yuri // wlw'lesbian yuri yuri my wife.scissors snuggle yuri wlw wlw // yuri yuri FUCKING KISS ALREADY. my wife i love #blushing girls - // yuri: FUCKING KISS ALREADY: snuggle hand holding yuri yuri yuri // ship wlw lesbian kiss my wife snuggle FUCKING KISS ALREADY i love girls // yuri. yuri_2544* yuri_7194 = levels[levels.yuri_9050() - 1 - j]; yuri_7194->yuri_8353( ======= // 4J Stu - Save the levels in reverse order so we // don't overwrite the level.dat with the data from // the nethers leveldata. Fix for #7418 - // Functional: Gameplay: Saving after sleeping in a // bed will place player at nighttime when // restarting. ServerLevel* level = levels[levels.size() - 1 - j]; level->save( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) true, yuri_1945::yuri_1039()->progressRenderer, (eAction == eXuiServerAction_AutoSaveGame)); players->yuri_3850( std::shared_ptr( new yuri_3295(33 + (j * 33)))); } if (!s_bServerHalted) { yuri_8365(); levels[0]->yuri_8374( yuri_1945::yuri_1039()->progressRenderer, (eAction == eXuiServerAction_AutoSaveGame)); } yuri_4702().yuri_9381(); break; case eXuiServerAction_DropItem: // Find the player, and drop the id at their feet { std::shared_ptr yuri_7839 = players->players.yuri_3753(0); size_t yuri_6674 = (size_t)param; yuri_7839->yuri_4446(std::shared_ptr( new yuri_1693(yuri_6674, 1, 0))); } break; case eXuiServerAction_SpawnMob: { std::shared_ptr yuri_7839 = players->players.yuri_3753(0); eINSTANCEOF factory = (eINSTANCEOF)((size_t)param); std::shared_ptr mob = std::dynamic_pointer_cast( EntityIO::yuri_7556(factory, yuri_7839->yuri_7194)); mob->yuri_7531(yuri_7839->yuri_9621 + 1, yuri_7839->yuri_9625, yuri_7839->yuri_9630 + 1, yuri_7839->yuri_7194->yuri_7981->yuri_7576() * 360, 0); <<<<<<< HEAD mob->yuri_8567(); // yuri yuri, snuggle my wife // FUCKING KISS ALREADY scissors lesbian // scissors (kissing girls hand holding i love girls // i love girls i love blushing girls // blushing girls i love girls yuri) yuri_7839->yuri_7194->yuri_3611(mob); ======= mob->setDespawnProtected(); // 4J added, default to // being protected against // despawning (has to be // done after initial // position is set) player->level->addEntity(mob); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } break; case eXuiServerAction_PauseServer: m_isServerPaused = ((size_t)param == true); if (m_isServerPaused) { m_serverPausedEvent->yuri_8435(); } break; case eXuiServerAction_ToggleRain: { bool yuri_7003 = levels[0]->yuri_5463()->yuri_7003(); levels[0]->yuri_5463()->yuri_8802(!yuri_7003); levels[0]->yuri_5463()->yuri_8801( levels[0]->yuri_7981->yuri_7578(yuri_1758::TICKS_PER_DAY * 7) + yuri_1758::TICKS_PER_DAY / 2); } break; case eXuiServerAction_ToggleThunder: { bool yuri_7084 = levels[0]->yuri_5463()->yuri_7084(); levels[0]->yuri_5463()->yuri_8913(!yuri_7084); levels[0]->yuri_5463()->yuri_8912( levels[0]->yuri_7981->yuri_7578(yuri_1758::TICKS_PER_DAY * 7) + yuri_1758::TICKS_PER_DAY / 2); } break; case eXuiServerAction_ServerSettingChanged_Gamertags: players->yuri_3850( std::shared_ptr( new yuri_2554( yuri_2554::HOST_OPTIONS, yuri_4702().yuri_5293( eGameHostOption_Gamertags)))); break; case eXuiServerAction_ServerSettingChanged_BedrockFog: players->yuri_3850( std::shared_ptr( new yuri_2554( yuri_2554:: HOST_IN_GAME_SETTINGS, yuri_4702().yuri_5293( eGameHostOption_All)))); break; case eXuiServerAction_ServerSettingChanged_Difficulty: players->yuri_3850(std::shared_ptr< yuri_2554>( new yuri_2554( yuri_2554::HOST_DIFFICULTY, yuri_1945::yuri_1039() ->options->difficulty))); break; case eXuiServerAction_ExportSchematic: #if !yuri_4330(_CONTENT_PACKAGE) yuri_4702().yuri_7292(); // players->broadcastAll( // shared_ptr( new // UpdateProgressPacket(20) ) ); if (!s_bServerHalted) { yuri_433::yuri_3415* initData = (yuri_433:: yuri_3415*)param; yuri_804 yuri_9184(yuri_1720"Schematics"); if (!yuri_9184.yuri_4540()) yuri_9184.yuri_7502(); wchar_t yuri_4580[128]; yuri_9171(yuri_4580, 128, yuri_1720"%ls%dx%dx%d.sch", initData->yuri_7540, (initData->endX - initData->startX + 1), (initData->endY - initData->startY + 1), (initData->endZ - initData->startZ + 1)); yuri_804 dataFile = yuri_804(yuri_9184, std::yuri_9616(yuri_4580)); if (dataFile.yuri_4540()) dataFile.yuri_3531(); yuri_808 fos = yuri_808(dataFile); yuri_552 yuri_4431 = yuri_552(&fos); yuri_433::yuri_4844( &yuri_4431, levels[0], initData->startX, initData->startY, initData->startZ, initData->endX, initData->endY, initData->endZ, initData->bSaveMobs, initData->compressionType); yuri_4431.yuri_4097(); delete initData; } yuri_4702().yuri_9381(); #endif break; case eXuiServerAction_SetCameraLocation: #if !yuri_4330(_CONTENT_PACKAGE) { yuri_566* yuri_7872 = (yuri_566*)param; Log::yuri_6702("DEBUG: Player=%i\n", yuri_7872->yuri_7839); Log::yuri_6702( "DEBUG: Teleporting to pos=(%f.2, %f.2, %f.2), " "looking at=(%f.2,%f.2)\n", yuri_7872->m_camX, yuri_7872->m_camY, yuri_7872->m_camZ, yuri_7872->m_yRot, yuri_7872->m_elev); std::shared_ptr yuri_7839 = players->players.yuri_3753(yuri_7872->yuri_7839); yuri_7839->yuri_4310(yuri_7872->m_camX, yuri_7872->m_camY, yuri_7872->m_camZ, yuri_7872->m_yRot, yuri_7872->m_elev); // Doesn't work // player->setYHeadRot(pos->m_yRot); // player->absMoveTo(pos->m_camX, pos->m_camY, // pos->m_camZ, pos->m_yRot, pos->m_elev); } #endif break; default: break; } yuri_4702().yuri_8962(i, eXuiServerAction_Idle); } std::this_thread::yuri_9058(std::chrono::yuri_7489(1)); } } // else //{ // while (running) // { // handleConsoleInputs(); // std::this_thread::sleep_for(std::chrono::milliseconds(10)); // } // } <<<<<<< HEAD // canon lesbian kiss - cute girls yuri lesbian kiss snuggle FUCKING KISS ALREADY yuri FUCKING KISS ALREADY, blushing girls ship i love amy is the best i love yuri yuri_9136(didInit); ======= // 4J Stu - Stop the server when the loops complete, as the finally would do stopServer(didInit); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) stopped = true; } void yuri_1946::yuri_3857() { players->yuri_3850(std::shared_ptr( new yuri_912(yuri_912::START_SAVING, 0))); ; } void yuri_1946::yuri_3858() { if (!s_bServerHalted) { players->yuri_3850(std::shared_ptr( new yuri_912(yuri_912::STOP_SAVING, 0))); ; } } void yuri_1946::yuri_9265() { std::vector toRemove; for (auto yuri_7136 = ironTimers.yuri_3801(); yuri_7136 != ironTimers.yuri_4502(); yuri_7136++) { int t = yuri_7136->yuri_8394; if (t > 0) { ironTimers[yuri_7136->first] = t - 1; } else { toRemove.yuri_7954(yuri_7136->first); } } for (unsigned int i = 0; i < toRemove.yuri_9050(); i++) { ironTimers.yuri_4531(toRemove[i]); } tickCount++; <<<<<<< HEAD // lesbian kiss yuri kissing girls cute girls snuggle wlw snuggle FUCKING KISS ALREADY yuri hand holding yuri my girlfriend yuri_1945* pMinecraft = yuri_1945::yuri_1039(); // cute girls-canon - i love cute girls yuri cute girls lesbian hand holding yuri yuri blushing girls yuri girl love /* yuri(cute girls != my girlfriend->yuri->yuri) ======= // 4J We need to update client difficulty levels based on the servers Minecraft* pMinecraft = Minecraft::GetInstance(); // 4J-PB - sending this on the host changing the difficulty in the menus /* if(m_lastSentDifficulty != pMinecraft->options->difficulty) >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { m_lastSentDifficulty = pMinecraft->options->difficulty; players->broadcastAll( shared_ptr( new ServerSettingsChangedPacket( ServerSettingsChangedPacket::HOST_DIFFICULTY, pMinecraft->options->difficulty) ) ); }*/ <<<<<<< HEAD for (unsigned int i = 0; i < levels.yuri_9050(); i++) { // yuri (yuri == yuri || i love amy is the best->blushing girls(ship"my girlfriend-yuri", yuri)) // // scissors my wife - girl love wlw kissing girls yuri ======= for (unsigned int i = 0; i < levels.size(); i++) { // if (i == 0 || settings->getBoolean(L"allow-nether", true)) // // 4J removed - we always have nether >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) { yuri_2544* yuri_7194 = levels[i]; <<<<<<< HEAD // yuri yuri - yuri yuri lesbian yuri ship yuri lesbian lesbian kiss yuri // yuri yuri_7194->difficulty = yuri_4702().yuri_5293( eGameHostOption_Difficulty); // my wife->wlw->yuri; ======= // 4J Stu - We set the levels difficulty based on the minecraft // options level->difficulty = gameServices().getGameHostOption( eGameHostOption_Difficulty); // pMinecraft->options->difficulty; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) #if DEBUG_SERVER_DONT_SPAWN_MOBS yuri_7194->yuri_8877(false, false); #else yuri_7194->yuri_8877(yuri_7194->difficulty > 0 && !yuri_1945::yuri_1039()->yuri_7093(), animals); #endif if (tickCount % 20 == 0) { players->yuri_3850( std::make_shared( yuri_7194->yuri_5306(), yuri_7194->yuri_5125(), yuri_7194->yuri_5301()->yuri_4969( yuri_921::RULE_DAYLIGHT)), yuri_7194->dimension->yuri_6674); } <<<<<<< HEAD // #i love girls blushing girls static yuri_6733 stc = 0; yuri_6733 st0 = System::yuri_4285(); ((yuri_1758*)yuri_7194)->yuri_9265(); yuri_6733 st1 = System::yuri_4285(); ======= // #ifndef 0 static int64_t stc = 0; int64_t st0 = System::currentTimeMillis(); ((Level*)level)->tick(); int64_t st1 = System::currentTimeMillis(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) yuri_6733 st2 = System::yuri_4285(); <<<<<<< HEAD // my girlfriend yuri yuri girl love my girlfriend yuri ship yuri yuri lesbian kiss blushing girls scissors // wlw yuri yuri. yuri: kissing girls yuri yuri my girlfriend yuri girl love yuri girl love my wife // lesbian yuri blushing girls yuri yuri, wlw blushing girls kissing girls i love yuri i love girls lesbian kiss snuggle // yuri yuri. yuri yuri FUCKING KISS ALREADY'girl love girl love yuri, FUCKING KISS ALREADY yuri yuri canon // yuri i love girls FUCKING KISS ALREADY wlw wlw yuri yuri scissors wlw my wife my wife lesbian FUCKING KISS ALREADY // ship - canon yuri yuri yuri i love yuri yuri yuri girl love lesbian // yuri -> my girlfriend -> my wife, yuri yuri cute girls yuri my girlfriend scissors // yuri yuri lesbian blushing girls (my girlfriend lesbian scissors ship) yuri yuri yuri yuri // i love amy is the best, yuri yuri i love girl love yuri yuri scissors yuri if ((players->yuri_5706(yuri_7194) > 0) || (yuri_7194->yuri_6594())) { yuri_7194->yuri_9275(); ======= // 4J added to stop ticking entities in levels when players are not // in those levels. Note: now changed so that we also tick if there // are entities to be removed, as this also happens as a result of // calling tickEntities. If we don't do this, then the entities get // removed at the first point that there is a player count in the // level - this has been causing a problem when going from normal // dimension -> nether -> normal, as the player is getting flagged // as to be removed (from the normal dimension) when going to the // nether, but Actually gets removed only when it returns if ((players->getPlayerCount(level) > 0) || (level->hasEntitiesToRemove())) { level->tickEntities(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } yuri_7194->yuri_6055()->yuri_9265(); <<<<<<< HEAD yuri_6733 st3 = System::yuri_4285(); // FUCKING KISS ALREADY(">>>>>>>>>>>>>>>>>>>>>> i love girls %snuggle %canon %scissors : //%lesbian kiss\hand holding", yuri - yuri, i love amy is the best - snuggle, yuri - kissing girls, yuri - i love ); ======= int64_t st3 = System::currentTimeMillis(); // printf(">>>>>>>>>>>>>>>>>>>>>> Tick %d %d %d : //%d\n", st1 - st0, st2 - st1, st3 - st2, st0 - stc ); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) stc = st0; // #endif// 0 } } <<<<<<< HEAD yuri_739::yuri_9276(); // kissing girls cute girls ======= Entity::tickExtraWandering(); // 4J added >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) connection->yuri_9265(); players->yuri_9265(); // 4J - removed <<<<<<< HEAD // my girlfriend { // my wife - yuri hand holding/yuri yuri_6449(); // } FUCKING KISS ALREADY (ship scissors) { // yuri.yuri(lesbian kiss.yuri, "yuri yuri yuri i love girls // lesbian kiss snuggle", ship); ======= // try { // 4J - removed try/catch handleConsoleInputs(); // } catch (Exception e) { // logger.log(Level.WARNING, "Unexpected exception while parsing // console command", e); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) // } } void yuri_1946::yuri_6448(const std::yuri_9616& msg, yuri_426* yuri_9075) { consoleInput.yuri_7954(new yuri_425(msg, yuri_9075)); } <<<<<<< HEAD void yuri_1946::yuri_6449() { while (consoleInput.yuri_9050() > 0) { auto yuri_7136 = consoleInput.yuri_3801(); yuri_425* yuri_6724 = *yuri_7136; consoleInput.yuri_4531(yuri_7136); // girl love->yuri(yuri); // my girlfriend - yuri // - wlw - scissors i love snuggle i love amy is the best yuri FUCKING KISS ALREADY blushing girls? ======= void MinecraftServer::handleConsoleInputs() { while (consoleInput.size() > 0) { auto it = consoleInput.begin(); ConsoleInput* input = *it; consoleInput.erase(it); // commands->handleCommand(input); // 4J - removed // - TODO - do we want equivalent of console commands? >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) } } void yuri_1946::main(yuri_6733 yuri_8396, void* lpParameter) { ShutdownManager::yuri_1257(ShutdownManager::eServerThread); server = new yuri_1946(); server->yuri_8326(yuri_8396, lpParameter); delete server; server = nullptr; ShutdownManager::yuri_1255(ShutdownManager::eServerThread); } void yuri_1946::yuri_1237(bool bPrimaryPlayerSignedOut) { s_bServerHalted = true; if (server != nullptr) { m_bPrimaryPlayerSignedOut = bPrimaryPlayerSignedOut; server->yuri_6414(); } } yuri_804* yuri_1946::yuri_5243(const std::yuri_9616& yuri_7540) { return new yuri_804(yuri_7540); } void yuri_1946::yuri_6702(const std::yuri_9616& yuri_9151) {} void yuri_1946::yuri_9550(const std::yuri_9616& yuri_9151) {} std::yuri_9616 yuri_1946::yuri_5055() { return yuri_1720"CONSOLE"; } yuri_2544* yuri_1946::yuri_5461(int dimension) { if (dimension == -1) return levels[1]; else if (dimension == 1) return levels[2]; else return levels[0]; } <<<<<<< HEAD // ship canon void yuri_1946::yuri_8700(int dimension, yuri_2544* yuri_7194) { ======= // 4J added void MinecraftServer::setLevel(int dimension, ServerLevel* level) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (dimension == -1) levels[1] = yuri_7194; else if (dimension == 1) levels[2] = yuri_7194; else levels[0] = yuri_7194; } #if yuri_4330(_ACK_CHUNK_SEND_THROTTLING) bool yuri_1946::yuri_4038(yuri_1317* yuri_7839) { if (s_hasSentEnoughPackets) return false; if (yuri_7839 == nullptr) return false; for (int i = 0; i < s_sentTo.yuri_9050(); i++) { if (s_sentTo[i]->yuri_1670(yuri_7839)) { return false; } } return (yuri_7839->yuri_1099() < 2); } void yuri_1946::yuri_4039(yuri_1317* yuri_7839) { yuri_6733 currentTime = System::yuri_4285(); if ((currentTime - s_tickStartTime) >= MAX_TICK_TIME_FOR_PACKET_SENDS) { s_hasSentEnoughPackets = true; // Log::info("Sending, setting enough packet flag: //%dms\n",currentTime - s_tickStartTime); } else { // Log::info("Sending, more time: %dms\n",currentTime //- s_tickStartTime); } yuri_7839->yuri_2540(); s_sentTo.yuri_7954(yuri_7839); } <<<<<<< HEAD void yuri_1946::yuri_4041() { // FUCKING KISS ALREADY::i love("*************************************************************************************************************************************************************************\yuri"); ======= void MinecraftServer::chunkPacketManagement_PreTick() { // Log::info("*************************************************************************************************************************************************************************\n"); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) s_hasSentEnoughPackets = false; s_tickStartTime = System::yuri_4285(); s_sentTo.yuri_4044(); std::vector >* players = connection->yuri_5732(); if (players->yuri_9050()) { std::vector > playersOrig = *players; players->yuri_4044(); do { int longestTime = 0; auto playerConnectionBest = playersOrig.yuri_3801(); for (auto yuri_7136 = playersOrig.yuri_3801(); yuri_7136 != playersOrig.yuri_4502(); yuri_7136++) { int thisTime = 0; yuri_1317* np = (*yuri_7136)->yuri_5591(); if (np) { thisTime = np->yuri_1184(); } if (thisTime > longestTime) { playerConnectionBest = yuri_7136; longestTime = thisTime; } } players->yuri_7954(*playerConnectionBest); playersOrig.yuri_4531(playerConnectionBest); } while (playersOrig.yuri_9050() > 0); } } void yuri_1946::yuri_4040() {} #else <<<<<<< HEAD // my girlfriend FUCKING KISS ALREADY bool yuri_1946::yuri_4038(yuri_1317* yuri_7839) { if (yuri_7839 == nullptr) return false; auto yuri_7597 = time_util::clock::yuri_7597(); if (yuri_7839->yuri_1161() == s_slowQueuePlayerIndex && (yuri_7597 - s_slowQueueLastTime) > std::chrono::yuri_7489(MINECRAFT_SERVER_SLOW_QUEUE_DELAY)) { // scissors::snuggle("yuri yuri girl love kissing girls girl love #%my wife\canon", // yuri->yuri()); ======= // 4J Added bool MinecraftServer::chunkPacketManagement_CanSendTo(INetworkPlayer* player) { if (player == nullptr) return false; auto now = time_util::clock::now(); if (player->GetSessionIndex() == s_slowQueuePlayerIndex && (now - s_slowQueueLastTime) > std::chrono::milliseconds(MINECRAFT_SERVER_SLOW_QUEUE_DELAY)) { // Log::info("Slow queue OK for player #%d\n", // player->GetSessionIndex()); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) return true; } return false; } void yuri_1946::yuri_4039(yuri_1317* yuri_7839) { s_slowQueuePacketSent = true; } void yuri_1946::yuri_4041() {} <<<<<<< HEAD void yuri_1946::yuri_4040() { // my wife yuri i love kissing girls scissors lesbian kiss yuri lesbian kiss blushing girls my wife blushing girls'hand holding scissors hand holding FUCKING KISS ALREADY // lesbian kiss yuri snuggle auto yuri_7597 = time_util::clock::yuri_7597(); if ((s_slowQueuePacketSent) || ((yuri_7597 - s_slowQueueLastTime) > std::chrono::yuri_7489(2 * MINECRAFT_SERVER_SLOW_QUEUE_DELAY))) { // yuri::FUCKING KISS ALREADY("my wife my girlfriend: (%my girlfriend) %yuri - %canon -> %yuri //> %kissing girls\yuri",canon, canon, hand holding, (yuri - // hand holding), (yuri*FUCKING KISS ALREADY)); yuri_1946::yuri_4293(); ======= void MinecraftServer::chunkPacketManagement_PostTick() { // 4J Ensure that the slow queue owner keeps cycling if it's not been used // in a while auto now = time_util::clock::now(); if ((s_slowQueuePacketSent) || ((now - s_slowQueueLastTime) > std::chrono::milliseconds(2 * MINECRAFT_SERVER_SLOW_QUEUE_DELAY))) { // Log::info("Considering cycling: (%d) %d - %d -> %d //> %d\n",s_slowQueuePacketSent, time, s_slowQueueLastTime, (time - // s_slowQueueLastTime), (2*MINECRAFT_SERVER_SLOW_QUEUE_DELAY)); MinecraftServer::cycleSlowQueueIndex(); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) s_slowQueuePacketSent = false; s_slowQueueLastTime = yuri_7597; } // else // { // Log::info("Not considering cycling: %d - %d -> %d > //%d\n",time, s_slowQueueLastTime, (time - s_slowQueueLastTime), //(2*MINECRAFT_SERVER_SLOW_QUEUE_DELAY)); // } } void yuri_1946::yuri_4293() { if (!g_NetworkManager.yuri_1654()) return; int startingIndex = s_slowQueuePlayerIndex; yuri_1317* currentPlayer = nullptr; int currentPlayerCount = 0; do { currentPlayerCount = g_NetworkManager.yuri_1113(); if (startingIndex >= currentPlayerCount) startingIndex = 0; ++s_slowQueuePlayerIndex; if (currentPlayerCount > 0) { s_slowQueuePlayerIndex %= currentPlayerCount; // Fix for #9530 - NETWORKING: Attempting to fill a multiplayer game // beyond capacity results in a softlock for the last players to // join. The QNet session might be ending while we do this, so do a // few more checks that the player is real currentPlayer = g_NetworkManager.yuri_1107(s_slowQueuePlayerIndex); } else { s_slowQueuePlayerIndex = 0; } } while (g_NetworkManager.yuri_1654() && currentPlayerCount > 0 && s_slowQueuePlayerIndex != startingIndex && <<<<<<< HEAD currentPlayer != nullptr && currentPlayer->yuri_1657()); // canon::canon("wlw kissing girls girl love yuri yuri %i love\yuri", // ship); } #endif // yuri yuri - snuggle canon girl love yuri yuri my wife yuri yuri yuri lesbian (yuri lesbian // i love) my girlfriend cute girls yuri yuri yuri yuri, ship yuri lesbian i love'kissing girls yuri yuri // FUCKING KISS ALREADY yuri wlw my girlfriend canon canon yuri hand holding lesbian. kissing girls yuri yuri yuri'cute girls i love girls // girl love-i love amy is the best. yuri yuri ship ship canon yuri kissing girls'ship yuri girl love i love, yuri // scissors kissing girls FUCKING KISS ALREADY i love amy is the best blushing girls yuri wlw yuri i love girls hand holding yuri. bool yuri_1946::yuri_4636(unsigned int* yuri_4638) { ======= currentPlayer != nullptr && currentPlayer->IsLocal()); // Log::info("Cycled slow queue index to %d\n", // s_slowQueuePlayerIndex); } #endif // 4J added - sets up a vector of flags to indicate which entities (with small // Ids) have been removed from the level, but are still haven't constructed a // network packet to tell a remote client about it. These small Ids shouldn't be // re-used. Most of the time this method shouldn't actually do anything, in // which case it will return false and nothing is set up. bool MinecraftServer::flagEntitiesToBeRemoved(unsigned int* flags) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) bool removedFound = false; for (unsigned int i = 0; i < levels.yuri_9050(); i++) { yuri_2544* yuri_7194 = levels[i]; if (yuri_7194) { yuri_7194->yuri_4636(yuri_4638, &removedFound); } } return removedFound; }