// Start is called before the first frame update
    void Start()
    {
        this.renderDistance = World.renderDistance;

        regionHandler = new RegionFileHandler(renderDistance, newChunk);

        worldSeed = regionHandler.GetRealSeed();

        biomeHandler = new BiomeHandler(BiomeSeedFunction(worldSeed));

        this.worldGen = new WorldGenerator(worldSeed, BiomeSeedFunction(worldSeed), OffsetHashFunction(worldSeed), GenerationSeedFunction(worldSeed), biomeHandler, structHandler, this);

        // If character has been loaded
        if (regionHandler.playerFile.Length > 0)
        {
            player.position = regionHandler.LoadPlayer();
            PLAYERSPAWNED   = true;
        }

        int playerX = Mathf.FloorToInt(player.position.x / Chunk.chunkWidth);
        int playerZ = Mathf.FloorToInt(player.position.z / Chunk.chunkWidth);

        newChunk = new ChunkPos(playerX, playerZ);


        GetChunks(true);
    }
Esempio n. 2
0
    private void InitWorld()
    {
        this.regionHandler = new RegionFileHandler(this);
        worldSeed          = regionHandler.GetRealSeed();
        biomeHandler       = new BiomeHandler();
        this.worldGen      = new WorldGenerator(worldSeed, biomeHandler, structHandler, this);
        biomeHandler.SetWorldGenerator(this.worldGen);

        print("Initializing World");

        // Sends the first player it's information
        PlayerData pdat      = this.regionHandler.LoadPlayer(this.server.firstConnectedID); // CHANGE TO OTHER ACCOUNTID
        Vector3    playerPos = pdat.GetPosition();
        Vector3    playerDir = pdat.GetDirection();

        pdat.SetOnline(true);

        this.regionHandler.InitDataFiles(new ChunkPos((int)(playerPos.x / Chunk.chunkWidth), (int)(playerPos.z / Chunk.chunkWidth)));

        HandleServerCommunication();
        NetMessage message = new NetMessage(NetCode.SENDSERVERINFO);

        message.SendServerInfo(playerPos.x, playerPos.y, playerPos.z, playerDir.x, playerDir.y, playerDir.z);
        this.server.Send(message.GetMessage(), message.size, this.server.firstConnectedID);
        this.INITIALIZEDWORLD = true;
        this.time.SetLock(false);
    }