рдкреНрд░рд╛рдЪреАрди #448 рдХрд╛ рдЕрдиреБрд╡рд░реНрддрдиред #1098 рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ view
рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ async рд╡рд┐рд╢реНрд╡ рдкреАрдврд╝реА рдХреЗ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╢реНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП GenView
рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреГрдкрдпрд╛ рд╡реЛрдЯ рдХрд░реЗрдВред
рдХреНрдпрд╛ рд╣рдо Gen
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдпрд╛ Generation
. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рд╡рд░реНрддрдорд╛рди рдореЗрдВ IWorld рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдареАрдХ рд╡рд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдирд┐рдпрдорд┐рдд World
, рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреА рджреБрдирд┐рдпрд╛ рдФрд░ ChunkRegion (рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рд╢реНрд╡ рдЬреАрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдмреАрдЪ рд╡рд┐рднрд╛рдЬрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рд╣рдореЗрдВ World
рдпрд╛ View
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ IWorld рдХреБрдЫ рд╕рд╛рдВрд╕рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд░рд╛рдЬреНрдп рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ, рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдФрд░ рдЪрдВрдХ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ред
рд╡рд┐рд╢реНрд╡ рдЬреАрди рдореЗрдВ рдЖрдИрд╡рд░реНрд▓реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реНрдХ рд╣реИ рдХрд┐ рдЬреЗрди/рдЬреЗрдирд░реЗрд╢рди рд╡реНрдпреВ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдореАрдбрд┐рдпрд░реАрд╡рд░реНрд▓реНрдб рдЬреИрд╕рд╛ рдирд╛рдо рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рд╢реНрд╡ рдЬреАрди рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рднреАрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрдирд░реЗрд╢рди рд╡реНрдпреВ рдпрд╛ рдЗрдВрдЯрд░рдореАрдбрд┐рдпрд░реАрд╡рд░реНрд▓реНрдб рдореЗрд░реА рджреЛ рдкрд╕рдВрдж рд╣реИрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рджреГрдврд╝ рдирд┐рд░реНрдгрдп рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдФрд░ рддрд░реНрдХ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдореИрдВ рдордВрдЬреВрд░реА рджреЗрддрд╛ рд╣реВрдБ
рдореБрдЭреЗ @i509VCB рдХрд╛ GenerationView
рдкрд╕рдВрдж рд╣реИред
рдореИрдВ рдЬрдирд░реЗрд╢рди рд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рднреА рд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдХреБрдЫ рднрд╛рдк рд╡рд╛рдкрд╕ рд▓рд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдЕрдм рддрдХ рдореИрдВрдиреЗ рдЬрд┐рди рд╕реВрдЪреАрдмрджреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ:
рдЬреЗрдирд╡реНрдпреВ
рдЬрдирд░реЗрд╢рди рд╡реНрдпреВ
рдордзреНрдпрд╕реНрде рджреБрдирд┐рдпрд╛
GenerateableWorld (рдореВрд▓ рд░реВрдк рд╕реЗ #448 рдирдП рдирд╛рдордХрд░рдг рдорд╛рдирдХ рдХреЗ рд╕рд╛рде)
рдЙрдкрд░реЛрдХреНрдд рдкрд░ рдореЗрд░реА рд░рд╛рдп:
GenView рдЕрдЪреНрдЫрд╛ рдФрд░ рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Gen рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХреЗ рдЕрд░реНрде рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ (рд╕рд╛рдорд╛рдиреНрдп, рдкреАрдврд╝реА, рдЬреЗрдирдЬреА?)
рдЬреЗрдирд░реЗрд╢рди рд╡реНрдпреВ рдФрд░ рдЬреЗрдирд░реЗрдЯреЗрдмрд▓рд╡рд░реНрд▓реНрдб рджреЛрдиреЛрдВ рдЬреЗрдирд╡реНрдпреВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреА рдПрдХ рд╣реА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддреЗ рд╣реИрдВ
рдЗрдВрдЯрд░рдореАрдбрд┐рдпрд░реАрд╡рд░реНрд▓реНрдб рдПрдХ рд╕рдордЭреМрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢реНрд╡ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВ (рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд░реНрд▓реНрдб)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдпрд╣ рд╡рд░реНрдЧ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдирд╛рдо рдХрд╛ рдордзреНрдпрд╕реНрде рднрд╛рдЧ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреБрдирд┐рдпрд╛ рдпрд╛ рд╕рд╛рдВрд╕рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП "рдЖрдВрд╢рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛" рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░:
рдкреНрд░реЛрдЯреЛрд╡рд░реНрд▓реНрдб (рд╕реНрдкрдВрдЬ рдПрдкреАрдЖрдИ рдирд╛рдо рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдФрд░ рдЧреНрд░реАрдХ рд╢рдмреНрдж рдкреНрд░реЛрдЯреЛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдореВрд▓ рдпрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛)ред
рдкреНрд░рд┐рдореЗрдЯрд┐рд╡рд╡рд░реНрд▓реНрдб (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рдХреЗ рдЕрд░реНрде рдореЗрдВ рдЖрджрд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ), рдЬреЛ рдореБрджреНрджрд╛ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдЖрджрд┐рдо рдХреА рд╕рд╛рдорд╛рдЬрд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ
#1350 . рджреНрд╡рд╛рд░рд╛ рдмрдВрдж
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреНрдпрд╛ рд╣рдо
Gen
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдпрд╛Generation
. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВрд╡рд░реНрддрдорд╛рди рдореЗрдВ IWorld рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдареАрдХ рд╡рд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдирд┐рдпрдорд┐рдд
World
, рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреА рджреБрдирд┐рдпрд╛ рдФрд░ ChunkRegion (рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рд╢реНрд╡ рдЬреАрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдмреАрдЪ рд╡рд┐рднрд╛рдЬрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИредрд╣рдореЗрдВ
World
рдпрд╛View
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ IWorld рдХреБрдЫ рд╕рд╛рдВрд╕рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд░рд╛рдЬреНрдп рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ, рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдФрд░ рдЪрдВрдХ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡редрд╡рд┐рд╢реНрд╡ рдЬреАрди рдореЗрдВ рдЖрдИрд╡рд░реНрд▓реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реНрдХ рд╣реИ рдХрд┐ рдЬреЗрди/рдЬреЗрдирд░реЗрд╢рди рд╡реНрдпреВ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдореАрдбрд┐рдпрд░реАрд╡рд░реНрд▓реНрдб рдЬреИрд╕рд╛ рдирд╛рдо рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рд╢реНрд╡ рдЬреАрди рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рднреАрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрдирд░реЗрд╢рди рд╡реНрдпреВ рдпрд╛ рдЗрдВрдЯрд░рдореАрдбрд┐рдпрд░реАрд╡рд░реНрд▓реНрдб рдореЗрд░реА рджреЛ рдкрд╕рдВрдж рд╣реИрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рджреГрдврд╝ рдирд┐рд░реНрдгрдп рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдФрд░ рддрд░реНрдХ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред